@charset "utf-8";

@media screen and (min-width:768px) {
	#form01,#form02{
		max-width:80%;
	}
}
@media screen and (max-width:765px) {
	#form01,#form02{
		max-width:90%;
	}
}
#form01,#form02{
	max-width: 600px;
	margin:0 auto;
	margin:0 auto 0 25%;		/* ◆ */
	margin:0 auto 0 auto;		/* ◆ */
}

#form03{
	max-width:300px;
	margin:40px auto 30px;
	background-color:#fff;
	padding:15px;
	-webkit-box-shadow: #ccc 0px 0px 2px;
	-moz-box-shadow: #ccc 0px 0px 2px;
	box-shadow: #ccc 0px 0px 2px;
}

#form03 input{
	width:100%;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

/* デフォルトのスタイルを削除
*****************************************/
input,
/* button,*/
textarea,
select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	margin-top: 1em;
}
label {
	margin-top: 1em;
}
label.second_form {
	margin-top: 0;
}

/* フォーカスした時の幅を変更
*****************************************/
input[type="text"].focus {
	-webkit-transition: all .3s;
	-moz-transition: all .3s;
	transition: all .3s;
	/* width: 200px; */
}
input[type="text"].focus:focus {
	/* width: 300px; */
}
input[type="file"].focus {
	-webkit-transition: all .3s;
	-moz-transition: all .3s;
	transition: all .3s;
	width: 200px;
}
input[type="file"].focus:focus {
	width: 300px;
}

/* テキストインプットとテキストエリアの基本装飾
*****************************************/
input[type="text"],
input[type="file"],
input[type="password"],
select,
.formStyle textarea {
	padding: 0.8em;
	
	border: 1px solid #DDD;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;

	font-size: 16px;
	width: calc(100% - 1.6em);
}

input[type="text"],
input[type="file"],
input[type="password"]{
	
}

/* フォーカスした時のスタイルを変更
*****************************************/
input[type="text"]:focus,
input[type="file"]:focus,
input[type="password"]:focus,
textarea:focus {
	box-shadow: 0 0 7px #3498db;
	border: 1px solid #3498db;
}

/* disabled時のスタイルを変更
*****************************************/
input[type="text"]:disabled {
	background-color: #eee;
	cursor: not-allowed;
}

/* ラジオボタンのスタイルを変更
*****************************************/
input[type="radio"] {
	display: none;
}
input[type="radio"] + label {
	position: relative;
	display: inline-block;
	padding: 3px 10px 3px 24px;
	cursor: pointer;
}
input[type="radio"] + label::before,
input[type="radio"] + label::after {
	content: '';
	top: 50%;
	position: absolute;
	border-radius: 100%;
	-webkit-transition: all .2s;
  -moz-transition: all .2s;
	transition: all .2s;
}
input[type="radio"] + label::before {
	width: 16px;
	height: 16px;
	margin-top: -9px;
	left: 0;
	background: #EEE;
	border: 1px solid #ccc;
}
input[type="radio"] + label:hover::before {
	background: #FEFEFE;
}
input[type="radio"] + label::after {
	opacity: 0;
	left: 4px;
	left: 3.15px;
	width: 10px;
	height: 10px;
	margin-top: -6px;
	background: #2980b9;		/* Blue */
	background: #A4946C; 		/* Gold01 */
	-webkit-transform: scale(0.5);
	-moz-transform: scale(0.5);
	transform: scale(0.5);
}
input[type="radio"]:checked + label::before {
	background: #fff;
	border: 1px solid #2980b9;	/* Blue */
	border: 1px solid #A4946C; 	/* Gold01 */
}
input[type="radio"]:checked + label::after {
	opacity: 1;
	-webkit-transform: scale(1);
	-moz-transform: scale(1);
	transform: scale(1);
}


/* チェックボックスのスタイルを変更
*****************************************/
input[type="checkbox"] {
	display: none;
}
input[type="checkbox"] + label {
	position: relative;
	display: inline-block;
	padding: 3px 10px 3px 22px;
	cursor: pointer;
	-webkit-transition: all .2s;
	transition: all .2s;
}
input[type="checkbox"] + label::before,
input[type="checkbox"] + label::after {
	position: absolute;
	content: '';
}
input[type="checkbox"] + label::before {
	top: 50%;
	left: 0;
	width: 14px;
	height: 14px;
	margin-top: -8px;
	background: #f4f4f4;
	border: 1px solid #ccc;
	border-radius: 3px;
}
input[type="checkbox"] + label::after {
	opacity: 0;
	top: 50%;
	left: 3px;
	width: 8px;
	height: 4px;
	margin-top: -4px;
	border-left: 2px solid #3498db;		/* Blue02 */
	border-bottom: 2px solid #3498db;
	border-left: 2px solid #A4946C; 		/* Gold01 */
	border-bottom: 2px solid #A4946C;
	-webkit-transform: rotate(-45deg) scale(.5);
	transform: rotate(-45deg) scale(.5);
}
input[type="checkbox"] + label:hover::before {
	background: #fff;
}
input[type="checkbox"]:checked + label::before {
	background: #fff;
	border: 1px solid #3498db;
	border: 1px solid #A4946C; 			/* Gold01 */
}
input[type="checkbox"]:checked + label::after {
	opacity: 1;
	-webkit-transform: rotate(-45deg) scale(1);
	transform: rotate(-45deg) scale(1);
}

/* ボタンのスタイルを変更
*****************************************/
/*
button {
	border-radius: 0;
	
	background: -moz-linear-gradient(top, #FFF 0%, #EEE);
	background: -webkit-gradient(linear, left top, left bottom, from(#FFF), to(#EEE));
	border: 1px solid #DDD;
	color: #111;
	padding: 10px 30px;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
}
button:hover {
	background: -moz-linear-gradient(top, #EFEFEF 0%, #EEE);
	background: -webkit-gradient(linear, left top, left bottom, from(#EFEFEF), to(#EEE));
}
*/

/* エラー
*****************************************/
.errorTxt{
	display:none;
	margin:5px 0 0;
	color: #c0392b;
}

.errorTxt.error{
	display:block;
}


.errorTxt:before{
	content:"\f071";
	margin:0 3px 0 0;
	font-family:FontAwesome;	
}
.error[type=text],.error[type=password],.formStyle textarea.error{
	border-color:#c0392b;
}
.success[type=password]{
	border-color:#5CB85C;
}

input.error[type="text"]:focus,
input.error[type="password"]:focus,
textarea.error:focus {
	box-shadow: 0 0 7px #c0392b;
	border-color:#c0392b;
}

input.success[type="password"]:focus{
	box-shadow: 0 0 7px #5CB85C;
	border-color:#5CB85C;
}

.error input[type="radio"] + label::before,
.error input[type="checkbox"] + label::before{
	border-color:#c0392b;
}

/* ツールチップ */
.labelWrap{
	position:relative;
	display:block;
}

#form02 .errorTxt{
	position:absolute;
	top: -2.6em;
    left: 0;
    padding: 0.4em 0.7em 0.45em;
    border-radius: 0.2em;
    background-color: #c0392b;
    color: #fff;
}

#form02 .errorTxt:after{
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -6px;
    border: 6px solid transparent;
    border-top-color: #c0392b;
}



@media only screen and (max-width: 768px) {

	input[type="text"],
	.formStyle textarea {
		width:94%;
		padding:3%;
	}
	/*
	input[type="text"].focus {
		width: 50%;
	}
	input[type="text"].focus:focus {
		width: 94%;
	}
	*/
/*	button{
		width:100%;
		padding: 10px 0;
	}						☆　*/
	

	#form02 .errorTxt{
		position: relative;
		top:auto;
		left:auto;
		margin-top:6px;
	}
		
	#form02 .errorTxt:after{
		bottom: 100%;
		top:auto;
		border-top-color: transparent;
		border-bottom-color: #c0392b;
	}
	
}