
#topAbout { position: relative; background: #FFF; padding: 275px 0 80px; border-bottom: solid 4px #158352; }
#topAbout h2 { font-size: 48px; line-height: 1.5em; color: #251E19; position: relative; margin: 0 0 100px; }
#topAbout h2:after { content: ""; width: 200px; border-top: solid 4px #158352; position: absolute; bottom: -20px; left: 0; }

#topAbout h3 { font-size: 28px; line-height: 1.5em; color: #158352; text-align: center; }

#topAbout p.tel { width: 480px; display: block; border: solid 4px #D6D6D6; border-radius: 20px; text-align: center; margin: 80px auto 0; }
#topAbout p.tel b { font-size: 60px; font-weight: 900; display: block; color: #158352; line-height: 80px; }
#topAbout p.tel b img { vertical-align: baseline; margin: 0 10px 0 0; }
#topAbout p.tel span { font-size: 20px; font-weight: 500; display: block; line-height: 40px; background: #459C7522; }

#topAbout h4 { font-size: 24px; line-height: 1.5em; color: #251E19; text-align: center; margin: 40px 0 0; }
#topAbout p { font-size: 20px; font-weight: 500; line-height: 1.75em; text-align: center; color: #251E19; margin: 40px 0 0; }

#topForm { position: relative; background: #FFF; padding: 80px 0 0; }
#topForm h2 { font-size: 40px; line-height: 1.5em; text-align: center; color: #158352; position: relative; margin: 0 0 20px; }
#topForm p { font-size: 20px; font-weight: 500; line-height: 1.75em; text-align: center; color: #251E19; margin: 40px 0 0; }

#topForm table { margin: 80px auto 0; border-collapse: collapse; border-bottom: solid 2px #EDEDED; }
#topForm table th { font-size: 24px; font-weight: 700; line-height: 1.75em; text-align: left; color: #158352; padding: 40px 80px 40px 0; width: 280px; border-top: solid 2px #EDEDED; }

#topForm table th span{ display: inline-block; border-radius: 5px; font-size: 16px; line-height: 30px; color: #FFF; background: #168352; margin: 8px 0 0; padding: 0 10px; float: right; }

#topForm table td { font-size: 24px; font-weight: 500; line-height: 1.75em; color: #251E19; padding: 40px 0; border-top: solid 2px #EDEDED; }
#topForm table td p { font-size: 16px; text-align: left; margin: 0; }
#topForm table td label { font-size: 20px; text-align: left; margin: 0 0 0 20px; display: inline-block; white-space: nowrap; }
#topForm table td input { font-size: 20px; padding: 8px; border: solid 2px #D6D6D6; border-radius: 4px; box-sizing: border-box; }
#topForm table td select { font-size: 20px; padding: 8px; border: solid 2px #D6D6D6; border-radius: 4px; box-sizing: border-box; appearance: auto; }
#topForm table td input.full { width: 100%; }

#topForm table td section { display: flex; }
#topForm table td section p { line-height: 50px; width: 100px; }
#topForm table td section+section { margin: 20px 0 0; }
#topForm table td input+p { width: 20px; text-align: center; }
#topForm table td input+input { margin: 0 0 0 20px; }


#topForm p.btn input { width: 320px; height: 80px; border-radius: 20px; font-size: 24px; font-weight: 700; color: #FFF; background: #168352; transition: .3s; }
#topForm p.btn input:hover { opacity: 0.6; }

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

}

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

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

	#topAbout { padding: 120px 20px 80px; }
	#topAbout h2 { font-size: 8vw; }

	#topAbout h3 { font-size: 5vw; line-height: 1.5em; color: #158352; text-align: left; }

	#topAbout p.tel { width: 320px; border-radius: 10px; margin: 40px auto 0; }
	#topAbout p.tel b { font-size: 12vw; line-height: 16vw; }
	#topAbout p.tel b img { }
	#topAbout p.tel span { font-size: 4vw; line-height: 8vw; }

	#topAbout h4 { font-size: 5vw; text-align: left; margin: 20px 0 0; }
	#topAbout p { font-size: 4vw; text-align: left; color: #251E19; margin: 20px 0 0; }

	#topForm { position: relative; background: #FFF; padding: 80px 20px; }
	#topForm h2 { font-size: 8vw; margin: 0 0 20px; }
	#topForm p { font-size: 5vw; text-align: left; margin: 20px 0 0; }

	#topForm table { margin: 40px auto 0; border-collapse: collapse; border-bottom: solid 2px #EDEDED; }
	#topForm table th { font-size: 4vw; padding: 20px 0; width: 100%; border-top: solid 2px #EDEDED; display: block; }
	#topForm table th span { border-radius: 4px; font-size: 3vw; line-height: 2em; margin: 0; padding: 0 8px; }

	#topForm table td { font-size: 4vw; padding: 0 0 20px; border-top: none; display: block; }
	#topForm table td p { font-size: 4vw; text-align: left; margin: 0; }
	#topForm table td label { font-size: 16px; text-align: left; margin: 0; display: block; white-space: normal; }
	#topForm table td input { font-size: 16px; padding: 4px; border: solid 2px #D6D6D6; border-radius: 4px; box-sizing: border-box; }
	#topForm table td select { font-size: 16px; padding: 4px; border: solid 2px #D6D6D6; border-radius: 4px; box-sizing: border-box; appearance: auto; }
	#topForm table td input[type=text] { width: 40%; }
	#topForm table td input.full { width: 100%; }

	#topForm table td section { display: block; }
	#topForm table td section p { line-height: 2em; }
	#topForm table td section+section { margin: 10px 0 0; }
	#topForm table td input+p { width: 20px; text-align: center; display: inline-block; }
	#topForm table td input+input { margin: 0 0 0 10px; }


	#topForm p.btn { text-align: center; margin: 40px 0 0; }

	#topForm p.btn input { width: 320px; height: 80px; border-radius: 20px; font-size: 24px; font-weight: 700; color: #FFF; background: #168352; transition: .3s; }
	#topForm p.btn input:hover { opacity: 0.6; }

}