/* フォーム */
/* ------------------------------------------------------------------------ */

form {
	padding-bottom: 3.0rem; }
	form input[type="tel"], form input[type="text"], form input[type="email"], form input[type="number"], form textarea {
		display: block;
		width: 100%;
		padding: 1.0rem;
		background: #fff;
		border: solid 1px #ccc;
		color: #333;
		font-size: 1.6rem;
		font-family: 'Noto Sans Japanese', 'Noto Sans JP', helvetica, arial, 'hiragino kaku gothic pro', 'ヒラギノ角ゴ ProN W3', 'Meiryo', 'Osaka', sans-serif;
		-webkit-appearance: none; }
		.contact input.zip {
			width: 92px !important;
			display: inline-block !important;
			margin-left: .5rem; }
			.contact input.zip:first-child {
				margin-right: .5rem;
				margin-left: 0; }
	form pre {
		font-family: 'Noto Sans Japanese', 'Noto Sans JP', helvetica, arial, 'hiragino kaku gothic pro', 'ヒラギノ角ゴ ProN W3', 'Meiryo', 'Osaka', sans-serif; }
	select {
		font-size: 1.8rem;
		font-family: 'Noto Sans Japanese', 'Noto Sans JP', helvetica, arial, 'hiragino kaku gothic pro', 'ヒラギノ角ゴ ProN W3', 'Meiryo', 'Osaka', sans-serif;
		border: solid 1px #999;
		padding: .24em;
		-webkit-appearance: menulist; }
	/* チェックボックス */
	/*input[type=checkbox] {
		display: none; }*/
	.checkbox {
		box-sizing: border-box;
		cursor: pointer;
		display: inline-block;
		padding: 5px 30px;
		position: relative;
		width: auto; }
		#md_purpose_dd .checkbox {
			display: flex; }
		#md_purpose_dd li input[type="checkbox"] {
			display: none; }
		.checkbox::before {
			background: #fff;
			border: 1px solid #666;
			content: '';
			display: block;
			height: 16px;
			left: 5px;
			margin-top: -10px;
			position: absolute;
			top: 50%;
			width: 16px; }
		.checkbox::after {
			border-right: solid 3px #148ecf;
			border-bottom: solid 3px #148ecf;
			content: '';
			display: block;
			height: 9px;
			left: 10px;
			margin-top: -9px;
			opacity: 0;
			position: absolute;
			top: 50%;
			transform: rotate(45deg);
			width: 5px; }
			input[type=checkbox]:checked + .checkbox::after {
				opacity: 1; }
	/* ラジオボタン */
	input[type=radio] {
		display: none; }
	.radio {
		box-sizing: border-box;
		cursor: pointer;
		display: inline-block;
		padding: 5px 30px;
		position: relative;
		width: auto; }
		.radio::before {
			background: #fff;
			border: 1px solid #666;
			border-radius: 50%;
			content: '';
			display: block;
			height: 16px;
			left: 5px;
			margin-top: -8px;
			position: absolute;
			top: 50%;
			width: 16px; }
		.radio::after {
			background: #148ecf;
			border-radius: 50%;
			content: '';
			display: block;
			height: 10px;
			left: 9px;
			margin-top: -4px;
			opacity: 0;
			position: absolute;
			top: 50%;
			width: 10px; }
			input[type=radio]:checked + .radio::after {
				opacity: 1; }
@media screen and (max-width: 640px){
		form button {
			margin: 2.0rem auto 0;
			width: 100%; }
		.radio,
		.checkbox {
			padding: 5px 0 5px 30px; }
}
	
	form .must {
		font-size: 1.0rem;
		color: #e42b2b;
		vertical-align: super; }
	form .privacyBox {
		text-align: center;
		background: #eee;
		padding: 1.5rem 1.5rem 0.5rem;
		margin: 2.0rem 0;
		font-size: 1.6rem; }
		form .privacyBox p {
			text-align: center !important; }
		form .privacyBox a {
			display: inline-block !important; }
	form .btnBox {
		margin-top: 3.0rem;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-around; }
		form .btnBox p {
			text-align: center !important;
			width: 100%;
			margin-bottom: 2.0rem; }
		form .btnBox a.btn {
			max-width: 490px;
			width: 40%;
			margin: 0 auto; }
			form .btnBox a.btn.disabled {
				background: #cacaca;
				color: #efefef;
				cursor: default; }
	form .error {
		color: #e42b2b;
		margin: 2rem 0; }
		form .error.point > li {
			margin-bottom: 0; }
	form .kome {
		color: #e42b2b;
		display: block;
		margin: 1rem 0 0;
		font-size: 80%; }
	
	button.subBtn {
		position: relative;
		max-width: 490px;
		width: 40%;
		color: #fff;
		display: block;
		margin: auto;
		margin-top: 5rem;
		padding: 2rem;
		background: #464646;
		text-align: center;
		line-height: 1;
		font-size: 1.8rem;
		border: 0;
		cursor: pointer; }
		button.subBtn:after {
			content: "";
			position: absolute;
			top: 0;
			bottom: 0;
			margin: auto 0;
			right: 2.1rem;
			width: 28px;
			height: 6px;
			background: url(../img/icon_next.svg) center/100% auto no-repeat; }
	button.subBtn.disabled {
		background: #cacaca;
		color: #efefef;
		cursor: default; }
@media screen and (max-width: 640px){
		form .btnBox a.btn {
			width: 90%; }
}

	.hp-field{
		position: absolute;
		left: -9999px;
	}
	.contact dt span.required:after {
		display: inline-block;
		margin-left: 1.0rem;
		padding: 0px .64rem;
		font-size: 1.2rem;
		color: #fff;
		background-color: #d43636;
		content: "必須";
	}

/* ダウンロードフォーム */
/* ------------------------------------------------------------------------ */
#page #content dl.table.industry_other,
#page #content dl.table.industry_other + dl.table {
	border-top: none; }
.service dt span.required:after {
	display: inline-block;
	margin-left: 1.0rem;
	padding: 0px .64rem;
	font-size: 1.2rem;
	color: #fff;
	background-color: #d43636;
	content: "必須"; }
#page #content dl.table select {
	border: solid 1px #ccc; }

