/* ===================================================
   ファイル名: account-first-add.css
   作成者: 北川 淳也
   概要: MamoruNの初回アカウント追加画面のデザインを定義する
=================================================== */

.container {
    max-width: 960px;
    margin: 0 auto;
}

.page-logo {
    display: block;
    width: 110px;
    margin: 0 auto 24px;
}

.page-header {
    text-align: center;
    margin-bottom: 35px;
}

/* ===============================
   戻るボタン
================================ */

.backArea {
    margin: 20px 0 25px;
}

.backButton {
    display: inline-flex;
    align-items: center;
    gap: 8px;

    color: #4b8df8;
    text-decoration: none;

    font-weight: 700;
    transition: .2s;
}

.backButton:hover {
    color: #2f6ed8;
}


/* ===============================
   メインカード
================================ */

.card {

    background: #ffffff;

    border-radius: 28px;

    padding: 45px;

    border: 2px solid #edf6ff;

    box-shadow:
        0 10px 30px rgba(0, 0, 0, .06);

}


.card h2 {

    margin: 0;

    font-size: 34px;

    color: #2c3e50;

    font-weight: 700;

}


.description {

    margin-top: 15px;

    margin-bottom: 35px;

    color: #777;

    font-size: 16px;

    line-height: 1.8;

}

/* ===============================
   フォーム
================================ */

.formGroup {

    display: flex;

    flex-direction: column;

    margin-bottom: 26px;

}


.formGroup label {

    display: flex;

    align-items: center;

    gap: 8px;

    margin-bottom: 10px;

    font-size: 15px;

    font-weight: bold;

    color: #333;

}


.required {

    color: #ff5252;

    font-size: 13px;

}


.formGroup input {

    width: 100%;

    padding: 15px 18px;

    border-radius: 16px;

    border: 2px solid #d8e9ff;

    font-size: 16px;

    box-sizing: border-box;

    transition: .25s;

}


.formGroup input:focus {

    outline: none;

    border-color: #5ba8ff;

    box-shadow:

        0 0 0 5px rgba(91, 168, 255, .15);

}


.inputHint {

    margin-top: 8px;

    font-size: 13px;

    color: #8292aa;

}

/* ===============================
   ボタン
================================ */

.buttonArea {

    display: flex;

    justify-content: center;

    gap: 15px;

    margin-top: 40px;

}


.primaryButton,
.secondaryButton {

    flex: 1;

    max-width: 260px;

    padding: 14px;

    border: none;

    border-radius: 50px;

    font-size: 15px;

    font-weight: bold;

    cursor: pointer;

    transition: .25s;

}


.primaryButton {

    background:

        linear-gradient(135deg,
            #59b7ff,
            #70d2ff);

    color: white;

    box-shadow:

        0 5px 15px rgba(89, 183, 255, .25);

}


.primaryButton:hover {

    transform: translateY(-2px);

}


.secondaryButton {

    background: #eef6ff;

    color: #4b6b8a;

}


.secondaryButton:hover {

    background: #dceeff;

    transform: translateY(-2px);

}

/* ===============================
   レスポンシブ
================================ */

@media(max-width:768px) {

    .card {

        padding: 30px;

        border-radius: 22px;

    }


    .card h2 {

        font-size: 28px;

    }


    .buttonArea {

        flex-direction: column;

    }


    .primaryButton,
    .secondaryButton {

        max-width: none;

        width: 100%;

    }

}


@media(max-width:480px) {

    .container {

        padding: 0 16px;

    }


    .card {

        padding: 22px;

    }


    .card h2 {

        font-size: 24px;

    }


    .formGroup input {

        font-size: 15px;

        padding: 14px;

    }

}