/* CSS Document */


#fv {
	position: relative;
}
#fv h2 {
	position: absolute;
	bottom: 47%;
	left: 10%;
	width: 30%;
}
#formTitle .title{
	color: #fff;
    background: #1B745B;
    width: 350px;
    margin: 50px auto;
    padding: 20px;
    text-align: center;
	font-size: 120%;
}

#formTitle .lead {
	line-height: 2.2;
	margin: 30px 0;
	text-align: center;
}
#form .inner{
	background: #ECF4EE;
}
#form .inner .contactForm {
	max-width: 800px;
	margin: 0 auto;
	padding: 20px;
}
#form .inner .contactForm form{
	margin: 50px 0;	
}
#form .inner .contactForm .formGroup {
	display: flex;
	align-items: center;
	margin-bottom: 30px;
	flex-wrap: wrap;
	gap: 20px;	
}
#form .inner .contactForm .formGroup label {
	width: 200px;
	font-weight: bold;
	text-align: right;
}
#form .inner .contactForm .formGroup input[type="text"],
#form .inner .contactForm .formGroup input[type="email"],
#form .inner .contactForm .formGroup input[type="tel"],
#form .inner .contactForm .formGroup select,
#form .inner .contactForm .formGroup textarea {
	flex: 1;
	padding: 8px;
	box-sizing: border-box;
	min-width: 200px;
	border: none;
	font-family: 'Zen Kaku Gothic New', sans-serif;
    line-height: 2em;
    letter-spacing: .4px;
    font-size: 100%;
}
#form .inner .contactForm .formGroup textarea {
	height: 100px;
}
#form .inner .contactForm .fullWidth {
	flex-direction: column;
	align-items: flex-start;
	margin-top: 50px;
}
#form .inner .contactForm .fullWidth label{
	width: 100%;
	text-align: center;
}
#form .inner .contactForm .fullWidth label a{
	color: #1B745B;
	text-decoration:underline;
}
#form .inner .contactForm .fullWidth button{
	width: auto;
    margin: 0 auto;
    color: #fff;
    background: #1B745B;
    padding: 20px 40px;
    text-align: center;
    font-size: 110%;
    font-weight: 400;
	border: none;
	font-family: 'Zen Kaku Gothic New', sans-serif;
}
/*#form .inner .contactForm button {
	padding: 10px 20px;
	background: #333;
	color: #fff;
	
	cursor: pointer;
}*/
#form .inner .contactForm .fullWidth button:hover {
	opacity: 0.8;
	cursor: pointer;
}

#logo {
	text-align: center;
	background: #E2E1DE;
	padding: 30px 0 40px;
}
#logo h3 {
	margin: auto;
	width: 23%;
}



/* CF7 */
#form .inner form.wpcf7-form {
	margin: 40px 0 20px;
}
#form dl {
	display: flex;
  flex-wrap: wrap;
	align-items: flex-start;
	gap: 5px;
	padding-right: 40px;
}
#form dl dt,
#form dl dd {
	line-height: 1.4;
	margin: 10px 0;
	box-sizing: border-box;
}
#form dl dt {
	font-weight: 500;
	width: 180px;
	text-align: right;
	padding: 10px 0;
}
#form dl dt em {
	font-size: 80%;
	color: #C31616;
	width: 40px;
  display: inline-block;
}
#form dl dt span {
	font-size: 85%;
	margin-right: 30px;
}
#form dl dd {
	width: calc(100% - 180px - 5px);
  padding-left: 10px;
}
#form dl dd .mainRadio {
	display: flex;
	gap: 40px;
}
#form dl dd .mainRadio span label {
	display: flex;
  align-items: center;
	position: relative;
}
#form dl dd.pulldownset .mainRadio span:nth-of-type(1) label input[type="radio"]:checked + span::after {
	content: '';
	border-bottom: 10px solid #eee;
	border-left: 10px solid transparent;
	border-right: 10px solid transparent;
	position: absolute;
	top: 100%;
	left: 30px;
}
#form dl dd.pulldownset .subBox {
  line-height: 1.4;
  text-align: justify;
	background: #eee;
  padding: 10px 20px;
	margin: 8px 15px;
	position: relative;
}
#form dl dd .wpcf7-not-valid-tip {
	line-height: 1.4;
}
#form dl dd input,
#form dl dd select,
#form dl dd textarea {
	font-size: 100%;
	color: #333;
	padding: 10px;
	box-sizing: border-box;
	border: none;
}
#form dl dd select {
	padding: 11px 10px 9px;
	background: #fff;
}
#form dl dd textarea {
	height: 300px;
}
#form dl dd label {
	cursor: pointer;
}
#form dl dd .w10 { width: 10%;}
#form dl dd .w20 { width: 20%;}
#form dl dd .w30 { width: 30%;}
#form dl dd .w40 { width: 40%;}
#form dl dd .w50 { width: 50%;}
#form dl dd .w60 { width: 60%;}
#form dl dd .w70 { width: 70%;}
#form dl dd .w80 { width: 80%;}
#form dl dd .w90 { width: 90%;}
#form dl dd .w100 { width: 100%;}

#form .agree {
	padding: 10px 0;
}
#form .agree a {
	text-decoration: underline;
	color: #1b745b;
}
#form .submit {
	text-align: center;
	margin-top: 40px;
}
#form .submit .wpcf7-submit {
	display: block;
	font-size: 110%;
	font-weight: 500;
	letter-spacing: 1px;
	color: #fff;
	border: none;
	background: #1b745b;
	width: 200px;
	padding: 15px;
	margin: 10px auto;
	cursor: pointer;
}
#form .wpcf7 .wpcf7-submit:disabled {
	cursor: not-allowed;
	background: #aaa;
}
#form .wpcf7-spinner{
  /*display: none;*/
}
#form .wpcf7 form .wpcf7-response-output {
	text-align: center;
  padding: 1em;
  margin: 0;
}
#form .atn {
	line-height: 1.6;
	max-width: 600px;
	margin: 40px auto;
}
#form .wpcf7-list-item {
	display: inline-block;
	margin: 0 0 0 1em;
	margin: 0;
}
#form .wpcf7-acceptance {
	width: 100%;
  display: block;
  background: #fff;
  padding: 10px;
	margin: 10px 0;
	box-sizing: border-box;
}
#form .wpcf7-acceptance label {
	display: flex;
  align-items: baseline;
	gap: 5px;
}













@media screen and (max-width: 480px) {
  
	
	#fv h2 {
		bottom: 5%;
		left: 2%;
		width: 30%;
	}
	#fv > img {
		width: 100%;
		aspect-ratio: 5/3;
		object-fit: cover;
		object-position: 80%;
	}
	
	#formTitle .title {
        width: auto;
	}
	
	#form .inner .contactForm .formGroup {
		flex-direction: column;
		align-items: flex-start;
		gap: 0;
	}
	#form .inner .contactForm .formGroup input[type="text"],
	#form .inner .contactForm .formGroup input[type="email"],
	#form .inner .contactForm .formGroup input[type="tel"],
	#form .inner .contactForm .formGroup select,
	#form .inner .contactForm .formGroup textarea {
		min-width: 100%;
	}
	#form .inner .contactForm .formGroup label {
		width: 100%;
		margin-bottom: 0;
		text-align: left;
	}
	
	#logo h3 {
		width: 50%;
	}
	
	
	
	/* CF7 */
	#form .inner .contactForm {
		padding: 5px;
	}
	#form dl {
    flex-direction: column;
		padding: 0;
  }
	#form dl dt,
  #form dl dd {
    width: 100%;
    margin: 0;
  }
	#form dl dt {
    text-align: left;
    padding: 0;
  }
	#form dl dt p {
    justify-content: flex-start;
    gap: 20px;
  }
	#form dl dd {
    padding: 0;
		margin-bottom: 30px;
  }
	#form dl dd .mainRadio {
    flex-direction: column;
    gap: 10px;
  }
  #form dl dd.pulldownset .mainRadio span label input[type="radio"]:checked + span::after {
    content: none !important;
  }
  #form dl dd.pulldownset .subBox {
    padding: 10px 15px;
    margin: 20px 0 0;
    background: none;
    border: 1px solid #f00;
  }
	#form dl dd input,
	#form dl dd textarea {
		width: 100%;
		box-sizing: border-box;
	}
	#form dl dd input[type="radio"] {
		width: auto;
	}
	#form dl dd .w10 { width: 100px;}
	#form dl dd .w20 { width: 140px;}
	#form dl dd .w30,
	#form dl dd .w40,
	#form dl dd .w50,
	#form dl dd .w60,
	#form dl dd .w70,
	#form dl dd .w80,
	#form dl dd .w90 { width: 100%;}  
  
  #form .agree {
		line-height: 1.8;
		padding: 0;
  }
	#form .wpcf7-acceptance label input {
		width: auto;
	}
	#form .atn {
    margin: 40px 0 0;
  }
  #form .submit {
		margin-top: 10px;
	}
	
	
	
	
	
}
