/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}

body{
  height: 115vh;
  min-height: 850px;
}
main {
    /*background: linear-gradient(0deg,#edf2f6 0%,#edf2f6 50%,#0f3c81 50%,#0f3c81 100%);*/
    background: #fff;
    position: relative;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    flex-wrap: wrap;
    padding: 0;
    min-height: 550px;
}
footer {
    position: absolute;
    width: 100%;
    bottom: 0;
}
img.logo {
    height: 50px;
    margin: auto 0;
}
.login-box {
    width: 400px;
    padding-top: 30px;
    padding-bottom: 90px;
}
/*.login-box {
    display: block;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    width: 565px;
    max-height: 450px;
    background: #fff;
    padding: 55px;
    box-shadow: 0px 2px 7px 1px #8c8c8c;
    box-sizing: border-box;
    position: relative;
    height: auto;
    margin: 0 0 50px;
}*/

.login-comment{
  margin: 15px 0 5px;
  font-size: 18px;
  font-weight: bold;
  color: #080d44;
}
p.login-txt {
    margin: 15px 0px 3px;
    font-size: 14px;
    font-weight: bold;
}
.regist-txt {
    margin-top: 20px;
}
.regist-txt>p {
    font-weight: bold;
    text-align: center;
    font-size: 18px;
    color: #080d44;
}
input[type=email], input[type=password], input[type=submit] {
    width: 100%;
    height: 40px;
    border-radius: 0;
    background-color: #ffffff;
    border: 1px solid #080d44;
    margin: 5px 0;
    box-sizing: border-box;
    padding: 10px;
    font-size: 16px;
}
.logo-img {
    text-align: center;
    max-width: 315px;
    margin: auto;
}

input[type=submit] {
    background: #0f3c81;
    color: #fff;
    border-radius: 5px;
    height: 50px;
    width: 300px;
    font-size: 20px;
    padding: 9px;
    font-weight: bold;
    display: block;
    margin: 25px auto;
    transition: .3s;
    width: 100%;
    background: #080d44;
    border: 3px double #fff;
    border-radius: 0;
    margin: 10px 0;
}
input[type=submit]:hover{
  opacity: .7;
}
h1{
	text-align: center;
}

.forgot{
	font-size: 14px;
	text-align: left;
	margin: 15px 0;

}
.forgot>a,
.regist-txt>a {
    text-decoration: none;
    font-weight: bold;
}
.forgot>a {
    color: #707070;
}
/*.regist-txt {
    display: block;
    position: absolute;
    margin: auto;
    width: 565px;
    height: 80px;
    text-align: center;
    display: block;
    bottom: unset;
    top: 103%;
    right: 0;
    left: 0;
    margin: 0;
}
*/
.err {
    font-size: 14px;
    font-weight: bold;
    text-align: center;
    color: red;
}
.chk {
    margin: 13px 0;
}
a.btn.regist-btn {
    background: #c21f17;
    font-size: 20px;
    padding: 10px;
    background: #a00317;
    border: 3px double #fff;
    height: 51px;
    padding: 8px;
    width: 100%;
    border-radius: 0;
}

label.check-label {
  display: inline-block;
  color: #1a1a1a;
  cursor: pointer;
  position: relative;
}
label.check-label span {
  display: inline-block;
  position: relative;
  background-color: transparent;
  width: 16px;
  height: 16px;
  transform-origin: center;
  border: 2px solid #0f3c81;
  border-radius: 50%;
  vertical-align: -4px;
  margin-right: 5px;
  transition: background-color 150ms 200ms, transform 350ms cubic-bezier(0.78, -1.22, 0.17, 1.89);
}
label.check-label span:before {
  content: "";
  width: 0px;
  height: 2px;
  border-radius: 2px;
  background: #0f3c81;
  position: absolute;
  transform: rotate(45deg);
  top: 7px;
  left: 4px;
  transition: width 50ms ease 50ms;
  transform-origin: 0% 0%;
}
label.check-label span:after {
  content: "";
  width: 0;
  height: 2px;
  border-radius: 2px;
  background: #0f3c81;
  position: absolute;
  transform: rotate(305deg);
  top: 11px;
  left: 6px;
  transition: width 50ms ease;
  transform-origin: 0% 0%;
}
label.check-label:hover span:before {
  width: 5px;
  transition: width 100ms ease;
}
label.check-label:hover span:after {
  width: 10px;
  transition: width 150ms ease 100ms;
}

input[type=checkbox].checkbox {
  display: none;
}
input[type=checkbox].checkbox:checked + label.check-label span {
  background-color: #0f3c81;
  transform: scale(1.25);
}
input[type=checkbox].checkbox:checked + label.check-label span:after {
  width: 10px;
  background: #fff;
  transition: width 150ms ease 100ms;
}
input[type=checkbox].checkbox:checked + label.check-label span:before {
  width: 5px;
  background: #fff;
  transition: width 150ms ease 100ms;
}
input[type=checkbox].checkbox:checked + label.check-label:hover span {
  background-color: #0f3c81;
  transform: scale(1.25);
}
input[type=checkbox].checkbox:checked + label.check-label:hover span:after {
  width: 10px;
  background: #fff;
  transition: width 150ms ease 100ms;
}
input[type=checkbox].checkbox:checked + label.check-label:hover span:before {
  width: 5px;
  background: #fff;
  transition: width 150ms ease 100ms;
}


@media screen and (max-width: 770px){

.login-box {
    width: 100%;
    padding: 6%;
    border-radius: 0px;
    box-shadow: none;
}
.regist-txt {
    width: 100%;
}
.chk {
    margin: 25px 0;
}
.logo-img>img {
    width: 100%;
}
p.login-txt {
    margin: 13px 0px 3px;
}
.logo-img {
    text-align: center;
    width: 85%;
    margin: auto;
}
label.check-label:hover span:before {
  width: 0;
}
label.check-label:hover span:after {
  width: 0;
}




}

@media screen and (max-width: 450px){


}

