/* キョーカイフォーム フロントスタイル */
.kyokai-form {
	max-width: 640px;
	margin: 2em 0;
	font-size: 15px;
	line-height: 1.7;
}

.kyokai-form-field {
	margin: 0 0 1.2em;
}

.kyokai-form-field label {
	display: block;
	margin-bottom: 0.3em;
	font-weight: 600;
}

.kyokai-form-required {
	color: #d93025;
}

.kyokai-form-input {
	width: 100%;
	max-width: 100%;
	padding: 0.5em 0.6em;
	border: 1px solid #ccc;
	border-radius: 4px;
	box-sizing: border-box;
	font-size: inherit;
}

textarea.kyokai-form-input {
	resize: vertical;
}

.kyokai-form-error {
	color: #d93025;
	margin: 0.3em 0 0;
	font-size: 0.9em;
}

.kyokai-form-error-general,
.kyokai-form-error-list {
	color: #d93025;
	border: 1px solid #f5c6cb;
	background: #fdf3f3;
	padding: 0.6em 1em;
	border-radius: 4px;
	margin-bottom: 1em;
}

.kyokai-form-error-list {
	list-style: none;
	margin: 0;
}

.kyokai-form-actions {
	margin: 1.5em 0 0;
}

.kyokai-form-submit,
.kyokai-form-back {
	padding: 0.6em 1.6em;
	border: none;
	border-radius: 4px;
	cursor: pointer;
	font-size: inherit;
}

.kyokai-form-submit {
	background: #2e6da4;
	color: #fff;
}

.kyokai-form-submit:hover {
	background: #1d5a8a;
}

.kyokai-form-back {
	background: #eee;
	color: #333;
	margin-left: 0.5em;
}

.kyokai-form--confirm .kyokai-form-confirm-list {
	margin: 0 0 1.5em;
}

.kyokai-form-confirm-row {
	display: flex;
	flex-wrap: wrap;
	border-bottom: 1px solid #eee;
	padding: 0.5em 0;
}

.kyokai-form-confirm-row dt {
	flex: 0 0 9em;
	font-weight: 600;
}

.kyokai-form-confirm-row dd {
	flex: 1 1 auto;
	margin: 0;
	white-space: pre-wrap;
}

.kyokai-form-message {
	padding: 1em;
	border-radius: 4px;
}

.kyokai-form-message.is-success {
	background: #e8f5e9;
	border: 1px solid #c8e6c9;
	color: #2e7d32;
}

.kyokai-form-message.is-error {
	background: #fdf3f3;
	border: 1px solid #f5c6cb;
	color: #d93025;
}

.kyokai-form-back-link {
	display: inline-block;
	margin-top: 1em;
}