@charset "UTF-8";
/*
formのサイズ 960px
break point1 1007px…formの両脇が狭苦しくなってきたら
break point2 767px…ipad miniのサイズを切ったら
*/

:root {
    --wideContentsWidth: 960px;
}
.wpcf7,
form {
    width: 100%;
}

.requiredCaution {
    width: 100%;
    text-align: right;
    font-size: 12px;
    color: #ee0101;
    margin-bottom: 8px;
}

[type="submit"],
[type="button"] {
    display: block;
    font-size: 16px;
    margin: 0 auto;
    padding: 16px 96px;
    background: #000;
    color: #fff;
    border: none;
    text-shadow: none;
    border-radius: 0;
    cursor: pointer;
    outline: none;
    text-align: center;
    transition: .3s;

    &:hover {
        background-color: #ddd;
        color: #000;
    }
    &:disabled {
        background-color: #ddd;
        color: #666;
        cursor: not-allowed;
    }
}

.previous_submit {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 24px;
    justify-content: space-evenly;
    width: 100%;
    div {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        width: 50%;
    }
    input {
        margin: 0;
        &.wpcf7-previous {
            background-color: #969696;
            &:hover {
                background-color: #ddd;
            }
        }
    }
    .wpcf7-spinner{
        display: contents;
    }
}

.wpcf7-turnstile-wrap {
    width: 100%;
    display: flex;
    justify-content: flex-end;
}

main .inner {
    max-width: unset;
}

.contact_complete div {
    padding: 80px 16px;
    max-width: 800px;
    font-size: 16px;
    line-height: 1.8;
}

@media screen and (max-width: 1007px) {
    .contact_section {
        width: 100%;
        padding: 0;
        dl div dd {
            flex-direction: column;
            justify-content: center;
            align-items: flex-start;

            .reservation_inline_wrap {
                display: flex;
                width: 100%;
                &:last-of-type {
                    margin-right: 0;
                }
                .select_text {
                    margin-right: 0;
                    width: 96px;
                }
                .wpcf7-form-control-wrap {
                    width: auto;
                }
            }

            .wpcf7-form-control-wrap {
                width: 100%;
                /* margin: 0 0 16px 0; */

                &:last-of-type {
                    margin-bottom: 0;
                }
            }

            [type=text],
            [type=number],
            [type=email],
            [type=tel],
            [type=date] {
                width: 100%;
            }

            /* 都道府県取得のとき用 */
            &.h-adr {
                div {
                    align-items: flex-start;
                    flex-direction: column;
                    a {
                        margin-left: 0;
                    }
                }
            }
        }
    }
}

@media screen and (max-width:832px) {
    .contact_section dl {
        div {
            flex-direction: column;
            dt {
                width: 100%;
                margin: 0;
                padding: 8px;
                justify-content: flex-start;
            }
            dd {
                width: 100%;
                padding: 20px 10px;
                .reservation_inline_wrap {
                    flex-direction: row;
                    /* align-items: flex-start; */
                }

            }
        }
    }
}

@media only screen and (max-width: 660px) {
    .previous_submit {
        flex-direction: column;
        align-items: center;
        input.wpcf7-previous {
            margin-bottom: 16px;
        }
    }

}

/* Multi-Step Forms 文字数制限対応の調整 */
.countTxt {
    text-align: right;
    width: 100%;
}
