@charset "utf-8";
/* Form
-----------------------------------------------------------------------------------------------------------*/
.formfield {
	margin: 5px 0;
}

.label-box {
	margin: 0;
	font-size:12px;
	padding: 5px;
	border: solid #555;
	border-width: 1px 0;
	-webkit-background-clip: padding-box;
	background: #666666;
	color: #ffffff;
	font-weight: normal;
	text-shadow: 0 -1px 0px rgba(0,0,0,0.3);
	background-image: -moz-linear-gradient(top, #888, #555);
	background-image: -webkit-gradient(linear, left top, left bottom, from(#888), to(#555));
	white-space: nowrap;
	text-overflow: ellipsis;
	-webkit-text-overflow: ellipsis;
	overflow: hidden;
}

.label-box.fieldWithErrors {
	border: solid #A70000;
	border-width: 1px 0;
	-webkit-background-clip: padding-box;
	background-image: -webkit-linear-gradient(top, #DD6464, #A70000) !important;
	background-image: -webkit-gradient(linear, left top, left bottom, from(#DD6464), to(#A70000)) !important;
}

.pref-button {
	width: 33.333%;
	font-weight: bold;
	font-size: 12px !important;
	white-space: nowrap;
	text-overflow: ellipsis;
	-webkit-text-overflow: ellipsis;
	padding: 8px 10px !important;
}

.content p.fieldWithErrors {
	font-size: 12px !important;
	padding: 5px 6px 0 !important;
	margin: 0 !important;
	color: #f00;
	font-weight: bold;
}

.error-message {
	background: #FCC;
	color: #c00;
	padding: 1em;
	text-align: center;
	font-weight: bold;
	margin: 5px 2px;
	-webkit-border-radius: 4px;
	font-size: 12px;
}

	

/* Input
-----------------------------------------------------------------------------------------------------------*/
.custom-input {
	display: block;
	width: auto;/* ここがポイントか？ */
	border: solid 1px #ccc;
	-webkit-background-clip: padding-box;
	font-size: 14px !important;
	padding: 6px 5px;
	margin: 0 2px;
	-webkit-border-radius: 4px;
	background-image: -moz-linear-gradient(top, #eaeaea 0%, #f2f2f2 50%, #fefefe 100%);
	background-image: -webkit-gradient(linear, left top, left bottom, from(#eaeaea), color-stop(0.5, #f2f2f2), to(#fefefe));
	-webkit-box-shadow: 0px 0px 1px 0px #fff, inset 0 1px 1px 0 rgba(0,0,0,0.25) !important;
}

	.custom-input.fieldWithErrors {
		background-image: -moz-linear-gradient(top, #EAAFAF, #FBE3E3);
		background-image: -webkit-gradient(linear, left top, left bottom, from(#EAAFAF), to(#FBE3E3));
	}
	
	.custom-select.fieldWithErrors select,
	.custom-radio.fieldWithErrors li label,
	.custom-checkbox.fieldWithErrors li label {
		background-image: -moz-linear-gradient(bottom, #EAAFAF, #FBE3E3);
		background-image: -webkit-gradient(linear, left top, left bottom, from(#EAAFAF), to(#FBE3E3));
	}
		
/* Select
-----------------------------------------------------------------------------------------------------------*/
.custom-select {
	position: relative;
	display: block;
	margin: 0 2px;
}

    .custom-select select {
			border: none;
			display: block;
			width: 100%;
			padding: 6px 5px;
			margin: 0;
			font-size: 14px !important;
			border: solid 1px #ccc;
			-webkit-background-clip: padding-box;
			-webkit-appearance:none;
			-webkit-border-radius: 4px;
			background-image: -moz-linear-gradient(top, #fefefe 0%, #f2f2f2 50%, #eaeaea 100%);
			background-image: -webkit-gradient(linear, left top, left bottom, from(#fefefe), color-stop(0.5, #f2f2f2), to(#eaeaea));
			-webkit-box-shadow: 0px 0px 1px 0px #fff, inset 0 -1px 1px 0 rgba(0,0,0,0.25) !important;
    }
	
	.custom-select select:disabled {
		color: #aaa;
		background-image: -moz-linear-gradient(top, #D8D8D8 0%, #B9B9B9 100%);
		background-image: -webkit-gradient(linear, left top, left bottom, from(#D8D8D8), to(#B9B9B9));
		-webkit-box-shadow: 0px 0px 1px 0px #fff, inset 0 -1px 1px 0 rgba(0,0,0,0.25) !important;
	}

.custom-select select:focus {
	/*
		background: #FFBA53;
		color: #F60 !important;
		background-image: -moz-linear-gradient(top, #FFBA53, #FFF9E0);
		background-image: -webkit-gradient(linear, left top, left bottom, from(#FFBA53), to(#FFF9E0));
		-webkit-box-shadow: 0 0 3px 1px #c00;
		-moz-box-shadow: 0 0 3px 1px #c00;
		box-shadow: 0 0 3px 1px #c00;
	*/
}
    
    /* Select arrow styling */
    .custom-select:after {
			content: "";
			position: absolute;
			right: 8px;
			top: 50%;
			display: block;
			width: 6px;
			height:6px;
			margin-top: -6px;
			border-top: solid 3px #1683FF;
			border-right: solid 3px #1683FF;
			-webkit-transform: rotate(135deg);
			pointer-events:none;
    }
		
		.custom-select.disabled:after {
			border-color: #aaa;
		}
		
		.custom-select option {
			font-size: 14px !important;
			white-space: nowrap;
			text-overflow: ellipsis;
			-webkit-text-overflow: ellipsis;
		}


/* Radio
-----------------------------------------------------------------------------------------------------------*/
.custom-radio {
	margin-left: 2px;
	margin-right: 2px;
}

.custom-radio li {
	position: relative;
	list-style: none;
}

.custom-radio li label {
	display: block;
	padding: 10px 0;
	border: solid #ccc;
	border-width: 1px 1px 1px 0px;
	-webkit-background-clip: padding-box;
	background-image: -webkit-linear-gradient(top, #fefefe 0%, #f2f2f2 50%, #eaeaea 100%);
	background-image: -webkit-gradient(linear, left top, left bottom, from(#fefefe), color-stop(0.5, #f2f2f2), to(#eaeaea));
	-webkit-box-shadow: 0px 0px 1px 0px #fff, inset 0 -1px 1px 0 rgba(0,0,0,0.25) !important;
	text-align: center;
}

.custom-radio li:first-child label {
	border-width: 1px;
	-webkit-border-radius: 6px 0 0 6px;
	-webkit-background-clip: padding-box;
}

.custom-radio li:last-child label {
	border: solid #ccc;
	border-width: 1px 1px 1px 0px;
	-webkit-border-radius: 0px 6px 6px 0;
	-webkit-background-clip: padding-box;
}

.custom-radio input[type="radio"]:checked + label {
	-webkit-background-clip: padding-box;
	background-image: -webkit-linear-gradient(bottom, #66AEFF, #1683FF);
	background-image: -webkit-gradient(linear, left top, left bottom, from(#66AEFF), to(#1683FF));
	-webkit-box-shadow: 0px 0px 1px 0px #fff, inset 0 1px 1px 0 rgba(0,0,0,0.25) !important;
	color: #fff;
	border-color: #1683FF;
}

.custom-radio input[type="radio"] {
	opacity : 0;
	position: absolute;
	top: -3px;
	left: -3px;
	width: 100%;
	height: 100%;
	padding: 0;
}

/* Checkbox
-----------------------------------------------------------------------------------------------------------*/
.custom-checkbox {
	margin-left: 2px;
	margin-right: 2px;
}

.custom-checkbox li {
	position: relative;
	list-style: none;
}


.custom-checkbox.fake-button {
	letter-spacing:-0.4em;
}

.custom-checkbox.fake-button li {
	letter-spacing:normal;
	position: relative;
	list-style: none;
	display: inline-block;
	margin: 0 2px;
}



.custom-checkbox li label {
	display: block;
	padding: 10px 0;
	border: solid #ccc;
	border-width: 1px 1px 0;
	-webkit-background-clip: padding-box;
	background-image: -moz-linear-gradient(top, #fefefe 0%, #f2f2f2 50%, #eaeaea 100%);
	background-image: -webkit-gradient(linear, left top, left bottom, from(#fefefe), color-stop(0.5, #f2f2f2), to(#eaeaea));
	text-align: center;
}

.custom-checkbox li:first-child label {
	-webkit-background-clip: padding-box;
	-webkit-border-radius: 6px 6px 0 0;
}

.custom-checkbox li:last-child label {
	border: solid #ccc;
	border-width: 1px;
	-webkit-background-clip: padding-box;
	-webkit-border-radius: 0 0 6px 6px;
}

	.custom-checkbox.fake-button li label {
		display: inline-block !important;
		-webkit-border-radius: 4px !important;
		border-width: 1px;
		padding: 10px 20px;
	}

.custom-checkbox li label:before {
	position: absolute;
	content: "";
	display: block;
	width: 18px;
	height: 18px;
	background-image: -moz-linear-gradient(top, #eaeaea 0%, #f2f2f2 50%, #fefefe 100%);
	background-image: -webkit-gradient(linear, left top, left bottom, from(#eaeaea), color-stop(0.5, #fefefe), to(#fff));
	left: 13px;
	margin-top: -1px;
	-webkit-border-radius: 2px;
	-webkit-box-shadow: 0px 0px 1px 0px #fff, inset 0 1px 1px 0 rgba(0,0,0,0.25) !important;
}

	.custom-checkbox.fake-button li label:before,
	.custom-checkbox.fake-button input[type="checkbox"]:checked + label:after {
		display: none;
	}


.custom-checkbox input[type="checkbox"]:checked + label:before {
	background: #1683FF;	
}

.custom-checkbox input[type="checkbox"]:checked + label:after {
	position: absolute;
	content: "";
	display: block;
	top: 11px;
	left: 18px;
	width:5px; 
	height:9px; 
	border-width:0 3px 3px 0;
	border-style:solid;
	border-color:#fff;
	-webkit-transform:rotate(45deg);
	-moz-transform:rotate(45deg);
	-o-transform:rotate(45deg);
	transform:rotate(45deg);
}


.custom-checkbox.fake-button input[type="checkbox"]:checked + label {
	background-image: -webkit-linear-gradient(bottom, #66AEFF, #1683FF);
	background-image: -webkit-gradient(linear, left top, left bottom, from(#66AEFF), to(#1683FF));
	-webkit-box-shadow: 0px 0px 1px 0px #fff, inset 0 0 1px 0 rgba(0,0,0,0.25) !important;
	color: #fff;
	border-color: #1683FF;
}

.custom-checkbox input[type="checkbox"] {
	opacity : 0;
	position: absolute;
	top: -3px;
	left: -3px;
	width: 100%;
	height: 100%;
	padding: 0;
}

.custom-checkbox.fake-button input[type="checkbox"] {
	opacity : 0;
	position: absolute;
	top: -3px;
	left: -3px;
	width: 100%;
	height: 100%;
	padding: 0;
}

input.button-block {
	width: 100%;
	display: block;
	margin: 0 !important;
	font-size: 16px;
}

