@charset "utf-8";

#home-id {

    /**
    * Overall Structure
    */
    .container--home {
        @media print, screen and (min-width: 1200px) {
            max-width: 1200px;
        }
        /* 1200pxとそれ以上 */
        @media print, screen and (min-width: 1500px) {
            max-width: 1500px;
        }
        /* 1500pxとそれ以上 */
    }

    .container-bottom--home {
        margin-bottom: 50px;
        position: relative;

        @media print,
        screen and (min-width: 576px) {
            margin-bottom: 130px;
        }

        /* 576pxとそれ以上 */
    }

    .container--footer {

        @media print,
        screen and (min-width: 992px) {
            max-width: 800px;
        }

        /* 992pxとそれ以上 */
    }



    /**
    * Unique Contents
    */

    /* Hero
    ------------------------ */
    .hero {
        position: relative;
        /* overflow: hidden; */
        .hero--inner {
            position: relative;
        }
        .hero--txt {
            /* width: 246px; */
            width: 500px;
            position: absolute;
            top: 20%;
            left: 50%;
            transform: translate(-50%, -50%);
            @media print, screen and (min-width: 576px) {
                width: 600px;
            }
            /* 576pxとそれ以上 */
            /* @media print, screen and (min-width: 992px) {
                width: auto;
                top: 18%;
            } */
            /* 992pxとそれ以上 */
            @media print, screen and (min-width: 768px) {
                width: 800px;
            }
            /* 768pxとそれ以上 */

            @media print, screen and (min-width: 992px) {
                /* width: 1000px; */
                top: 18%;
            }
            /* 992pxとそれ以上 */
            @media print, screen and (min-width: 1200px) {
                width: 1000px;
            }
            /* 1200pxとそれ以上 */

            @media print, screen and (min-width: 1500px) {
                /* width: 1300px; */
            }
            /* 1500pxとそれ以上 */
        }
        .hero--img {
            img {
                width: auto;
                @media print, screen and (min-width: 768px) {
                    width: 100%;
                    /* aspect-ratio: 16 / 9; */
                    /* object-fit: cover; */
                }
                /* 768pxとそれ以上 */
            }
        }
    /*

        /* 疑似要素ネストで@mediaが効かない対策 */
        /* @media print,
        screen and (min-width: 576px) {
            &:after {
                height: 500px;
            }
        } */

    }

    /* Treatment Navigation
    ------------------------ */
    .tnav {
        width: 100%;
        padding: 20px;
        background-color: var(--cr--gray-l);
        @media print, screen and (min-width: 992px) {
            padding: 0;
            background: none;
            position: absolute;
            bottom: 30px;
            left: 50%;
            transform: translateX(-50%);
        }
        /* 992pxとそれ以上 */
        @media print, screen and (min-width: 1600px) {
            width: max-content;
        }
        /* 1600pxとそれ以上 */
        .tnav-list {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            gap: 20px;
            width: 100%;
            text-align: center;
            @media print, screen and (min-width: 992px) {
                flex-wrap: nowrap;
                gap: 56px;
                width: auto;
                background: var(--cr--white);
                border-radius: 70px;
                padding: 20px 80px;
            }
            /* 992pxとそれ以上 */
            .tnav-list--in {
                flex-basis: calc(94% / 2);
                padding: 20px 5px;
                border-radius: 20px;
                box-shadow: 0px 0 15px rgba(0, 0, 0, 0.1);
                @media print, screen and (min-width: 992px) {
                    flex-basis: auto;
                    width: auto;
                    padding: 0;
                    box-shadow: none;
                    border-radius: 0;
                }
                /* 992pxとそれ以上 */

                .tnav-link {
                    &:hover {
                        opacity: 1;
                    }
                    @media print, screen and (min-width: 768px) {
                        display: flex;
                        align-items: center;
                        justify-content: center;
                    }
                    /* 768pxとそれ以上 */
                    .tnav-txt-box {
                        @media print, screen and (min-width: 768px) {
                            order: 2;
                        }
                        /* 768pxとそれ以上 */
                        .tnav-en {
                            display: block;
                            margin-bottom: 10px;
                            font-size: var(--fSize--12);
                            color: var(--cr--black);
                            letter-spacing: 0.05em;
                            @media print, screen and (min-width: 768px) {
                                display: block;
                                font-size: var(--fSize--14);
                                letter-spacing: 0.1em;
                            }
                            /* 768pxとそれ以上 */
                        }
                        .tnav-ja {
                            display: block;
                            margin-bottom: 10px;
                            font-size: var(--fSize--22);
                            font-weight: 700;
                            font-weight: normal;
                            letter-spacing: 0.05em;
                            @media print, screen and (min-width: 768px) {
                                margin-bottom: 0;
                                font-size: var(--fSize--24);
                            }
                            /* 768pxとそれ以上 */
                        }
                    }
                    .tnav-img {
                        width: auto;
                        height: 60px;
                        transform: scale(1);
                        @media print, screen and (min-width: 1200px) {
                            order: 1;
                            /* height: 80px; */
                            margin-right: 15px;
                        }
                        /* 1200pxとそれ以上 */
                    }
                    &:hover {
                        .tnav-img {
                            transform: scale(1.1);
                        }
                    }
                }
            }
        }
    }

    /* Latest News
    ------------------------ */
    .latest-news {
        margin-top: 50px;
        margin-bottom: 50px;
        font-size: var(--fSize--14);
        @media print, screen and (min-width: 768px) {
            /* margin-top: 50px; */
            margin-bottom: 100px;
            text-align: center;
        }
        /* 768pxとそれ以上 */
        .t2--latest-news {
            margin-bottom: 10px;
            padding: 6px 36px;
            text-align: center;
            font-family: var(--wf--ZMG);
            font-size: var(--fSize--12);
            border: 1px solid var(--cr--brown-l);
            border-radius: 15px;
            @media print, screen and (min-width: 576px) {
            }
            /* 576pxとそれ以上 */
            @media print, screen and (min-width: 768px) {
                display: inline-block;
                margin-bottom: 0;
            }
            /* 768pxとそれ以上 */
        }
        .latest-news-time {
            width: 15%;
            line-height: 2;
            float: left;
            @media print, screen and (min-width: 576px) {
            }
            /* 576pxとそれ以上 */
            @media print, screen and (min-width: 768px) {
                width: auto;
                line-height: initial;
                margin: 0 20px;
                float: none;
            }
            /* 768pxとそれ以上 */
        }
        .latest-news-link {
            width: 75%;
            line-height: 2;
            padding-bottom: 3px;
            color: var(--cr--black);
            border-bottom: 1px dotted var(--cr--black);
            float: right;
            @media print, screen and (min-width: 768px) {
                width: auto;
                line-height: initial;
                float: none;
            }
            /* 768pxとそれ以上 */

        }
    }

    /* Home Contents Common
    ------------------------ */
    .table {
        width: auto;
    }
    .home-special {}
    .t2--special {
        margin-bottom: 30px;
        text-align: center;
        font-family: var(--wf--ZMG);
        @media print, screen and (min-width: 768px) {
            margin-bottom: 50px;
        }
        /* 768pxとそれ以上 */
        .t2--special--en {
            display: flex;
            justify-content: center;
            align-items: center;
            margin-bottom: 12px;
            font-size: var(--fSize--18);
            letter-spacing: 0.05em;
            @media print, screen and (min-width: 768px) {
                margin-bottom: 20px;
            }
            /* 768pxとそれ以上 */
            &:before,
            &:after {
                content: '';
                width: 30px;
                height: 1px;
            }
            &:before {
                margin-right: 15px;
            }
            &:after {
                margin-left: 15px;
            }
        }
        .t2--special--ja {
            font-size: var(--fSize--40);
            letter-spacing: 0.1em;
            @media print, screen and (min-width: 768px) {
                font-size: var(--fSize--50);
            }
            /* 768pxとそれ以上 */
        }
    }

    .cont--special {
        align-items: center;
        /* justify-content: center; */
        gap: 20px;

        flex-wrap: wrap;
            /* flex-direction: column; */
            justify-content: center;
        @media print, screen and (min-width: 768px) {
            gap: 50px;

        }
        /* 768pxとそれ以上 */


        .cont--special-cont01 {
            @media print, screen and (min-width: 992px) {
                order: 2;
            }
            /* 992pxとそれ以上 */
        }
        .cont--special-cont02 {
            @media print, screen and (min-width: 992px) {
                order: 1;
            }
            /* 992pxとそれ以上 */
        }
        .t3--special {
            line-height: 1.44;
            margin-bottom: 20px;
            text-align: center;
            font-family: var(--wf--ZMG);
            font-size: var(--fSize--25);
            @media print, screen and (min-width: 768px) {
                line-height: inherit;
                margin-bottom: 30px;
                text-align: left;
                letter-spacing: 0.05em;
            }
            /* 768pxとそれ以上 */
        }
        .cont--special-txt {
            font-size: var(--fSize--18);
            line-height: 1.777;
                @media print, screen and (min-width: 768px) {
                line-height: 2;
                }
            /* 768pxとそれ以上 */
        }
    }


    .home-basic {
        overflow: hidden;
        position: relative;
        .home-basic-bg {
            padding: 30px 20px;
            position: relative;
            &:after {
                content: "";
                width: 100vw;
                height: 100%;
                position: absolute;
                top: 0;
                background-color: var(--cr--gray-l);
                z-index: -1;
            }
        }
        .cont--basic {
            gap: 30px;
            flex-wrap: wrap;
            justify-content: center;
            @media print, screen and (min-width: 992px) {
                gap: 60px;
                justify-content: flex-start;
            }
            /* 992pxとそれ以上 */
                .t2--basic {
                display: flex;
                flex-direction: column;
                margin-bottom: 15px;
                /* margin-bottom: 25px; */
                @media print, screen and (min-width: 992px) {
                    margin-bottom: 25px;
                    /* margin-bottom: 45px; */
                }
                /* 992pxとそれ以上 */
                .t2--basic--en {
                    margin-bottom: 25px;
                    font-size: var(--fSize--12);
                    font-weight: 700;
                    letter-spacing: 0.05em;
                    position: relative;
                    &:first-letter {
                        color: var(--cr--green-d);
                    }
                    &:after {
                        content: "";
                        width: 30px;
                        height: 1px;
                        position: absolute;
                        left: 0;
                        bottom: -9px;
                        border-bottom: 1px solid var(--cr--green-d);
                    }
                }
                .t2--basic--ja {
                    font-family: var(--wf--ZMG);
                    font-size: var(--fSize--25);
                    letter-spacing: 0.1em;
                    &:first-letter {
                        color: var(--cr--green-d);
                    }
                    @media print, screen and (min-width: 992px) {
                        font-size: var(--fSize--30);
                    }
                    /* 992pxとそれ以上 */
                }
            }
        }
    }



    /* Outpatient Fever Clinic
    ------------------------ */
    .outpatient-fever {
        padding-top: 40px;
        padding-bottom: 40px;
        background-color: var(--cr--orange-l);
        @media print, screen and (min-width: 992px) {
            padding: 80px 0;
            border-radius: 50px;
        }
        /* 992pxとそれ以上 */
        .t2--special {
            color: var(--cr--orange);
            .t2--special--en {
                &:before,
                &:after {
                    background-color: var(--cr--orange);
                }
            }
        }
        .cont--special-txt {
            margin-bottom: 20px;
            @media print, screen and (min-width: 992px) {
                margin-bottom: 50px;
            }
            /* 992pxとそれ以上 */
        }
    }


    /* Home Medical Care
    ------------------------ */
    .home-medical-care {
        padding: 40px 20px;
        background: url(../images/home/ph-homemedi-bg.jpg) no-repeat top / cover;
        @media print, screen and (min-width: 992px) {
            padding: 100px 0;
        }
        /* 992pxとそれ以上 */
            .home-medical-care--in {
            padding-top: 30px;
            padding-bottom: 30px;
            background-color: rgb(var(--cr--white-rgb) / 0.8);
            border-radius: 30px;
            backdrop-filter: blur(10px);
            --webkit-backdrop-filter: blur(10px);
            @media print, screen and (min-width: 992px) {
                padding: 80px 0;
                border-radius: 50px;
            }
            /* 992pxとそれ以上 */
            .t2--special {
                color: var(--cr--green-d);
                .t2--special--en {
                    &:before,
                    &:after {
                        background-color: var(--cr--green-d);
                    }
                }
            }
        }
    }

    /* First time visitors
    ------------------------ */
    .first-time {
        .home-basic-bg {
            &:after {
                left: 0;
                border-radius: 50px 0 0  50px;
            }
            @media print, screen and (min-width: 992px) {
                padding: 80px 0 80px 80px;
                /* margin-right: calc(50% - 50vw); */
                /* position: relative; */
                /* right: -200px; */
            }
            /* 992pxとそれ以上 */
            @media print, screen and (min-width: 1500px) {
                transform: translateX(200px);
            }
            /* 1500pxとそれ以上 */
        }
        .cont--basic-cont01 {
            @media print, screen and (min-width: 992px) {
                order: 2;
            }
            /* 992pxとそれ以上 */
        }
        .cont--basic-cont02 {
            @media print, screen and (min-width: 992px) {
                order: 1;
            }
            /* 992pxとそれ以上 */
        }
        .tmp--btn-tel {
            margin: 15px 0;
            @media print, screen and (min-width: 992px) {
                margin: 25px 0;
            }
        }
        .btn--box {
            div:nth-child(1) {
                margin-bottom: 10px;
            }
        }

    }

    /* Medical hours
    ------------------------ */
    .medical-hours {
        .home-basic-bg {
            &:after {
                right: 0;
                border-radius: 0 50px 50px 0;
            }
            @media print, screen and (min-width: 992px) {
                /* margin-left: calc(50% - 50vw); */
                padding: 80px 80px 80px 0;
            }
            /* 992pxとそれ以上 */
            @media print, screen and (min-width: 1500px) {
                transform: translateX(-200px);
            }
            /* 1500pxとそれ以上 */
        }
        .cont--basic {
            @media print, screen and (min-width: 992px) {
                justify-content: flex-end;
            }
            /* 992pxとそれ以上 */
        }
        .cont--basic-cont02 {
            /* flex-shrink: 0; */
        }
    }

    /* Information
    ------------------------ */
    .news {
        justify-content: center;
        .news--in {
            gap: 0;
            flex-direction: column;
            @media print, screen and (min-width: 992px) {
                align-items: center;
                justify-content: center;
                flex-direction: row;
                width: 1100px;
                border-left: 1px solid var(--cr--yellow);
            }
            /* 992pxとそれ以上 */
            .news-cont01,
            .news-cont02 {
                @media print, screen and (min-width: 992px) {
                    width: 50%;
                }
                /* 992pxとそれ以上 */
            }
            .news-cont01 {
                display: flex;
                /* justify-content: space-between; */
                align-items: center;
                @media print, screen and (min-width: 992px) {
                    justify-content: center;
                }
                /* 992pxとそれ以上 */
                .news-cont01--in {
                    flex-direction: row;
                    align-items: center;
                    justify-content: space-between;
                    width: 100%;
                    @media print, screen and (min-width: 992px) {
                        gap: 70px;
                        width: auto;
                    }
                    /* 992pxとそれ以上 */
                }
            }
            .news-cont02 {}
        }
        .t2--basic {
            .t2--basic--en {
                &:first-letter {
                    color: var(--cr--yellow) !important;
                }
                &:after {
                    border-color: var(--cr--yellow) !important;
                }
            }
            .t2--basic--ja {
                &:first-letter {
                    color: var(--cr--yellow) !important;
                }
            }
        }
        .btn-news {
            font-size: var(--fSize--14);
            font-family: var(--wf--ZMG);
            color: var(--cr--black);
            letter-spacing: 0.03em;
            &:before {
                content: '';
                display: inline-block;
                width: 48px;
                height: 48px;
                margin-right: 15px;
                vertical-align: middle;
                background: url(../images/home/icon-news.png) no-repeat center;
            }
            span {
                padding-bottom: 2px;
                border-bottom: 1px solid var(--cr--black);
            }
        }
    }

} /* / #home-id */