@charset "UTF-8";
@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);

/* 

- ログイン
  
 */

/* !------------------------------ 基本 -- */
*,
*:before,
*:after {
  box-sizing: border-box;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
body {
  position: relative;
  font: 300 13px/1.4em 'noto sans japanese';
  -webkit-font-smoothing: antialiased;
  font-smoothing: antialiased;
  overflow: hidden;
  width: 100vw;
  height: 100vh;
  background: url(../img/bg_login.jpg)no-repeat center center;
  background-size: cover;
}
.body_inner {
  width: 100vw;
  height: 100vh;
  display: -webkit-flex; display: flex;
  -webkit-align-items: center; align-items: center;
  -webkit-justify-content: center; justify-content: center;
}
/* !------------------------------ ボタン -- */
[class*="btn_"][class*="goast"] {
  color: #fff;
  font: 600 12px/1em 'noto sans japanese';
  background: transparent;
  border: 1px solid rgba(255,255,255,1);
  -webkit-box-shadow: none;
  box-shadow: none;
}
[class*="btn_"][class*="goast"]:before {
  content: none;
}
[class*="btn_"][class*="goast"]:hover {
  background: rgba(255,255,255,.5);
}

/* !------------------------------ ヘッダー ログイン -- */
.header_login {
  width: 100%;
  text-align: center;
  margin: 0 0 30px;
}
.header_login .logo {
  width: 100px;
  position: relative;
  margin: 0 auto;
  z-index: 2;
}
.header_login .logo:before,
.header_login .logo:after {
  content: "";
  width: 100vh;
  height: 100vh;
  display: block;
  border-radius: 50%;
  position: absolute;
  top: 25%;
  left: 50%;
  -webkit-transform: translate(-50% , -50%) scale(.001, .001);
  -ms-transform: translate(-50% , -50%) scale(.001, .001);
  transform: translate(-50% , -50%) scale(.001, .001);
  z-index: -1;
}
.header_login .logo:before {
  animation: pulsate 5s ease-out infinite;
  border:1px solid rgba(255,255,255,.3);
}
.header_login .logo:after {
  width: 90vh;
  height: 90vh;
  background: rgba(255,255,255,.05);
  animation: pulsate 5s ease-out infinite;
  animation-delay: .3s;
}
@keyframes pulsate {
    0%{}  
    50%   { transform: translate(-50% , -50%) scale(.001, .001); }
    75%  { opacity: 1; }
    100% { transform: translate(-50% , -50%) scale(1, 1); opacity: 0.0; }
}
.header_login .logo img {
  width: 100%;
  vertical-align: bottom;
}
/* !------------------------------ ログイン枠 -- */
.login_wrap {
  max-width: 240px;
  width: 100%;
  display: -webkit-flex; display: flex;
  -webkit-flex-direction: column; flex-direction: column;
  -webkit-transform: translateY(-10%);
  -ms-transform: translateY(-10%);
  transform: translateY(-10%);
  position: relative;
}

/* !------------------------------ フォーム下部 -- */
.login_box {
  width: 100%;
  position: relative;
  z-index: 2;
}

/* !------------------------------ フォームスタイル -- */
.login_box input{
  color: #fff;
  font: 500 12px/1em 'gotham';
  background: rgba(255,255,255,.3);
  border: 1px solid transparent;
}


input.color {
  color: #4797BC;
  font-weight: bold;
  width: 100%;
}
input::-webkit-input-placeholder {
  color: rgba(255,255,255,.5);
}
input:-ms-input-placeholder {
  color: rgba(255,255,255,.5);
}
input::-moz-placeholder {
  color: rgba(255,255,255,.5);
}
input:focus {
  border-color: #fff;
}

.list_form {
  margin: -5px;
}
.list_form li {
  padding: 5px;
}
[class*="btn_"] {
  width: 100%;
}
@media screen and (max-width: 480px){
  .form_box {
    margin: 0;
  }
}

/* ボタンエリア */
[class*="btnarea_center"] {
  padding: 15px 0 30px;
}

/* テキストリンク */
.textlink_center {
  border-top: 1px dotted rgba(255,255,255,.3);
  text-align: center;
  padding: 10px 0;
}
a.textlink {
  color: rgba(255,255,255,.6);
  font: 500 10px/1em 'noto sans japanese';
  display: inline-block;
  position: relative;
}
a.textlink:before {
  content: "\f101";
  font: normal 12px/1em 'fontawesome';
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  opacity: 0;
}
a.textlink.back:before {
  content: "\f100";
  right: auto;
  left: 0;
}
a.textlink:hover {
  color: rgba(255,255,255,1);
 -webkit-transform: translateX(-10px);
 -ms-transform: translateX(-10px);
 transform: translateX(-10px); 
}
a.textlink.back:hover {
 -webkit-transform: translateX(10px);
 -ms-transform: translateX(10px);
 transform: translateX(10px); 
}
a.textlink:hover:before {
  -webkit-transform: translate(150% , -50%);
  -ms-transform: translate(150% , -50%);
  transform: translate(150% , -50%);
  opacity: 1;
}
a.textlink.back:hover:before {
  -webkit-transform: translate(-150% , -50%);
  -ms-transform: translate(-150% , -50%);
  transform: translate(-150% , -50%);
  opacity: 1;
}

