@charset "UTF-8";

/* form dl */
.form dl {
	margin: 10px 23px 0 15px;
}
.form dl:not(:has( dd)) {
	display: none;
}
.form dt {
	padding: 10px 10px;
	text-align: center;
}
.form dd {
	margin-bottom: 15px;
}
.form dt.required::after{
	content:"必須";
	display: inline-block;
	position: relative;
	top: -2px;
	left: 0;
	margin: 0 5px;
	padding: 2px 10px 1px;
	font-size: 12px;
	color: #f00;
	border:1px solid #f00;
}

/* form table */
.form table:not(:has( tr)) {
	display: none;
}
.form th, .form td {
	display: block;
}
.form th {
	padding: 10px 10px;
	text-align: center;
}
.form th.required::after{
	content:"必須";
	display: inline-block;
	position: relative;
	top: -2px;
	left: 0;
	margin: 0 5px;
	padding: 2px 10px 1px;
	font-size: 12px;
	color: #f00;
	border:1px solid #f00;
}
.form td {
	margin-bottom: 15px;
}

/* form content */
.form .form_h { display: block; margin: 15px 0 10px; font-size: 1.5em; font-weight: bold; text-align: center; }
.form .output div:first-child .form_h { margin-top: 0; }
.form .form_text { margin: 10px 0; padding: 0 10px; }
.form::after { content: ""; display: block; font-size: 0; clear: both; }

.form .errors { color: red; }

.form span.md_note {
	font-size: 89%
}

.form .icon_required {
	position: relative;
	top: -2px;
	display: inline-block;
	margin-left: 5px;
	padding: 2px 10px 1px;
	font-size: 12px;
	color: #f00;
	border:1px solid #f00;
}

.form fieldset label {
	display: block;
}
.form fieldset label input {
	margin: 0 3px 0 0;
}

.form p.trivial {
	margin: 0;
}

.form#confirm .trivial {
	display: none;
	height: 0;
}

.form#confirm .conf_none {
	display: none;
}

.form input[type="text"],
.form input[type="password"],
.form input[type="tel"],
.form input[type="url"],
.form input[type="email"],
.form input[type="date"],
.form input[type="time"],
.form input[type="number"] {
	/*font-size: 170%; */
}

.form input[type="text"],
.form input[type="password"],
.form input[type="url"],
.form input[type="email"] {
	width: 100%;
}
.form input[type="tel"] {
	width: 15em;
}
.form input[type="number"] {
	width: 5em;
}
.form textarea {
	font-size: 120%;
	width: 100%;
	height: 5em;
}

.form .input_check, .form .input_radio { display: inline-block; margin: 0 1em 0 0; }
.form .input_name input { width: 7em; }

.form .onfocus input, .form .onfocus textarea {
	background:#E6FFE6;
}
.form input:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 30px #E6FFE6 inset;
}

.form .error input{
	background-color: #FFAFAF;
}

.form .error::after{
	content :"未入力です";
	display: block;
	text-align: right;
	color: #f00;
}

/* form submit */
.form p.submit {
	width: 100%;
	text-align: center;
}

.form input[type="submit"],
.form .submit button {
	clear: left;
	width: 300px;
	margin-top: 10px;
	vertical-align: middle;
	padding: 10px 0;
	font-size: 20px;
	font-weight: bold;
}