@charset "utf-8";

dl,dt,dd,ul,ol,li,form,fieldset,input,textarea,th,td{
	margin: 0;
	padding: 0;
}
fieldset,img{
	border: 0;
	vertical-align : middle;
}

/* --------------------------------------------- */

form#user_form{
	width : auto;
	background : rgba(255, 255, 255, 0.3);
	border : 1px solid #EEE;
	border-radius : 7px;
	margin-top: 10px;
	margin-right: auto;
	margin-bottom: 20px;
	margin-left: auto;
	padding-top: 20px;
	padding-right: 0;
	padding-bottom: 20px;
	padding-left: 0;
}
form#user_form dl{
	width : 98%;
	max-width: 1100px;
	overflow : hidden;
	margin-top: 0;
	margin-right: auto;
	margin-bottom: 0;
	margin-left: auto;
}
form#user_form dl dt{
    clear : both;
    width : 33%;
    float : left;
    border-top : 1px solid #cccccc;
    text-align : right;
    overflow : hidden;
    padding-top: 25px;
    padding-right: 2%;
    padding-bottom: 25px;
    padding-left: 8%;
    font-size: 22px;
    line-height: 2;
    font-weight: bold;
    color: #552E10;
}
form#user_form dl dd{
	width : 47%;
	float : right;
	border-top : 1px solid #cccccc;
	padding-top: 30px;
	padding-right: 5%;
	padding-bottom: 25px;
	padding-left: 5%;
	font-size: 18px;
	background-color: #FFF;
	display: block;
}
form#user_form dl dt:first-child,
form#user_form dl dt:first-child+dd{
	border : none;
}
form#user_form dl dt span{
    display : block;
    font-size : 80%;
    color : #2598A6;
    line-height: 120%;
}

/* -- for JavaScript ここから -------------------------------------------------------------------------------- */

form#user_form dl dt span.required,
form#user_form dl dt span.optional{
	display : inline-block;
	float : left;
	font-weight : bold;
	color : #ffffff;
	padding : 5px 8px;
	border-radius : 5px;
	font-size: 16px;
	letter-spacing: 0.1em;
	margin-top: 7px;
}
form#user_form dl dt span.required{
    background-color: #D5255B;
}
form#user_form dl dt span.optional{
    background-color: #2598A6;
}

ul.error {
	margin: 20px auto;
	display: block;
	max-width: 1000px;
}
ul.error li {
    display : block;
    color : #FF9E00;
    padding: 10px;
	font-size: 22px;
    border-bottom: 1px dashed #FF9E00;
}
ul.error li span {
	color : #EE3939;
	font-size: 18px;
	font-weight: bold;
	padding-left: 10px;
}
ul.error li i {
	-webkit-animation: blink 0.5s ease-in-out infinite alternate;
	-moz-animation: blink 0.5s ease-in-out infinite alternate;
	animation: blink 0.5s ease-in-out infinite alternate;
}

form#user_form dl dd span{
	padding: 0px 5px;
	line-height: 1.8;
}

form#user_form dl dd label span{
	display : inline;
	color : #333;
	vertical-align: top;
	margin-right: 10px;
}

@-webkit-keyframes blink{
    0% {opacity:0.1;}
    100% {opacity:1;}
}
@-moz-keyframes blink{
    0% {opacity:0.1;}
    100% {opacity:1;}
}
@keyframes blink{
    0% {opacity:0.1;}
    100% {opacity:1;}
}

/* -- for JavaScript ここまで -------------------------------------------------------------------------------- */


form#user_form select{
	line-height: 2;
	font-size: 20px;
	padding: 5px 10px;
}

form#user_form input{
	height : 1.8em;
	border : 1px solid #cccccc;
	border-radius : 3px;
	background : #fafafa;
	font-size: 18px;
}
form#user_form textarea{
	width : 98%;
	height : 200px;
	resize : vertical;
	border : 1px solid #cccccc;
	border-radius : 3px;
	background : #fafafa;
	font-size: 18px;
}
form#user_form input:focus,
form#user_form textarea:focus{
	box-shadow : 0px 0px 5px #55ccff;
	border : 1px solid #55ccff;
	background : #ffffff;
}
form#user_form input#name_1,
form#user_form input#name_2{
	width : 160px;
}
form#user_form input#read_1,
form#user_form input#read_2{
	width : 90px;
}
form#user_form input#mail_address,
form#user_form input#mail_address_confirm{
	width : 250px;
}
form#user_form ul li{
	list-style-type : none;
	margin-bottom : 5px;
}
form#user_form ul li label:hover{
	cursor : pointer;
}
form#user_form ul li input{
	height : auto;
	margin-right : 0.5em;
}
form#user_form input#postal{
	width : 100px;
}
form#user_form input#address_1,
form#user_form input#address_2{
	display : block;
	width : 300px;
	margin-bottom : 7px;
}
form#user_form input#phone{
	width : 160px;
}
form#user_form input#day{
	width : 160px;
}
form#user_form input#mail_submit_button{
	width : auto;
	height : auto;
	vertical-align : middle;
	border-radius : 3px;
	font-family : inherit;
	padding-top: 10px;
	padding-right: 35px;
	padding-bottom: 10px;
	padding-left: 35px;
	font-size: 20px;
	line-height: 28px;
	color: #FFF;
	background-color: #249E87;
	box-shadow: rgba(0, 0, 0, 0.5) 0px 0px 1px 0px;
	-webkit-box-shadow: rgba(0, 0, 0, 0.5) 0px 0px 1px 0px;
	-moz-box-shadow: rgba(0, 0, 0, 0.5) 0px 0px 1px 0px;
	border: 1px solid #FFF;
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	-webkit-transition: 0.2s linear;
	-moz-transition: 0.2s linear;
	transition: 0.2s linear;
}
form#user_form input#mail_submit_button:hover{
    cursor : pointer;
    background-color: #00C39E;
}


.content form#user_form.kakunin dl p {
	margin: 0;
	padding: 0;
}
.content form#user_form.kakunin p {
	margin: 30px auto;
	max-width: 800px;
	display: block;
}

/* --responsive------------------------------------------- */

form#user_form dl dd p {
	padding: 10px 0px!important;
	margin: 0!important;
	font-size: 18px;
}

form#user_form.form_2 dl dt{
    width : 28%;
}
form#user_form.form_2 dl dd{
	width : 52%;
}

/* 640pixel start */
@media screen and (max-width : 640px){

form#user_form{
	width : 98%;
}
form#user_form dl{
	width : 100%;
}
form#user_form dl dt{
	width : auto;
	float : none;
	text-align : left;
	padding : 10px 0 5px;
	font-weight : bold;
}
form#user_form dl dd{
	width : auto;
	float : none;
	border-top : none;
	padding : 15px 10px;
}
form#user_form dl dt span{
	font-weight : normal;
}


form#user_form.form_2 dl dt,
form#user_form.form_2 dl dd{
	width : 100%;
}


/* -- for JavaScript ここから -------------------------------------------------------------------------------- */

form#user_form dl dt span.required,
form#user_form dl dt span.optional{
	margin-right : 1em;
}

/* -- for JavaScript ここまで -------------------------------------------------------------------------------- */


form#user_form input{
	height : 25px;
}
form#user_form input#name_1,
form#user_form input#name_2,
form#user_form input#read_1,
form#user_form input#read_2,
form#user_form input#mail_address,
form#user_form input#mail_address_confirm,
form#user_form input#postal,
form#user_form input#address_1,
form#user_form input#address_2,
form#user_form input#phone,
form#user_form input#day,
form#user_form textarea{
	max-width : 98%;
	-webkit-appearance : none;
}

input[type="checkbox"] {
	margin-left: 10px;
	vertical-align: bottom;
}


}
/* 640pixel end */

label {
	white-space: nowrap;
}
