@charset "UTF-8";

/* select2-3.7.1.min.jsの上書き */
/* ボックスのデザイン変更 */
.select2-container .select2-selection--single {
    border: 1px solid var(--theme-color);
}
.select2-dropdown {
    border: 1px solid var(--theme-color);
}
/* ボックスのデザイン変更終了 */
/* select2-3.7.1.min.jsの上書き終了 */

/* select2-3.7.1.min.jsの上書き */
/* ボックスのデザイン変更 */
.select2-container .select2-selection--single {
    border: 1px solid var(--theme-color);
}
.select2-dropdown {
    border: 1px solid var(--theme-color);
}
/* ボックスのデザイン変更終了 */
/* select2-3.7.1.min.jsの上書き終了 */

/* base.css上書き */
:root{
    --header-top-height: 0px;
    --header-bottom-height: 0px;
}
/* base.css上書き終了 */

ul.errorlist.nonfield {
    text-align: center;
    font-size: 1.4rem;
    font-weight: bold;
    color: var(--red);
    list-style: none;
}

#deck_create_form {
    width: 100%;
}

#deck_create_form select, #deck_create_form input, #deck_create_form textarea, #deck_create_form button {
    font-size: 1.6rem;
}

#deck_create_form select, #deck_create_form input, #deck_create_form textarea, #deck_create_form button {
    width: 100%;
    background-color: #fff;
    border: 1px solid var(--theme-color);
    border-radius: 5px;
}

#deck_create_form select, #deck_create_form input {
    padding: 0 6px;
    height: 28px;
    color: #000;
}

#deck_create_form textarea {
    padding: 6px;
    height: 200px;
}

#deck_create_form button {
    display: block;
    margin: 0 auto;
    width: 50%;
    padding: 10px 6px;
    color: #fff;
    background-color: var(--theme-color);
}
#deck_create_form label {
    display: block;
    margin-bottom: 4px;
}

.form__item {
    margin: 10px;
    margin-bottom: 24px;
}

.form__item--countable {
    margin-bottom: 0;
}

.form__label--necessary {
    margin-left: 2px;
    color: var(--red);
}

.form__item--agreement {
    display: flex;
    justify-content: start;
    align-items: center;
}

.form__item--checkbox {
    flex-grow: 1;
    flex-shrink: 0;
    flex-basis: 0%;
    margin-right: 8px;
}

.form__item--checkbox input {
    width: 28px;
    height: 28px;
}

.form__item--agreement label {
    flex-grow: 10;
    flex-shrink: 0;
    flex-basis: 0%;
    margin: 0 !important;
}

@media screen and (min-width: 480px) {
    .form__item--agreement label {
        flex-grow: 15;
        flex-shrink: 0;
        flex-basis: 0%;
    }
}

@media screen and (min-width: 1280px) {
    .form__item--agreement label {
        flex-grow: 25;
        flex-shrink: 0;
        flex-basis: 0%;
    }
}

.form__counter {
    margin-top: 4px;
    display: flex;
    justify-content: end;
    align-items: center;
}

.red {
    outline-color: var(--red);
    color: var(--red);
}
