/* テキストボックス */
input[type="text"],
input[type="email"],
input[type="tel"]{
	width:100%;
	height:50px;
	padding:0 1em;
	background-color:#eee;
	border:1px solid #eee;
	border-radius:100px;
	outline:none;
}
input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus{
  background-color:#fff;
}


/* セレクトボックス */
select{
	width:calc(100% - 2em);
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	height:100px;
	padding:0 40px 0 1em;
	font-size:32px;
	color:#000;
	background:#fff url(select_arrow.png)no-repeat right 10px center;
	background-size:15px auto;
	border:1px solid #989898;
	outline:none;
}

@media screen and (max-width:1080px){
	select{
		height:70px;
		font-size:3vw;
	}
}
@media screen and (max-width:540px){
	select{
		width:calc(100% - 1.8em);
		height:50px;
		padding:0 15px 0 0.5em;
		background-size:10px auto;
		font-size:16px;
	}

}

select::-ms-expand {
    display: none;
}
select option,
select optgroup{
	background:#fff;
}


/* ラジオボタン */
input[type="radio"] {
	opacity:0;
}
input[type="radio"]  + span{
	margin-left:-0.2em;
	padding-left:1.5em;
	display:inline-block;
	vertical-align:middle;
	position: relative;
}
input[type="radio"]  + span:before{
	content: "";
	display:inline-block;
	width:1em;
	height: 1em;
	margin-right:0px;
	background-color: #FFFFFF;
	border: 1px solid #989898;
	border-radius:  50%;
/*	-webkit-box-shadow: inset 3px 3px 8px rgba(0,0,0,0.1);
	box-shadow: inset 3px 3px 8px rgba(0,0,0,0.1);*/
	cursor: pointer;
	outline : none;
	position:absolute;
	top:50%;
	left:0;
	transform:translateY(-50%);
}
input[type="radio"]:checked + span:after {
	content: "";
	display: block;
	width: 0.6em;
	height: 0.6em;
	background: #000;
	position: absolute;
	top: 50%;
	left: 0.2em;
	transform:translateY(-50%);
	border-radius: 50%;
}

@media screen and (max-width:540px){
	input[type="radio"]  + span{
		font-size:16px;
	}
}


/* チェックボックス */
input[type="checkbox"] {
	opacity:0;
}
input[type="checkbox"] + span{
	display:inline-block;
	vertical-align:middle;
	position: relative;
	margin-left:-0.2em;
	padding-left:1.5em;
}
input[type="checkbox"] + span:before{
	content:'';
	display:inline-block;
	width: 1em;
	height: 1em;
	margin-right:0px;
	background-color: #FFFFFF;
/*	-webkit-box-shadow: inset 3px 3px 8px rgba(0,0,0,0.1);
	box-shadow: inset 3px 3px 8px rgba(0,0,0,0.1);*/
	border:1px solid #989898;
	vertical-align: middle;
	border-radius:2px;
	cursor: pointer;
	outline : none;
	position:absolute;
	top:50%;
	left:0;
	transform:translateY(-50%);
}
input[type="checkbox"]:checked + span:after {
	content:'';
	display: block;
	width: 0.5em;
	height: 0.8em;
	border-right:3px solid #f00;
	border-bottom:3px solid #f00;
	position: absolute;
	top: 43%;
	left: 0.25em;
	transform:translateY(-50%) rotate(45deg);
}
@media screen and (max-width:540px){
	input[type="checkbox"]:checked + span:after {
		border-right:2px solid #f00;
		border-bottom:2px solid #f00;
	}
}


/* テキストエリア */
textarea{
  width:100%;
  min-height: 300px;
  font-weight:500;
  padding:0.5em 1em;
  background-color:#eee;
  border:1px solid #eee;
  border-radius:25px;
  vertical-align:bottom;
  outline:none;
}
textarea:focus{
	background-color:#fff !important;
}

@media screen and (max-width:540px){
	textarea{
		min-height: 200px;
	}
}


/* ボタン */
input[type="submit"],
input[type="button"],
button[type="submit"],
button[type="reset"],
button[type="button"]{
	display:inline-block;
	width:15em;
	line-height:3;
	margin:min(5%,50px) 0.2em 0;
	font-weight:bold;
	letter-spacing:0.03em;
	text-indent:0.03em;
	color:#fff;
	border-radius:100px;
	color:#fff;
	cursor:pointer;
	transition : opacity 0.4s;
	-webkit-transition : opacity 0.4s;
}



input[type="submit"]:hover,
input[type="button"]:hover,
button[type="submit"]:hover,
button[type="reset"]:hover,
button[type="button"]:hover{
	opacity:0.7;
}


.confirm input[type="submit"],
.confirm input[type="button"],
.confirm button[type="submit"],
.confirm button[type="button"]{
	width:12em;
	margin-top:9%;
}

@media screen and (max-width:768px){
  .confirm input[type="submit"],
  .confirm input[type="button"],
  .confirm button[type="submit"],
  .confirm button[type="button"]{
    width:7em;
  }
}

/* プレイスホルダー */
input::placeholder,
textarea::placeholder{
  color:#989898;
}
input:-ms-input-placeholder,
textarea::placeholder{
  color:#989898;
}
input::-ms-input-placeholder,
textarea::placeholder{
  color:#989898;
}

/* エラー */
form label.error {
	margin:0 0 0;
	color: red;
	display:block;
	font-weight:bold;
}

/* オートコンプリートによる色変化無効化 */
input:-webkit-autofill,
textarea:-webkit-autofill {
  box-shadow: 0 0 0 1000px #e6f4ff inset;
  transition: background-color 9999s ease-in-out 0s;
}

/* 入力後の色変更 */
input:not(:placeholder-shown),
textarea:not(:placeholder-shown) {
  background-color: #e6f4ff;
  border:1px solid #e6f4ff;
}