@charset 'utf-8';
.form .inner{
	background: #f9f9f9;
	padding:4%;
	margin-bottom:80px;
}
.form .sec-ttl + p{
	text-align: center;
	margin:0 0 2em;
}
.form input[type="text"],
.form textarea{
	width:100%;
//	width: calc(100% - 58px) !important;
	max-width:100%;
	font-size: 20px;
	padding:.5em;
	border:2px #ccc solid;
}
.form textarea{
min-height: 10em;
}
.form dl{
	margin:0 auto 2em;
	width: 80%;
}

.form .optional{
	background: #ccc;
	color:#fff;
	display: inline-block;
	padding:.25em 1em;
	font-size: 12px;
	margin:0 .5em 0 0;
}
.form .required{
	background: #8cc850;
	color:#fff;
	display: inline-block;
	padding:.25em 1em;
	font-size: 12px;
//	margin:0 .5em 0 0;
}
.form dt{
	font-size: 120%;
}
.form dd{
	padding:1em 0;
}
.form fieldset{
	background: #fff;
//	padding:1em;
	margin:0 0 1em;
	font-size: 15px;
}
.form fieldset legend{
	font-size: 17px;
	font-weight: 900;
}
.form fieldset label{
	white-space: nowrap;
	display: inline-block;
	margin:.5em 1em .5em 0;
	font-weight: normal;
}
.form input.size-s{
	width: 4em !important;
	text-align: center !important;
}
.form select{
	font-size:120%;
	background:#ffff;
	border:2px #ccc solid;
}
.form ul li{
	display: inline-block;
}


input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}


/** jquery.validate **/
label.error {
	color: red;
}
/**
input:valid + span::after {
	color: green;
	font-size: 30px;
	font-family: "FontAwesome";
	content: " \f058";
} 
input:invalid + span::after {
	color: red;
	font-size: 30px;
	font-family: "FontAwesome";
	content: " \f06a";
} 
**/
input:valid + div>span , select:valid + div>span {
	background: #8cc850 !important;
}
input:invalid + div>span , select:invalid + div>span {
	background: red !important;
}

/** CnM Add **/
table tr td {
	font-size: 15px;
}

label, input {
	cursor: pointer;
}

div.flexbox{
	display: flex;
	flex-wrap:wrap;
	flex-flow: row-reverse;
}
div.flexbox span {
	position: absolute;
	margin-top: -40px;
}

.div_sc_type label {
	margin: .5em 1em .5em 0;
}

input:checked + label {
	background: #d5ffaa;
}

.btn_check_all {
	cursor: pointer;
}



@media (max-width:480px) {
	div.flexbox span {
		margin-top: -30px;
	}
	.form dl{
		width: 100%;
	}
}
