@charset "utf-8";


.list{
	margin:20px auto;
	padding:0;
}

.step{
	margin:0 0 50px;
}


.textbox{
	border:5px solid #ddd;
	padding:15px;
	margin:0 0 50px;
}
.list dl.tbl{
	width: 100%;
	display: flex;
	flex-direction: column;
}

.list dl.tbl>dt{
	position: relative;

	border: 1px solid #ddd;
	border-bottom: 0px solid #ddd;
	font-weight: normal;
	text-align: left;
	padding: 5px 0px 5px 10px;
	line-height: 2em;
	color:#111;
	font-size:14px;
	background: rgba(0,128,0,.4);
	background-repeat: no-repeat;
	background-position:  right center;
}
.list dl.tbl>dt.required::after{
	content:"必須";
	position: absolute;
	right: 5px;
	top: 0;
	bottom: 0;
	background: #fff;
	color: #f00;
	width:auto;
	display:inline-block;
	padding:1px 5px;
	margin:auto;
	height:18px;
	line-height:18px;
	font-size:14px;
	border-radius: 3px;
	border:1px solid #ddd;
}

.list dl.tbl>dd{
	border: 1px solid #ddd;
	padding: 5px;
	line-height: 2em;

}
.list dl.tbl>dd span.txt,.list dl.tbl>dd span.alert{
	display: block;
}
.list dl.tbl>dd span.alert{
	color: #f00;
}
.list dl.tbl>dd div+div{
	margin-top: 5px;

}

.list dl.tblin{
	display:flex;
	width: 100%;
}

.list dl.tblin>dt{
	position: relative;
	padding: 5px;
	color:#111;
	width: 3em;

}

.list dl.tblin>dd{
	padding: 5px;
	line-height: 2em;
	flex-grow:2;
}
.c{
	text-align: center;
}
input[type="text"], input[type="password"], input[type="tel"], input[type="email"], textarea, select, .vTextField {
    border: 1px solid #CCCCCC;
	padding: 10px;
	border-radius: 4px;
	font-size: 1.6rem;
}

input[type="text"], input[type="password"], input[type="tel"], input[type="email"], textarea{
	width: 100%;
}


.btn_block{
	display: flex;
	justify-content:space-around;
	margin: 10px auto;
}
.btn_block button{
	padding: 5px 1em;
	font-size: 2rem;
	background: rgba(0,128,0,1);
	color: #fff;
	border: 0 none;
	border-radius: 4px;
	min-width: 40vw;
}
#caution{}
#caution p{
	color: #f00;
}

@media (min-width: 768px) {
input[type="text"], input[type="password"], input[type="tel"], input[type="email"], textarea, select, .vTextField {
	width: auto;
}
.list dl.tbl{
	width: 100%;
	display: flex;
	flex-direction: row;
}
	
.list dl.tbl>dt{
	position: relative;
	width: 16em;
	padding: 10px;

}
.list dl.tbl>dd{
	position: relative;
	width: calc(100% - 16em);
	padding: 10px;
}
	
	
	
.btn_block form {
	min-width: 40%;
}
.btn_block form button{
	padding: 5px 1em;
	font-size: 2rem;
	background: rgba(0,128,0,1);
	color: #fff;
	border: 0 none;
	border-radius: 4px;
	width: 100%;
	min-width: 250px;
}
.list dl.tblin{
    display: inline-flex;
    width: auto;
}

}

@media (min-width: 850px) {

}


