/***************
表組
***************/
dt, dd {
	width: 100%;
}

@media (min-width: 768px) {
	dt {
		width: 30%;	
	}
	dd {
		width: 70%;
	}
}

/***************
label
***************/
.label_required {
	display: inline-flex;
	height: 1.5em;
	align-items: center;
	background-color: #c00;
	border-radius: 5px;
	margin-left: .5em;
	padding: .1em .5em;
	color: #FFF;
}

textarea.form-control {
	min-height: 10rem;
}

/********************************
  form content
*********************************/
.form_content {
	padding: 1rem 0 2rem;
	border-bottom: solid #dedede 1px;
}

.error_msg {
	display: flex;
	width: auto;
	height: auto;
	min-height: 2rem;
	padding: 2px;
	border-radius: 3px;
	background-color: #da2727;
	color: #fff;
	align-items: center;
	position: relative;
	z-index: 2;
}
.error_msg::before {
	border: 1px solid #fff;
	border-radius: 10px;
	content: "!";
	display: flex;
	height: 20px;
	margin: 3px 6px;
	width: 20px;
	min-width: 20px;
	justify-content: center;
	align-items: center;
}
.error_msg::after {
	background-color: #da2727;
	border: 3px solid #da2727;
	content: "";
	width: 12px;
	height: 12px;
	left: 10%;
	position: absolute;
	z-index: -1;
	top: -6px;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
@media (min-width: 992px) {
	.error_msg {
		margin-left: 14.5em;
	}
	.error_msg.inner {
		margin-left: calc(16.666667% - 5px);
	}
}

@media (min-width: 1200px) {
	.error_msg {
		margin-left: 17em;
	}
}

/***************
button
***************/
.submit_button {
	display: flex;
	width: 12em;
	align-items: center;
	justify-content: center;
	margin: 1rem auto;
	margin-bottom: 2rem;
	height: 3em;
	background-color: #e7d1a0;
}

/***************
input
***************/
/* numberボックスのスピンボタン非表示 */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

input[type="number"] {
	-moz-appearance: textfield;
}
