@charset "utf-8";
/* CSS Document */
#contact{
	width: 90%;
	max-width: 960px;
	margin: auto;
	position: relative;
	padding-top: 8px;
	padding-bottom: 60px;
}
.tel p:first-of-type{
	font-size: 20px;
	margin-left: 15px;
}
.tel p:last-of-type{
	font-size: 14px;
	margin-top: 10px;
	margin-left: 15px;
}
.mail{
	margin-top: 30px;
}
.formarea{
	margin: 0 15px;
}
table{
	margin-top: 25px;
	width: 100%;
	max-width: 750px;
	border-collapse: separate;
}
th{
	width: 230px;
	background: #f8f8f8;
	padding: 10px 0 10px 15px;
	line-height: 23px;
	text-align: left;
	vertical-align: top;
	border-top: 2px solid #fff;	
}
tr:first-of-type th,
tr:first-of-type td{
	border: none;
}
td{
	padding: 9px 5px 9px 20px;
	line-height: 23px;
	background: #fff;
	border-top: 2px solid #f4f3f1;	
}
.required {
 position: relative;
}
.required::after {
	content: "必須";
	color: #ffffff;
	font-size: 12px;
	font-weight: bold;
	background: #005506;
	padding: 0px 13px;
	position: absolute;
	right: 20px;
}
.form_line {
	font-size: 13px;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: space-between;
}
.form_line li {
	width: 48%;
}
.form_line li input.form_name {
	width: calc(100% - 2em);
	margin-left: 1em;
}
input, textarea {
	border: 1px solid #dedede;
	font-size: 13px;
	padding: 10.5px;
}
.addressfield li:nth-of-type(n+2) {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex; 
	align-items: center;
}
.addressfield li:nth-of-type(2) input {
	width: calc(100% - 9em);
	margin-left: auto;
}
.addressfield li:nth-of-type(3) input {
	width: calc(100% - 5em);
	margin-left: auto;
}
.js-button {
	white-space: nowrap;
	display: inline-block;
	width: 100px;
	line-height: 40px;
	text-align: center;
	background: #f4f3f1;
	border: 1px solid #e3e3e3;
	cursor: pointer;
	vertical-align: middle;
	margin: 7.5px 0 7.5px 17px;
}
.must {
	color: red;
	font-size: 13px;
	line-height: 24px;
}
.checkitem,.send{
	width: 100%;
	margin-top: 20px;
}
.send{
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: center;
}
.check{
	text-align: center;
}
.checkitem .btn{
	margin: auto;
	margin-top: 30px;
}
.check a {
 text-decoration: underline;
}
.check a:hover {
 color: red;
}
.btn{
	display: block;
	margin-top: 30px;
	text-align: center;
	border: 1px solid #005506;
	background: #fff;
	width: 300px;
	line-height: 40px;
	color: #005506;
}
.send .btn{
	max-width: 200px;
	width: 45%;
	color: #005506;
}
.send .btn:first-of-type{
	margin-right: 10%;
}
#main .btn:hover{
	background: #005506;
	color: #fff;
	text-decoration: none;
}
/**thanks**/
.thanks{
	margin-top: 40px;
	margin-bottom: 350px;
}
.thanks p:first-of-type{
	font-size: 26px;
	line-height: 32px;
	margin-bottom: 20px;
}
.thanks p:last-of-type{
	line-height: 23px;
}
/*---------------------------------------------------------------------------------------------*/
/*****タブレット・スマホ用*****/
@media screen and (max-width: 640px) {
th,td{
	display: block;
	width: 100%;
	padding: 15px;
}	
.form_line {
	display: block;
}
.form_line li {
	width: 100%;
}
.form_line li:last-of-type input {
	margin-top: 7.5px;
}
.addressfield li {
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	-o-flex-wrap: wrap;
	flex-wrap: wrap;
}
.addressfield li:nth-of-type(n+2) {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	align-items: center;
}
.addressfield li:nth-last-of-type(-n+2) input {
	width: 100%;
	margin-top: 7.5px;
}	
.checkitem .btn{
	width: 80%;
	max-width: 300px;
}	
.send{
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	-o-flex-wrap: wrap;
	flex-wrap: wrap;
}
}
	
	







