/*  common */
    .form h2 {
        color: var(--red-dark);
        text-align: center;
        margin: 4rem 0 1rem
    }

/*  section.register */
    section.register {
        padding: 1rem;
    }

    section.register .input-wrap {
    }

    section.register .input-wrap input {
    }

    .submit {
        text-align: center;
        margin-top: 1rem;
    }
    .submit button,
    #sendCode {
        transform: none !important;
        transition: background-color .2s ease, border-color .2s ease, color .2s ease, box-shadow .2s ease;
    }
    .submit button:hover,
    #sendCode:hover {
        transform: none !important;
        box-shadow: 0 4px 10px rgba(0, 0, 0, .18);
    }
    .submit .btn-danger:hover {
        color: #fff;
        background-color: var(--red-dark);
        border-color: var(--red-dark);
    }

    .submit-wrap {
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .submit-wrap button {
        margin-left: .5rem;
        margin-right: .5rem
    }

/* form */
    .form section h3 {
        border-bottom: solid 3px var(--gray-300);
        margin-top: 3rem;
        margin-bottom: 1rem;
        padding-bottom: .5rem;
        position: relative;
    }
    .form section h3:before {
        width: 16%;
        min-width: 115px;
        border-bottom: 3px solid var(--red-dark);
        position: absolute;
        content: '';
        bottom: -3px;
    }


/* form */
    .form input,
    .form textarea {
        color: var(--blue-dark)
    }

    .form-item {
        margin-bottom: 1rem
    }

    .form-item label {
        margin: 0;
        font-size: small;
        font-weight: bold;
        color: var(--gray-600)
    }

    .form-item label.required:after {
        content: "*";
        color: var(--red-dark);
        margin-left: .2rem
    }

    .form-item .choice {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        color: var(--gray-700)
    }

    .form-item .choice input {
        margin-right: .2rem;
    }

    .form-item .choice span {
        display: flex;
        align-items: center;
        margin-right: 1rem
    }

    a.agree {
        color: var(--blue);
        border: solid 1px var(--blue);
        line-height: 1;
        padding: 2px 5px;
        border-radius: 2px
    }
    a.agree:hover {
        background-color: var(--blue);
        color: #fff
    }

    .agreement {
        border: solid 1px var(--gray-300);
        background-color: #FDFBEE;
        padding: 2rem;
        overflow-y: auto;
        line-height: 2;
        box-shadow: inset 0 0 5px rgba(0,0,0,0.5);
        height: 250px;
    }

    @media only screen and (min-width: 768px) {
        .form-item {
            display: flex;
            align-items: center;
        }

        .form-item label {
            display: block;
            width: 20%;
            text-align: right;
            padding-right: 1rem;
            font-size: medium;
            line-height: 1
        }

        .form-item .choice {
            width: 100%
        }
    }
