#visual {
	border:1px solid #ddd;
	margin:auto;
	margin-bottom:5px;
}

/*  LOGIN */
#login {
	font-size:11pt;
}

div#has_id h2, div#has_not_id h2{
	text-align:center;
	text-decoration:underline;
}


#has_not_id a{
	display:block;
	text-align:center;
	font-weight:bold;
	font-size:12pt;
}


div#has_not_id {
	margin-top:30px;
}


div#has_not_id p{
	width:430px;
	margin:auto;
	border:1px solid #999;
	padding:15px;
}



#login fieldset {
	width:430px;
	padding:15px;	
	margin:auto;
	border:1px solid #999;
}

#login legend {
	background-color:#ddd;
	padding-left:25px;
	padding-right:25px;
}


#login label {
	font-weight:bold;
	width:100px;
	display:block;
	float:left;
	clear:both;
}

#login div.input input{
	width:200px;
	margin-bottom:5px;
	/*border:1px solid #7F9DB9;*/
}


#save_id {
	text-align:center;
}


div.submit {
	margin-top:10px;
	text-align:center;
}

.submit input{
	text-align:center;
	padding:2px 25px;
}

#login .error-message {
	text-align:center;
}

/* 会員登録　*/
.join h2 {
	margin-left:30px;
	color:#000;
	font-size:15pt;
	text-align:center;
	text-decoration:underline;
}

.join_comment {
	width:90%;
	margin:auto;
	margin-bottom:5px;
}

.info_container {
	width:90%;
	margin:auto;
	margin-bottom:10px;
	border:1px solid #666;
}

.join th {
	white-space:nowrap;
	text-align:right;
	font-weight:normal;
	width:110px;
}

.join th, .join td {
	border:0;
	padding:5px;
	vertical-align:top;
}

th.fieldset_title {
	text-align:left;
	background-color:#ccc;
	font-weight:bold;
	color:#000;
	width:auto;
}

table.join_info {
	width:100%;
}

table.join_info th {
	width:110px;
	padding-top:10px;
	text-decoration:underline;
}


.join_help {
	width:220px;
	background-color:#eee;
	font-size:9pt;
	vertical-align:top;
}
.join_help ul {
	margin-top:0;
}

.join_help p {
	margin-top:0;
	margin-left:10px;
	margin-bottom:3px;
	font-weight:bold;
}

/* 入力フィールド */
.input-type-name {
	width:100px;
	margin-right:10px;
}

.input-type-normal {
	width:170px;
}

.success-message {
	color:blue;
}



/*　会員登録成功ページ　*/
#join_success {
	width:500px;
	margin:auto;
	margin-top:30px;
	border:1px solid #ddd;
	padding:10px;
	padding-bottom:30px;
	text-align:center;
}

#join_success h2 {
	margin-bottom:20px;
}

#join_success p {
	text-align:left;
	width:90%;
	margin:auto;
	margin-bottom:20px;
}

#join_success a {
	font-size:12pt;
	font-weight:bold;
}


/************************************************
* パスワード再発行
************************************************/
.lost_info {
	background-color:#fff;
	width:90%;
	margin:auto;
	padding:10px;
	font-size:10pt;
}

.lost_info fieldset {
	width:100%;
	border:0;
}

.lost_info dl {
	width:450px;
	margin:auto;
	border:1px dashed #ddd;
	padding:10px;
}

.lost_info dt {
	display:block;
	float:left;
	clear:left;
	width:150px;
	margin:0 10px 4px 0;
	padding:0;
	border:0;
	text-align:right;
	color:#333;
	font-weight:bold;
}

.lost_info dd {
	margin:0 0 8px;
}

.lost_info .error-message {
	margin-left:160px;	
}
