/************************************************************************/
/*送信フォーム*/
/************************************************************************/

.form{
	width:100%;
	overflow:hidden;
}

.form input[type="checkbox"]{
	float:none;
	margin:0;
	padding:0;
}

.form span{
	margin:0;
	padding:0;
}

.form dl{
	margin:0;
	padding:0;
	display:flex;
    display: -ms-flex;
    display: -webkit-flex;
	flex-wrap:wrap;
	border:solid 1px #666;
	border-bottom:none;
}

.form dl dt{
	background:#f0f0f0;
	margin:0;
	padding:1em;
	width:13em;
	min-height:46px;
	max-height:100%;
	border-bottom:solid 1px #666;
}

.form dl dt:first-child{
	margin-top:0;
}


.form dl dd{
	margin:0;
	padding:0;
	width:calc(100% - 13em);
	min-height:46px;
	max-height:100%;
	position:relative;
	border-bottom:solid 1px #666;
	background:#fff;
}

.form dl dd.checkbox{
	margin:0;
	padding:0.5rem;
	display:flex;
    display: -ms-flex;
    display: -webkit-flex;
    flex-wrap:wrap;
}

.form dl dd label{
	display:inline-block;
	height:100%;
	line-height:46px;
}


.form input[type="tel"]{
	margin:0;
	padding:0.5em;
	display:inline-block;
	width:100%;
	height:100%;
	border:none;
	background-color:#fff;
}

.form input[type="text"]{
	margin:0;
	padding:0.5em;
	display:inline-block;
	width:100%;
	height:100%;
	border:none;
	background-color:#fff;
}

.form input[type="number"]{
	display:inline-block;
	margin:1em 0.5em 1em 0.5em;
	border:solid 1px #ccc;
	font-family:serif;
}


.form input[type="email"]{
	margin:0;
	padding:0.5em;
	display:inline-block;
	width:100%;
	height:100%;
	border:none;
	background-color:#fff;
}

.form dl dd.zipcode{
	width:9em;
	text-align:center;
	border-right:solid 1px #666;
}


.form dl dd.zipcode input[type="text"]{
	width:8em;
	min-width:8em;
	background:#fff;
}

.form dl dd.address{
	width:calc(100% - 22em);
	min-width:190px;
}


.form textarea{
	display:block;
	margin:0;
	padding:0.5em;
	border:none;
	width:100%;
	min-height:100px;
}

.form input[type="date"]{
	display:inline-block;
	margin:1em 0.5em 1em 0.5em;
	border:solid 1px #ccc;
	font-family:serif;
}

.form select{
	display:inline-block;
	margin:1em 0.5em 1em 0.5em;
	border:solid 1px #ccc;
	font-size:1em;
	font-family:serif;
}

.form p{
	margin:0;
	margin-top:1em;
	margin-bottom:1em;
	padding:0;
}

.form p.submit{
	text-align:center;
	margin:0;
	margin-top:1em;
	margin-bottom:1em;
	padding:0;
}

.form input[type="submit"]{
	display:block;
	width:140px;
	font-weight:bold;
	margin:auto;
	border:solid 1px #CCC;
	color:#FFF;
	background:#EE8800;
	filter: drop-shadow(1px 1px 3px rgba(0, 0, 0,0.5));
	text-align:center;
}

.form input[type="submit"]:hover{
	background:#FF9900;
	transition:all 0.25s ease-in;
	filter: drop-shadow(3px 3px 5px rgba(0, 0, 0,0.5));
}


.form ul{
	list-style:none;
	margin:1em 0 0 0;
	margin-bottom:1em;
	padding:0;
	font-size:0.9em;
	background:#ffeeee;
	height:46px;
	line-height:46px;
}

.form ul li{
	margin:0;
	padding:0 0 0 1em;
	width:100%;
	height:100%;
}

.form ul label{
	margin:0;
	padding:0;
	display:block;
	width:100%;
	height:100%;
}

.form ul input{
	margin:0;
	padding:0;
}


.form ol{
	width:100%;
	display:block;
	margin:0;
	padding:0;
	margin-left:2em;
	list-style:none;
}

.form ol li{
	width:100%;
	position:relative;
	display:block;
	min-height:46px;
}

.form ol li label{
	width:100%;
	display:block;
}

.form .require{
	color:#cc0000;
	margin:0;
	padding:0;
	float:none;
	display:inline;
}


.form p.notice{
	font-size:0.9em;
	color:#cc0000;
	margin-top:1em;
}

.form h4{
	margin-top:1em;
	margin-bottom:1em;
}

.form h4::before{
	content:"\02714";
	margin-right:0.5em;
}


@media screen and (max-width:1240px){

	.form dl{
		width:auto;
	}
	
	.form dl dt{
		width:100%;
	}
	.form dl dd{
		width:100%;
	}
	
	.form dl dd.zipcode{
		text-align:left;
		width:100%;
		border-right:none;
	}
	
	.form dl dd.address{
		width:100%;
	}
}



/*各項目のエラーメッセージ*/
span.wpcf7-not-valid-tip{
	position:absolute;
	right:5px;
	top:0;
	z-index:-1;
	background:#ffeeee;
	padding:0.5em;
	border-radius:4px;
	text-align:left;
	white-space:nowrap;
}



span.wpcf7-not-valid-tip::before{
	content:"\025c0";
	color:#ffeeee;
	margin-left:-1em;
}

.form ol span.wpcf7-not-valid-tip{
	all:initial;
	color:#ff0000;
}

.form ol span.wpcf7-not-valid-tip::before{
	margin-left:0;
}

/*全体のエラーメッセージ*/
div.wpcf7-validation-errors{
	background:#ffffcc;
	padding:0.5em;
	border-radius:4px;
	text-align:left;
}