html {
    min-height: 100vh;
    background: #f2f2f2;
}
body {
    margin: 0;
}
body.show-loading,
#main-content.show-loading,
#main-content.show-loading-edit-booking {
    position: relative;
}
body.overflow-hide {
    overflow: hidden !important;
}
body.show-loading::before,
#main-content.show-loading::before,
#main-content.show-loading-edit-booking::before {
    background-color: #000000e6;
    background-image: url('../images/loading_renew.svg');
    background-position: center;
    background-repeat: no-repeat;
    background-size: 72px;
    content: ' ';
    width: 100%;
    height: 100%;
    display: inline-block;
    top: 0;
    left: 0;
    position: fixed;
    z-index: 99999;
}
.form-control {
    position: relative;
}
.site-content .form-group .form-control .haft-col-left {
    position: relative;
}
.webol-content label.error {
    left: 0px;
    bottom: -17px;
    font-size: 12px;
    font-weight: normal;
    color: red;
    text-align: left;
    display: block;
    padding-top: 5px;
    display: none !important;
}
.webol-content .time-zone-select.btn-error {
    border-color: red;
}
.webol-content .item-select label.error,
.webol-content .group-item-form label.error {
    position: absolute;
    left: 0px;
    bottom: -17px;
    font-size: 12px;
    font-weight: normal;
    color: red;
    text-align: left;
}

.site-content .form-group .haft-col-right label.error {
    left: 20px;
}
.booking-info p {
    font-size: 30px;
    font-weight: bold;
}
@media (max-width: 768px) {
    .site-content .form-group .haft-col-right label.error {
        left: 0px;
    }
    .booking-info p {
        font-size: 20px;
    }
}
.webol-content input.error,
.webol-content select.error {
    border-color: red;
}

.system-error {
    display: flex;
    align-items: center;
    justify-content: center;
}
.system-error p {
    font-size: 30px;
    font-weight: 700;
    color: #000000;
    text-align: center;
}
.system-error p span {
    font-size: 22px;
}
.modal-open .modal-content .modal-text-content {
    color: #1c1b19;
}
.btn-next-datetime.hidden {
    display: none;
}
div.hidden {
    display: none;
}
.action-form.hidden,
.group-item-form.d-hidden,
.input-hidde-after-select.d-hidden {
    display: none !important;
}

.btn-prev:disabled,
.btn-next:disabled {
    pointer-events: none;
}
.inner-site-content {
    box-sizing: border-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-grid-column-align: center;
    justify-items: center;
    -ms-flex-pack: center;
    justify-content: center;
    min-height: 80vh;
    padding-bottom: 170px;
    position: relative;
    width: 100%;
}
.course-name-for-report {
    margin: 0;
}
.btn-secondary {
    color: #fff;
    background-color: #999999;
    border-color: #999999;
    text-decoration: none;
    transition: 0.3s all;
    display: block;
    line-height: 1;
    padding: 7px 10px;
}
.btn-secondary:hover {
    color: #000;
    background: #fff;
}
.ml-10 {
    margin-left: 10px;
}
#course_name_for_report_confirm {
    margin-bottom: 0;
}

@media (min-width: 992px) {
    .inner-site-content {
        min-height: 80vh;
        padding-top: 100px;
        padding-bottom: 100px;
    }
    .webol-content .text-confirm p span.span_header {
        font-size: 23px;
    }
}
span.disable:disabled {
    cursor: text;
}
.d-hidden {
    display: none !important;
}
.d-none {
    display: none !important;
}
.change-data-number-people button.btn-aqua-confirm-data:disabled,
.change-data-number-people btn-aqua-confirm-data[disabled] {
    border: 1px solid #999999;
    background-color: #cccccc;
    color: #666666;
    cursor: not-allowed;
}
label.error {
    display: none !important;
}
input.error {
    border-color: red;
}
.modal-body p {
    text-align: center;
}

#notice_table tbody td {
    background-color: #f8f8f8;
    font-size: 0.875rem;
    padding: 0px;
    border: none;
}
#notice_table {
    border: none;
    background-color: #f8f8f8;
    margin: 1rem 0;
}

.notice-table {
    background-color: #f8f8f8;
    border-radius: 8px;
    margin-bottom: 25px;
    padding: 5px 20px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-top: 20px;
}

#notice_table .text-num {
    vertical-align: top;
}

.action-form-booking {
    display: flex;
    justify-content: space-between;
}

@media screen and (max-width: 767px) {
    .action-form-booking {
        /* flex-direction: column; */
        align-items: center;
    }

    #register_booking .action-form-booking,
    #form-register-info-customer .action-form-booking {
        flex-direction: unset;
        align-items: center;
    }

    /* #step__content-register4 .step-4-button button.btn-form-booking{
        min-width: 100%;
    } */
    
    .action-form-booking .button-1 {
        order: 2;
        width: 302px;
    }

    /* .action-form-booking .button-2 {
        margin-bottom: 20px !important;
        padding: 5px 65px;
        width: 302px;
    } */
    .w-ms-100 {
        width: 100%;
    }
    .justify-content-sm-bw {
        justify-content: space-between;
    }

    .d-sm-none {
        display: none !important;
    }
}

.bg-revervation2 {
    background-color: #f2f2f2;
    padding-top: 10px;
    padding-bottom: 50px;
}

.form-register {
    margin: 10px 0 30px;
    background-color: #fff;
    border-radius: 15px;
    display: block;
    padding: 30px 0;
    font-size: 0.875rem;
    box-sizing: border-box;
}

.form_content_booking{
    padding: 0 1rem;
}

.form-register .form-register_title {
    text-align: center;
    font-size: 1.25rem;
    margin: 0 auto 20px;
    max-width: 75%;
    font-weight: 700;
}

.form-register .form-register_description {
    margin: 0 auto 30px;
    width: 75%;
    font-weight: 400;
}

.form-register .form-register_description .sub-title {
    /* color: rgba(0, 0, 0, 0.25); */
    color: #a3a3a3;
}

.form-register p {
    margin-bottom: 0;
}

.tab-contents-item-description p {
    font-size: 0.75rem;
}

.form-register-description p {
    margin-bottom: 0;
}

.box-form-booking.form-register_form {
    border-bottom: 0;
    margin-bottom: 0;
    padding-bottom: 0;
}

.form-register_submit .action-form-booking {
    margin-bottom: 20px;
}

.notice-form {
    background-color: #f6f6f6;
    border-radius: 8px;
    /* display: flex; */
    padding: 18px 24px;
    margin: 20px 60px;
    gap: 8px;
    flex-wrap: wrap;
}

.notice-form-ticket {
    background-color: #f6f6f6;
    border-radius: 20px;
    padding: 26px 24px;
    margin: 20px 64px;
}

#main-header .content-header-mb {
    align-items: center;
    justify-content: end;
}

#main-header .content-header-mb a {
    text-decoration: none;
}

#main-header .content-header-mb .title-header {
    padding: 0 12px;
}

.box-history {
    height: 100%;
    display: block;
}

.box-history i{
    font-size: 1.5rem;
    color: #082742;
}

#main-content .btn-history {
    background-color: #ffffff;
    border: 1px solid #082742;
    border-radius: 4px;
    color: #082742;
    cursor: pointer;
    font-size: 0.875rem;
    padding: 5px 20px;
    display: inline-block;
    width: auto;
    margin-left: 5px;
    text-decoration: none;
    font-weight: 700;
    box-sizing: border-box;
}

#main-content table .btn-action{
    font-size: 0.875rem;
}

#main-content #screen_booking_online .btn-action{
    font-size: 1rem;
}

#main-content #screen_booking_online .table-statistical .btn-action {
    font-size: 0.875rem;
    min-width: 169px;
    text-align: center;
}

#main-content .btn-action {
    background-color: #ffffff;
    border: 1px solid #082742;
    border-radius: 4px;
    color: #082742;
    cursor: pointer;
    font-size: 1.125rem;
    padding: 7px 27px;
    display: inline-block;
    width: auto;
    margin-left: 5px;
    /* margin-right: 5px; */
    text-decoration: none;
    font-weight: 700;
    box-sizing: border-box;
}

#main-content .box-btn-bot .btn-action{
    font-size: 1rem;
    width: 200px;
    height: 48px;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: auto;
}

#main-content #screen_booking_online .tab-contents-item .btn-action{
    width: 112px;
    height: 36px;
    padding: 10px;
    text-align: center;
    font-size: 0.875rem;
    line-height: 14px;
}
#main-content .btn-cancel.btn-action {
    font-size: 16px;
}

#main-content .btn-history.btn-disabled {
    border: 2px solid rgba(0, 0, 0, 0.25);
    color: rgba(0, 0, 0, 0.25);
    pointer-events: none;
    cursor: no-drop;
}
#main-content .btn-action.btn-disabled {
    border: 1px solid #E4E4E4;
    color: #C2C2C2;
    pointer-events: none;
    cursor: no-drop;
}

.sub-history {
    color: #A3A3A3;
    margin: 10px 0;
    font-size: 0.75rem;
}

.breadcrumbs {
    display: flex;
    align-items: center;
}

.breadcrumbs i {
    margin: 0 10px;
}

.breadcrumbs .breadcrumb-item{
    color: #0a7efe;
    font-size: 10px;
}

.breadcrumbs i {
    color: #252525;
    font-size: 12px;
    line-height: 12px;
    margin-top: 4px;
}

.breadcrumbs .breadcrumb-item.current {
    color: #252525;
}

.breadcrumbs img {
    width: 12px;
    margin: 0 3px 0 6px;
}

.form-tabs {
    display: flex;
    justify-content: space-around;
    position: relative;
}

.form-tabs .tab-titles {
    display: flex;
    /* margin: 20px 0 40px; */
}

.form-tabs .tab-links {
    /* margin-right: 50px; */
    padding: 0 8px;
    font-size: 1rem;
    font-weight: 400;
    cursor: pointer;
    position: relative;
    color: #252525;
}

.form-tabs .tab-links.active-link {
    font-weight: 700;
    color: #082742;
}

.form-tabs::after {
    content: '';
    width: 100%;
    height: 3px;
    background-color: #f2f2f2;
    position: absolute;
    left: 0;
    bottom: -8px;
}

/* .form-tabs .tab-links::after {
    content: '';
    width: 0;
    height: 3px;
    background-color: #082742;
    position: absolute;
    z-index: 11;
    left: 0;
    bottom: -8px;
    transition: 0.5s;
}

.form-tabs .tab-links.active-link::after {
    width: 100%;
} */
.underline {
    position: absolute;
    bottom: -8px;
    height: 2px;
    background: #082742;
    z-index: 11;
    transition: left 0.3s ease, width 0.3s ease;
    /* border-radius: 4px; */
}

.form-tabs-content {
    padding: 20px 60px;
    min-height: 100px;
}

.form-tabs-content a {
    text-decoration: none;
}

.tab-contents {
    display: none;
}

.tab-contents.active-tab {
    display: block;
}

.tab-contents-item {
    padding: 20px 0;
    position: relative;
    display: flex;
    justify-content: space-between;
}

.tab-contents-item.location-search {
    justify-content: center;
    color: #000;
}
.tab-contents-item.location-search .button-location {
    cursor: pointer;
}
.tab-contents-search .searchButton[disabled] {
    cursor: revert;
}

.tab-contents-item::after {
    content: '';
    position: absolute;
    height: 1px;
    width: 100%;
    background-color: #f2f2f2;
    left: 0;
    bottom: 0;
}

.tab-contents-search {
    padding-top: 10px;
}

.tab-contents-item-text .tab-contents-item-title {
    font-weight: 700;
    font-size: 1rem;
    margin-bottom: .5rem;
}

.tab-contents-item-text-has-ticket {
    color: #5fb71d;
    font-size: 0.75rem;
}

.tab-contents-item-until {
    font-weight: 700;
    font-size: 0.75rem;
}

.tab-contents-item-until strong {
    font-size: 1.25rem;
    color: #5fb71d;
}

#new-ticket-no .btn-form-booking{
    font-size: 14px;
    width: 112px;
    height: 36px;
    padding: 0;
}

.tab-contents-item-button {
    display: flex;
}

.tab-contents-search .search {
    width: 100%;
    position: relative;
    display: flex;
    justify-content: center;
}

.tab-contents-search .searchTerm {
    width: 408px;
    border: 1px solid #082742;
    border-right: none;
    padding: 5px 10px;
    border-radius: 4px 0 0 4px;
    outline: none;
    max-height: 40px;
    height: 40px;
}

.tab-contents-search .searchTerm::placeholder{
    font-size: 0.875rem;
    color: #A3A3A3;
}

.tab-contents-search .searchTerm:focus {
    color: #082742;
}

.tab-contents-search .searchButton {
    width: 40px;
    height: 40px;
    border: 1px solid #082742;
    background: #082742;
    text-align: center;
    color: #fff;
    border-radius: 0 4px 4px 0;
    cursor: pointer;
}

#main-content a {
    text-decoration: none;
    /* color: #007AFF; */
}

#main-content .link-privacy a,
#main-content .note-title a{
    color: #1F17F7;
    text-decoration: underline;
}

#main-content .breadcrumbs a{
    text-decoration: underline;
}

#main-content .name-store p {
    font-size: 1.5rem;
    font-weight: 700;
}

#main-content .load-ticket,
#main-content .load-ticket .box-titket {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

#main-content .load-ticket .box-titket .ticket-waiting {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}

#main-content .load-ticket .box-titket .ticket-waiting .ticket-waiting_item {
    font-size: 1rem;
    font-weight: 700;
    line-height: 40px;
    display: flex;
}
#main-content .load-ticket .box-titket .ticket-waiting .ticket-waiting_item .ticket-waiting_number {
    font-size: 2.5rem;
    font-weight: 700;
    line-height: 25px;
    color: #5fb71d;
}

#main-content .load-ticket .box-titket .ticket-waiting .ticket-waiting_item strong {
    font-size: 3.5rem;
}

#main-content .load-ticket .box-titket .ticket-content {
    margin-right: 10px;
}

#main-content .load-ticket .box-titket .ticket-button {
    margin-left: 10px;
    border: 1px solid #082742;
    border-radius: 4px;
    background: #ffffff;
    font-size: 1.5rem;
    color: #082742;
    line-height: 20px;
    width: 46px;
    height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
}

#main-content .action-form-ticket {
    display: flex;
    justify-content: center;
}

#main-content .action-form-ticket button {
    margin: 0 5px;
    width: 170px;
    justify-content: center;
    font-size: 1rem;
}

.box-form-booking.box-form-ticket {
    border-bottom: none;
}

.box-confirm-create-ticket .box-confirm-create-ticket-item.item-qr{
    padding:0 1.5rem 1.5rem;
}

.box-confirm-create-ticket .box-confirm-create-ticket-item {
    /* padding: 0 4rem 1.5rem 4rem; */
    border-bottom: 2px solid #f2f2f2;
    padding-bottom: 24px;
}

.box-confirm-create-ticket .box-confirm-create-ticket-item.no-border {
    border-bottom: none;
    padding-bottom: 0;
}

.box-confirm-create-ticket .box-confirm-create-ticket-item:last-child{
    border-bottom: 0;
}

.box-confirm-create-ticket .box-confirm-create-ticket-qr {
    text-align: center;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.box-confirm-create-ticket .box-confirm-create-ticket-qr .show-qr {
    display: block;
    text-align: center;
    width: 100%;
}

.box-confirm-create-ticket .box-confirm-create-ticket-qr .show-qr img {
    display: block;
    margin: auto;
    max-width: 112px;
    width: 112px;
    height: 112px;
}

.box-confirm-create-ticket .box-confirm-create-ticket-qr span {
    font-size: 1.25rem;
    font-weight: 700;
}

.box-confirm-create-ticket-checkin {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.box-confirm-create-ticket-checkin-content div {
    margin-bottom: 10px;
}

#main-content .cancel-register {
    margin: 10px 0;
}

#main-content .cancel-register div {
    color: #252525;
    text-decoration: underline;
    cursor: pointer;
}

#main-content .cancel-register a {
    color: #007AFF;
    text-decoration: underline;
    cursor: pointer;
}

.box-confirm-create-ticket-checkin-image img {
    width: 100%;
}

.table-statistical {
    background: #ffffff;
    border-radius: 8px;
    box-sizing: border-box;
}

.table-statistical-title {
    text-align: center;
    margin: 1rem;
    font-size: 1.25rem;
    font-weight: 700;
}

.box-border * {
    box-sizing: border-box;
}

.table-statistical table {
    margin: 0;
    border: 0;
    border-spacing: 0;
}

.table-statistical table thead {
    background: #f6f6f6;
    padding: 0 1rem;
}

.table-statistical table thead tr {
    padding: 1rem;
}

.table-statistical table thead tr th {
    border: 0;
    border-spacing: 0;
    padding: 5px;
    text-align: unset;
    color: #464646;
    font-weight: 400;
    opacity: 0.4;
    font-size: 0.625rem;
}

.table-statistical table thead tr th:first-child {
    border-top-left-radius: 8px;
    padding: 5px 5px 5px 20px ;
}

.table-statistical table thead tr th:last-child {
    border-top-right-radius: 8px;
}

.table-statistical table tr th,
.table-statistical table tr td {
    border: 0;
    border-spacing: 0;
    background: unset;
}

.table-statistical table tr td {
    border: 0;
    border-bottom: 2px solid #f2f2f2;
    font-weight: 400;
}

.table-statistical table tr td:first-child {
    font-weight: 700;
    padding: 5px 5px 5px 20px;
}

.table-statistical table tbody tr {
    padding: 10px;
    border-bottom: 1px solid #f2f2f2;
    height: 68px;
}

.pagination {
    text-align: center;
    margin: 10px 0;
    display: flex;
    justify-content: center;
    align-items: center;
}

.pagination span {
    margin: 0 2px;
}

#main-content .pagination button,
#main-content .pagination a {
    border-radius: 24px;
    border: 1px solid rgba(0, 0, 0, 0.25);
    width: 36px;
    height: 36px;
    padding: 9px;
    justify-content: center;
    margin: 0 4px;
    color: #082742;
}

.pagination button i {
    line-height: 10px;
}

.pagination img {
    width: 16px;
}

.pagination-box-number {
    margin: 0px 1rem;
    font-size: 0.75rem;
}

.form-register-detail {
    margin: 10px 4rem;
}

.box-form-register-detail {
    border-bottom: 2px solid #f2f2f2;
    padding: 10px 0;
}

.form-register-detail-item {
    padding: 10px 0;
}

.form-register-detail-item-label {
    color: #A3A3A3;
    font-size: 0.75rem;
}

.box-form-register-detail:last-child {
    border-bottom: 0;
}

.menu-mb-item{
    border-bottom: 1px solid #f2f2f2;
    padding: 10px 15px;
}

.menu-mb-item:not(:first-child):hover{
    background: #f2f2f2;
}

.box-history.hamburger{
    cursor: pointer;
}

.rotate-icon {
    transition: transform 0.75s ease; 
}

/* .rotate-icon.active {
    transform: rotate(180deg);
} */

input.valid-error {
    border:1px solid #ED0000;
    background: rgba(237, 0, 0, 0.08);
}

.form-register .error_message{
    color: #ED0000;
    font-size: 12px;
    position: absolute;
}

.modal-header.modal-title.modal-register {
    border-bottom: unset;
    padding-bottom: 0;
}

.modal-body.modal-register {
    margin-top: 0;
}

.modal-body.modal-register p {
    margin-bottom: 0;
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

div.form-register button[disabled]{
    background-color: #f1f1f1 !important;
    color: #C2C2C2 !important;
}

.notice-form li:last-child {
    list-style: none;
}

.text-decoration{
    text-decoration: underline !important;
}

.modal-content-register .modal-body{
    padding-bottom: 0;
}

.modal-content-register p {
    padding: 10px 0;
}

.background-hamburger-menu {
    position: fixed;
    right: 0;
    display: none;
    top: 0;
    z-index: 98;
    width: 100%;
}

.background-hamburger-menu.active {
    display: block;
}

.form-register .title-table {
    margin-bottom: 5px;
}

.box-btn-bot{
    margin: 30px auto 10px;
}

.text-no-data{
    text-align: center;
    margin: 35px auto;
    font-weight: normal;
    color: #A3A3A3;
}

#welcome-register span.branch-code {
    text-transform: capitalize;
}

input::placeholder {
    font-size: 0.875rem;
}

button#btn-register-email {
    font-size: 1rem;
    font-weight: 700;
}

.justify-content-center{
    justify-content: center;
}

.justify-content-start{
    justify-content: start !important;
}

.position-relative{
    position: relative;
}

.notice-form ul {
    padding-left: 1rem;
}

.nav-menu-reservation a {
    color: #082742;
}

#noti-logout p {
    font-size: 1rem;
    font-weight: 700;
    color: #252525;
    line-height: 23px;
}

.box-confirm-create-ticket-qr .memo-qr-box {
    font-size: 0.75rem;
}

.box-confirm-create-ticket-checkin-content p:first-child{
    margin-bottom: 0.5rem;
}
#notice-confirm_cancel_ticket .modal-body .notice-confirm_cancel_ticket-content {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}
#notice-confirm_cancel_ticket .notice-confirm_cancel_ticket-content p {
    padding: 0 !important;
    margin: 0 !important;
}
#notice-confirm_cancel_ticket .notice-confirm_cancel_ticket-content p.text-title {
    font-family: 'Noto Sans Japanese';
    font-size: 16px;
    font-weight: 700;
    line-height: 24px;
    text-align: center;
    width: 100%;
}
/* #notice-confirm_cancel_ticket .modal-content.modal-content-register {
    gap: 24px;
    padding: 0 0 24px 0;
} */

#notice-confirm_cancel_ticket .notice-confirm_cancel_ticket-content p.text-sub-title {
    font-family: 'Noto Sans Japanese';
    font-size: 14px;
    font-weight: 400;
    line-height: 21px;
    text-align: center;
    width: 100%;
}

#notice-confirm_cancel_ticket .modal-content{
    padding-bottom: 1.5rem;
}

#notice-confirm_cancel_ticket .modal-content .btn{
    min-height: 48px;
    min-width: 200px;
    margin: 0;
    padding: 10px 16px 10px 16px;
    gap: 4px;
    border-radius: 4px;
}
.box-confirm-create-ticket {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
    width: 100%;
}

.box-confirm-create-ticket > * {
    width: 100%;
}

.screen-booking-confirm-ticket .form-register {
    padding: 55px;
}

.box-confirm-create-ticket .box-confirm-create-ticket-qr > * {
    width: 100%;
}

.box-confirm-create-ticket .notice-form {
    width: 100%;
    margin: 0 9px;
}

.load-ticket .name-store {
    font-size: 1rem;
    font-weight: 700;
}

button.btn.btn-form-booking {
    min-width: 200px;
    min-height: 48px;
}

#otp-not-match .otp-not-match-content p{
    margin: 0;
}

#otp-not-match .otp-not-match-content p.text-bold{
    font-size: 1rem;
    line-height: 23px;
}

#email-blocked-noti .modal-content-register p {
    margin: 10px 0;
}

.modal-content.modal-content-register {
    max-width: 456px;
    border-radius: 0.75rem;
}

/* #confirm_cancel_ticket .modal-content.modal-content-register .modal-body, */
#notice-confirm_cancel_ticket .modal-content.modal-content-register .modal-body{
    margin: 0;
    padding-top: 1.5rem;
    margin-bottom: 22px;
}

/* #confirm_cancel_ticket .modal-content.modal-content-register .modal-footer, */
#notice-confirm_cancel_ticket .modal-content.modal-content-register .modal-footer{
    padding: 0;
}

/* #confirm_cancel_ticket .modal-content.modal-content-register p, */
#notice-confirm_cancel_ticket .modal-content.modal-content-register p{
    padding: 0;
    margin-bottom: 6px;
}

#noti-logout .modal-footer {
    padding: 0;
}

#noti-logout .modal-body{
    padding: 0.625rem 0;
}

#welcome-register .modal-footer{
    padding: 4px;
}

#otp-not-match .modal-footer {
    padding: 3px;
}

#otp-not-match .modal-body{
    margin: 0;
}

.ticket-update {
    font-size: 0.625rem;
}

#email-blocked-noti .modal-body{
    font-size: 1rem;
    margin-top: 0;
    line-height: 25px;
}

.box-confirm-create-ticket-item .ticket-position{
    margin-left: 10px;
}

.tab-contents-item-description-search #length-list-data {
    font-size: 0.75rem;
}

.tab-contents-item-description-search #search-type {
    font-size: 0.75rem;
    font-weight: 400;
}

div#notice-status-response .modal-wrapper ,
div#confirm-change-store .modal-wrapper ,
div#notice-change-store .modal-wrapper ,
div#confirm_cancel_ticket .modal-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: auto;
}

div#notice-change-store .modal-wrapper .modal-content,
div#confirm_cancel_ticket .modal-wrapper .modal-content {
    padding: 25.5px 22px;
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    border-radius: 12px;
    max-width: 456px;
    margin: 10px;
    box-sizing: border-box;
}

div#notice-status-response .modal-wrapper .modal-content,
div#confirm-change-store .modal-wrapper .modal-content,
div#confirm_cancel_ticket .modal-wrapper .modal-content {
    padding: 23px;
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    border-radius: 12px;
    max-width: 456px;
    margin: 10px;
    box-sizing: border-box;
}

div#notice-status-response .modal-wrapper .modal-content{
    padding: 35px 24px;
}

div#notice-status-response .modal-wrapper .modal-content .modal-body p,
div#confirm-change-store .modal-wrapper .modal-content .modal-body p,
div#confirm_cancel_ticket .modal-wrapper .modal-content .modal-body p {
    font-size: 14px;
    font-weight: 700;
    line-height: 24px;
    text-align: center;
    margin: 0;    
}

div#confirm_cancel_ticket .modal-wrapper .modal-content .modal-body p{
    font-size: 16px;
}

div#notice-status-response .modal-wrapper .modal-content > * ,
div#confirm-change-store .modal-wrapper .modal-content > * ,
div#notice-change-store .modal-wrapper .modal-content > *,
div#confirm_cancel_ticket .modal-wrapper .modal-content > * {
    padding: 0 0 16px 0;
    margin: 0;
}

div#notice-status-response .modal-wrapper .modal-content .modal-footer ,
div#confirm-change-store .modal-wrapper .modal-content .modal-footer ,
div#notice-change-store .modal-wrapper .modal-content .modal-footer,
div#confirm_cancel_ticket .modal-wrapper .modal-content .modal-footer {
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 7px;
    align-items: center;
    margin-top: 8px;
}

div#notice-status-response .modal-wrapper .modal-content .modal-footer button.btn ,
div#confirm-change-store .modal-wrapper .modal-content .modal-footer button.btn ,
div#notice-change-store .modal-wrapper .modal-content .modal-footer button.btn ,
div#confirm_cancel_ticket .modal-wrapper .modal-content .modal-footer button.btn {
    margin: 0;
}

div#notice-status-response .modal-wrapper .modal-content .modal-body ,
div#confirm-change-store .modal-wrapper .modal-content .modal-body ,
div#notice-change-store .modal-wrapper .modal-content .modal-body ,
div#confirm_cancel_ticket .modal-wrapper .modal-content .modal-body {
    padding: 0;
}
div#notice-status-response .modal-footer button.btn-outline ,
div#confirm-change-store .modal-wrapper .modal-content .modal-footer button.btn-outline ,
div#notice-change-store .modal-wrapper .modal-content .modal-footer button.btn-outline ,
div#confirm_cancel_ticket .modal-wrapper .modal-content .modal-footer button.btn-outline {
    color: #082742;
    border-color: #082742;
}
div#notice-status-response .modal-header.modal-title img ,
div#confirm-change-store .modal-header.modal-title img,
div#notice-change-store .modal-header.modal-title img ,
div#confirm_cancel_ticket .modal-header.modal-title img {
    width: 20px;
    display: inline-block;
}

div#notice-status-response .modal-header.modal-title span.text-bold,
div#confirm-change-store .modal-header.modal-title span.text-bold,
div#notice-change-store .modal-header.modal-title span.text-bold,
div#confirm_cancel_ticket .modal-header.modal-title span.text-bold {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    font-size: 16px;
    font-weight: 700;
    line-height: 24px;
    text-align: left;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
}
div#notice-status-response .modal-header.modal-title p,
div#confirm-change-store .modal-header.modal-title p,
div#notice-change-store .modal-header.modal-title p,
div#confirm_cancel_ticket .modal-header.modal-title p {
    margin: 0;
}

div#notice-status-response .form-register p,
div#confirm-change-store .form-register p,
div#notice-change-store .form-register p,
div#confirm_cancel_ticket .form-register p {
    font-size: 14px;
    font-weight: 400;
    line-height: 21px;
}

/* #valid-otp-register .modal-wrapper {
    width: 456px;
} */

#valid-otp-register .valid-otp-register-content {
    font-size: 1rem;
    line-height: 24px;
}

button#searchButtonList[disabled] {
    border: 1px solid #082742 !important;
    border-left: 0 !important;
}

.form-tabs-content .icon-loading img {
    display: block;
    margin: auto;
    width: 40px;
}

.form-tabs-content .hide-loading.icon-loading {
    display: none;
}

#form-ticket-online select#table_input-ticket {
    background: #fff;
}

.renew-v2-booking label {
    font-size: 1.125rem;
}

.renew-v2-booking #item_people label {
    font-weight: 400;
}

#main-content #screen_booking_online .renew-v2-booking .btn-action{
    font-size: 1rem;
    font-weight: 700;
}

#main-content #screen_booking_online .renew-v2-booking .box-course-select .btn-action{
    font-size: 1rem;
    font-weight: 600;
    padding: 6px 26px;
}


.renew-v2-booking .form_content_booking .box-form-group-item label{
    color: #b3b3b3;
    font-size: 0.75rem;
    font-weight: 400;
}

.renew-v2-booking .form_content_booking .action-form-booking .btn-form-booking{
    min-width: 200px;
    min-height: 48px;
    margin-bottom: .5rem;
    font-size: 1rem;
    font-weight: 700;
}

.breadcrumb__inner.breadcrumb__inner-active.has-active .numner-step {
    border: 1px solid;
}

#form-register-info-customer input,
#form-register-info-customer select,
#register_booking #course-for-report,
#form-booking-edit #course-for-report,
#form-register-info-customer textarea,
#form-register-info-customer textarea::placeholder,
#form-booking-edit input,
#form-register-info-customer input::placeholder,
#form-booking-edit input::placeholder,
textarea#web_note_from_online,
textarea#web_note_from_online::placeholder{
    font-size: 0.875rem;
    font-family: 'Noto Sans Japanese';
}

.data-info-mail {
    font-size: 0.75rem;
}

#main-content-screen{
    padding-bottom: 1rem;
    min-height: 100vh;
}

input#date-booking-info-confirm {
    font-family: 'Noto Sans Japanese';
}

.togger-more-booking{
    text-align: center;
    color: #007AFF;
    padding: .5rem 0;
    border-bottom: 1px solid #C2C2C2;
    cursor: pointer;
}

.detail-store-blank{
    margin-top: 5px;
    font-size: 0.75rem;
}

.privacy-policy-modal-content iframe {
    width: 100%;
    min-height: 60vh;
}

#main-content #screen_booking_online .tab-contents-item .btn-action.btn-disable-booking{
    background: #F1F1F1;
}

div#qr_booking,
div#qr_booking_2 {
    display: flex;
    justify-content: center;
    margin: 1rem 0;
}

div#qr_booking img,
div#qr_booking_2 img
 {
    width: 112px !important;
    height: 112px !important;
}

span.form-register-detail-item-content {
    margin-right: 2rem;
}

div#main-content {
    padding-bottom: 50px;
}

#form-booking-edit input#date-time-register{
    width: 376px;
}

.web_note_from_online_confirm,
.memo-customer{
    word-wrap: break-word;
}

@media screen and (min-width: 767px) {
    #main-header .nav-menu-reservation {
        display: none;
        background: #ffffff;
        padding-top: 11px;
        box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
        border-radius: 8px;
        min-width: 240px;
    }
    
    #main-header .nav-menu-reservation.active{
        position: absolute;
        right: 0;
        display: block;
        top: 80%;
        z-index: 99;
    }

    #main-header.line-main-header {
        border-bottom: 1px solid #f1f1f1;
        padding: 0;
        margin-bottom: 1rem;
    }
    
    .table-statistical span.bk-time {
        display: block;
        width: 100%;
    }

    #main-content #screen_booking_online .tab-contents-item .btn-action.btn-disable-booking{
        font-size: 0.625rem;
        padding: 3px 5px;
        font-weight: 400;
    }

    #tab-detail-statis-booking .webol-name-store {
        margin: 0 30px 25px;
    }

    .d-lg-none{
        display: none !important;
    }

    .form_content_booking {
        padding: 0 4rem;
    }
}



@media screen and (max-width: 767px) {
    body{
        margin-left: 0;
        margin-right: 0;
    }
    .form-register {
        border-radius: 0;
        padding-bottom: 0;
        margin-bottom: 0;
    }

    .bg-revervation2{
        padding-bottom: 0;
        padding-top: 1rem;
    }

    #register_booking .form-control{
        width: auto;
    } 

    .box-border .form-control{
        width: 100%;
    }

    .notice-form-ticket{
        margin: 0;
    }

    button.btn.btn-form-booking{
        min-width: 160px;
        min-height: 48px;
    }

    #main-content .btn-action{
        padding: 10px 16px;
        text-align: center;
        /* margin-left: 10px; */
    }

    .form-tabs{
        justify-content: unset;
    }
    
    .form-tabs .tab-titles{
        justify-content: space-between;
        width: 100%;
    }

    .bg-revervation2 .screen_booking_online-mb {
        padding: 10px 10px;
        background-color: #fff;
        width: 100%;
    }
    
    #main-header .content-header-mb .title-header {
        font-size: 0.875rem;
    }
    .form-register .form-register_title,
    .form-register .form-register_description {
        width: 100%;
        max-width: 100%;
    }

    .form-register .form-register_title {
        font-size: 1.3rem;
    }

    .form-register .form-register_description {
        font-size: 0.875rem;
    }
    #main-header .content-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        z-index: 99;
        margin: 0;
    }
    #main-header .content-header:before {
        content: "";
        display: block;
        position: absolute;
        background: #fff;
        top: -7px;
        left: -10px;
        right: -10px;
        bottom: 0px;
        z-index: 100;
    }
    .screen_booking_online-mb button#confirm_register_booking {
        width: 100%;
    }

    .notice-form {
        margin: 0;
    }

    .form-tabs .tab-links {
        font-size: 14px;
    }

    .form-tabs .tab-links {
        padding: 0px 9px;
    }

    .form-tabs-content {
        padding: 20px 0;
    }

    .tab-contents-item {
        display: block;
    }

    .btn-history {
        width: 98%;
        text-align: center;
        margin: 0;
    }

    #main-content #screen_booking_online .tab-contents-item .btn-action {
        width: 98%;
        text-align: center;
        margin: 0;
    }

    .w-sm-100 {
        width: 100%;
    }

    .tab-contents-item-text .tab-contents-item-title {
        font-size: 1.3rem;
    }
    .tab-contents-item-button {
        margin-top: 20px;
    }

    .breadcrumbs {
        padding: 0 18px 1rem;
    }

    #main-header .nav-menu-reservation {
        position: absolute;
        left: -10px;
        top: 100%;
        flex-direction: column;
        background-color: #fff;
        max-height: 500px;
        z-index: 99;
        transition: max-height 150ms ease-in-out;
        display: block;
        padding: 0 18px;
        box-sizing: border-box;
        overflow: hidden;
        transform: translateY(-100%);
        transition: 0.2s ease-in;
        opacity: 0;
        visibility: hidden;
        right: -10px;
    }

    #main-header .nav-menu-reservation.active {
        max-height: 500px;
        transform: translateY(0);
        opacity: 1;
        visibility: visible;
    }

    #main-header .nav-menu-reservation .menu-mb {
        position: relative;
        padding: 1rem 0 0;
    }

    #main-header .nav-menu-reservation .menu-mb::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 2px;
        background-color: #f2f2f2;
    }

    .box-confirm-create-ticket{
        margin: 0;
    }
    .screen-booking-confirm-ticket .form-register {
        padding: 0;
    }
    .box-confirm-create-ticket .box-confirm-create-ticket-item {
        padding: 0;
    }

    .box-confirm-create-ticket .box-confirm-create-ticket-item {
        padding: 0 0 24px 0;
    }

    #main-content .load-ticket {
        display: block;
        margin: 20px;
    }

    .box-confirm-create-ticket-checkin {
        display: block;
    }

    .modal-ticket .modal-content .btn {
        min-width: 120px;
        min-height: unset;
    }

    #noti-logout .modal-ticket .modal-content .btn {
        min-width: 150px;
        min-height: unset;
    }

    .modal-ticket .modal-content .modal-footer {
        justify-content: space-evenly;
    }

    .table-statistical table thead {
        display: none;
    }

    .table-statistical table,
    .table-statistical table tbody,
    .table-statistical table tr,
    .table-statistical table td {
        display: block;
        width: 100%;
    }
    .table-statistical table tr {
        margin-bottom: 15px;
    }
    .table-statistical table td {
        /* padding-left: 50%; */
        padding-top: 5%;
        text-align: left;
        position: relative;
        width: 50%;
    }
    .table-statistical table td::before {
        content: attr(data-label);
        position: absolute;
        left: 0;
        top: 0;
        width: 50%;
        padding-left: 5px;
        color: #A3A3A3;
        font-size: 14px;
        text-align: left;
    }

    .table-statistical table td:last-child {
        padding-left: unset;
        width: 100%;
    }
    .table-statistical table tbody tr {
        height: auto;
        display: flex;
        width: 100%;
        flex-wrap: wrap;
    }

    .table-statistical table tr td {
        border-bottom: 0;
    }

    #main-content .table-statistical .btn-history {
        width: 100%;
    }

    #main-content .table-statistical .btn-action {
        width: 100%;
        max-width: 100%;
    }

    .table-statistical table tr td:first-child {
        width: 100%;
        padding: 5px;
        padding-top: 2%;
        font-size: 1rem;
    }

    .form-register-detail {
        margin: 0;
    }

    .box-form-register-detail {
        padding: 0;
    }

    .box-btn-bot {
        padding: 18px;
        margin-top: 0;
    }

    .box-form-ticket.box-form-booking .box-form-booking-item {
        display: block;
    }

    .box-form-ticket.box-form-booking .box-form-booking-item .quantity-people{
        justify-content: start;
    }

    .box-form-ticket.box-form-booking .box-form-booking-item .input-size-medium{
        width: 100%;
    }

    .background-hamburger-menu {
        position: absolute;
        left: -5%;
        display: block;
        top: 100%;
        z-index: 98;
        width: 100vw;
        max-height: 150vh;
        background: #6e6e6ec6;
        /* transition: 0.5s all; */
        opacity: 0;
        visibility: hidden;
    }

    .background-hamburger-menu.active {
        position: fixed;
        left: 0;
        display: block;
        top: 0;
        z-index: 90;
        width: 100%;
        background: #6e6e6ec6;
        opacity: 1;
        visibility: visible;
        bottom: 0;
    }

    .modal-content .btn{
        min-height: 48px;
        max-width: 160px;
        min-width: 151px;
        font-size: 16px;
        line-height: 24px;
        width: auto;
    }

    .modal-footer{
        justify-content: space-around;
    }

    button#btn-register-email{
        width: 100%;
    }
    
    img#logo {
        height: 32px;
    }
    

    .box-confirm-create-ticket-checkin-image{
        margin-top: 1.5rem;
        text-align: center;
    }

    .box-confirm-create-ticket-checkin-image img{
        width: 60%;
    }

    #new-ticket-no .btn-form-booking{
        width: 100%;
    }

    #main-content .box-btn-bot .btn-action{
        width: 100%;
    }

    div#notice-status-response .modal-wrapper .modal-content > * ,
    div#confirm-change-store .modal-wrapper .modal-content > * ,
    div#notice-change-store .modal-wrapper .modal-content > *,
    div#confirm_cancel_ticket .modal-wrapper .modal-content > * {
        padding: 0 ;
        margin: 0;
    }

    div#notice-status-response .modal-wrapper .modal-content ,
    div#confirm-change-store .modal-wrapper .modal-content ,
    div#notice-change-store .modal-wrapper .modal-content {
        gap: 10px;
    }

    div#notice-status-response .modal-wrapper .modal-content .modal-footer button.btn ,
    div#confirm-change-store .modal-wrapper .modal-content .modal-footer button.btn ,
    div#notice-change-store .modal-wrapper .modal-content .modal-footer button.btn {
        max-width: 100%;
        width: calc(100%/2 - 4px);
        min-width: auto;
    }
    div#notice-status-response .modal-wrapper .modal-content > *.modal-footer ,
    div#confirm-change-store .modal-wrapper .modal-content > *.modal-footer ,
    div#notice-change-store .modal-wrapper .modal-content > *.modal-footer {
        max-height: 48px;
    }

    div#option-time {
        width: 100%;
        justify-content: space-between;
    }

    #screen_booking_online.screen_booking_online-renew{
        width: auto;
    }

    #register_booking_step2 .box-form-data-confirm {
        display: block;
    }

    .box-confirm-datetime-booking{
        display: block;
    }

    .renew-v2-booking .form_content_booking .action-form-booking .btn-form-booking{
        font-size: 16px;
    }

    #main-content #screen_booking_online .renew-v2-booking .btn-action {
        font-size: 18px;
    }

    .renew-v2-booking .form_content_booking .action-form-booking .btn-form-booking{
        min-width: 159px;
    }

    #form-booking-edit input#date-time-register{
        width: 100%;
    }

    .web_note_from_online_confirm,
    .memo-customer{
        word-wrap: break-word;
        word-break: break-all;
        width: 100%;
    }
}

@media screen and (min-width: 600px) {
    #main-header .content-header{
        justify-content: end;
    }
}



@media screen and (max-width: 375px) {
    #screen_booking_online.screen_booking_online-renew {
        width: 100%;
    }

    /* .box-form-booking .box-form-booking-item.box-full-mobile input.date-booking-info{
        width: 152px;
    } */

    #breadcrumb .breadcrumb__desc {
        color: #c2c2c2;
        text-align: center;
        display: none;
        /* position: absolute; */
        left: 0;
        right: 0px;
        bottom: -32px;
        width: auto;
    }

    #breadcrumb{
        width: 346px;
    }

    .name-info {
        width: 100%;
        margin: 0;
    }

    input.input-size-large.mail-info, input.input-size-large.phone-info, textarea.input-size-large.mail-info, select.input-size-large.mail-info {
        width: 100%;
    }
}

@media screen and (max-width: 475px) {
    #welcome-register .modal-wrapper.modal-dialog.modal-lg.modal-dialog-centered{
        margin: 1.75rem 1rem;
    }
}
@media screen and (max-width: 360px) {
    .form-tabs .tab-links {
        padding: 0px 4px;
    }
}

#box-qr-guide {
    padding: 2rem 0;
    border-bottom: 1px solid #f2f2f2;
    border-top: 1px solid #f2f2f2;
    display: none;
}

#box-qr-guide .box-confirm-create-ticket-checkin-content p{
    font-size: 0.875rem;
}