/* ==========================================================================
   認証画面（マイページログイン／ログアウト／パスワードを忘れたら／新パスワード登録）
   pf.medisuppo.net（pf.nekopass.jp）の /login と同様のレイアウトに合わせたスタイル。
   parts/auth.blade.php を親レイアウトに持つ画面のみに影響する。
   ========================================================================== */

* {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

/* ヘッダー（ロゴのみ） */
header {
    width: 100%;
    height: auto;
    background: #fff;
    box-shadow: 0 0 6px rgba(0, 0, 0, 0.15);
    display: flex;
    align-items: center;
}
.headerInner {
    display: flex;
    align-items: center;
    width: 100%;
    max-width: 1080px;
    height: 74px;
    margin: 0 auto;
    padding: 0 20px;
}
.headerInner p.logo {
    margin: 0;
}
.headerInner p.logo a {
    display: flex;
    align-items: center;
    width: 160px;
}
.headerInner p.logo a img {
    width: 100%;
    height: auto;
    max-height: 60px;
}

/* 見出し・共通コンテナ */
h1 {
    color: #333333;
    font-size: 22px;
    letter-spacing: 0.05em;
    font-weight: bold;
    text-align: left;
    margin: 0 auto 20px;
}
#login h1 {
    text-align: center;
}
#login .text-success,
#login .text-danger {
    display: block;
    margin: 10px 0;
    text-align: center;
}
.inner {
    width: 100%;
    max-width: 560px;
    margin: 20px auto;
    padding: 0 20px;
}
.inner p {
    font-size: 14px;
}

/* ログインページ */
#login .inner {
    margin: 30px auto;
}
#login form label {
    font-size: 16px;
    font-weight: normal;
    padding-bottom: 5px;
    display: inline-block;
    vertical-align: middle;
}
#login form .auth-alert {
    /* ログイン後の画面で使われる.text-danger.form-text(font-size:85%)に合わせる。
       以前は入力欄の上(ラベル横)にinline-blockで表示していたが、他画面同様に入力欄の下に
       表示する形に変更したためdisplay:blockに変更し、margin-topで間隔を空ける */
    font-size: 85%;
    color: #ED1C24;
    display: block;
    margin-top: 0.3rem;
}
#login form .auth-alert:empty {
    display: none;
}
#login form {
    max-width: 340px;
    margin: 0 auto;
}
#login form input[type="email"],
#login form input[type="tel"],
#login form input[type="text"],
#login form input[type="password"] {
    width: 100%;
    border: 1px solid #B3B3B3;
    border-radius: 6px;
    height: 40px;
    padding: 10px 15px 6px;
}
#login form input::placeholder {
    color: #CCCCCC;
}
#login form select {
    width: 100%;
    border: 1px solid #B3B3B3;
    border-radius: 6px;
    height: 40px;
    padding: 6px 15px;
    background-color: #fff;
    color: #333333;
}
/* フィールド間の余白(旧: 各inputのmargin-bottom:30px)。エラーメッセージの有無に関わらずフィールド単位で
   一定間隔を確保しつつ、入力欄とエラーメッセージの間は詰まった状態(ログイン後の.form-text同様)にするため、
   余白は入力欄自体ではなくラベル+入力欄+エラーメッセージをまとめた.auth-field側に持たせる */
.auth-field {
    margin-bottom: 30px;
}
#login form input[type="text"]:disabled {
    background-color: #F0F0F0;
    color: #1a1a1a;
}
#login form select:disabled {
    background-color: #F0F0F0;
    color: #999999;
}
#login form input[type="checkbox"] {
    width: 20px;
    height: 20px;
    border-radius: 6px;
    border: 1px solid #B3B3B3;
    display: inline-block;
    vertical-align: middle;
    margin-right: 4px;
    margin-bottom: 2px;
}
.box-txt {
    font-size: 14px;
    vertical-align: middle;
    text-align: center;
}
/* 新しいパスワード登録ページ等の「新パスワードを登録する」ボタンと注意文言の間隔 */
.bottom-message {
    margin-top: 5px;
}
/* パスワードを忘れたら(入力)ページ・新ログインパスワードの登録(入力)ページの案内文言。
   ブロック自体は中央に据え置いたまま(width:fit-content+margin:auto)、
   ブロック内の各行の開始位置は左揃えにする(text-align:leftのみだと、幅いっぱいの.innerの左端まで
   文言全体が寄ってしまうため、幅を文言の内容に合わせて中央寄せする) */
#login.forgot-input .bottom-message,
#login.reset-input .bottom-message {
    width: fit-content;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    text-align: left;
}

/* 進む／戻るボタン */
form button.submit,
form a.submit {
    width: 100%;
    height: 40px;
    padding-top: 2px;
    background-color: #EF8378;
    margin-top: 20px;
    border-radius: 6px;
    border: none;
    color: #fff;
    transition: .6s;
    cursor: pointer;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}
form button.submit:hover,
form a.submit:hover {
    background-color: #f29e95;
    color: #fff;
}
form button.submit.login::before {
    content: "";
    display: inline-block;
    background: url(/img/icon-login.svg) center center no-repeat;
    background-size: cover;
    height: 20px;
    width: 20px;
    position: absolute;
    left: calc(50% - 4em);
    top: 10px;
}
form .submit.back {
    background-color: #808080;
}
form .submit.back:hover {
    background-color: #999999;
}

/* ボトムリンク */
a.login-link {
    font-size: 16px;
    color: #EF8378;
    text-align: center;
    text-decoration: none;
}
a.login-link::before {
    content: "";
    height: 12px;
    width: 12px;
    display: inline-block;
    margin: 0 4px 0 0;
    background: url(/img/icon-arrow-right.svg) center center no-repeat;
    background-size: cover;
}
p.center {
    text-align: center;
    margin-top: 5px;
}

/* フッター */
footer.auth-footer {
    font-size: 12px;
    color: #fff;
    text-align: center;
    background-color: #808080;
    padding: 10px 0;
}
