.custom-form{
    line-height:20px;
    margin : 10px auto;
    padding:0 10px;
    max-width: 480px;
}

.custom-form form > label{
-webkit-tap-highlight-color:rgba(0,0,0,0);
font-size:1em;
-webkit-box-sizing:border-box;
box-sizing:border-box;
}
.custom-form form > span{
font-size:0.8em;
}

.custom-form form{
	margin:10px;
}

.custom-form label.necessary:after, .custom-form label.optional:after{
content:"";
display:inline-block;
-webkit-box-sizing:border-box;
box-sizing:border-box;
padding:0 6px;
height:18px;
font-size:12px;
color:#FFF;
font-weight:400;
border-radius:2px;
margin:0 5px;
}

.custom-form label.necessary:after{
content:"\5FC5\9808";
background:#e83f20;
}
.custom-form label.optional:after{
content:"任意";
background:#2065E8;
}

.custom-form input,
.custom-form select,
.custom-form textarea{
border:0;
padding:7px 5px;
font-size:1.2em;
color: #666;
border:solid 1px #ccc;
margin:5px 0 15px;
width:100%;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
-moz-box-shadow: inset 1px 4px 9px -6px rgba(0,0,0,0.5);
-webkit-box-shadow: inset 1px 4px 9px -6px rgba(0, 0, 0, 0.5);
box-shadow: inset 1px 4px 9px -6px rgba(0,0,0,0.5);
-webkit-box-sizing:border-box;
box-sizing:border-box;
}
.custom-form input[type="radio"],
.custom-form input[type="checkbox"] {
  width:auto;
  margin:10px 0;
}


.custom-form input:focus,
.custom-form textarea:focus{
    outline:none;
    border:solid 1px #b46a8e;
}

.custom-form select{
    -webkit-appearance: button;
    -moz-appearance: button;
    appearance: button;
    padding:7px 50px 7px 5px;
    border: none;
    cursor: pointer;
	background:url(/image/edit/select_arrow.sp.480.png) no-repeat right center #fff;
}

.custom-form .radio{
	margin:10px 0;
	list-style:none;
}

.custom-form .radio li{
	float:left;
	position:relative;
	width:50%;
}

.custom-form .radio li input{
	opacity:0;
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background:#ccc;
}

.custom-form .radio li input + label{
	display:block;
	background:#ccc;
	padding:10px 0;
	color:#666;
	text-align:center;
	-webkit-transition-property:background, color;
	-webkit-transition-duration:250ms;
	-webkit-transition-timing-function:linear;
}

/*-- フォーカスされたら色を変える --*/
.custom-form .radio li input:focus + label {
 	background:#ff0 !important;
 	color:#000;
 }


.custom-form .radio:after{
	display:block;
	content:"";
	clear:both;
}

.custom-form .radio li:first-child input + label{
	border-radius:4px 0 0 4px;
}

.custom-form .radio li:last-child input + label{
	border-radius:0 4px 4px 0;
}

.custom-form .radio li:first-child input:checked + label{
	background:#FF5353;
    color:#fff;
}

.custom-form .radio li:last-child input:checked + label{
	background:#3A68CA;
    color:#fff;
}

.custom-form .checkbox li{
	display:table;
	table-layout:fixed;
	width:100%;
	height:45px;
	border-bottom:1px solid #ccc;
}

.custom-form .checkbox li .inner{
	display:table-cell;
	vertical-align:middle;
}

.custom-form .checkbox li .inner:first-child{
	width:40px;
	text-align:center;
}


.custom-form .checkbox li .inner label{
	display:block;
	font-size:1.1em;
}
.custom-form input[type="checkbox"]{
/*	display:block; */
	width:25px;
	height:25px;
	margin:5px;
}
.custom-form .form-textInfo{
	margin:10px 0;
}

.custom-form .submit{
	width:75%;
	margin:0 auto;
}

.custom-form .submit input{
	border:#a9a9a9 1px solid;
   -moz-box-shadow: inset 0 0 5px rgba(0,0,0,0.2),0 0 2px rgba(0,0,0,0.3);
   -webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2),0 0 2px rgba(0,0,0,0.3);
   box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2),0 0 2px rgba(0,0,0,0.3);
   border-radius: 5px;
   -moz-border-radius: 5px;
   -webkit-border-radius: 5px;
   -ms-border-radius: 5px;
   width:100%;
   height:30px;
   padding:0;
   margin:5px auto;
   text-align:center;
   cursor:pointer;
   color:#666;
   font-weight:bold;
   background:#fff;
}

/* ■■■■ 確認画面デザイン ■■■■ */

.confirmation-form{
	table-layout: fixed;
	margin:15px auto;
	empty-cells: hide;
	width: 95%;
	max-width:480px;
}

.confirmation-form tbody{
	border:1px solid #D4D4D4;
}

.confirmation-form tr{
	height:40px;
	width:100%;
	border-bottom:1px solid #D4D4D4;
}

.confirmation-form td{
vertical-align:middle;
text-align: center;
background: #E73E13;
padding:0 5px;
}

.confirmation-form td:nth-child(odd){
	width:40%;
	color:#fff;
}

.confirmation-form td:nth-child(even){
	width:60%;
	background:none;
	color:inherit;
}
/* -- form css 2016 -- */
button,
input,
optgroup,
select,
textarea {
/*  color: inherit; */
  font: inherit;
  margin: 0;
}

button {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

button,
html input[type="button"], input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  cursor: pointer;
}

button[disabled],
html input[disabled] {
  cursor: default;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

input {
  line-height: normal;
}

input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  padding: 0;
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

input[type="search"] {
  -webkit-appearance: textfield;
  box-sizing: content-box;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

legend {
  border: 0;
  padding: 0;
}

textarea {
  overflow: auto;
}
input[type="search"] {
  box-sizing: border-box;
}

input[type="radio"],
input[type="checkbox"] {
  margin: 4px 0 0;
  margin-top: 1px \9;
  line-height: 1.4;
}

input[type="file"] {
  display: block;
}

input[type="range"] {
  display: block;
  width: 100%;
}

select[multiple],
select[size] {
  height: auto;
}

input[type="file"]:focus,
input[type="radio"]:focus,
input[type="checkbox"]:focus {
  outline: thin dotted;
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
