@charset "UTF-8";
/* CSS Document */

body{
    background:#fff;
    display: flex;
    align-items: center;
    min-height: 100vh;
    flex-direction: column;
}

#wrapper{
	margin:0 auto 0;
}

.red{
	color:#d80c18;
}
.blue{
	color:#013DAB;
}

.ap_description{
	width:840px;
	text-align:center;
	margin:0 auto 30px;
	padding:30px 0 20px 0;
	font-size:15px;
	border-bottom:#eee 3px solid ;
}

.ap_description p{
	text-align:center;
	margin-bottom:15px;
}

.ap_description img{
	width:100%;
	height:100%;
}

.ap_description_c{
	width:840px;
	text-align:center;
	margin:0 auto 20px;
	padding-top:30px;
	font-size:15px;
}

.ap_description_c h3{
	font-size:18px;
	font-weight:bold;
	color:#00b3cd;
	margin-bottom:20px;
}

.ap_description_c p{
	margin-bottom:20px;
}

.ap_description img{
	width:100%;
	height:100%;
}

.ap_description_c2{
	width:840px;
	text-align:center;
	margin:0 auto 20px;
	padding-top:0px;
	font-size:15px;
}

.ap_description_c2 h3{
	font-size:18px;
	font-weight:bold;
	color:#00b3cd;
	margin-bottom:20px;
}


.required{
	width:90%;
	text-align:right;
	font-weight:bold;
	margin:0 auto 10px;
	font-size:15px;
}

.form_list table{
	width:90%;
	text-align:left;
	margin:0 auto 30px;
	font-size:14px;
}

.form_list tr {
	size:16px;
	line-height:140%;
}

.form_list th {
	width:200px;
	/*border-top: #eee 1px solid;*/
	border-bottom: #eee 1px solid;
	vertical-align:top;
    padding: 20px 20px 20px 0;
}
.form_list td {
	/*border-top: #eee 1px solid;*/
	border-bottom: #eee 1px solid;
    padding: 20px;
}

.form_list p{
	text-align:center;
	line-height:200%;
}

.form_textbox{
	padding:3px;
}

.confirmation_btn{
	width:630px;
	margin:0 auto 0;
	overflow:hidden;
}

.form_list_b{
	width:90%;
	margin:0 auto 0;
	padding-top:30px;
}

.form_list_b dl{
	text-align:left;
	padding-bottom:15px;
	margin-bottom:30px;
	border-bottom: #eee 1px solid;
}

.form_list_b dt{
	font-size:16px;
	margin-bottom:15px;
}

.form_list_b dd{
	padding-left:30px;
	margin-bottom:10px;
}

.form_list_b table{
	width:100%;
	margin:0 auto 10px;
	font-size:14px !important;
}

.form_list_b th {
	width:200px;
	}
	
.form_list_b th.th_w{
	width:320px;
}

select{
	width:185px;
}

.btn_b{
	width:270px;
    display: block;
	background-color:#ccc;
	color:#FFF;
	padding:20px 15px;
	margin:0 auto 50px;
	letter-spacing:5px;
	font-size: 130%;
}
.btn_b:hover {
	background-color:#ddd;
	text-decoration:none;
}
.btn_b a{
	color:#FFF;
}

/*フッター固定対応*/
#container{
	width:100%;
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

footer{
	width:100%;
    margin-top: auto;
}

.vote_pr{
	width:80%;
	color:#FFF;
	margin:20px auto 0;
	padding:20px;
	background-color:#d80c18;
}

/*ENDページ告知*/
.eb_pr_t h3{
	width:90%;
	font-size:16px;
	line-height:1.4;
	color:#d80c18;
	font-weight:bold;
	margin:0 auto 30px;
}
.eb_pr{
	width:70%;
	margin:0 auto 20px;
	padding:20px 5% 20px 5%;
	background:#FFF;
}
.eb_pr h4{
	font-size:16px;
	font-weight:bold;
	line-height:1.4;
	color:#d80c18;
	margin-bottom:10px;
}
.eb_pr h5{
	font-size:15px;
	font-weight:bold;
	padding-bottom:20px;
}
.eb_pr p{
	margin-bottom:10px;
}
.eb_pr .btn{
	width:85%;
}

@media screen and (max-width: 834px) {
body{
        background: #fff;
    }
.ap_description,.ap_description_c{
	width:90%;
	margin:0 auto 20px;
	font-size:15px;
}

.ap_description_c2{
	width:90%;
	margin:0 auto 20px;
	font-size:15px;
}

.form_list table{
	width:90%;
	margin:0 auto 30px ;
	font-size:15px;
	/*border: #eee 1px solid;*/
}

.form_list tr,.form_list_b tr {
	size:15px;
	display: block;
}

.form_list th {
	display: list-item;
	font-weight:bold;
	list-style-type: none;
	border-top: none;
	border-bottom: none;
	padding: 10px 5px 0 5px;
}

.form_list td {
	display: list-item;
	list-style-type: none;
	border-top: none;
	border-bottom: #eee 1px solid;
	padding: 5px 5px 10px 5px;
}

.form_list_b dd{
	font-size:90%;
}

.form_list_b dd{
	padding-left:0;
	margin-bottom:10px;
}

.form_list_b th {
	display: list-item;
	width:90%;
	list-style-type: none;
	border-top: none;
	border-bottom: none;
	padding: 10px 0 0 5px;
}

.form_list_b th.th_w{
	width:90%;
}

.form_list_b td {
	display: list-item;
	list-style-type: none;
	border-top: none;
	padding: 5px 5px 10px 5px;
}


}

@media screen and (max-width: 640px) {
.ap_description,.ap_description_c{
	width:90%;
	font-size:100%;
}
.ap_description_c h3{
	font-size:15px;
	line-height:1.5;
}
.ap_description_c2{
	width:90%;
	font-size:100%;
}
.ap_description_c2 h3{
	font-size:15px;
	line-height:1.5;
}
.required{
	font-size:90%;
}
.form_list table{
	margin:0 auto 30px ;
}

.form_list tr,.form_list_b tr {
	display: block;
}

.form_list th {
	width:200px;
	font-size:85%;
	font-weight:bold;
	list-style-type: none;
	border-top: none;
	border-bottom: none;
	padding: 10px 5px 0 5px;
}

.form_list td {
	width:95%;
	font-size:85%;
	list-style-type: none;
	border-top: none;
	border-bottom: #eee 1px solid;
	padding: 5px 5px 10px 5px;
}

.form_list_b dt{
	font-size:15px;
	margin-bottom:15px;
	line-height:1.4;
}

.form_list_b th {
	width:100%;
	font-size:14px !important;
	display: list-item;
	list-style-type: none;
	border-top: none;
	border-bottom: none;
	padding: 10px 5px 0 5px;
}



.form_list_b td {
	width:95%;
	font-size:14px !important;
	display: list-item;
	list-style-type: none;
	border-top: none;
	padding: 5px 5px 10px 5px;
}

.confirmation_btn{
	width:90%;
	margin:0 auto 0;
	overflow:hidden;
}

.text_box{
	width:100%;
}

select{
	width:200px;
}

}
.validate_error{
    font-size:85%;
    color: #ff0000;
    font-weight: 900;
    margin-bottom: -10px;
}
.postwaku{
    display: inline-block;
    vertical-align: top;
}

.checkbox-dd{
	width:100%;
	display:flex;
	flex-flow: wrap;
}

.checkbox-dd label{
	display:inline-block;
	width:25%;
}

@media screen and (max-width: 640px) {
.checkbox-dd label{
	width:50%;
}
}
