/*** radio type 1 ***/
@keyframes click-wave {
	0% {
	  transform: scale(1, 1) ;
	}
	50% {
	  transform: scale(0.5, 0.5);
	  background-color: rgb(44, 78, 12);
	}
	100% {
	  transform: scale(1, 1);
	  background-color: rgb(137, 192, 74);
	}
}
@-webkit-keyframes click-wave {
	0% {
	  -webkit-transform: scale(1, 1) ;
	}
	50% {
	  -webkit-transform: scale(0.5, 0.5);
	  background-color: rgb(44, 78, 12);
	}
	100% {
	  -webkit-transform: scale(1, 1);
	  background-color: rgb(137, 192, 74);
	}
}

/** table **/
.btn-radio.inline > div {
	display: inline-block;
}
.btn-radio {
	width: 100%;
	border-spacing: 0;
}
.btn-radio tr:first-child td, .btn-radio tr:first-child th {
	border-top: 1px solid #ddd;
}
.btn-radio tr {
	margin: 4px 0;
}
.btn-radio td, .btn-radio th {
	padding: 4px;
	border-bottom: 1px solid #ddd;
	position: relative;
}
.btn-radio tr:last-child td, .btn-radio tr:last-child th {
	border-bottom: 1px solid #ddd;
}
.btn-radio tr.active td {
	background: #f7f7f7;
}
.btn-radio td {
	font-size: 14px;
	padding: 10px 12px;
	color: #666;
	line-height: 1.6;
}
.btn-radio td img {
	margin-top: 10px;
}
.btn-radio th {
	width: 340px;
	text-align: left;
	font-size: 13px;
	border-right: 5px solid #ddd;
	vertical-align: top;
}
.btn-radio .red {
	color: #a03f3f;
	font-size: 13px;
}
.btn-radio .bold {
	font-weight: bold;
}
.btn-radio th label img {
	margin-top: 10px;
	display: block;
}

/** radio numbering **/
.btn-radio.numbering tr td:nth-child(2) {
	background: #f7f7f7;
	text-indent: 10px;
	color: #333;
}
.btn-radio.numbering tr td:nth-child(2) strong {
	position: relative;
}
.btn-radio.numbering tr td:nth-child(2) strong:before {
	content: "";
	border-top: 2px solid #666;
	border-right: 2px solid #666;
	width: 5px;
	height: 5px;
	top: 6px;
	position: absolute;
	transform: rotate(45deg);
	left: -14px;
}
.btn-radio.numbering th {
	width: 100px;
	text-align: center;
	vertical-align: middle;
	background: #fff;
	color: #777;
	font-weight: bold;
	font-size: 40px;
}

/** radio **/
.radio-wrap {
	display: block;
	position: relative;
	padding: 14px 0 12px 44px;
	cursor: pointer;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	font-size: 14px;
	color: #333;
}
@-moz-document url-prefix() { /**for firefox **/
	.radio-wrap {
	  margin-bottom: 10px;
	}
	.btn-radio tr, .btn-radio td {
	  height: 100%;
	}
}
.radio-wrap.active {
	font-weight: bold;
	color: #444;
}
.radio-wrap i {
	display: block;
	font-weight: bold;
	color: #ff6633;
}
.radio-wrap input {
	position: absolute;
	opacity: 0;
}
.radio-wrap .checkmark {
	position: absolute;
	top: 10px;
	left: 8px;
	height: 25px;
	width: 25px;
	background-color: #ddd;
	border-radius: 50%;
	display: inline-block !important;
}
.radio-wrap .checkmark:after {
	content: "";
	position: absolute;
	display: none;
}
.radio-wrap:hover input ~ .checkmark {
	background-color: #ccc;
}
.radio-wrap input:checked ~ .checkmark {
	background-color: rgb(137, 192, 74);
	-webkit-animation: click-wave 0.5s;
	-moz-animation: click-wave 0.5s;
	animation: click-wave 0.5s;
}
.radio-wrap input:checked ~ .checkmark:after {
	display: block;
}
.radio-wrap .checkmark:after {
	position: absolute;
	top: 6px;
	left: 10px;
	width: 4px;
	height: 8px;
	border: solid #fff;
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
	background: transparent;
}
.radio-wrap > div img {
	margin-top: 10px;
}
.radio-wrap .kakaku {
	position: absolute;
	right: 5px;
	top: 15px;
	color: #b81a1a;
	font-size: 16px;
}
.radio-wrap.size{
	padding: 14px 65px 12px 44px;
}

/** form-wrap **/
.radio-wrap.inline {
    display: inline-block;
    margin: 0 10px 0 0;
    height: 30px;
    line-height: 24px;
}

/** radio disable **/
.btn-radio .disable {
	background: #ddd;
}
.btn-radio .disable .radio-wrap {
	cursor: default;
}
.btn-radio .disable .radio-wrap input,
.btn-radio .disable .radio-wrap .checkmark {
	display: none !important;
}
.btn-radio .disable .attention {
	font-size: 16px;
    font-weight: bold;
}
.btn-radio .disable .attention a {
	text-decoration: underline;
	color: #b81a1a;
}

/** checkbox ***/
.btn_checkbox {
	margin: 8px 0 8px 4px;
}
.check-wrap {
	display: block;
	position: relative;
	padding: 13px 0 8px 35px;
	cursor: pointer;
	font-size: 13px;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}
@media screen and (-webkit-min-device-pixel-ratio:0) { 
    .check-wrap {
        padding: 10px 0 8px 35px !important;
    }
}
@-moz-document url-prefix() {
    .check-wrap {
        padding: 10px 0 8px 35px !important;
    }
}
.check-wrap input[type=checkbox] {
	position: absolute;
	opacity: 0;
	cursor: pointer;
}
.check-wrap .checkmark {
	position: absolute;
	top: 6px;
	left: 0;
	height: 25px;
	width: 25px;
	background-color: #ddd;
	display: inline-block !important;
}
.check-wrap:hover input[type=checkbox] ~ .checkmark {
	background-color: #ccc;
}
.check-wrap input[type=checkbox]:checked ~ .checkmark {
	background-color: rgb(137, 192, 74);
	-webkit-animation: click-wave 0.5s;
	-moz-animation: click-wave 0.5s;
	animation: click-wave 0.5s;
}
.check-wrap .checkmark:after {
	content: "";
	position: absolute;
	display: none;
}
.check-wrap input[type=checkbox]:checked ~ .checkmark:after {
	display: block;
}
.check-wrap .checkmark:after {
	position: absolute;
	top: 6px;
	left: 10px;
	width: 4px;
	height: 8px;
	border: solid #fff;
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
	background: transparent;
}