body, html {
	height: 100%;
	margin: 0;
	padding: 0;
}
body {
	background-color: #f1f1f1;
	position: relative;
	padding-bottom: 40px;
}
/*******************************************************************************
******************************************************************************** 
ft
*******************************************************************************
*******************************************************************************/
.ft{
	margin-top: 1rem;
}
/*******************************************************************************
******************************************************************************** 
login
*******************************************************************************
*******************************************************************************/
#login {
	padding: 5vw 0;
	margin: auto;
}
.login_logo{
	text-align: center;
}
.login_logo img{
	height: auto;
	width: 40vw;
}
.login_back{
	margin: 20px 0 20px 20px;
}
.login_back a{
	color: #666;
	text-decoration: none;
}
.login_back a:hover{
	color: #1b4f98;
	text-decoration: underline;
}
.login_form {
	margin: 5vw 5vw 0;
	padding: 5vw 8vw;
	background: #fff;
	box-shadow: 0 1px 3px rgba(0,0,0,.13);
}
.login_form h2{
	background-color: #EFEFEF;
	border-left: 2px solid #003BC4;
	font-size: 1rem;
	padding: 0.5rem;
	margin: 0;
}
.login_form_birthday{
	display: flex;
	align-content: center;
}
.login_form_birthday > div{
	margin-right: 0.5rem;
}
.login_form_item{
	margin-top: 1rem;
}

.login_form .login_form_item:first-child{ margin-top: 0; }
.login_form_sex{
	display: flex;
}
.login_form_sex label{
	margin-right: 1rem;
}
.login_form_item_ttl {
	margin: 0 0 0.5rem;
}
.login_form_radio_label {
	display: flex;
	align-items: center;
	cursor: pointer;
}
.login_form_radio_label input[type="radio"]{
	margin-right: 0.5rem;
}
.login_form_item input[type="text"] {
	font-size: 20px;
	width: 100%;
	padding: 3px;
	margin: 2px 0 0;
}
.login_form_item_submit {
	text-align: center;
	margin-top: 2rem;
}
.login_form_item_submit .btn_bg_blue{
	width: 200px;
	padding: 1em;
}
.login_singup{
	text-align: center;
	margin-top: 2rem;
}
.login_singup a{
	border: 1px solid #111;
	border-radius: 30px;
	display: inline-block;
	padding: 10px 20px;
	text-decoration: none;
	color: #111;
}
.login_singup a:hover{
	background-color: #111;
	color: #FFF;
}
.login_err,
.login_logout{
	border-left: 4px solid #FF0000;
	padding: 12px;
	margin: 5vw 5vw 0;
	background-color: #fff;
	box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);
}
.login_logout{
	border-left-color: #00a0d2;
}
.login_form_ctn_text{
	font-weight: bold;
	font-size: 0.7em;
	margin-top: 1rem;
}
.login_caution_bg{
	background-color: rgba(0,0,0,0.8);
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	display: none;
	z-index: 1000;
	justify-content: center;
	align-items: center;
}
.login_caution_bg.active{
	display: flex;
}
.login_caution_clickbtn{
	text-align: center;
	margin-top: 3vh;
}
.login_caution_btn{
	cursor: pointer;
	display: inline-block;
	font-size: 14px;
	padding: 5px 10px;
	border: 1px solid #111;
	border-radius: 30px;
}
.login_caution_btn:hover{
	background-color: #111;
	color: #FFF;
}
.login_caution_close{
	text-align: center;
}
.login_caution_closebtn{
	cursor: pointer;
	display: inline-block;
	font-size: 12px;
	padding: 5px 10px;
	border: 1px solid #111;
	border-radius: 20px;
}
.login_caution_closebtn:hover{
	background-color: #111;
	color: #FFF;
}
.login_caution{
	background-color: #FFF;
	max-width: 90vw;
	padding: 3vh 3vw;
	display: flex;
	justify-content: center;
	flex-direction: column;
}
.login_caution h3{
	margin: 0;
}