@charset "UTF-8";

/*=======================================
フォーム要素CSS
=======================================*/

/*　セレクトボックス　*/
.select-wrap {
	position: relative;
	height: 3.5em;
	margin: 20px 0;
	display: inline-block;
}
.select-wrap::before {	/*矢印の枠*/
	content: "";
	position: absolute;
	z-index: 1;
	top: 0;
	right: 0;
	width: 30px;
	height: 100%;
	background: #046;
	border-radius: 0 5px 5px 0;
	pointer-events: none;
}
.select-wrap::after {	/*矢印*/
	content: "";
	position: absolute;
	z-index: 2;
	top: 50%;
	right: 11px;
	width: 6px;
	height: 6px;
	margin-top: -6px;
	border-right: solid 1px #fff;
	border-bottom: solid 1px #fff;
	pointer-events: none;
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
select {
	width: 270px;
	height: 3.5em;
	margin: 0 0 20px 0;
	padding: 0 3em 0 0.7em;
	background: #fff;
	border: 1px solid #046;
	border-radius: 5px;
	font-size: 1em;
	cursor: pointer;
	/*デフォルトの装飾リセット*/
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
select::-ms-expand {
	display: none;	/*IE10以降でデフォルト矢印を非表示*/
}
@media screen and (max-width: 640px) {
	select { font-size: 1.053em; }	/*body文字サイズ0.95×1.053倍 ≧ 1em*/
	.select-wrap { height: 3.686em; }	/*select高さ3.5em×1.053倍*/
}

/*　チェックボックス、ラジオボタン　*/
.check-wrap, .radio-wrap {
	padding: 15px 0;
	display: block;
}
.check-wrap input, 	/*初期のチェックボックス*/
.radio-wrap input {	/*初期のラジオボタン*/
	display: none;
}
.check-wrap label, 
.radio-wrap label {
	position: relative;
	width: 100%;
	margin: 5px 0;
	padding: 1em 20px 1.1em 55px;
	background: #f2f2f2;
	line-height: 1.3;
	cursor: pointer;
	box-sizing: border-box;
	display: inline-block;
}
.check-wrap label::after, 
.check-wrap label::before, 
.radio-wrap label::after, 
.radio-wrap label::before {
	content: "";
	position: absolute;
	box-sizing: border-box;
}
.check-wrap label::before, 	/*チェックボックスの□枠*/
.radio-wrap label::before {	/*ラジオボタンの○枠*/
	top: 50%;
	left: 20px;
	width: 20px;
	height: 20px;
	border: 1px solid #999;
	background: #fff;
	-webkit-transform: translate(0, -10px);
	transform: translate(0, -10px);
}
.radio-wrap label::before {
	border-radius: 20px;
}
.check-wrap label::after, 	/*チェックボックスのレ印*/
.radio-wrap label::after {	/*ラジオボタンの●印*/
	visibility: hidden;
	opacity: 0;
	-ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);	/*IE*/
	-webkit-transition: 0.5s;
	transition: 0.5s;
}
.check-wrap label::after {	/*レ印*/
	top: 50%;
	left: 18px;
	width: 8px;
	height: 14px;
	border-right: 2px solid #222;
	border-bottom: 2px solid #222;
	-webkit-transform: rotate(45deg) translate(0, -12px);
	transform: rotate(45deg) translate(0, -12px);
}
.radio-wrap label::after {	/*●印*/
	top: 50%;
	left: 24px;
	width: 12px;
	height: 12px;
	border-radius: 12px;
	background: #222;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.check-wrap input:checked+label, 	/*クリックしたらレ印を表示*/
.radio-wrap input:checked+label {	/*クリックしたら●印を表示*/
	background: #cee;
}
.check-wrap input:checked+label::after, 
.radio-wrap input:checked+label::after {
	visibility: visible;
	opacity: 1;
	-ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);	/*IE*/
}
@media screen and (max-width: 800px) {
	.check-wrap label, 
	.radio-wrap label {
		padding-left: 40px;
		padding-right: 10px;
	}
	.check-wrap label::before, 
	.radio-wrap label::before {
		left: 12px;
	}
	.check-wrap label::after {
		left: 10px;
	}
	.radio-wrap label::after {
		left: 16px;
	}
}
