/* ===========================================
 * form
=========================================== */


#form_list {
	width: 554px;
	padding-top: 60px;
	padding-bottom: 60px;
	text-align: center;
	margin-left: auto;
	margin-right: auto;
}
#form_list ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#form_list ul li{
	width: 178px;
	height: 40px;
	background-color: #FDFCF8;
	font-size: 15px;
	line-height: 40px;
	text-align: center;
	border: 1px #555 solid;
	box-sizing: border-box;
}

#form_list ul li.select{
	background-color: #555;
	color: #FDFCF8;
}

#form_mainInner {
	width: 720px;
	margin-left: auto;
	margin-right: auto;
	padding-bottom: 60px;
}

#form_contents table{
	width: 100%;
	border-collapse:collapse;
}

#form_contents table tr{
	border-bottom: 1px #bababa solid;
}

#form_contents th{
	text-align: left;
	width: 130px;
	vertical-align: top;
	font-size: 16px;
	font-weight: 300;
	padding-bottom: 20px;
	padding-top: 30px;
	padding-right: 50px;
	position: relative;
}
#form_contents th.hissu::before{
	content: "必須";
	padding-left: 7px;
	padding-right: 7px;
	font-size: 13px;
	font-weight: 300;
	background-color: #555;
	color: #FDFCF8;
	position: absolute;
	right: 10px;
	top: 32px;
	
}
#form_contents th span{
	font-size: .8rem;
    line-height: normal;
    display: inline-block;
}
#form_contents td{
	padding-bottom: 20px;
	padding-top: 20px;
}

.radio_01 label {
	width: 100%;
    display: flex;
    align-items: center;
    gap: 0 .5em;
    position: relative;
    margin-bottom: .4em;
    padding: .5em .7em;
    border-radius: 3px;
    background: #FDFCF8;
    cursor: pointer;
	box-sizing: border-box;
}

.radio_01 label:has(:checked) {
    background-color: #555;
    color: #FDFCF8;
}

.radio_01 label::before,
.radio_01 label:has(:checked)::after {
    border-radius: 50%;
    content: '';
}

.radio_01 label::before {
    width: 14px;
    height: 14px;
    background-color: #FDFCF8;
	border: 1px solid #7B715E;
}

.radio_01 label:has(:checked)::after {
    position: absolute;
    top: 50%;
    left: calc(7px + .72em);
    transform: translate(-50%, -50%);
    width: 7px;
    height: 7px;
    background-color: #555;
}

.radio_01 input {
    display: none;
}
.check_01{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.check_01 label {
	width: 265px;
    display: flex;
    align-items: center;
    gap: 0 .5em;
    position: relative;
    margin-bottom: .4em;
    padding: .5em .7em;
    border-radius: 3px;
    background: #FDFCF8;
    cursor: pointer;
	box-sizing: border-box;
}

.check_01 label:has(:checked) {
    background-color: #555;
    color: #FDFCF8;
}

.check_01 label::before,
.check_01 label:has(:checked)::after {
    border-radius: 50%;
    content: '';
}

.check_01 label::before {
    width: 14px;
    height: 14px;
    background-color: #FDFCF8;
	border: 1px solid #555;
}

.check_01 label:has(:checked)::after {
    position: absolute;
    top: 50%;
    left: calc(7px + .75em);
    transform: translate(-50%, -50%);
    width: 7px;
    height: 7px;
    background-color: #555;
}

.check_01 input {
    display: none;
}

.first_choice{
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 10px;
}
.second_choice{
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}
label.date-edit{
  position: relative;
  display: inline-block;
  width: 198px;
  height: 40px;
  border-radius: 3px;
}
input[type="date"] {
  position: relative;
  padding: 0 10px;
  width: 198px;
  height: 40px;
  border: 0;
  background: #FDFCF8;
  box-sizing: border-box;
  font-size: 16px;
  border-radius: 3px;
}
input[type="date"]::-webkit-calendar-picker-indicator {
  background: transparent;
  z-index: 1;
}

input[type="date"]::after {
  content: '';
  background-image: url(../img/form/ico_calendar.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: 0 0;
  width: 21px;
  height: 23px;
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
}
label.time-edit{
  position: relative;
  display: inline-block;
  width: 198px;
  height: 40px;
  border-radius: 3px;
}
input[type="time"] {
  position: relative;
  padding: 0 10px;
  width: 198px;
  height: 40px;
  border: 0;
  background: #FDFCF8;
  box-sizing: border-box;
  font-size: 16px;
  border-radius: 3px;
}
input[type="time"]::-webkit-calendar-picker-indicator {
  background: transparent;
  z-index: 1;
}

input[type="time"]::after {
  content: '▼';
	color: #555;
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
}

.form_input {
	background: #FDFCF8;
	padding-left: 15px;
	padding-right: 15px;
	padding-top: 14px;
	padding-bottom: 14px;
	font-size: 14px;
	box-sizing: border-box;
	border-radius: 3px;border: none;
}

.form_select {
	font-size: 16px;
	background-color: #FDFCF8;
	height: 50px;
	width: 150px;
}

.form_w100_p {
	width: 100%;
}
.form_w150 {
	width: 150px;
}

#form_desc {
	margin-top: 60px;
}
#form_desc p{
	text-align: left;
}
.form_btn_area{
	position: relative;
	width: 280px;
	height: 50px;
	margin: 60px auto 0;
}
.form_btn_area::after {
	content: url("../img/common/arrow_w.svg");
    position: absolute;
    top: 8px;
    right: 15px;
}
.submit_co {
	width: 280px;
	height: 50px;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
	display: block;
	border: none;
	color: #FDFCF8;
	cursor: pointer;
	font-size: 14px;
	background-color: #555;
}
.submit_co:hover {
	opacity: 0.7;
}


.custom-select-wrapper {
  position: relative;
  width: 198px;
  height: 40px;
}

.custom-select {
  padding: 0 30px 0 10px;
  width: 100%;
  height: 100%;
  border: 0;
  background: #FDFCF8;
  box-sizing: border-box;
  font-size: 16px;
  border-radius: 3px;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

/* ▼マークを再現 */
.custom-select-wrapper::after {
  content: '▼';
  color: #555;
  position: absolute;
  top: 50%;
  right: 10px;
  pointer-events: none;
  transform: translateY(-50%);
  font-size: 12px;
}

/* モデルハウス（参加人数） */
.adults{
	width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}
.children{
	width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}
label.ppl-edit{
  position: relative;
  display: inline-block;
  width: 424px;
  height: 40px;
  border-radius: 3px;
}
.custom-select_ppl-wrapper {
  position: relative;
  width: 424px;
  height: 40px;
}

.custom-select_ppl {
  padding: 0 30px 0 10px;
  width: 100%;
  height: 100%;
  border: 0;
  background:#FDFCF8;
  box-sizing: border-box;
  font-size: 16px;
  border-radius: 3px;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

/* ▼マークを再現 */
.custom-select_ppl-wrapper::after {
  content: '▼';
  color: #555;
  position: absolute;
  top: 50%;
  right: 10px;
  pointer-events: none;
  transform: translateY(-50%);
  font-size: 12px;
}

.form_tel{
	width: 250px;
	margin: 20px auto 50px
}

.form_tel img{
	width: 250px;
	object-fit: cover;
}
@media screen and (max-width:640px){
	
	
	
	#form_list {
		width: 580px;
		margin: 50px auto;
		box-sizing: border-box;
	}
	#form_list ul{
		display: block;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	#form_list ul li{
		width: 580px;
		height: 50px;
		background-color: #FDFCF8;
		font-size: 24px;
		line-height: 50px;
		text-align: center;
		border: 1px #555 solid;
		box-sizing: border-box;
		margin-bottom: 10px;
	}

	#form_list ul li.select{
		background-color: #555;
		color: #FDFCF8;
	}

	#form_mainInner {
		width: 558px;
		margin-left: auto;
		margin-right: auto;
		padding-bottom: 60px;
		border-bottom: 1px solid #bababa ;
	}

	#form_contents table{
		width: 100%;
		border-collapse:collapse;
	}

	#form_contents table tr{
		border-bottom: 1px #bababa solid;
	}

	#form_contents th{
		display: block;
		text-align: left;
		width: 100%;
		vertical-align: top;
		font-size: 24px;
		font-weight: 300;
		padding-bottom: 0px;
		padding-top: 30px;
		padding-left: 0px;
		padding-right: 0;
		position: relative;
		box-sizing: border-box;
	}

	#form_contents th.hissu{
		padding-right: 60px;
	}
	#form_contents th.hissu::before{
		content: "必須";
		padding-left: 7px;
		padding-right: 7px;
		font-size: 18px;
		font-weight: 300;
		background-color: #555;
		color: #FDFCF8;
		position: absolute;
		right: 0;
		top: 40px;

	}
	#form_contents th span{
		font-size: 18px;
		line-height: normal;
		display: inline-block;
	}
	#form_contents th span br{
		display: none;
	}
	#form_contents td{
		display: block;
		text-align: left;
		width: 100%;
		padding-bottom: 20px;
		padding-top: 20px;
		font-size: 22px;
	}

	.radio_01 label {
		width: 100%;
		display: flex;
		align-items: center;
		gap: 0 .5em;
		position: relative;
		margin-bottom: .4em;
		padding: 20px .7em;
		border-radius: 3px;
		background: #FDFCF8;
		cursor: pointer;
		box-sizing: border-box;
		font-size: 22px;
	}

	.radio_01 label:has(:checked) {
		background-color: #555;
		color: #FDFCF8;
	}

	.radio_01 label::before,
	.radio_01 label:has(:checked)::after {
		border-radius: 50%;
		content: '';
	}

	.radio_01 label::before {
		width: 22px;
		height: 22px;
		background-color: #FDFCF8;
	}

	.radio_01 label:has(:checked)::after {
		position: absolute;
		top: 50%;
		left: calc(11px + .72em);
		transform: translate(-50%, -50%);
		width: 11px;
		height: 11px;
		background-color: #555;
	}

	.radio_01 input {
		display: none;
	}
	.check_01{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.check_01 label {
		width: 270px;
		display: flex;
		align-items: center;
		gap: 0 .5em;
		position: relative;
		margin-bottom: .4em;
		padding: 20px .7em;
		border-radius: 3px;
		background: #FDFCF8;
		cursor: pointer;
		box-sizing: border-box;
		font-size: 22px;
	}

	.check_01 label:has(:checked) {
		background-color: #555;
		color: #FDFCF8;
	}

	.check_01 label::before,
	.check_01 label:has(:checked)::after {
		border-radius: 50%;
		content: '';
	}

	.check_01 label::before {
		width: 22px;
		height: 22px;
		background-color: #FDFCF8;
		border: 1px solid #555;
	}

	.check_01 label:has(:checked)::after {
		position: absolute;
		top: 50%;
		left: calc(11px + .75em);
		transform: translate(-50%, -50%);
		width: 11px;
		height: 11px;
		background-color: #555;
	}

	.check_01 input {
		display: none;
	}

	.first_choice{
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: center;
		margin-bottom: 10px;
	}
	.second_choice{
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: center;
	}
	label.date-edit{
	  position: relative;
	  display: inline-block;
	  width: 200px;
	  height: 80px;
	  border-radius: 3px;
		cursor: pointer;
	}
	input[type="date"] {
	  position: relative;
	  padding: 0 10px;
	  width: 200px;
	  height: 80px;
	  border: 0;
	  background: #FDFCF8;
	  box-sizing: border-box;
	  font-size: 22px;
	  border-radius: 3px;
	}
	input[type="date"]::-webkit-calendar-picker-indicator {
	  background: transparent;
	  z-index: 1;
	}

	input[type="date"]::after {
	  content: '';
	  background-image: url(../img/form/ico_calendar.png);
	  background-repeat: no-repeat;
	  background-size: contain;
	  background-position: 0 0;
	  width: 31px;
	  height: 33px;
	  position: absolute;
	  top: 50%;
	  right: 10px;
	  transform: translateY(-50%);
	}
	label.time-edit{
	  position: relative;
	  display: inline-block;
	  width: 200px;
	  height: 80px;
	  border-radius: 3px;
		cursor: pointer;
	}
	input[type="time"] {
	  position: relative;
	  padding: 0 10px;
	  width: 200px;
	  height: 80px;
	  border: 0;
	  background: #FDFCF8;
	  box-sizing: border-box;
	  font-size: 22px;
	  border-radius: 3px;
	}
	input[type="time"]::-webkit-calendar-picker-indicator {
	  background: transparent;
	  z-index: 1;
	}

	input[type="time"]::after {
	  content: '▼';
		color: #555;
	  position: absolute;
	  top: 50%;
	  right: 10px;
	  transform: translateY(-50%);
	}

	.form_input {
		background: #FDFCF8;
		padding-left: 15px;
		padding-right: 15px;
		padding-top: 20px;
		padding-bottom: 20px;
		font-size: 22px;
		box-sizing: border-box;
		border-radius: 3px;
	}

	.form_select {
		font-size: 22px;
		background-color: #FDFCF8;
		height: 50px;
		width: 150px;
	}

	.form_w100_p {
		width: 100%;
	}
	.form_w150 {
		width: 250px;
	}

	#form_desc {
		margin-top: 60px;
	}

.form_btn_area{
	position: relative;
	width: 280px;
	height: 50px;
	margin: 60px auto 0;
}
.form_btn_area::after {
	content: url("../img/common/arrow_w.svg");
    position: absolute;
    top: 8px;
    right: 15px;
}
.submit_co {
	width: 280px;
	height: 50px;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
	display: block;
	border: none;
	color: #FDFCF8;
	cursor: pointer;
	font-size: 14px;
	background-color: #555;
}
.submit_co:hover {
	opacity: 0.7;
}
	
	.custom-select-wrapper {
	  position: relative;
	  width: 198px;
	  height: 80px;
		
	}
	
	.custom-select {
	font-size: 22px;
	}
	
	/* モデルハウス（参加人数） */
	.adults{
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: center;
		margin-bottom: 10px;
	}
	.children{
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: center;
	}
	label.ppl-edit{
	  position: relative;
	  display: inline-block;
	  width: 424px;
	  height: 80px;
	  border-radius: 3px;
		cursor: pointer;
	}
	.custom-select_ppl-wrapper {
	  position: relative;
	  width: 424px;
	  height: 80px;
	}

	.custom-select_ppl {
	font-size: 22px;
	}
	
	.form_tel{
		width: 356px;
		margin: 20px auto 50px
	}

	.form_tel img{
		width: 356px;
		object-fit: cover;
	}
	
	
}