/* FORM ================================================================================*/
input[type="text"],
input[type="email"],
input[type="number"],
input[type="date"],
input[type="password"]{
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	padding: 10px;
	border-radius: 0px;
	border: #ccc 1px solid;
	background-color: rgba(255,255,255,0.40);
	font-size: 18px;
	-webkit-appearance: none;
	}

input[type="number"]::-webkit-outer-spin-button, 
input[type="number"]::-webkit-inner-spin-button { 
	-webkit-appearance: none; 
	margin: 0; 
	} 
input[type="number"] { 
	-moz-appearance:textfield; 
	} 

input[type="checkbox"]{margin:  5px 8px 6px 0;}

input[type="radio"]{
	margin: 12px 6px 12px 0;
	float: left;
	}

textarea.memoBox {
	width: 100%;
	height: 100px;
	box-sizing: border-box;
	padding: 10px;
	font-size: 18px;
	background-color: rgba(255,255,255,0.40);
	border: #ccc 1px solid;
	border-radius: 0px;
	resize: none;
	-webkit-appearance: none; 
   }

input[type="text"].ss {
   width: 50px!important;
	box-sizing: border-box;
	padding: 10px 5px;
   text-align: center;
	}

input[type="text"].short,
input[type="number"].short{
	width: 150px!important;
	text-align: center;
	}
input[type="text"].medium,
input[type="tel"].medium{
	width: 300px!important;
	}

input[type="text"].zip{
	width: 90px;
	text-align: center;
	}

label{font-size: 18px;}

select{
	width: 100%;
	padding: 10px;
	font-size: 18px;
	border: #ccc 1px solid;
	background-color: #F5F5F5;
	border-radius: 0px;
	}




/* ボタン --------------------------------------------------*/
.submit{
	display: flex;
	justify-content: flex-end;
	margin-top: 50px;
	}

[type="submit"]{
	display: block;
	width: 150px;
	background-color: #51658E;
	border: #51658E 1px solid;
	font-size: 18px;
	padding: 10px 0;
	color: #FFF;
	transition-duration: .3s;
	cursor: pointer;
	-webkit-appearance: none;
	border-radius: 0;
	}

[type="submit"]:hover{
   color: #51658E;
	background-color: #FFF;
   transition-duration: .3s;
   }

[type="button"].backBtn{
	display: block;
	width: 150px;
	background-color: #fff;
	border: #666 1px solid;
	font-size: 18px;
	padding: 10px 0;
	margin-right: 20px;
	color: #666;
	transition-duration: .3s;
	cursor: pointer;
	-webkit-appearance: none;
	border-radius: 0;
	}

[type="button"].backBtn:hover{
	color: #FFF;
	background-color: #666;
	transition-duration: .3s;
	}

.require::before{
	display: inline-block;
	content: "必須";
	background-color: #B0272A;
	color: #FFF;
	font-size: 12px;
	border-radius: 3px;
	padding: 0 10px;
	margin: 0 10px 0 0;
	}

ul.line{
	display: flex;
	flex-wrap: wrap;
	}
ul.line li{
	display: flex;
	align-items: center;
	margin: 0 30px 0 0;
	}

ul.line li p{
	font-size: 18px;
	margin: 0 20px 0 5px;
	}
ul.line li:last-child p{margin: 0 5px;}
ul.line li label{
	display: flex;
	align-items:center;
	}
ul.line li img{
	width: 30px;
	height: 100%;
	}

.time ul.line li p{margin: 0 5px;}


.time input[type="text"]{
	width: 35px!important;
	box-sizing: border-box;
	padding: 10px 5px;
   text-align: center;
	}


/*プライバシーポリシーについて*/
.policyLink{
	width: 300px;
	font-size: 16px;
	text-decoration: underline;
	cursor: pointer;
	margin: 50px 0 20px;
	}
.policyLink:hover{
	text-decoration: none;
	}
.policy{
	display: none;
	width: 100%;
	margin: 0 auto;
	box-sizing: border-box;
	
	}

.policy p{
	font-size: 14px;
	margin-bottom: 20px;
	}
.policy dl{
	margin: 0 auto 20px;
	line-height: 1.4em;
	}
.policy dt{
	color: #545454;
	font-size: 14px;
	font-weight: bold;
	padding: 0;
	}
.policy dd{
	font-size: 14px;
	margin: 0;
	padding: 10px 0 30px 20px;
	border-bottom: none;
	}

.areaClose{
	width: 150px;
	color: #fff;
	text-align: center!important;
	text-decoration: none;
	padding: 5px 0;
	border-bottom: none!important;
	background-color: #565555;
	margin: 0 0 0 auto;
	}

table.form{
	width: 100%;
	margin: 30px 0 0 0;
	border-collapse: collapse;
	}
table.form th,
table.form td{
	padding: 10px 0px;
	box-sizing: border-box;
	}

table.form th{
	width: 230px;
	text-align: left;
	vertical-align: top;
	}

table.form.comfirm th,
table.form.comfirm td{
	border-bottom: #ccc 1px solid;
	}


.permit{
	margin: 50px 0;
	}
.fm_att {
	font-size: 16px;
	text-align: right;
	}


/* Media QuelikeTblry ================================================================================*/
@media only screen and (max-width: 479px){
}

@media only screen and (min-width: 480px) and (max-width: 599px) {	
}

@media only screen and (max-width : 599px) {	
	
	input[type="text"],
	input[type="email"],
	input[type="number"],
	input[type="date"],
	input[type="password"],textarea{
		font-size: 5vw;
		}
	
	select{
		font-size: 5vw;
		}
	
	label{font-size: 5vw;}
	
	ul.line{
		flex-direction: column;
		}
	
	::placeholder{
		font-size: 5vw;
		}
	
	
	.policyLink{
		width: 100%;
		font-size: 4vw;
		text-align: right;
		margin: 20% auto 10%;
		}
	.policy .policyLink{
		margin: 0 0 0 auto;
		}

	.policy{
		width: 100%;
		text-align: left;
		padding: 4% 4% 8%;
		background-color: #f8f8f8;
		}

	.policy p{
		font-size: 4vw;
		margin-bottom: 5%;
		}
	.policy dl{
		margin: 0 auto 8%;
		}
	.policy dt{
		font-size: 4vw;
		}
	.policy dd{
		font-size: 4vw;
		margin: 0;
		padding: 3% 0 8%;
		}

	.areaClose{
		width: 30%;
		padding: 3% 0;
		}
	
	table.form{
		width: 100%;
		margin: 10% auto 0;
		}
	table.form th,
	table.form td{
		display: block;
		width: 100%;
		border: none;
		}

	table.form th{
		width: 100%;
		text-align: left;
		padding: 0 0 1%;
		}
	table.form td{
		padding: 0% 0% 3%;
		margin: 0% 0% 3%;
		}
	table.form.comfirm th{
		border-bottom: none;
		}
	table.form.comfirm td{
		padding: 0% 3% 3%;
		}
	
	.fm_att {
		font-size: 3.4vw;
		}
	
}

@media only screen and (max-width : 992px){
}

@media print, only screen and (min-width:1351px){
}