.note-list {
    padding: 0;
}

.note-list li {
    font-size: 95%;
    position: relative;
}

.note-list li::before {
    content: '';
    width: 5px;
    height: 5px;
    border-radius: 100%;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%)
}

.form-content {
    padding-top: 10px
}

.form-content p.title {
    font-weight: 600;
    padding-top: 15px
}

.form-content-item {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin: 10px 0
}

.form-content-heading {
    font-weight: 600;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    max-width: 250px;
    -webkit-flex-basis: 250px;
    -ms-flex-preferred-size: 250px;
    flex-basis: 250px;
    padding: 20px;
    border-radius: 4px;
    background: #fafafa;
    color: #000;
    font-size: 14px;
    font-weight: 400;
}

.label-required {
    font-size: 80%;
    padding: 2px 8px;
    margin-left: 10px;
    border-radius: 3px;
    background: #DD3848;
    color: #fff;
}

.form-content-detail {
    display: block;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    padding: 20px;
    margin-left: 10px;
    border: 1px solid #eee;
    border-radius: 4px;
    width: 70%;
}

.form-check-list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.form-check-list li {
    width: 49%;
    margin-bottom: 10px;
    display: inline-block
}

.form-check-list li:nth-child(odd) {
    margin-right: 2%
}

.note-text {
    display: block;
    font-size: 90%;
    margin-top: 10px;
    margin-bottom: 10px
}

textarea {
    font-size: 100%;
    width: 100%;
    display: block;
    box-sizing: border-box;
    border-radius: 3px;
    border: 1px solid #bababa;
    padding: .8em
}

input.text-input {
    font-size: 100%;
    border-radius: 3px;
    border: 1px solid #bababa;
    padding: .8em;
    max-width: calc(100% - 130px);
}

input.text-input .old-input {
    margin-right: 8px
}

.input-full {
    width: 100%
}

.company-input,
.num-input {
    margin-right: 10px
}

.add-input {
    display: block;
    width: 100%;
    margin-top: 10px;
    box-sizing: border-box
}

.contact-list-fax .num,
.contact-list-tel .num {
    width: 21%
}

.num {
    margin-left: 5px
}

.notes {
    font-size: 90%
}

.form-checkbox+label {
    display: block;
    padding: .8em 3em .8em 1em;
    border: 1px solid #bababa;
    background: #fff;
    border-radius: 4px;
    font-size: 95%;
    cursor: pointer;
    transition: .2s
}

.form-checkbox:checked+label {
    position: relative;
    color: #fff;
    border: 1px solid #fff;
    transition: .2s
}

label.form-label::after {
    display: block;
    content: '';
    position: absolute;
    top: 45%;
    right: .8em;
    width: 16px;
    height: 8px;
    border-left: 2px solid #eee;
    border-bottom: 2px solid #eee;
    -webkit-transform: translateY(-50%) rotate(-45deg);
    transform: translateY(-50%) rotate(-45deg)
}

.form-checkbox:checked+label::after {
    border-left: 2px solid #fff;
    border-bottom: 2px solid #fff
}

.form-radio-list {
    text-align: left
}

.form-radio-list li {
    display: inline-block
}

.form-radio-list.inline li {
    margin-right: 10px;
    margin-bottom: 10px;
    width: 30%
}

.form-radio-list.one-third li {
    width: 31.333%;
    margin-top: 10px;
    margin-bottom: 10px
}

.form-radio-list.one-third li {
    margin-left: 2%
}

.form-radio-list.one-third li:nth-of-type(3n+1) {
    margin-left: 0
}

.form-contact-list li {
    padding: 15px 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    border-top: 2px solid #eee
}

.form-contact-list li:first-of-type {
    border-top: none
}

.form-content-detail-label {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    max-width: 120px;
    -webkit-flex-basis: 80px;
    -ms-flex-preferred-size: 80px;
    flex-basis: 120px;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

.form-content-detail-input {
    display: block;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    padding: 5px
}

.formlabel {
    margin-right: 10px;
    font-weight: 600;
    font-size: 14px;
    font-weight: 400;
}

.contact-hours {
    margin-top: 10px
}

.contact-hours label {
    font-size: 95%;
    display: inline-block;
    vertical-align: middle
}

.form-reserve-list>li {
    margin-top: 20px;
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 2px solid #eee
}

.form-reserve-list>li::marker {
    font-size: 0;
    display: none;
}

.form-reserve-list li:first-of-type {
    margin-top: 0
}

.form-reserve-list .formlabel {
    width: 150px;
    display: inline-block;
    font-size: 14px;
    color: #0E0E0E;
    font-weight: 400;
}

.formlabel .label-required {
    padding: 4px 8px;
    font-size: 80%
}

.reserve-date {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    margin-bottom: 10px
}

.reserve-date .flatpickr-datepicker {
    width: 140px
}

.reserve-time {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    margin-bottom: 10px
}

select.form-select {
    max-width: 200px;
    min-width: 120px
}

select.date-select {
    max-width: 200px;
    min-width: 60px
}

select.time-select {
    max-width: 200px;
    min-width: 80px
}

.form-select-list {
    display: inline-block
}

.form-select-list-inner {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

.form-select-list-inner .select-wrap {
    background: #fff;
    text-indent: .01px;
    height: 40px;
    border: 1px solid #bababa;
    width: 100%;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    box-sizing: border-box;
    overflow: hidden;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

.form-select-list-inner .select-wrap:nth-child(1) {
    margin-left: 0;
}

.select-wrap.reserve-year {
    max-width: 85px;
    margin-right: 5px
}

.select-wrap.reserve-day,
.select-wrap.reserve-month {
    max-width: 60px;
    margin-left: 5px;
    margin-right: 5px
}

.select-wrap.reserve-time {
    width: 90px;
    max-width: 90px;
    margin-left: 5px;
    margin-right: 5px
}

.select-wrap.reserve-year {
    max-width: 85px;
    margin-right: 5px
}

.reserve-time .select-wrap {
    max-width: 166px
}

.select-wrap.select-price-lower {
    margin-right: 5px
}

.select-wrap.select-price-upper {
    margin-left: 5px
}

.form-select-list-inner .select-wrap select {
    cursor: pointer;
    font-size: 90%;
    width: 130%;
    background: #fff;
    -moz-appearance: none;
    text-indent: .01px;
    padding: 8px 25px 8px 5px;
    border: none;
}

.text-input-list {
    padding-left: 0;
}

.text-input-list li {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    margin-top: 10px
}

.text-input-list li:first-of-type {
    margin-top: 0
}

.notes {
    color: #DD3848;
    display: block;
}

.form-content-item input {
    font-size: 14px;
    font-weight: 400;
}

.form-submit {
    text-align: center;
    clear: both;
    margin-top: 3%;
}

.heading-text {
    margin-bottom: 0;
}

.form-submit--agree {
    margin-bottom: 2%;
}

.form-submit--agree a {
    color: #000;
    text-decoration: underline;
}

.form-content ul {
    padding-left: 0;
}

.form-content li::marker {
    font-size: 0;
    display: none;
}

@media screen and (max-width: 768px) {
    #sec01 .col-lg-12 {
        padding: 0;
    }

    .form-content-item {
        display: block
    }

    .form-content-heading {
        max-width: 100%;
        -webkit-flex-basis: 100%;
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%
    }

    .form-content-detail {
        width: 100%;
        margin-left: 0;
        margin-top: 4px;
    }

    .name {
        width: 49%
    }

    .form-content-detail input.name:first-of-type {
        margin-right: 1%
    }

    .form-contact-list li {
        display: block;
        padding: 10px 0 25px
    }

    .form-content-detail-label {
        display: flex;
        max-width: 100%;
        -webkit-flex-basis: 100%;
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        margin-bottom: 15px;
        padding-top: 15px
    }

    .form-content-detail-input {
        padding: 0;
        text-align: left
    }

    .note-list li::before {
        top: 8px;
        transform: none
    }

    .form-content-item {
        margin: 0 0 40px
    }

    .form-content-heading {
        padding: 15px;
        border: 1px solid #eee;
        background: #fafafa;
    }

    .form-content-detail {
        padding: 0;
        border: none;
        margin-top: 20px;
        margin-bottom: 20px
    }

    .form-check-list li {
        width: 100%
    }

    .form-check-list li:nth-child(odd) {
        margin-right: 0
    }

    .form-content-detail input.name:first-of-type {
        margin-right: 0;
        margin-bottom: 10px
    }

    input.text-input {
        height: 48px;
        line-height: 48px
    }

    .name {
        width: 100%
    }

    .num-input {
        margin-right: 2%
    }

    .form-radio-list.one-third li {
        width: 100%;
        margin-left: 0
    }

    .old-input {
        width: 20%
    }

    .contact-list-fax .num-input,
    .contact-list-post .num-input,
    .num-input {
        width: 20%
    }

    .contact-list-fax .num,
    .contact-list-tel .num {
        width: 30%
    }

    .contact-list-email .text-input {
        width: 100%
    }

    .text-input-list li {
        display: block
    }

    .text-input-list .text-input {
        display: block;
        width: 100%;
        margin-top: 8px;
        margin-bottom: 24px
    }

    .reserve-date,
    .reserve-time {
        margin-bottom: 15px;
        display: block
    }

    .form-select-list-inner .select-wrap {
        height: 48px;
        padding: 8px 32px 8px 8px
    }

    .form-reserve-list .formlabel {
        width: 100%;
        display: block;
        margin-bottom: 10px;
    }

    input.text-input {
        max-width: 100%;
    }

    .form-submit--agree {
        margin-bottom: 8%;
    }

}