/************************************************************************/
/*送信フォーム*/
/************************************************************************/
.form{
	margin:0;
	padding:0;
	width:100%;
	height:auto;
	line-height:1;
}

.red{
	color:#FF0000;
}

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

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

.form dl{
	width:100%;
	vertical-align:bottom;
	margin:0 0 1em 0;
	padding:0;
	line-height:1;
	display:flex;
	flex-wrap:wrap;
	gap:1em;
}

.form dl dt{
	margin:0;
	padding:0;
	width:13em;
	background:#EFEFEF;
	border:solid 1px #EFEFEF;
}

.form dl dt label{
	margin:0;
	padding:1em;
	width:auto;
	display:block;
}

.form dl dd{
	margin:0;
	padding:0;
	width:calc(100% - 13rem - 1em);
	height:auto;
	border:1px solid #CCC;
	line-height:1;
	position:relative;
}

.form dl dd.checkbox{
	margin:0;
	padding:0.5em;
	display:flex;
    flex-wrap:wrap;
    gap:1em;
    align-items:center;
}

.form dl dd.checkbox label{
	margin:0 1em 1em 0;
}

.form input[type="text"]{
	vertical-align:bottom;
	margin:0;
	padding:0.5em;
	display:block;
	width:100%;
	height:100%;
	height:100%;
	min-height:3.5em;
	border:none;
	background:transparent;
}

.form input[type="email"]{
	vertical-align:bottom;
	margin:0;
	padding:0.5em;
	display:block;
	width:100%;
	height:100%;
	height:100%;
	min-height:3.5em;
	border:none;
	background:transparent;
}


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

.form input[type="radio"]{
	margin:0;
	padding:0;
}


.form dl dd.zipcode{
	width:9em;
	display:flex;
	align-items:center;
}

.form dl dd.zipcode input{
	display:block;
	width:8em;
	height:100%;
	min-height:100%;
}

.form dl dd.zipcode span{
	display:block;
	width:1em;
}


.form dl dd.address{
	width:calc(100% - 13em - 1em - 1em - 9em);
}

.form dl textarea{
	display:block;
	resize:vertical;
	margin:0;
	padding:0.5em;
	border:none;
	width:100%;
	min-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:block;
	height:3em;
	margin:0;
	padding:0.5em;
	font-size:1em;
	border:none;
	background:transparent;
}

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

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

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

.form input[type="submit"]:hover{
	background:#EE8899;
	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:#0088EE;
}

.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%;
	}
}


.wrap__checkbox{
	padding:1em;
	display:flex;
	flex-wrap:wrap;
	gap:1em;
	align-items:center;
}

.wrap__checkbox label{
	display:block;
	margin:1em;
}

dd.week span.first label:first-child{
	color:#CC0000;
}

dd.week span.last label:last-child{
	color:#0000CC;
}

/*各項目のエラーメッセージ*/
span.wpcf7-not-valid-tip{
	position:absolute;
	right:5px;
	top:calc(50% - 1.2em);
	z-index:-1;
	height:2.4em;
	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;
}

/*検索フォーム*/

.search{
	width:100%;
	max-width:800px;
	height:40px;
	margin:0 auto 2rem auto;
	padding:0 0 0 0;
	padding-left:12px;
	background-color:rgba(255,255,255,1);
	background-image:url(../img/search.svg);
	background-repeat:no-repeat;
	background-position:right;
	font-size:0;
	overflow:hidden;
	-moz-border-radius: 20px;
	-webkit-border-radius: 20px;
	-o-border-radius: 20px;
	-ms-border-radius: 20px;
	border-radius: 20px;
	position:relative;
	z-index:1;
	border:solid 1px #ccc;
}
.search input[type="text"]{
	display:inline-block;
	width : -webkit-calc(100% - 40px) ;
	width:calc(100% - 40px);
	height:40px;
	background-color:transparent;
	border:none;
	line-height:1;
	vertical-align:top;
}

.search input[type="submit"]{
	display:inline-block;
	width:40px;
	height:40px;
	background-color: transparent;
	border:none;
	text-indent:-200%;
	cursor:pointer;
	z-index:10;
	position:absolute;
	top:0;
	right:0;
}