#signup{
}



#signup .signupInfo {
  padding: 38px 0 60px;
  color:#FFFFFF;
}

#signup .signupInfo p{
    color:#FFFFFF;
    margin-bottom: 30px;
}

#signup .signupInfo p span.forcus{
    font-weight: bold;
    text-decoration: underline;
}

#signup .signupInfo table{
    width: 100%;
    table-layout: fixed;
    border-spacing: 0;
    margin-bottom: 10px;
}

#signup .signupInfo table tbody
#signup .signupInfo table tr{

}

#signup .signupInfo table th,
#signup .signupInfo table td{
vertical-align: middle;
border:solid 1px #FFFFFF;
padding: 15px 5px;
text-align: center;
}

#signup .signupInfo table th {
    background-color: #FFFFFF;
    color:#004cad;
}
#signup .signupInfo table th:nth-last-of-type(1){
    border-left:solid 1px #004cad;
}


#signup .signupInfo h3{
font-size: 24px;
border-bottom:1px solid #107bff;
padding-bottom: 16px;
margin-bottom: 16px;
margin-top: 50px;
}

#signup .signupInfo p a{
color:#FFFFFF;
text-decoration: underline;
}

@media screen and (min-width:768px) {
  #signup .signupInfo {
    padding: 48px 0 50px
  }
}



#signup .form {
  padding: 38px 25px 60px;
  background-color: #FFFFFF;
  color:#000000;
	border-radius: 16px;
}

@media screen and (min-width:768px) {
  #signup .form {
    padding: 48px 150px 50px
  }
}
#signup .form h3{
font-size: 24px;
font-weight: 700;
letter-spacing: .4px;
}
@media screen and (min-width:768px) {
  #signup .form h3{
  }
}


#signup .form p{
	padding: 30px 0 0;
}
@media screen and (min-width:768px) {
	#signup .form p{
  }
}


#signup .form h4{
margin-top: 40px;
margin-bottom: 10px;
font-weight: 700;
letter-spacing: .4px;
}
@media screen and (min-width:768px) {
  #signup .form h4{
  }
}


#signup .form input{
	background-color: #F4F4F4;
	border-radius: 8px;
	width: 100%;
	    padding: 12px 44px 12px 14px;
}
@media screen and (min-width:768px) {

}



form.signup a {
    border-radius: 32px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: block;
    font-size: 16px;
    font-weight: 700;
    margin: 40px auto 0;
    max-width: 325px;
    padding: 18px 0;
    text-align: center;
    -webkit-transition: all .2s;
    transition: all .2s;
	background-color: #004cad;
    border: 2px solid #004cad;
    color: #fff;
}

form.signup a.disabled{
  border-radius: 32px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: block;
  font-size: 16px;
  font-weight: 700;
  margin: 40px auto 0;
  max-width: 325px;
  padding: 18px 0;
  text-align: center;
  -webkit-transition: all .2s;
  transition: all .2s;
  background-color: #e8e8e8;
  border: 2px solid #e8e8e8;
  color: #fff;
}

@media screen and (min-width: 768px){
	form.signup a {
		padding: 19px 0;
		    width: 326px;
    	    margin-top: 42px;
	}
}

form.signup a:hover:not(.disabled) {
    background-color: #FFFFFF;
    color: #004cad;
}


 a.login{
     border-radius: 32px;
     -webkit-box-sizing: border-box;
     box-sizing: border-box;
     display: block;
     font-size: 16px;
     font-weight: 700;
     margin: 0 auto;
     max-width: 325px;
     padding: 18px 0;
     text-align: center;
     -webkit-transition: all .2s;
     transition: all .2s;
     background-color: #fff;
     border: 2px solid #ff1477;
     color: #ff1477;
     margin-top: 30px;
}

@media screen and (min-width: 768px){
a.login{
    padding: 19px 0;
    width: 326px;
}
}

#signup form .signUpInput.is-error .input{
    position: relative;
}
#signup form .signUpInput.is-error .input:before{
    background: url(/assets/images/common/ico_alert_exclamation_mark.svg);
background-size: cover;
content: "";
height: 24px;
position: absolute;
right: 16px;
top: 50%;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
width: 24px;
}


#signup form .signUpInput.is-error .input input{
    padding: 13px 44px 13px 14px;
    background: #ffe8e8;
    border: 2px solid #d30000;
}

#signup form .signUpInput .alert:before{
    content: "\00203b";
    left: 0;
    position: absolute;
    top: 0;
}
#signup form .signUpInput p.alert {
    color: #d30000;
    display: none;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1.75;
    margin-top: 12px;
    position: relative;
    padding: 0;
    padding-left: 1em;
}

#signup form .signUpInput.is-error p.alert{
    display: block;
}

#signup .form p#error{
    background: #ffe8e8;
    border: 2px solid #d30000;
    color: #d30000;
    border-radius: 15px;
    margin: 40px 0;
    padding: 25px 10px;
    text-align: center;
}

@media screen and (min-width: 768px){
    #signup .form p#error{
        margin: 20px 0;
    }
}



a.toTop{
    border-radius: 32px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: block;
    font-size: 16px;
    font-weight: 700;
    margin: 0 auto;
    max-width: 325px;
    padding: 18px 0;
    text-align: center;
    -webkit-transition: all .2s;
    transition: all .2s;
    background-color: #000;
    color: #FFFFFF;
    margin-top: 30px;
        border: 2px solid #000;
}

@media screen and (min-width: 768px){
    a.toTop{
       padding: 19px 0;
       width: 326px;
    }
    a.toTop:hover{
        background-color: #fff;
        border: 2px solid #000;
        color: #000;
    }
}



#signup .form p.connectNumber,
#signup .form p.connectAddress{
    text-align: center;
    font-weight: bold;
    color:#000000;
    word-wrap: break-word;
}
#signup .form p.connectNumber{
    margin-top: 0;
    margin-bottom: 0;
}

#signup .form p.connectNumber span,
#signup .form p.connectAddress span{
    color: #004cad;
        font-weight: bold;
        font-size: 1.4rem;
        display: block;
        margin-top: 15px;
}

.form a.connect {
    border-radius: 32px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: block;
    font-size: 16px;
    font-weight: 700;
    margin: 40px auto 0;
    max-width: 325px;
    padding: 18px 0;
    text-align: center;
    -webkit-transition: all .2s;
    transition: all .2s;
	background-color: #004cad;
    border: 2px solid #004cad;
    color: #fff;
}


@media screen and (min-width: 768px){
	.form a.connect {
		padding: 19px 0;
		    width: 326px;
    	    margin-top: 42px;
	}
}


a.login.text{
    text-align: center;
    color: #000000;
    border: none;
    font-size: 0.8rem;
    padding: 0;
}



form.signup a.forgot_password{
    text-align: center;
    width: fit-content;
    padding: 0;
    border: none;
    text-decoration: underline;
    background-color: rgba(0, 0, 0, 0);
    color: #004cad;
    margin-bottom: 30px;
    margin: 30px auto 60px;
}


form.signup a.beginner{
    background-color: #000000;
    border-color: #FFFFFF;
}


form.signup a.beginner:hover{
    background-color: #FFFFFF;
    color: #000000;
    border-color: #000000;
}


@media screen and (max-width:767px) {
    #signup .signupInfo {
        padding: 20px 0 20px;
        color: #FFFFFF;
    }
    #signup .form h4:nth-of-type(1){
        margin-top: 10px;
    }

    form.signup a.forgot_password{
        font-size: 0.8rem;
    }
    form.signup a.beginner{
        font-size: 0.8rem;
    }

}

/*マイページトップボタン*/
@media screen and (min-width: 768px) {
    #signup .mypageTop {
        margin-top: 18px;
    }
}

#signup .mypageTop {
    margin: 16px auto 0;
}

#signup .mypageTop .button {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    align-items: center;
    background: #000;
    border:solid 2px #000000;
    border-radius: 32px;
    color: #fff;
    cursor: pointer;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    font-size: 16px;
    font-weight: 700;
    height: 64px;
    justify-content: center;
    letter-spacing: .05em;
    line-height: 1;
    margin: 0 auto;
    max-width: 327px;
    padding: 20px;
    -webkit-transition: color .3s ease-out, background .3s ease-out;
    transition: color .3s ease-out, background .3s ease-out;
    width: 100%;
}

#signup .mypageTop .button:hover{
background-color: #FFFFFF;
color: #000000;
}



#signup .forContact{
    position: relative;
    margin: 50px 0;
    background: #F4F4F4;
    padding: 20px;
    font-size: 16px;
}

#signup .forContact h5{
    font-size: 18px;
    border-bottom: solid 1px #000000;
    padding-bottom: 10px;
    margin-bottom: 10px;
}


#signup .form .loginAttention{
    background: #ffe8e8;
    color: #d30000;
    margin: 40px 0;
    padding: 10px 10px;
    text-align: center;
    margin-top: 0;
    border: solid 2px #d30000;
}
#signup .form .loginAttention p{
    padding-top: 0;
    font-weight: bold;
}
#signup .form .loginAttention p a{
    text-decoration: underline;
    color: #d30000;
}

@media screen and (max-width:767px) {
#signup .form .loginAttention p{
font-size: 12px;
}

}



#signup .forSecuritiesfirm{
    position: relative;
    margin-bottom: 60px;
    background-color: #f8f8f8;
    padding: 20px;
}

#signup .forSecuritiesfirm.signup{
    margin: 60px 0 60px;
/*    background: #fffdee;*/
}

#signup .forSecuritiesfirm p{
    padding: 0;
    text-align: center;
}



#signup .forSecuritiesfirm p.info{
    position: relative;
    margin: 20px 0 0;
    padding: 20px 0;
    font-weight: bold;
    font-size: 18px;
}
#signup .forSecuritiesfirm p.info span{
    font-size: 14px;
}


#signup .forSecuritiesfirm p.info:before{
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background-color: #000000;
    opacity: 0.8;
    position: absolute;
    left: 0;
    top: 0;
}
#signup .forSecuritiesfirm p.info:after{
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background-color: #000000;
    opacity: 0.8;
    position: absolute;
    left: 0;
    bottom: 0;
}
    #signup .forSecuritiesfirm p br.forSp{
        display: none;
    }

@media screen and (max-width:767px) {
    #signup .forSecuritiesfirm p{
        font-size: 12px;
    }
    #signup .forSecuritiesfirm p br.forSp{
        display: block;
    }

    #signup .forSecuritiesfirm p br.forPc{
    display: none;
    }
    #signup .forSecuritiesfirm p.info{
        font-size: 14px;   
    }

    #signup .forSecuritiesfirm p.info span{
        font-size: 11px;
    }

}
