@charset "UTF-8";

/* CSS Document */

#api__area {
    padding: 32px 0 40px;
    position: relative;
    z-index: 1;
    background: #d4d4d4;
}
.api__after {
    content: "";
    background: rgba(10, 25, 65, 0.9);
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    mix-blend-mode: multiply;
}
.api__area-inner {
    max-width: 1218px;
    margin: auto;
    width: calc(100% - 88px);
}
.api__area-achievements {
    display: block;
    width: calc(100% - 32px);
    margin: auto;
    max-width: 1288px;
}
.api__area-box .api__area-achievements {
    display: none;
}
.api__area-achievements img {
    width: 100%;
    height: auto;
}
.api__area-box {
    width: 100%;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;
}
.api__area-scale {
    width: 49%;
    max-width: 576px;
}
.api__area-scale-image {
    width: 100%;
    display: block;
    margin-top: 3px;
}
.api__area-scale-image img {
    width: 100%;
    height: auto;
}
a.api__area-scale-btn {
    position: relative;
    display: flex;
    background: #002d5a;
    border: 1px solid #002d5a;
    width: 100%;
    max-width: 332px;
    height: 40px;
    justify-content: center;
    align-items: center;
    margin: 24px auto 0;
    color: #fff;
    text-align: center;
    font-size: 13px;
    line-height: 1;
    letter-spacing: 0;
}
a.api__area-scale-btn:hover {
    background: #fff;
    color: #002d5a;
}
a.api__area-scale-btn::after {
    content: "";
    position: absolute;
    border-right: 1px solid #fff;
    border-top: 1px solid #fff;
    width: 6px;
    height: 6px;
    display: block;
    top: 50%;
    right: 24px;
    transform: translate(0, -50%) rotate(45deg) skew(6deg, 6deg);
}
a.api__area-scale-btn:hover::after {
    border-right: 1px solid #002d5a;
    border-top: 1px solid #002d5a;
}

        @media screen and (max-width: 1279px) {
            .mvAddBlockIn {
                max-width: 1016px;
                margin: auto;
                padding: 32px 24px 12px;
            }
            .tab__apitable {
                width: 46%;
            }
            #structure {
                width: 52%;
            }
        }
        @media screen and (max-width: 767px) {
            #api__area {
                padding: 32px 0 64px;
                background: rgba(0, 45, 90, 0.6);
            }
            #mvAddBlock {
                padding-top: 0;
            }
            .mvAddBlockIn {
                padding: 0;
            }
            #structure {
                background: #fff;
                margin: 0 auto 40px;
                border: 1px solid #efa329;
                width: calc(100% - 32px);
                max-width: 393px;
                padding: 16px 8px 32px;
            }
            .structure__right-item:nth-child(4) {
                right: 2px;
                top: -78px;
            }
            .structure__right {
                margin-top: 0;
                max-width: 328px;
            }
            .structure__heading {
                font-size: 21px;
                width: calc(100% - 16px);
                margin: auto;
            }
            .structure__heading::after {
                position: absolute;
                background-size: cover;
                left: -8px;
                bottom: -10px;
                width: 82%;
                height: 15px;
                display: block;
                transform: translate(0, 0);
            }
            .structure__right-item {
                width: 33%;
                font-size: 14px;
                height: 107px;
                max-width: 107px;
            }
            .structure__right-item:nth-child(1) {
                transform: translate(8px, 0);
            }
            .structure__right-item:nth-child(3) {
                transform: translate(-8px, 0);
            }
            .structure__right-num {
                margin-top: 8px;
            }
            .structure__left-heading::after {
                position: absolute;
                background-size: cover;
                left: 50%;
                bottom: -16px;
                width: 100%;
                height: 18px;
                display: block;
                transform: translate(-50%, 0);
            }
            .api__area-achievements {
                display: none;
            }
            .api__area-box .api__area-achievements {
                display: block;
            }
            .api__area-inner {
                width: calc(100% - 32px);
            }
            .api__area-box {
                background: unset;
                padding: 0;
                flex-direction: column;
                gap: 40px;
            }
            .api__area-scale {
                width: 100%;
                padding: 24px 20px 32px;
                background: rgba(255,255,255,0.8);
                order: 3;
            }
        }

span.api-timetable-title {
    display: block;
}
.api-timetable-title {
    font-size: 25px;
    font-weight: 600;
    padding: 14px 8px 0;
    text-align: left;
    line-height: 1;
    color: rgba(53, 87, 130, 1);
}

@media screen and (min-width: 768px) and (max-width: 1361px) {
    .api-timetable-title {
        font-size: 1.84vw;
        padding: 1.03vw 0.589vw 0;
    }
}

@media screen and (max-width: 767px) {
    .api-timetable-title {
        font-size: 19px;
    }
}

/** append **/
@media screen and (min-width: 1024px) {
    #mvAddBlock{
        z-index: 50;
    }
    #topSlider .textArea {
        bottom: 434px;
    }
}
@media screen and (min-width: 1190px) {
    #topSlider .textArea {
        bottom: 406px;
    }
}

/** tab__apitable **/
.tab__apitable {
    width: 47.8%;
    margin-top: 0;
    max-width: 582px;
}
h2.tab__apitable-heading {
    color: #444;
    font-size: 17px;
    font-weight: 400;
    border-bottom: 2px solid #002d5a;
    text-indent: 0.4em;
    margin-bottom: 8px;
    padding: 0;
    letter-spacing: 0;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
h2.tab__apitable-heading::after {
    display: none;
}
.tab__apitable-btn {
    display: flex;
    justify-content: flex-start;
    height: 40px;
    align-items: flex-end;
    gap: 0;
    flex-wrap: wrap;
    width: 408px;
    margin: 0;
    padding: 0;
}
.tab__apitable-btn > li {
    width: calc(100% / 3);
    display: flex;
    align-items: center;
    height: 32px;
    justify-content: center;
    border-radius: 8px 8px 0 0;
    line-height: 1;
    font-weight: 400;
    font-size: 15px;
    letter-spacing: 0;
    font-feature-settings: "palt";
    color: #002D5A;
    text-align: center;
    cursor: pointer;
    transition: ease all 0.5s;
}
.tab__apitable-list-main {
    background: #fff;
    color: #002D5A;
    border-bottom: unset;
    font-weight: 500;
}
.tab__apitable-list-main:hover, .tab__apitable-list-main.tab__active {
    height: 40px;
}
.tab__apitable-btn > li.tab__apitable-list-implant {
    color: #fff;
}
.tab__apitable-list-implant {
    font-size: 14px;
    background: #3a5b9b;
    border-bottom: unset;
    font-weight: 500;
}
.tab__apitable-list-implant:hover, .tab__apitable-list-implant.tab__active {
    height: 40px;
}
.tab__apitable-btn > li.tab__apitable-list-ortho {
    color: #fff;
}
.tab__apitable-list-ortho {
    font-size: 14px;
    background: #002D5A;
    border-bottom: unset;
    font-weight: 500;
}
.tab__apitable-list-ortho:hover, .tab__apitable-list-ortho.tab__active {
    height: 40px;
}
.tab__apitable-list-gingival {
    background: #bb7e3a;
    border-bottom: unset;
    font-weight: 500;
}
.tab__apitable-list-gingival:hover, .tab__apitable-list-gingival.tab__active {
    height: 40px;
}
.tab__apitable-area {
    height: auto;
    display: block;
}
.tab__apitable-area > div {
    opacity: 0;
    visibility: hidden;
    height: 0;
}
.tab__apitable-area > div.tab__active {
    opacity: 1;
    visibility: visible;
    height: auto;
}
.api-timetable-first > *:nth-child(n +8) {
    display: none;
}
.tab__pane-main-active,
.tab__pane-implant-active,
.tab__pane-gingival-active,
.tab__pane-ortho-active {
    display: block !important;
    visibility: visible !important;
}

@media screen and (max-width: 767px) {
    .tab__apitable-area {
        height: auto;
    }
    .pr__flex {
        flex-direction: column-reverse;
        gap: 16px;
    }
    .tab__apitable-btn > li {
        font-size: 14px;
        line-height: 1;
        text-align: center;
        letter-spacing: -0.03em;
    }
    h2.tab__apitable-heading {
        padding-bottom: 0;
        border-bottom: 2px solid #fff;
        color: #fff;
        margin-bottom: 20px;
    }
    .tab__apitable-btn {
        height: 48px;
    }
    .tab__apitable-btn > li {
        height: 40px;
    }
    .tab__apitable-list-main:hover, .tab__apitable-list-main.tab__active {
        height: 48px;
    }
    .tab__apitable-list-implant:hover, .tab__apitable-list-implant.tab__active {
        height: 48px;
    }
}

    .api-frame {
        width: 100%;
        margin: 0 auto;
        position: relative;
    }
    .reservable__tab-link01 {
        color: #fff !important;
    }
    .api-timetable {
        padding: 0;
        width: 100%;
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        flex-wrap: wrap;
        z-index: 2;
    }

    .api-timetable-table-wrap {
        margin: 0;
        padding: 0;
        width: 408px;
    }

    .api-timetable-title {
        font-size: 25px;
        font-weight: 600;
        padding: 14px 8px 0;
        text-align: left;
        line-height: 1;
        color: rgba(53, 87, 130, 1);
    }

    span.api-timetable-title {
        display: block;
    }

    .api-timetable-table {
        margin: 0 auto;
        width: 100%;
        table-layout: fixed;
    }
    th.api-th-02 {
        width: 10em;
    }
    .api-timetable-table th, .api-timetable-table td {
        text-align: center;
        vertical-align: middle;
        color: #333;
        font-size: 16px;
        line-height: 1.4;
        font-weight: 400;
        border-bottom: 1px solid #fff;
    }

    .api-timetable-table th {
        padding: 0;
        white-space: nowrap;
        font-size: 14px;
    }
    .api-timetable-table tr:nth-child(2) th, .api-timetable-table tr:nth-child(2) td {
        padding-top: 8px;
        padding-bottom: 8px;
    }
    .api-timetable-table tr:last-child th, .api-timetable-table tr:last-child td {
        padding-top: 8px;
        border-bottom: none;
    }
    .api-timetable table tr:first-child th:not(:first-child) {
        font-size: 15px;
        padding: 2px 2px 6px;
    }
    .api-timetable-table th span {
        display: inline-block;
        margin-left: -4px;
    }
    .api-timetable-table-inside {
        background: rgba(255,255,255,0.5);
        padding: 4px 8px 12px;
        width: 100%;
        border-radius: 0 0 8px 8px;
    }
    .api-timetable-table td {
        padding: 0;
    }
    .iphone4-only {
        display: none;
    }
    th.api__sat {
        color: #5B9DC9;
    }
    th.api__sun {
        color: #E26FC7;
    }

    /*ポップアップ*/
    .api-timetable-table td span {
        width: 100%;
        display: block;
        padding: 0;
    }

    .fukidashi em {
        font-size: 16px;
        font-style: normal;
        color: #fff;
    }

    .fukidashi {
        display: none;
        width: auto;
        position: absolute;
        top: -60px;
        left: -112px;
        z-index: 10;
        padding: 8px;
        border-radius: 5px;
        background: #002d5a;
        border: 1px solid #fff;
        color: #fff;
        font-size: 14px;
        font-weight: 400;
        letter-spacing: 0.03em;
        line-height: 1.6;
    }

    .api__cell:has(.popup):hover .fukidashi {
        display: block;
    }

    .api-worktime-text {
        font-size: 14px;
    }

    .api-timetable-table th.api-bluecell {
        background: #3e577f;
    }
    .tab__apitable-btnarea {
        display: flex;
        justify-content: center;
        width: 100%;
        flex-wrap: nowrap;
        gap: 10px;
        margin: 8px 0 0;
        position: relative;
        z-index: 1;
    }
    .api-timetable-table th span.api-weekwhite {
        display: block;
        font-size: 0.8em;
        margin: 2px 0 0;
        border-radius: 3px;
        line-height: 1;
        padding: 0;
    }
    .tab__apitable-btnlink {
        width: 100%;
        background: #fff;
        display: flex;
        height: 28px;
        align-items: center;
        justify-content: center;
        line-height: 1;
        border-radius: 28px;
        padding-top: 1px;
        padding-bottom: 0;
        font-feature-settings: "palt";
        font-size: 15px;
        position: relative;
        border: 1px solid #002d5a;
        color: #002d5a;
        cursor: pointer;
    }
    .tab__apitable-btnlink::after {
        content: "";
        position: absolute;
        transform: translate(0, -50%) rotate(45deg);
        right: 8px;
        top: 50%;
        width: 7px;
        height: 7px;
        border-top: 1px solid #002d5a;
        border-right: 1px solid #002d5a;
    }
    .tab__apitable-btnlink.tab__apilink02 {
        background: #555;
        border: 1px solid #555;
        color: #fff;
    }
    .tab__apitable-btnlink.tab__apilink02::after {
        border-top: 1px solid #FFF;
        border-right: 1px solid #FFF;
    }
    .tab__apitable-btnlink:hover {
        background: #002d5a;
        border: 1px solid #002d5a;
        color: #FFF;
    }
    .tab__apitable-btnlink.tab__apilink02:hover {
        background: #606060;
        border: 1px solid #FFF;
    }
    .tab__apitable-btnlink:hover::after {
        border-top: 1px solid #fff;
        border-right: 1px solid #fff;
    }
    .api-kyukan {
        text-align: right;
        display: flex;
        color: #333;
        font-weight: 400;
        font-size: 13px;
        justify-content: flex-end;
        align-items: center;
        gap: 3px;
        letter-spacing: 0;
        margin-top: 6px;
    }
    
    .api-kyukan::before {
        content: "";
        background: url(/unit/module/api_config/time_main/img/tel.svg) no-repeat;
        width: 10px;
        height: 16px;
        background-size: 100%;
        margin-top: 2px;
    }
    .api__cell {
        width: calc(100% - 8px);
        height: 36px;
        margin: auto;
        display: flex;
        background: #fff;
        align-items: center;
        justify-content: center;
        border-radius: 8px;
        font-size: 14px;
        font-family: Meiryo;
        line-height: 1;
        cursor: pointer;
        border: 1px solid #002d5a;
        box-shadow: 2px 2px 5px 0px rgba(0, 0, 0, 0.12);
        padding-top: 1px;
    }
    .api__cell:has(.api__telicon) {
        border: unset;
        box-shadow: unset;
    }
    .api__cell:has(.api__holi) {
        border: unset;
        box-shadow: unset;
        background: #D9D9D9;
    }
    .api__cell:hover {
        background: #f1f9ff;
        cursor: pointer;
    }
    .api__cell:has(.api__holi):hover {
        background: #D9D9D9;
        cursor: unset;
    }
    .api-worktime {
        display: flex;
        align-items: stretch;
        margin: 8px 0 0;
        gap: 32px;
    }
    .api__cell > a, .api__cell span.popup {
        color: #444;
        display: flex;
        width: 100%;
        height: 100%;
        align-items: center;
        justify-content: center;
        padding-bottom: 0;
    }
    .api-worktime-flex {
        display: flex;
        align-items: center;
        gap: 8px;
        font-weight: 100;
        color: rgba(53, 87, 130, 1);
    }
    img.api__telicon {
        margin-top: 0;
    }
    .api-worktime-white {
        background: #fff;
        display: flex;
        align-items: center;
        height: 26px;
        width: 7em;
        justify-content: center;
    }

    .reserve__timetbl {
        padding: 24px 0 32px;
        background: #eeede3;
    }
    @media screen and (max-width: 767px) {
        .api-timetable-title {
            font-size: 19px;
        }

        .api-worktime-white {
            width: 6em;
            height: 32px;
        }

        .api-worktime {
            gap: 8px;
        }
        th.api__sat {
            color: #2f6d96;
        }
        th.api__sun {
            color: #ba4ba0;
        }
        .api-kyukan,
        .api-worktime,
        .api-worktime-white,
        .api-worktime-text {
            font-size: 13px;
            font-weight: 500;
        }

        .api-kyukan {
            text-align: left;
            padding-left: 0;
            font-size: 12px;
            margin-top: 3px;
            font-weight: 400;
            color: #fff;
            letter-spacing: -0.05em;
        }

        .api-kyukan::before {
            margin-top: 3px;
            background: url(/unit/module/api_config/tel-fff.svg) no-repeat;
            background-size: 100%;
        }

        .api-timetable-table th {
            font-size: 13px;
            font-feature-settings: "palt";
            letter-spacing: -0.05em;
        }

        #reservation .api-worktime {
            flex-direction: column;
        }

        #reservation .api-timetable-table th {
            font-size: 13px;
            font-feature-settings: "palt";
            letter-spacing: -0.05em;
        }

        #reservation .api-worktime-white {
            width: 6em;
            height: 32px;
        }
        .api-timetable-table-inside {
            border: 1px solid rgba(204, 204, 204, 0.35);
            border-top: unset;
        }
    }

    /** reservable__tab **/
    .reservable__tab-box {
        position: relative;
        width: calc(100% - 430px);
        padding: 0;
        margin: 0;
    }

    .reservable__tab-flex {
        margin-bottom: 12px;
        border-bottom: 1px solid #fff;
        letter-spacing: 0.03em;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    .reservable__tab-title {
        color: rgba(53, 87, 130, 1);
        font-weight: 700;
        font-size: 15px;
        padding-bottom: 8px;
        border-bottom: unset;
        margin-bottom: 0;
    }

    .reservable__tab-days {
        padding-bottom: 8px;
    }

    .reservable__time-list {
        display: flex;
        gap: 5px;
        align-items: stretch;
        flex-wrap: wrap;
    }

    .reservable__time-list li {
        width: calc((100% - 15px) / 4);
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 0;
    }

    .reservable__time-list li.reservable__panel-nonarea {
        width: 100%;
        display: block;
    }

    .reservable__time-list li>a {
        display: flex;
        width: 100%;
        padding: 2px 0 0;
        font-size: 14px;
        letter-spacing: 0;
        font-weight: 500;
        line-height: 1;
        text-align: center;
        height: 24px;
        justify-content: center;
        align-items: center;
        background: #fff;
        border: 1px solid #ACBAD1;
        border-radius: 5px;
    }

    .reservable__time-list li>a:hover {
        background: #294168;
        color: #fff;
        opacity: 1;
    }

    .reservable__col {
        display: flex;
        justify-content: space-between;
        width: 100%;
        flex-direction: column;
    }

    @media screen and (min-width: 768px) {
        .reservable__time-list {
            gap: 5px;
        }

        .reservable__tab-flex {
            margin-bottom: 10px;
            border-bottom: 1px solid #fff;
        }

        .reservable__tab-title {
            font-size: 16px;
            padding-bottom: 0;
        }

        .reservable__tab-days {
            padding-bottom: 8px;
        }

        .reservable__col {
            display: flex;
            width: 100%;
            align-items: center;
            justify-content: space-between;
            flex-direction: row;
        }

        .reservable__tab-days {
            display: flex;
            gap: 10px;
        }

        .reservable__time-list li {
            width: calc((100% - 25px) / 6);
        }

        .reservable__time-list li>a {
            padding: 1px 2px 0px;
            font-size: 14px;
        }
    }


    .reservable__tab-title {
        position: relative;
        text-align: left;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    .reservable__tab-panel01,
    .reservable__tab-panel02,
    .reservable__tab-panel03,
    .reservable__tab-panel04,
    .reservable__tab-panel05,
    .reservable__tab-panel06 {
        display: none;
        visibility: hidden;
    }

    .reservable__tab-panel01.active,
    .reservable__tab-panel02.active,
    .reservable__tab-panel03.active,
    .reservable__tab-panel04.active,
    .reservable__tab-panel05.active,
    .reservable__tab-panel06.active {
        display: flex;
        visibility: visible;
        align-items: center;
        justify-content: space-between;
        flex-wrap: wrap;
    }

    .reservable__before,
    .reservable__after,
    .reservable__link {
        position: static;
        display: block;
        margin: 0;
        font-size: 0.8em;
        color: #fff;
        display: inline-block;
        background: #3e577f;
        border-radius: 3px;
        vertical-align: 2px;
        cursor: pointer;
    }

    .reservable__before:hover,
    .reservable__after:hover,
    .reservable__link:hover {
        background: #294168;
    }

    .reservable__before {
        padding: 5px 5px 4px 8px;
    }

    .reservable__before::before {
        content: "";
        border-right: 7px solid #fff;
        border-top: 4px solid transparent;
        border-bottom: 4px solid transparent;
        width: auto;
        height: auto;
        margin: 0 5px 0px 0;
        display: inline-block;
    }

    .reservable__after,
    .reservable__link {
        padding: 5px 5px 4px 8px;
    }

    .reservable__after::after,
    .reservable__link::after {
        content: "";
        border-left: 7px solid #fff;
        border-top: 4px solid transparent;
        border-bottom: 4px solid transparent;
        width: auto;
        height: auto;
        margin: 0 0 0px 5px;
        display: inline-block;
    }

    .reservable__only {
        display: none;
    }

    .reservable__time-list li.reservable__empty {
        width: 100%;
        font-size: 14px;
        text-align: left;
        justify-content: flex-start;
        line-height: 1.4;
    }

    @media screen and (min-width: 768px) {
        .reservable__tab-title>div {
            position: absolute;
            cursor: pointer;
            margin: 0;
            font-size: 0.9em;
            right: 0;
        }

        .reservable__before,
        .reservable__after,
        .reservable__link {
            font-weight: 100;
            vertical-align: 9px;
        }

        .reservable__before {
            padding: 8px 8px 6px 5px;
        }

        .reservable__after,
        .reservable__link {
            padding: 8px 5px 6px 8px;
        }

        .reservable__only {
            display: inline;
        }
    }

.cal-time_in01 {
    position: absolute;
    top: -40px;
    left: 0;
    width: 100%;
    height: 40px;
    background: #002d5a;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-bottom: 0;
    border-radius: 8px;
    letter-spacing: 0;
}
.cal-time_in02 {
    display: block;
    flex-wrap: wrap;
    width: 100%;
    align-items: flex-start;
    justify-content: flex-start;
    overflow-y: scroll;
    height: 152px;
    margin-top: 8px;
}
.cal-time_in02:has(.reservable__tab-text) {
    align-items: center;
}
.cal-time_in02 > div {
    border: 1px solid #002d5a;
    background: #fff;
    box-shadow: 2px 2px 5px 0px rgba(0, 0, 0, 0.12);
    height: 32px;
    margin-right: 10px;
    width: auto;
    margin-bottom: 7px;
    border-radius: 8px;
    padding-top: 2px;
    display: flex;
    align-items: center;
    transition: ease all 0s;
}
.cal-time_in02 > div:hover {
    background: #002d5a;
    border: 1px solid #002d5a;
    opacity: 1;
}
.cal-time_in02 > div > a {
    width: 100%;
    height: 100%;
    display: flex;
    padding: 0;
    font-size: 15px;
    line-height: 1;
    font-weight: 400;
    align-items: center;
    padding-bottom: 2px;
    justify-content: center;
    color: #333;
    transition: ease all 0s;
}
.cal-time_in02 > div:hover > a {
    color: #fff;
    opacity: 1;
}
.cal-time_ttl-day {
    margin-top: 3px;
    margin-left: 3px;
}
.u__api-br {
    display: none;
}
    .cal-time_in02::-webkit-scrollbar {
      width: 8px;
    }

    .cal-time_in02::-webkit-scrollbar-track {
        background-color: rgba(255,255,255,0.5);
    }
    .cal-time_in02::-webkit-scrollbar-thumb {
    	background-color: #002d5a;
      	border-radius: 8px;
    }
    .board01 .cal-time_in02::-webkit-scrollbar-thumb {
    	background-color: #002d5a;
    }
.arrow-prev,
.arrow-next {
    position: relative;
	display: inline;
	cursor: pointer;
}
.arrow-prev::before,
.arrow-next::before {
    content: '';
    border-top: solid 2px #3e577f;
    width: 12px;
    height: 12px;
    position: absolute;
    top: -8%;
}
.arrow-prev::before {
    border-left: solid 2px #3e577f;
    transform: rotate(-45deg);
}
.arrow-next::before {
    border-right: solid 2px #3e577f;
    transform: rotate(45deg);
}
.cal-time_ttl-day > span {
	font-size: 2rem;
    vertical-align: 0.1em;
}
.in-num {
    margin-top: 24px;
}
.in-num_ttl {
    margin-bottom: 8px;
}
.in-num_in {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    margin-bottom: 24px;
}
.in-num_in figure {
    width: calc(100% / 3 - 8px);
}
.in-num_in figure:nth-last-of-type(-n+2) {
    margin-top: -16px;
}
.in-num_kome li {
    font-size: 1.4rem;
    line-height: 1.2em;
    padding-left: 24px;
    text-indent: -14px;
}
.reservable__tab-panel01, .reservable__tab-panel02, .reservable__tab-panel03, .reservable__tab-panel04, .reservable__tab-panel05, .reservable__tab-panel06, .reservable__tab-panel07 {
    display: none;
    visibility: hidden;
	width: 100%;
}
.reservable__tab-panel01.active, .reservable__tab-panel02.active, .reservable__tab-panel03.active, .reservable__tab-panel04.active, .reservable__tab-panel05.active, .reservable__tab-panel06.active, .reservable__tab-panel07.active {
    display: block;
    visibility: visible;
}
.reservable__tab-panel-inner {
    display: block;
    width: 100%;
}
.reservable__tab-text {
    display: flex;
    align-items: center;
    line-height: 1.4;
    justify-content: flex-start;
    font-weight: 400;
    text-align: left;
    font-size: 14px;
    padding-right: 8px;
}
.fukidashi {
    display: none;
}
.api-frame .pc {
    display: none;
}
.cal_in .u__pc-only {
    display: none;
}
.cal-tbl_ttl {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
    gap: 5px;
}
.cal-tbl_ttl > span {
    color: #fff;
    font-size: 15px;
    line-height: 1;
}
.tab__main-return, .tab__implant-return, .tab__gingival-return, .tab__ortho-return {
    display: none;
}
.tab__main-dumy,
.tab__implant-dumy,
.tab__gingival-dumy,
.tab__ortho-dumy,
.tab__main-dumy:hover,
.tab__implant-dumy:hover,
.tab__gingival-dumy:hover,
.tab__ortho-dumy:hover {
    display: none;
    border: 1px solid #fff;
    color: #999;
    background: #ccc;
}
.tab__main-dumy::after,
.tab__implant-dumy::after,
.tab__gingival-dumy::after,
.tab__ortho-dumy::after,
.tab__main-dumy:hover::after,
.tab__implant-dumy:hover::after,
.tab__gingival-dumy:hover::after,
.tab__ortho-dumy:hover::after {
    border-top: 1px solid #999;
    border-right: 1px solid #999;
}

@media screen and (max-width: 767px) {
    .api-timetable {
        padding: 0;
    }
    .api-timetable-table {
        table-layout: fixed;
    }
    .api-timetable table tr:first-child th:not(:first-child) {
        font-size: 15px;
    }
    .api__time-work {
        text-align: center !important;
    }
    .api__work-text {
        display: none !important;
    }
    .cal-time_in01 {
        width: 32%;
    }
    .cal-time_ttl-day {
        width: 100%;
    }
    .arrow-prev::before, .arrow-next::before {
        width: 9px;
        height: 9px;
    }
    .cal-time_in02 {
        width: 62%;
        overflow-y: auto;
        height: auto;
    }
    .cal-time_in02 > div {
        width: 31%;
        padding-top: 3px;
        padding-bottom: 1px;
        margin-right: 2%;
        margin-bottom: 8px;
    }
    .api__cell {
        width: calc(100% - 4px);
    }
}

@media screen and (max-width: 1279px) {
    .reservable__tab-box {
        width: calc(100% - 418px);
    }
    .cal-tbl_ttl {
        gap: 0;
    }
    .cal-tbl_ttl > span {
        font-size: 12px;
    }
    .cal-time_in02 > div > a {
        font-size: 13px;
    }
}
@media screen and (max-width: 1189px) {
    .api-timetable-table-wrap {
        width: 100%;
    }
    .tab__apitable-btn {
        width: 100%;
    }
    .api-timetable {
        flex-direction: column;
        gap: 8px;
    }
    .reservable__tab-panel-inner {
        display: flex;
        gap: 12px;
        align-items: flex-start;
    }
    .cal-time_in01 {
        position: static;
        width: 160px;
    }
    .reservable__tab-box {
        width: 100%;
    }
    .cal-time_in02 {
        height: 36px;
        display: flex;
        align-items: stretch;
        flex-wrap: wrap;
        margin: 0;
        padding-bottom: 0;
    }
    .cal-time_in02 > div {
        padding-left: 8px;
        padding-right: 8px;
    }
    .tab__apitable-btnlink {
        font-size: 12px;
    }
    .tab__apitable-btnlink::after {
        right: 5px;
    }
    .cal-time_in02 > div > a {
        padding-bottom: 1px;
    }
}
@media screen and (max-width: 1023px) {
    .mvAddBlockIn {
        max-width: 500px;
        margin-left: auto;
        margin-right: auto;
    }
    .tab__apitable-btnlink::after {
        right: 12px;
    }
}
@media screen and (max-width: 767px) {
    a.sp_link_en {
        z-index: 999;
    }
    .mvAddBlockIn {
        border: unset;
        width: 100%;
        padding-top: 40px;
        padding-bottom: 0;
    }
    .tab__apitable {
        width: calc(100% - 16px);
        max-width: 393px;
        order: 1;
    }
    .api__area-achievements {
        order: 2;
    }
    .reservable__tab-panel-inner {
        flex-direction: column;
        gap: 8px;
        margin-top: 12px;
    }
    .cal-time_in01 {
        width: 152px;
        height: 32px;
        background: #002d5a;
    }
    .cal-tbl_ttl > span {
        font-size: 15px;
    }
    .cal-time_in02 > div > a {
        font-size: 15px;
    }
    .cal-time_in02 {
        width: 100%;
        max-height: 77px;
        height: auto;
        overflow-y: scroll;
    }
    .tab__apitable-btnarea {
        margin: 32px auto 0;
        flex-direction: row;
        align-items: stretch;
        flex-wrap: wrap;
    }
    .tab__apitable-btnlink {
        font-size: 15px;
        max-width: 250px;
        height: 48px;
        text-align: center;
        line-height: 1;
        padding-top: 0;
    }
    .cal-time_in02 > div > a {
        padding-bottom: 3px;
    }
    .api__cell > a, .api__cell span.popup {
        padding-bottom: 0;
    }
    .cal-time_in02::-webkit-scrollbar-thumb {
    	background-color: #002D5A;
      	border-radius: 8px;
    }
    .board01 .cal-time_in02::-webkit-scrollbar-thumb {
    	background-color: #002D5A;
    }
    .reservable__tab-text {
        color: #fff;
    }
    .tab__apitable-btnlink.tab__apilink02 {
        background: #888;
        border: 1px solid #888;
    }
    .tab__apitable-btnlink:hover {
        background: #fff;
        border: 1px solid #fff;
        color: #002d5a;
    }
    .tab__apitable-btnlink:hover::after {
        border-top: 1px solid #002d5a;
        border-right: 1px solid #002d5a;
    }
    .cal-time_in02 > div:hover {
        background: #fff;
        border: 1px solid #fff;
    }
    .cal-time_in02 > div:hover > a {
        color: #002d5a;
    }
}
