input{
  font-family: 'Roboto', 'Noto Sans JP', sans-serif;
  width: 100%;
  border-radius: 5px;
  border: solid 2px #bdbdbd;
  -moz-appearance: none;
  -webkit-appearance: none;
  padding: 17px 15px;
  line-height: 1;
  font-size: 16px;
  background: #fff;
  height: 54px;
}
textarea {
  font-family: 'Roboto', 'Noto Sans JP', sans-serif;
  width: 100%;
  border-radius: 5px;
  border: solid 2px #bdbdbd;
  -moz-appearance: none;
  -webkit-appearance: none;
  padding: 17px 15px;
  line-height: 1.6;
  font-size: 16px;
  background: #fff;
	display: block;
}
input:focus, textarea:focus {
  border: solid 1px #21b8d7;  outline: none;
}
input[type="submit"]{
	cursor: pointer;
	transition: all 0.2s;
}
select {
  font-family: 'Roboto', 'Noto Sans JP', sans-serif;
  width: 100%;
  border-radius: 5px;
  border: solid 2px #bdbdbd;
  -moz-appearance: none;
  -webkit-appearance: none;
  padding:13px 15px;
  font-size: 16px;
  background: #fff;
  background-size: 15px auto, 100%;
  line-height: 1.6;
}
.submitBtn input {
  background: #fd7abb;
  border: none;
  border-bottom: solid 2px #e43a8e;
  color: #fff;
  padding: 15px;
  font-size: 16px;
  font-weight: bold;
}
.selectIco {
  position: relative;
}
.selectIco:before {
  font-family: 'icomoon' !important;
  content: "\e91a";
  color: #d2d2d2;
  position: absolute;
  right: 15px;
  bottom: 50%;
  transform: translateY(50%);
  font-size: 10px;
	pointer-events: none;
}
.checkBox {
  display: flex;
	flex-wrap: wrap;
	position: relative;
}
.checkBox li {
  position: relative;
}
.checkBox input[type="checkbox"] {
  display: none;
}
.checkBox input[type="checkbox"] + label {
  padding-left: 30px;display: block;
	cursor: pointer;
}
.checkBox input[type="checkbox"] + label:before {
  content: "";
  border: solid 2px #bdbdbd;
  position: absolute;
  left: 0;
  top: 0;
  width: 20px;
  height: 20px;
  border-radius: 3px;
}
.checkBox input[type="checkbox"]:checked + label:before {
  background: #21b8d7;
  border: solid 2px #21b8d7;
}
.checkBox input[type="checkbox"]:checked + label:after {
  font-family: 'icomoon' !important;
  content: "\e91f";
  color: #fff;
  position: absolute;
  left: 4px;
  font-size: 12px;
  top:2px;
  ;
}
.switcher {
	position: relative;
  width: 100px;
}
.switcher input[type="checkbox"] {
  display: none;
}
.switcher label {
  display: block;
  box-sizing: border-box;
  height: 36px;
  border: solid 2px #bdbdbd;
  border-radius: 40px;
	overflow: hidden;
	padding: 2px;
	cursor: pointer;
}
.switcher input[type="checkbox"]:checked + label {
  border-color: #bdbdbd;
}
.switcher label span{
	position: relative;
	height: 28px;
	width: 92px;
	display: block;
	transition: all 0.2s;
	z-index: 2;
}
.switcher label span:after {
  content: "OFF";
  color: #bdbdbd;
	position: absolute;
	right: 10px;
	transition: all 0.2s;
}
.switcher input[type="checkbox"]:checked + label{
  border: solid 2px #21b8d7;
}
.switcher input[type="checkbox"]:checked + label span{
	display: block;
  border-radius: 40px;
}
.switcher input[type="checkbox"]:checked + label span:after {
  content: "ON";
  color: #fff;
	right: 50%;
	transform: translateX(50%);
}
.switcher .swImg {
  position: absolute;
  width: 20px;
  height: 20px;
  background: #bdbdbd;
  top: 8px;
  left: 10px;
  border-radius: 26px;
  transition: .2s;
}
.switcher input[type="checkbox"]:checked ~ .swImg {
	left: 4px;
	height: 28px;
	top: 4px;
	width: 92px;
	background: #21b8d7;
}
.sort{
	position: relative;
}
.sort:before{
	content: "並び替え";
	position: absolute;
	left: 15px;
	top: -10px;
	color: #21b8d7;
	font-size: 12px;
}
.sort:after{
  font-family: 'icomoon';
	content: "\e91a";
	position: absolute;
	right: 10px;
	top: 50%;
	transform: translateY(-50%);
	color: #21b8d7;
	font-size: 10px;
	pointer-events: none;
}
.sort select{
	font-weight: bold;
	border: none;
	color: #21b8d7;
}
.sort select option{
	font-weight: bold;
}
.radioBox{
	display: flex;
}
.radioBox li{
	position: relative;
	margin-right: 40px;
}
.radioBox input[type="radio"]{
	display: none;
}
.radioBox input[type="radio"] + label{
	padding-left: 30px;
	cursor: pointer;
}
.radioBox input[type="radio"] + label:before{
	content: "";
	position: absolute;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	border: solid 2px #dbdbdb;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}
.radioBox input[type="radio"]:checked + label:before{
	border: solid 2px #21b8d7;
}
.radioBox input[type="radio"]:checked + label:after{
	content: "";
	position: absolute;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #21b8d7;
	left: 6px;
	top: 50%;
	transform: translateY(-50%);
}
.addBtn{
	position: relative;
}
.addBtn:before{
  font-family: 'icomoon' !important;
  content: "\e900";
	position: absolute;
	left: 20px;
	top: 50%;
	transform: translateY(-50%);
	color: #fff;
}
.addBtn input{
	background: #21b8d7;
	border: none;
	color: #fff;
}
.stepBtn{
	position: relative;
}
.stepBtn:before{
  font-family: 'icomoon' !important;
  content: "\e902";
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
}
.stepBtn input{
	background: #fdd000;
	border: none;
	font-weight: bold;
	padding: 20px 30px;
	height: auto;
	font-size: 18px;
}
.stepBtn input:hover{
	background: #000;
	color: #fff;
}
.stepBtn:hover:before{
	color: #fff;
}
.backBtn{
	position: relative;
}
.backBtn:before{
  font-family: 'icomoon' !important;
  content: "\e902";
	position: absolute;
	left: 20px;
	top: 50%;
	transform: translateY(-50%) rotate(180deg);
}
.backBtn input{
	background: #ddd;
	border: none;
	font-weight: bold;
	padding: 20px 30px;
	height: auto;
	font-size: 18px;
}
.photoUpLoad{
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}
.photoUpLoad img{
	height: 90px;
	width: auto;
	border-radius: 5px;
}
.photoUpLoad div{
	position: relative;
}
.photoUpLoad div .delete{
	background: #000;
	position: absolute;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	right: 4px;
	top: -6px;
	cursor: pointer;
}
.photoUpLoad div .delete:before{
  font-family: 'icomoon' !important;
  content: "\e907";
	color: #fff;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	font-size: 14px;
	pointer-events: none;
}
.photoUpLoad ul{
	width: 100%;
	margin-left: 10px;
}
.photoUpLoad ul li{
	font-size: 12px;
}
.photoUpLoad ul li:before{
	content: "・";
}
.photoUpLoad input{
	display: none;
}
.photoUpLoad input + label{
	border: solid 2px #bdbdbd;
	border-radius: 5px;
	width: 80px;
	height: 80px;
	display: block;
	position: relative;
}
.photoUpLoad input + label:before{
  font-family: 'icomoon' !important;
  content: "\e905";
	font-size: 30px;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	color: #bdbdbd;
}
.baseBtn{
	background: #21b8d7;
	border: none;
	color: #fff;
	font-weight: bold;
	cursor: pointer;
	transition: all 0.2s;
}
.dependent .selectIco{
	width: 100px;
	display: inline-block;
	margin-right: 10px;
}
@media screen and (min-width: 1025px) {
.photoUpLoad img{
	height: 140px;
	width: auto;
	margin-right: 20px;
}
.photoUpLoad ul{
	width: auto;
	padding-left: 20px;
}
.photoUpLoad ul li{
	margin-bottom: 5px;
	font-size: 14px;
}
.photoUpLoad input + label{
	width: 140px;
	height: 140px;
}
.photoUpLoad input + label:before{
	font-size: 45px;
}
	.baseBtn:hover{
		background: #000;
	}
.sort select{
	font-weight: bold;
	border: none;
	border-bottom: dotted 2px #21b8d7;
	background: none;
}
	.formWdHalf{
		width: 70%;
	}
}