@charset "UTF-8";
@import url(cmn.css);
@import url(base.css);

/*--------------------------------
layout
--------------------------------*/
#form{
    position:relative;
}
form  dl{
	width:100%;
	display:table;
	border-top:1px solid var(--border);
	position: relative;
}

form dl:last-of-type,
form dl.dl-end{
	border-bottom:1px solid var(--border);
}
form dt{
	width:30%;
	display:table-cell;
	background-color:var(--light);
	padding:15px;
	box-sizing: border-box;
	text-align:center;
	vertical-align: top;
	border-top:1px solid var(--white);
	border-bottom:1px solid var(--white);
}
form  dd{
    width:auto;
    display:table-cell;
    padding:15px;
    box-sizing: border-box;
    vertical-align: top;
    background-color:var(--white);
    border-top:1px solid var(--white);
    border-bottom:1px solid var(--white);
    text-align: left;
}
form dl.wide,
form dl.wide dt,
form dl.wide dd{
    display:block;
    width:100%;
}
form dl.wide dt{
    text-align: left;
}
form  #formbtn{
	padding-top:calc(var(--spacer)*3);
	text-align:center;
}
#formbtn input[type=submit],
#formbtn input[type=button],
#formbtn input[type=reset]{
	margin-top:calc(var(--spacer)*1);
}
.selectwrap{
    width: 100%;
    position: relative;
    display: inline-block;
}
.selectwrap::after {
  content: '';
  width: 6px;
  height: 6px;
  border: 0px;
  border-bottom: solid 2px var(--gray);
  border-right: solid 2px var(--gray);
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 10px;
  margin-top: -4px;
}
.select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 100%;
  background: transparent;
  position: relative;
  z-index: 1;
  padding: 10px 40px 10px 10px;

}
select::-ms-expand {
    display: none;
}

.error_messe{
    color:var(--warning);
}

.namearea{
	display: flex;
	justify-content: space-between;
	& div{
		width:48%;
		display: flex;
		margin-bottom:10px;
        align-items: center;
		& p{
			width:5rem;
			white-space: nowrap;
			text-align: center;
		}
		& input{
			width:95%!important;
		}
	}
}
.hidden{
    opacity: 0%;
}
@media screen and (max-width: 768px){
    form  dl{
	width:100%;
	display:block;
    border-top:none;
    }
    form dt{
    width:100%;
    display:block;
    padding:5px 15px;
    text-align:left;
    vertical-align: top;
    border-top:none;
    border-bottom:none;
    font-weight: 500;
    }
    form  dd{
    width:100%;
    display:block;
    padding:10px 0 15px;
    border-top:none;
    border-bottom:none;
    }
	.namearea{
		& div{
			& p{
				width:10vw;
			}

		}
	}
}
@media screen and (max-width: 390px){
	.namearea{
		flex-direction: column;
		& div{
			width:100%!important;
			margin-bottom:10px;
			& p{
				width:5rem;
				white-space: nowrap;
				text-align: center;
			}
		}
	}
}
/*--------------------------------
form setting
--------------------------------*/
* {
-webkit-appearance: none;
}
input,
form textarea,
form select{
	display: inline-block;
	border: 1px solid var(--border);
	padding: 8px;
    font-size:100%;
	font-family: var(--font-family);
    border-radius: 4px;
}
form textarea,
form input[type=text]{
	width: 100%;
}

form input[type=text].zip{
	width: 10%!important;
	margin-bottom:10px;
}
form input[type=text].pref{
	width: 30%!important;
	margin-bottom:10px;
}
form input[type=text].add{
	width: calc(70% - 5px);
	/*margin-left:5px;*/
	margin-bottom:10px;
}
form input[type=text].address{
	margin-bottom:10px;
}
form .other input[type=text]{
	width: calc(50% - 5px);
	margin-left:5px;
}
#form form select option{
	padding: 5px;
	border: none;
}
form input[type=radio],
form input[type=checkbox]{
	display: inline-block;
	border: 1px solid var(--border);
	padding: 5px;
}
form input[type=radio] + label,
form input[type=checkbox] + label{
	position: relative;
	display: inline-block;
	cursor: pointer;
	margin:5px 5px 5px 0;
}
form input[type=file]{
	border: none;
}

@media (min-width: 1px){
	form input[type=radio],form input[type=checkbox]{
		display: none;
		margin: 0;
	}
	form input[type=radio] + label,form input[type=checkbox] + label{
		padding: 0 0 0 30px;
	}
		form input[type=radio] + label::before,form input[type=checkbox] + label::before{
		content: "";
		position: absolute;
		top: 50%;
		left: 0;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
		display: block;
		width: 20px;
		height: 20px;
		margin-top: -10px;
		background: #fff;
	}
	form input[type=radio] + label::before{
		border: 1px solid var(--border);
		border-radius: 20px;
	}
	form input[type=checkbox] + label::before{
		border: 1px solid var(--border);
		border-radius: 4px;
	}
	form input[type=radio]:checked + label::after, form input[type=checkbox]:checked + label::after{
		content: "";
		position: absolute;
		top: 50%;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
		display: block;
	}
	form input[type=radio]:checked + label::after{
		left: 4px;
		width: 12px;
		height: 12px;
		margin-top: -6px;
		background: var(--primary);
		border-radius: 6px;
	}
	form input[type=checkbox]:checked + label::after{
		left: 4px;
		display: block;
		content: '';
		width: 12px;
		height: 8px;
		margin-top: -5px;
		border-top: 3px solid var(--primary);
		border-right: 3px solid var(--primary);
		-webkit-transform: rotate(120deg);
		transform: rotate(120deg);
	}
}


@media screen and (max-width: 768px){
	form input[type=text].zip{
		width: 30%!important;
	}
    form .other input[type=text]{
	width: 100%;
	margin-left:0;
	margin-bottom:0px;
    }
    form input[type=radio] + label,form input[type=checkbox] + label{
		display: block;
	}
}
@media screen and (max-width: 390px){

}