@charset "UTF-8";

/* CSS Document */

body {
    counter-reset: index 0;
}

#doctor {
    font-size: 20px;
    line-height: 1.8;
    background: #fff;

    @media screen and (max-width: 860px) {
        font-size: clamp(12px, calc(18px - (6 * ((860px - 100vw) / 540))), 18px);
    }
}

.main {
    width: 100%;
}

.mainbg {
    display: block;
    position: relative;
    padding-left: 0px;
    background-image: url("images/doctor_mv.png");
    background-size: cover;
    background-position: center;
    overflow: hidden;
    width: 100%;
    height: 380px;

    @media screen and (max-width: 860px) {
        background-image: url("images/doctor_mv_sp.png");
    }
}


.mainbg h1 {
    position: absolute;
    z-index: 5;
    left: 0;
    color: #009fd9;
    bottom: 40%;
    width: 300px;
    font-size: 1.4rem;
    background-color: rgba(255, 255, 255, 0.95);
    display: block;
    line-height: 2.2rem;
    height: auto;
    padding: 20px 0;

    @media screen and (max-width: 860px) {
        margin: 0 auto;
        right: 0;
        left: 0;
    }
}

.section-once {
    padding: 4vmax 2vmax;
    text-align: left;

    &.bg-01 {
        background: #f1f1f1;
    }

    .ttl {
        font-family: var(--sans);
        color: #002d74;
        font-weight: 500;
        padding-left: 0;
    }

    .ttl-02 {
        font-family: var(--sans);
        background: #002d74;
        color: #fff;
        text-align: center;
        font-weight: 500;
        padding: 0.3em;

    }
}

.profile-head {
    display: flex;
    justify-content: space-between;
    text-align: left;
    margin-bottom: 2vmax;

    @media screen and (max-width: 860px) {
        flex-direction: column;
    }

    .image {
        order: 2;

        @media screen and (max-width: 860px) {
            order: 0;
            text-align: center;
            margin-bottom: 2vmax;

        }
    }



    .name {
        font-size: 34px;
        margin-bottom: 1em;
        font-weight: 600;

        @media screen and (max-width: 860px) {
            font-size: clamp(18px, calc(34px - (12 * ((860px - 100vw) / 540))), 34px);
            text-align: center;
        }

    }

    .name-en {
        font-size: 14px;
        margin-left: 2em;

        @media screen and (max-width: 860px) {
            font-size: clamp(10px, calc(14px - (4 * ((860px - 100vw) / 540))), 14px);
        }
    }
}

.prof-box {
    th {
        width: 30%;
        padding: 0.3em 0;
        vertical-align: top;
    }

    td {
        padding: 0.3em 0;

    }
}

ul.disc li {
    list-style-type: disc;
    margin: 0.3em 2em;
}

ul.clist li {
    padding: 0.3em 1em;
    background: #fff;

    &:nth-of-type(2n) {
        background: #ecf3fd;
    }
}

.flex-pc {
    display: flex;
    justify-content: space-between;

    @media screen and (max-width: 860px) {
        flex-direction: column;
    }
}

.wh-box {
    background: #fff;
    padding: 1em;
}

ul.case {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3vmax;
    margin-top: 3vmax;

    @media screen and (max-width: 860px) {
        grid-template-columns: repeat(2, 1fr);
    }

    .case-ttl {
        background: #efefef;
        text-align: center;
        padding: 0.3em;
        font-size: 14px;
        margin: 0.2em 0;
    }

    .modal-link {
        position: relative;
        display: block;
    }

    .modal-link::before {
        position: absolute;
        right: 10px;
        top: 10px;
        content: "";
        display: block;
        width: 30px;
        height: 30px;
        background: url("images/kakudai.png")no-repeat center center /contain;
        z-index: 2;
    }
}