body {
    font-family: Noto Sans CJK JP;
    font-size: 1rem;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.link-no-style:link,
.link-no-style:visited,
.link-no-style:active,
.link-no-style:hover {
    text-decoration: none;
    color: black;
}

.link-event-header, .link-event-footer {
    text-decoration: none;
    color: black;
    cursor: pointer;
}

/* HEADER */
.top-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    /* max-width: 112rem; */
    padding: 1rem;
    /* margin: 0 auto 2rem; */
    /* border-bottom: 1px solid rgb(224 228 229); */
}
.pc-header .top-nav-title{
    min-width: 250px;
}
.top-nav-title a {
    font-style: normal;
    font-size: 24px;
}
.top-nav-links{
    word-break: keep-all;
}
.top-nav-links a {
    margin: 0 1rem;
    font-size: 14px;
}

.top-nav-title a,
.top-nav-links a {
    text-decoration: none;
    color: black;
    font-weight: bold;
}

.side-nav-item {
    display: block;
    padding: 0.5rem 0;
}

.sub-logo {
    position: relative;
    /* top: -5px; */
    left: 5px;
    font-size: 20px;
}

.btn-nav-menu,
.modal-btn-close-2 {
    color: rgba(26,132,151,1);
}

.no-hover{
    cursor: auto !important;
}

@media only screen and (min-width: 413px) {
    .btn-nav-menu {
        display: none
    }
}

@media only screen and (max-width: 412px) {
    .top-nav-item {
        display: none;
    }
}

/* MAIN */
.banner {
    position: relative;
    margin: 0 auto 4rem;
    width: 1200px;
    height: 350px;
}

.sub-container {
    border-radius: 3px;
    padding: 1rem;
}

/* FOOTER */
footer {
    border-top: 1px solid rgb(224 228 229);
    padding: 1rem;
    margin-top: 2rem;
    width: 100%;
}

/* SIDEBAR */
.sidebar {
    /* width: fit-content; */
    /* min-width: 140px; */
    max-width: 240px;
    /* float:right; */
    height: fit-content;
    border: 2px solid rgb(238, 238, 238);
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
}

.sidebar .menu-group {
    background-color: rgba(244,246,246,1);
    padding-bottom: 0.25rem;
}

.sidebar .menu-group-title {
    font-size: 14px;
    font-weight: bold;
    background-color: white;
    border-bottom: 2px solid rgb(238, 238, 238);
    padding: 0.75rem 1rem;
}

.sidebar .menu-group:first-child, .menu-group:first-child .menu-group-title {
    border-top-left-radius: 15px;
    border-top-right-radius: 15px;
}

.sidebar .group-item {
    font-size: 12px;
    /* margin: 0.5rem 1.5rem; */
    padding: 0.5rem 1rem;
    position: relative;
}

.sidebar .group-item > a,
.sidebar .group-sub-item > a {
    text-decoration: none;
    color: black;
}

.sidebar .sidebar-link {
    cursor: pointer;
}

.sidebar .group-item:hover .menu-group-sub {
    display: block;
}

.sidebar .menu-group-sub {
    display: none;
    width: 100%;
    position: absolute;
    top: 0;
    right: -100%;
    background-color: white;
    border: 1px solid #EBEFF0;
    z-index: 1040;
}

.sidebar .group-sub-item {
    padding: 0.5rem 1.5rem;
}

/* Modal */
.modal-1000px {
    max-width: 1000px;
}

.modal:not(.modal-custom-standard) .modal-header {
    padding: 1rem 1rem 1rem 3rem;
}

.modal-header-color {
    background-color: rgba(233,248,251,1);
}

.modal-header-color > .modal-title {
    color: rgba(37,188,216,1);
}

.modal-header-error {
    background-color: #ff5667 !important;
}

.modal-header-error > .modal-title {
    color: #fff;
}

.modal-header-warning {
    background-color: #fff3cd;
}

.modal-header-warning > .modal-title {
    color: #664d03;
}

.modal-btn-close {
    font-size: 30px;
    cursor: pointer;
}

.modal-header-color > .modal-btn-close {
    color: rgba(120,133,135,1);
}

.modal-header-error > .modal-btn-close {
    color: #fff;
}

.modal-title {
    font-weight: bold;
    font-size: 20px;
}

.modal:not(.modal-custom-standard) .modal-body {
    padding: 2rem 3rem 0 3rem;
}

.modal-footer {
    border: none;
}
.modal-responsive.modal-1000px {
    max-width: 100%;
    min-width: 766px !important;
    justify-content: center !important;
}
.modal-responsive.modal-1000px .modal-content {
    width: 90% !important;
    max-width: 1000px;
}
@media screen and (max-width: 766px) and (min-width: 400px) {
    .modal {
        overflow-x: auto;
    }
    
    .modal-body {
        padding: 1rem 1rem 0 1rem;
    }
}
@media only screen and (min-width: 413px) {
    .modal:not(.modal-custom-standard) .modal-footer {
        padding-bottom: 3rem;
    }
}

@media only screen and (max-width: 412px) {
    .modal-body {
        padding: 1rem 1rem 0 1rem !important;
    }
}

.modal-dialog.modal-loading {
    justify-content: center;
    margin: auto;
}

.modal-dialog.modal-loading > .spinner-border {
    width: 7rem; 
    height: 7rem;
    box-shadow: 0px 1px 20px 4px;
}

/* Checkbox group */
.checkbox-group:not(:first-child) {
    margin-top: 1.5rem;
}

.checkbox-group:not(:last-child) {
    border-bottom: 2px solid rgba(235,239,240,1);
}

.checkbox-group-title {
    margin-bottom: 1rem;
}

.checkbox-group-items {
    list-style-type: none;
}

.checkbox-item {
    color: rgba(120,133,135,1);
    display: inline-block;
    margin-bottom: 1rem;
}

.checkbox-label {
    position: relative;
    top: -6px;
    margin-left: 4px;
}

/* Custom Checkbox  */
.c-checkbox, .c-radio {
    display: flex;
    align-items: baseline;
    cursor: pointer;
}

.c-checkbox > *, .c-radio > * {
    display: inline-block;
}

.c-checkbox-control, .c-radio-control {
    width: 24px;
    height: 24px;
    min-width: 24px;
}

.c-checkbox-control {
    border-radius: 4px;
}

.c-radio-control {
    border-radius: 50%;
}

.c-checkbox-control > .fa-check {
    position: relative;
    left: 5px;
    top: 2px;
    font-size: 16px;
    color: #fff;
}

.c-radio-control > .radio-check {
    position: relative;
    border-radius: 50%;
    width: 14px;
    height: 14px;
    left: 4px;
    top: 4px;
}

.c-radio-label {
    position: relative;
    top: -8px;
}

.c-checkbox:not(.checked) > .c-checkbox-control,
.c-radio:not(.checked) > .c-radio-control {
    background-color: rgba(221,227,228,1);
}

.c-radio.checked > .c-radio-control {
    border: 1px solid;
}

.c-checkbox:not(.checked) > .c-checkbox-control > .fa-check,
.c-radio:not(.checked) > .c-radio-control > .radio-check {
    visibility: hidden;
}

.c-checkbox.checked > .c-checkbox-control,
.c-radio-control > .radio-check {
    background-color: rgba(37,188,216,1);
}

.c-radio.checked > .c-radio-control {
    background-color: #fff;
}

.c-checkbox.checked > .c-checkbox-label,
.c-radio.checked > .c-radio-label {
    color: rgba(37,188,216,1);
}

.c-checkbox-label, .c-radio-label {
    margin-left: 0.5rem;
}

/* Searchbox */
.search-box-item {
    border: 3px solid rgb(235, 239, 240);
    border-radius: 4px;
    padding: 1px 6px;
    margin: 0 4px;
}

.search-box-item > i {
    margin-right: 4px;
}

/* Breadcrumb */
hr.breadcrumb-border {
    margin: 0 !important;
    /* height: 1.5px; */
    height: 0.5px;
    color: rgb(170 173 174);
    /* color: rgba(235,239,240,1); */
}

/* Common */
.main-color {
    color:rgba(37,188,216,1) !important;
}

.main-color-dark {
    color: rgba(26,132,151,1) !important;
}

.gray-color {
    color: rgba(120, 133, 135, 1) !important;
}

.grey-color {
    color: rgba(221, 227, 228, 1) !important;
}

.main-bgcolor {
    background-color:rgba(37,188,216,1) !important;
}

.grey-bgcolor {
    background-color: rgba(221, 227, 228, 1) !important;
}

.secondary-bgcolor {
    background-color: rgba(244, 246, 246, 1);
}

.green-bgcolor {
    background-color: rgba(119,187,95,1);
}

.red-bgcolor {
    background-color: rgba(249,122,146,1);
}

.custom-checkbox {
    background-color: rgba(221, 227, 228, 1);
    color: white;
}

.custom-textbox, .custom-select, .btn-custom-1 {
    border: 2px solid rgba(235, 239, 240, 1);
}

.btn-custom-1, .btn-custom-2 {
    background-color: white;
}

.btn-custom-2 {
    color: rgba(37, 188, 216, 1);
    border: 2px solid rgba(37, 188, 216, 1);
}

.btn-gradient-1 {
    color: white;
    background: rgb(47,152,229);
    background: -moz-linear-gradient(14deg, rgba(47,152,229,1) 0%, rgba(37,188,216,1) 100%);
    background: -webkit-linear-gradient(14deg, rgba(47,152,229,1) 0%, rgba(37,188,216,1) 100%);
    background: linear-gradient(14deg, rgba(47,152,229,1) 0%, rgba(37,188,216,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#2f98e5",endColorstr="#25bcd8",GradientType=1);
}

.no-margin {
    margin: 0 !important;
}

.no-padding {
    padding: 0 !important;
}
.b-font-10,
.b-font-12,
.b-font-13,
.b-font-14,
.b-font-15,
.b-font-18,
.b-font-16,
.b-font-20,
.b-font-25,
.b-font-52 {
    font-weight: bold;
}

.b-font-10 {
    font-size: 10px;
}

.b-font-12,
.font-12 {
    font-size: 12px;
}

.b-font-13 {
    font-size: 12px;
}

.b-font-16 {
    font-size: 16px;
}

.b-font-14,
.font-14 {
    font-size: 14px;
}

.b-font-15,
.font-15 {
    font-size: 15px;
}

.b-font-16
.font-16 {
    font-size: 16px;
}

.b-font-18,
.font-18 {
    font-size: 18px;
}

.b-font-20 {
    font-size: 20px;
}

.b-font-25 {
    font-size: 25px;
}

.b-font-52 {
    font-size: 52px;
}

.custom-checkbox:checked {
    color: white;
}

label {
    margin-bottom: 0px;
}

.grid-2 {
    display: grid;
    grid-template-columns: auto auto;
}

.grid-3 {
    display: grid;
    grid-template-columns: auto auto auto;
}

.grid-4-240px {
    display: grid;
    grid-template-columns: 240px 240px 240px 240px;
}

.grid-5 {
    display: grid;
    grid-template-columns: auto auto auto auto auto;
}

.grid-5-180px {
    display: grid;
    grid-template-columns: 180px 180px 180px 180px 180px;
}

.grid-5-190px {
    display: grid;
    grid-template-columns: 190px 190px 190px 190px 190px;
}

.grid-7 {
    display: grid;
    grid-template-columns: 65px 65px 65px 65px 65px 65px 65px;
}

.grid-7 a{
    white-space: nowrap;
}

.modal-loading {
    margin: 10px;
}

.w-98 {
    width: 98%;
}

.w-95 {
    width: 95%;
}

.w-70 {
    width: 70% !important;
}

.w-65{
    width: 65%;
}

.w-28 {
    width: 28% !important;
}

.w-40 {
    width: 40% !important;
}

.h-100 {
    height: 100%;
}

.max-width-24 {
    max-width: 24.5rem;
}

.br-custom-6,
.btn-next
.btn-back,
.pos-input,
.pos-select,
.pos-doned,
.pos-in-progress,
.pos-next-step {
    border-radius: 6px;
}

.dummy-content {
    text-align: center;
    padding: 15rem;
    font-size: 22px;
}

.letter-spacing {
    letter-spacing: 0.5px;
}

.disable-resize {
    resize: none;
}

/* FOOTER GUEST */
.guest-footer {
    background: linear-gradient(180deg, white 0%, rgba(244,246,246,1) 100%);
}

.line-height-footer {
    line-height: .8em !important;
}

.line-height-footer-2 {
    line-height: .1em !important;
}

.guest-footer-bg {
    background-image: url("/img/n_5.png");
    /* height: 500px; */
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
    padding-bottom: 15px;
}

.guest-footer-info {
    background: rgba(244,246,246,1);
    height: 250px;
    max-height: 250px;
}

.footer-vertical-line > hr {
    height: 2px;
    color: rgba(221, 227, 228, 1) !important;
}

/* ------ */

.pos-input,
.pos-select {
    border: 2px solid #ebeff0 !important;
}

.pos-select {
    color: black;
}

.pos-select-custom {
    appearance: none;
    background-image: url("/img/pulldown_arrow_gray.svg");
    background-repeat: no-repeat;
    background-position: right 1em center;
}

.pos-select-custom-2 {
    appearance: none;
}

.btn-back {
    color: rgba(37, 188, 216, 1);
    border: 2px solid rgba(37, 188, 216, 1);
    background-color: white;
    width: 260px;
    height: 50px !important;
}

.btn-back:before,
.btn-back2:before {
    font-family: "Font Awesome 5 Free";
    content: "\f053";
    padding-right: 3px;
    vertical-align: middle;
    font-weight: 900;
    float: left;
}

.btn-next {
    color: white;
    background: linear-gradient(14deg, rgba(47,152,229,1) 0%, rgba(37,188,216,1) 100%);
    width: 260px;
    height: 50px !important;
}

.btn-next:after,
.btn-next2:after {
    font-family: "Font Awesome 5 Free";
    content: "\f054";
    padding-right: 3px;
    vertical-align: middle;
    font-weight: 900;
    float: right;
}

.container-padding-10 {
    padding-left: 8vw !important;
    padding-right: 8vw !important;
}

.pos-doned,
.pos-in-progress {
    color: white;
}

.pos-doned-icon {
    background-image: url("/img/check_white.svg");
    background-repeat: no-repeat;
    background-position: left .5em center;
}

.pos-doned,
.pos-in-progress,
.pos-next-step {
    width: 125px !important;
    height: 26px !important;
}

.pos-doned {
    background-color: rgb(26 132 151);
}

.pos-in-progress {
    background-color: rgb(37 188 216);
}

.pos-next-step {
    background-color: rgb(244 246 246);
}

/* TOP GUEST */
.container-padding {
    padding-right: 4vw!important;
    padding-left: 4vw!important;
}

.btn-custom-3 {
    color: rgb(120 133 135);
    border: 2px solid rgb(235 239 240);
}

.table.table-pos-top {
    border-collapse: collapse;
    border-radius: .38rem;
    overflow: hidden;
}

.table.table-pos-top tr > th {
    background-color: rgb(244 246 246);
}

.table.table-pos-top tr > th,
.table.table-pos-top tr > td {
    border: 2px solid rgba(235,239,240,1);
}

.table.table-pos-top tr > td:first {
    min-width: 90px !important;
}

.table.table-pos-top tr > td {
    min-width: 70px;
}

.topic-breadcrumb {
    font-family: Noto Sans CJK JP;
    font-style: normal;
    font-weight: normal;
    font-size: 12px;
    line-height: 35px;
    white-space: nowrap;
    letter-spacing: 0.5px;
}

.breadcrumb-item a {
    color: rgba(37,188,216,1) !important;
}

.checkbox-item-border {
    margin-bottom: 0;
    border: 2px solid #ebeff0;
    border-radius: 6px;
    padding: 1rem;
}

.border-item-checked {
    border: 2px solid #25BCD8 !important;
    border-radius: 6px;
    padding: 1rem;
}

.background-item-checked {
    background-color: #E9F8FB;
    border-radius: 6px;
    border: 0px;
    padding: 1rem;
}

.medical-information {
    background-color: rgb(244 246 246);
    padding: 1rem;
    border-radius: 6px;
}

.pos-input,
.pos-select {
    height: 56px;
    padding: 1rem;
}

.text-area-custom {
    border: 2px solid #ebeff0;
}

.valid-error {
    background-color: #ffff00;
}

.mb-8px {
    margin-bottom: 0.5rem;
}

.mb-42px {
    margin-bottom: 2.625rem;
}

.mb-72px {
    margin-bottom: 4.5rem;
}

.mt-36px {
    margin-top: 2.25rem;
}
.medical-progress {
    cursor: pointer;
}

/* Custom date picker  */
.date-picker {
    
}
.wrapper_footer {
    margin-top: auto;
}

select:focus, input:focus, textarea:focus {
    border-color: #86b7fe !important;
    outline: 0;
    box-shadow: 0 0 0 0.25rem rgb(13 110 253 / 25%);
}
@media screen and (max-width: 1200px) {
    .container.responsive.topic, 
    .pc-header.responsive .top-nav.container, 
    .container.responsive.mt-30px:not(.mobile) {
        max-width: 96% !important;
    }

    .poss0022 .container-padding-10.mt-3 {
        padding: 0 5vw 0 5vw!important;
    }

    .container-padding-5.mt-3 {
        padding-left: 2vw!important;
        padding-right: 2vw!important;
    }

    .poss0012 .row.mt-4 .col-6 .btn-custom-4 {
        width: 180px !important;
    }
    .poss0004 .grid-5-180px {
        grid-template-columns: 160px 160px 160px 160px 160px;
    }
}
@media screen and (max-width: 1200px) {
    .btn-next, .btn-back {
        width: 200px;
    }
}

@media screen and (max-width: 965px) {
    .poss0004 .grid-5-180px {
        grid-template-columns: 155px 155px 155px 155px;
    }
}
@media screen and (max-width: 767px) and (min-width: 415px) {
    .container.responsive.topic, 
    .pc-header.responsive .top-nav.container, 
    .container.responsive.mt-30px,
    .guest-footer {
        width: 766px !important;
    }

    body.responsive {
        width: 766px !important;
        overflow-x: auto;
    }

    #left-menu {
        width: 26%;
    }

    #right-content {
        width: 72%;
    }
    .pc-header .top-nav-title, ol.breadcrumb {
        padding-left: 0 !important;
    }

    .pc-header .top-nav {
        padding-left: var(--bs-gutter-x,.75rem) !important;
        padding-right: var(--bs-gutter-x,.75rem) !important;
    }
    .container-padding {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }
    .container-padding-10 {
        padding-left: 2rem !important;
        padding-right: 2rem !important;
    }
    .pos-require:after {
        padding: 0 !important;
    }
    .poss0008 .row #right-content {
        padding-right:0;
    }

    .poss0004 .grid-5-180px {
        grid-template-columns: 150px 150px 150px 150px;
    }
}
.btn-custom-4 {
    color: rgba(37, 188, 216, 1);
    border: 2px solid rgba(37, 188, 216, 1);
    background-color: white;
    height: 50px !important;
    border-radius: 5px;
}

.btn-background {
    color: white;
    background: linear-gradient(14deg, rgba(47,152,229,1) 0%, rgba(37,188,216,1) 100%);
    height: 50px !important;
}

.btn-background-official {
    background: #f97a92;
    border: 2px solid #f97a92;
}
.w-80
{
    width: 80%;
}

.container-padding-5 {
    padding-left: 5vw !important;
    padding-right: 5vw !important;
}

@media screen and (max-width: 480px){
    .table-condensed {
        min-width: 219px;
    }
}

/* tagify library */
.autocomplete .tagify {
    --tags-focus-border-color: #ced4da;
    max-height: 270px;
    overflow-x: hidden;
    overflow-y: auto;
}

.autocomplete .tagify__input::before {
    opacity: 1;
}

.autocomplete .tagify--empty .tagify__input::before {
    text-wrap : wrap;
}

.autocomplete .tagify__tag {
    margin-right: 5px;
}

.autocomplete .tagify__tag > div::before {
    box-shadow: unset;
    background: #E5E5E5;
}

.autocomplete .tagify__tag:focus div::before, .tagify__tag:hover:not([readonly]) div::before {
    box-shadow: unset;
    background: #D3E2E2;
}

.autocomplete .tagify__tag__removeBtn:hover + div::before {
    box-shadow: none !important;
    background: rgba(211, 148, 148, 0.3);
}

.autocomplete .tagify--loading .tagify__input::after {
    margin-top: 3px;
}

.tagify__dropdown {
    width: auto !important;
}

.autocomplete .tagify__dropdown__wrapper {
    border: 1px solid #ced4da;
    max-height: 500px;
    font-size: 14px;
}

.autocomplete .tagify__tag > div {
    padding-left: 2px;
    display: inline-grid;
}

.autocomplete .tagify__tag .tagify__tag__removeBtn {
    width: 17px;
    height: 17px;
    font: 19px/1 Arial;
    order: 0;
    margin-right: auto;
    margin-left: 3px;
    overflow: unset;
    text-align: center;
}

.autocomplete .tagify__tag .tagify__tag__removeBtn::after {
    width: 17px;
}

.autocomplete .tagify__tag.tagify--notAllowed:not(.tagify__tag--editable) div::before {
    background: rgba(211, 148, 148, 0.5);
    transition: 0.2s;
}
.alert-warning2 {
    background-color: #efefef;
    border-color: #efefef;
    border-radius: 0.5rem;
}

.autocomplete .alert-dismissible.alert-warning {
    margin-bottom:0;
}

.autocomplete .tagify__tag  .tagify__tag-text {
    overflow-wrap: break-word;
}

.autocomplete .tagify__input {
    margin: 5px 0;
}

.autocomplete .tagify__dropdown__item--active:hover {
    color: black;
    font-weight: bold;
    background: #BBD3FB;
}
.autocomplete .alert-dismissible .btn-close {
    padding:0.5rem;
    font-size:10px;
}
.autocomplete .alert {
    padding: 0.25rem 1rem 0.25rem 0.25rem;
}
