@charset "UTF-8";

/* ************************************************** */
/* region Reservation Form */
/* ************************************************** */
body.page-id-8393 .entry-title,
body.page-id-8393 .post .entry-title,
body.parent-pageid-8393 .entry-title,
body.parent-pageid-8393 .post .entry-title
{
    background-color: #666;
}

.fis-reservation-form
{
    margin: calc(-30px + 1em) 0 3em;
}

.fis-reservation-form br,
.fis-reservation-form p:empty
{
    display: none;
}

.fis-reservation-form__required
{
    display: block;
    padding: 4px 8px;
    border-radius: 3px;
    background-color: #f69;
    color: #fff;
    vertical-align: middle;
    line-height: 1;
}

.fis-reservation-form--change .fis-reservation-form__required
{
    background-color: #888;
}

.fis-reservation-form input:not([type='checkbox']):not([type='radio']):not([type='submit']),
.fis-reservation-form select,
.fis-reservation-form textarea
{
    padding: 12px !important;
    max-width: 100% !important;
    width: 100% !important;
    outline: none !important;
    border: 1px #ccc solid !important;
    border-radius: 0 !important;
    border-radius: 3px !important;
    background-color: #f7f7f7 !important;
    font-size: 16px !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}

.fis-reservation-form .fis-reservation-form__field--branch .wpcf7-form-control-wrap select,
.fis-reservation-form .fis-reservation-form__field--date-time .wpcf7-form-control-wrap select,
.fis-reservation-form .fis-reservation-form__field--change-date-time .wpcf7-form-control-wrap select,
.fis-reservation-form .fis-reservation-form__field--cancel-date-time .wpcf7-form-control-wrap select
{
    position: relative;
    padding-right: calc(4px + 16px + 12px) !important;
}

.fis-reservation-form .fis-reservation-form__field--branch .wpcf7-form-control-wrap::after,
.fis-reservation-form .fis-reservation-form__field--date-time .wpcf7-form-control-wrap::after,
.fis-reservation-form .fis-reservation-form__field--change-date-time .wpcf7-form-control-wrap::after,
.fis-reservation-form .fis-reservation-form__field--cancel-date-time .wpcf7-form-control-wrap::after
{
    position: absolute;
    top: 50%;
    right: 12px;
    width: 16px;
    height: 16px;
    content: '\f107';
    font-weight: bold;
    font-family: FontAwesome;
    transform: translate(0, -50%);
    pointer-events: none;
    font-weight: normal;
}

.fis-reservation-form select:hover
{
    cursor: pointer;
}

.fis-reservation-form input:not([type='checkbox']):not([type='radio']):not([type='submit']):focus,
.fis-reservation-form select:focus,
.fis-reservation-form textarea:focus
{
    border-color: #f69 !important;
    background: #fff !important;
    transition: none !important;
}

.fis-reservation-form .wpcf7-not-valid-tip
{
    position: relative;
    margin: .75em 0 0;
    padding: 12px;
    border-color: #f69;
    border-radius: 3px;
    background: #f69;
    color: #fff;
    font-weight: bold;
}

.fis-reservation-form .wpcf7-not-valid-tip::before
{
    position: absolute;
    top: -8px;
    left: 16px;
    width: 0;
    height: 0;
    border-width: 0 8px 8px 8px;
    border-style: solid;
    border-color: transparent transparent #f69 transparent;
    content: '';
}

.fis-reservation-form .wpcf7-response-output
{
    margin: 16px 0 0 !important;
    padding: 12px !important;
    border: 0 !important;
    border-radius: 3px !important;
    background: #30649a !important;
    color: #fff !important;
    font-weight: bold !important;
}

.fis-reservation-form.sent .wpcf7-response-output
{
    background: #309a64 !important;
}

.fis-reservation-form.failed .wpcf7-response-output,
.fis-reservation-form.aborted .wpcf7-response-output,
.fis-reservation-form.spam .wpcf7-response-output,
.fis-reservation-form.invalid .wpcf7-response-output,
.fis-reservation-form.unaccepted .wpcf7-response-output
{
    background: #f69 !important;
}

.fis-reservation-form__fieldset > :first-child
{
    margin-top: 0;
}

.fis-reservation-form__fieldset > :last-child
{
    margin-bottom: 0;
}

.fis-reservation-form__field
{
    margin: 2em 0 0;
}

.fis-reservation-form__field.fis-reservation-form__field--date-time + .fis-reservation-form__field.fis-reservation-form__field--date-time,
.fis-reservation-form__field.fis-reservation-form__field--change-date-time + .fis-reservation-form__field.fis-reservation-form__field--change-date-time,
.fis-reservation-form__field.fis-reservation-form__field--cancel-date-time + .fis-reservation-form__field.fis-reservation-form__field--cancel-date-time
{
    margin-top: .75em;
    padding-top: .5em;
    border-top: 1px solid #ede7e1;
}

.fis-reservation-form__field-header
{
    display: flex;
    margin: 0 0 .25em;
    padding: 0 0 .25em;
    border-bottom: 0 solid #f69;
    color: #666;
    font-weight: bold;
    align-items: center;
}

.fis-reservation-form--change .fis-reservation-form__field-header
{
    border-color: #666;
}

.fis-reservation-form__field-title
{
    margin: 0 .75em 0 0;
    font-size: 1.15em;
}

.fis-reservation-control
{
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

.fis-reservation-control__date,
.fis-reservation-control__before-date,
.fis-reservation-control__after-date
{
    margin: .25em 0;
    width: 9.5em;
    flex-shrink: 0;
    flex-grow: 0;
}

.fis-reservation-control__middle
{
    margin: .25em .5em;
    width: calc(100% - (.5em * 2) - 9.5em);
    flex-shrink: 0;
    flex-grow: 0;
}

@media (min-width: 1000px)
{
    .fis-reservation-control__middle
    {
        width: auto;
    }
}

.fis-reservation-control__time,
.fis-reservation-control__before-time,
.fis-reservation-control__after-time
{
    margin: .25em .5em .25em 0;
    width: 9.5em;
    flex-shrink: 0;
    flex-grow: 0;
}

.fis-reservation-control__after
{
    margin: .25em 0;
    flex-shrink: 0;
    flex-grow: 0;
}

.fis-reservation-control__before-middle,
.fis-reservation-control__after-middle
{
    margin: .25em .5em;
    width: calc(100% - 9.5em - (.5em * 2) - 1em);
    flex-shrink: 0;
    flex-grow: 0;
}

@media (min-width: 768px)
{

    .fis-reservation-control__before-middle,
    .fis-reservation-control__after-middle
    {
        width: auto;
    }
}

.fis-reservation-control__before-time,
.fis-reservation-control__after-time
{
    margin: .25em .5em .25em 0;
    width: 9.5em;
    flex-shrink: 0;
    flex-grow: 0;
}

.fis-reservation-control__before-after
{
    margin: .25em 0;
    width: calc(100% - 9.5em - .5em);
    flex-shrink: 0;
    flex-grow: 0;
}

@media (min-width: 768px)
{
    .fis-reservation-control__before-after
    {
        width: calc(100% - 9.5em - (.5em * 2) - 1em - 9.5em - .5em);
    }
}

.fis-reservation-control__after-after
{
    margin: .25em 0;
    flex-shrink: 0;
    flex-grow: 0;
}

.fis-reservation-form__actions
{
    display: flex;
    flex-direction: column;
    margin: 2em 0 0;
    align-items: center;
}

.fis-reservation-form .wpcf7-submit
{
    display: inline-block !important;
    padding: 16px 80px !important;
    border: 0 !important;
    border-radius: 8px !important;
    background-color: #f69 !important;
    color: #fff !important;
    font-weight: bold !important;
    font-size: 1.15em !important;
}

.wpcf7 .fis-reservation-form .wpcf7-spinner
{
    display: none !important;
    margin: 16px 0 0 !important;
    width: auto !important;
    height: auto !important;
    background: none !important;
    text-align: center !important;
    opacity: 1 !important;
}

.wpcf7 .fis-reservation-form.submitting .wpcf7-spinner,
.wpcf7 .fis-reservation-form .wpcf7-spinner.is-active
{
    display: flex !important;
    align-items: center;
    justify-content: center;
}

.fis-reservation-form .wpcf7-spinner::after
{
    margin: 0px 0 0 8px;
    content: '送信中…';
}

.fis-reservation-form .wpcf7-spinner::before
{
    position: static !important;
    top: auto !important;
    left: auto !important;
    width: 16px !important;
    height: 16px !important;
    border-radius: 0 !important;
    background: url(data:image/gif;base64,R0lGODlhEAAQAPIAAP///wAAAMLCwkJCQgAAAGJiYoKCgpKSkiH/C05FVFNDQVBFMi4wAwEAAAAh/hpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh+QQJCgAAACwAAAAAEAAQAAADMwi63P4wyklrE2MIOggZnAdOmGYJRbExwroUmcG2LmDEwnHQLVsYOd2mBzkYDAdKa+dIAAAh+QQJCgAAACwAAAAAEAAQAAADNAi63P5OjCEgG4QMu7DmikRxQlFUYDEZIGBMRVsaqHwctXXf7WEYB4Ag1xjihkMZsiUkKhIAIfkECQoAAAAsAAAAABAAEAAAAzYIujIjK8pByJDMlFYvBoVjHA70GU7xSUJhmKtwHPAKzLO9HMaoKwJZ7Rf8AYPDDzKpZBqfvwQAIfkECQoAAAAsAAAAABAAEAAAAzMIumIlK8oyhpHsnFZfhYumCYUhDAQxRIdhHBGqRoKw0R8DYlJd8z0fMDgsGo/IpHI5TAAAIfkECQoAAAAsAAAAABAAEAAAAzIIunInK0rnZBTwGPNMgQwmdsNgXGJUlIWEuR5oWUIpz8pAEAMe6TwfwyYsGo/IpFKSAAAh+QQJCgAAACwAAAAAEAAQAAADMwi6IMKQORfjdOe82p4wGccc4CEuQradylesojEMBgsUc2G7sDX3lQGBMLAJibufbSlKAAAh+QQJCgAAACwAAAAAEAAQAAADMgi63P7wCRHZnFVdmgHu2nFwlWCI3WGc3TSWhUFGxTAUkGCbtgENBMJAEJsxgMLWzpEAACH5BAkKAAAALAAAAAAQABAAAAMyCLrc/jDKSatlQtScKdceCAjDII7HcQ4EMTCpyrCuUBjCYRgHVtqlAiB1YhiCnlsRkAAAOwAAAAAAAAAAAA==) no-repeat 50% 50%;
    content: '';
    transform: none !important;
    animation: none !important;
}

.fis-reservation-form__field-error
{
    margin-bottom: 10px;
}

/* endregion Reservation Form */
