/* ************************************************** */
/* コンテンツ全体 */
/* ************************************************** */
.content-main {
	margin-bottom: 0px;
}

/* ヘッダ、フッタ挿入文字 */
.form-content-header,
.form-content-footer {
	text-align: center;
	font-size: 1.8rem;
	line-height: 2.0;
}

.errors {
	color: red;
	font-size: 2.0rem;
	padding: 3px;
	text-align: center;
}

.description {
	font-size: 1.4rem;
}

/* ************************************************** */
/* スマホ */
/* ************************************************** */
@media screen and (max-width:900px) {
	.main-form {
		width: 100%;
		margin: 30px auto;
		font-size: 0;
	}

	.main-form .error {
		color: red;
		font-size: 1.5rem;
	}

	.main-form .form-field {
		padding-top: 5px;
		padding-bottom: 5px;
		margin-bottom: 5px;

		display: block;
	}

	/* 姓名 */
	.main-form .input-type-name1 {
		width: 40%;
		display: inline-block !important;
	}
	.main-form .input-type-name1 .field-label {
	/*	vertical-align: top; */
		display: inline-block !important;
	}
	.main-form .input-type-name1 .field-input {
		margin-right: 50px;
		width: 75% !important;
		display: inline-block !important;
	}

	/* カナ */
	.main-form .input-type-name2 {
		width: 40%;
		display: inline-block !important;
	}
	.main-form .input-type-name2 .field-label {
	/*	vertical-align: top; */
		display: inline-block !important;
	}
	.main-form .input-type-name2 .field-input {
		margin-right: 50px;
		width: 75% !important;
		display: inline-block !important;
	}

	.main-form .form-field .field-label {
/*		padding: 5px 15px; */
		font-size: 1.5rem;
		display: block;
	}

	.main-form .form-field .field-input {
		width: 100%;
		display: block;
	}
}

/* ************************************************** */
/* PC */
/* ************************************************** */
@media screen and (min-width:901px) {
	.main-form {
		width: 800px;
		margin: 30px auto;
		font-size: 0;
	}

	.main-form .error {
		color: red;
		font-size: 1.5rem;
	}

	.main-form .form-field {
		padding-top: 5px;
		padding-bottom: 5px;
		margin-bottom: 5px;

		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		align-items: flex-start;
	}

	/* 姓名 */
	.main-form .input-type-name1 {
		display: inline-block !important;
	}
	.main-form .input-type-name1 .field-label {
		vertical-align: top;
		display: inline-block !important;
	}
	.main-form .input-type-name1 .field-input {
		width: 200px !important;
		margin-right: 50px;
		display: inline-block !important;
	}

	/* カナ */
	.main-form .input-type-name2 {
		display: inline-block !important;
	}
	.main-form .input-type-name2 .field-label {
		vertical-align: top;
		display: inline-block !important;
	}
	.main-form .input-type-name2 .field-input {
		width: 200px !important;
		margin-right: 50px;
		display: inline-block !important;
	}

	.main-form .form-field .field-label {
		width: 225px;
		padding: 5px 0px;
		font-size: 1.5rem;
	}

	.main-form .form-field .field-input {
		width: calc(100% - 250px);
	}
}

/* 必須 */
.main-form .required .field-label::after {
	content: "必 須";
	font-size: 0.7em;
	color: white;
	background-color: green;
	padding: 5px;
	margin-left: 3px;
}

/* text */
.main-form .form-field .field-input input[type="text"] {
	padding: 10px 15px;
	font-family: inherit;
	font-size: 1.5rem;
	line-height: 1.4;
	vertical-align: middle;
	color: black;
	border: 1px solid gray;
	width: 100%;
	max-width: 100%;
}

/* textarea */
.main-form .form-field .field-input textarea {
	padding: 10px 15px;
	font-family: inherit;
	font-size: 1.5rem;
	line-height: 1.5;
	color: black;
	vertical-align: top;
	border: 1px solid gray;
	height: 145px;
	width: 100%;
	max-width: 100%;
}

/* select */
.main-form .form-field .field-input select {
	-webkit-appearance: none;
	appearance: none;
	width: 285px;
	border: 1px solid gray;
	padding: 10px 35px 10px 15px;
	box-sizing: border-box;
	font-family: inherit;
	font-size: 1.5rem;
	line-height: 1.4;
	vertical-align: middle;
	color: black;
}

/* checkbox */
.main-form .pd-checkbox .field-input > .value {
	font-size: 1.6rem;
	color: black;
}
.main-form .pd-checkbox .field-input .value span {
	margin-top: 5px;
	margin-bottom: 5px;
	display: block;
}
.main-form .pd-checkbox .field-input .value span > input[type=checkbox] {
	transform: scale(1.5, 1.5);
}
.main-form .pd-checkbox .field-input .value .inline {
	padding: 5px;
}

/* submit */
.submit {
	margin-top: 32px;
	text-align: center;
}

.submit:hover {
	opacity: .6;
}

.submit:disabled {
	opacity: .6;
	background: #ccc;
	cursor: default;
}

.submit input[type="submit"] {
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	margin: 0 auto;
/*
	padding: 0 70px 0 10px;
*/
	width: 322px;
	height: 64px;
	max-width: 100%;
	background: #98844E;
	color: white;
	border: none;
	font-family: inherit;
	font-size: 1.8rem;
	font-weight: normal;
	line-height: 1;
	letter-spacing: .01em;
	text-decoration: none !important;
	-webkit-transition: opacity 300ms;
	transition: opacity 300ms;
	cursor: pointer;
}

.submit input[type="submit"]::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	background: white;
}

.submit input[type="submit"]::after {
	content: "";
	border: solid 2px white;
	border-width: 2px 2px 0 0;
	display: inline-block;
	height: 10px;
	width: 10px;
	transform: rotate(45deg);
	position: absolute;
	right: 20px;
	top: 50%;
	margin: -6px 0.5em 0 0;
}
