
/* =================================
MAP クリニック一覧 
================================= */
#map {
    background-image: url(/assets/media/map/map-bg.webp);
    background-repeat: repeat;
    overflow-x: hidden;
}

/*------  各エリア ------*/
#map .accordion {
    padding: 10vw 5vw 3vw 5vw;
}

#map .accordion_container {
    padding: 1vw 0;
}

@media (min-width:750px) {
    #map .accordion {
        padding: 30px 15px 10px 15px;
    }
}

#map .area_title {
    background: repeating-linear-gradient(89deg, rgba(22, 34, 60, 1), rgba(65, 111, 162, 1));
    color: #ffffff;
    cursor: pointer;
    font-size: 5vw;
    font-weight: 500;
    letter-spacing: 1vw;
    padding: 4vw 0;
    position: relative;
    text-align: center !important;
    transition-duration: .2s;
    z-index: +1;
}

@media (min-width:750px) {
    #map .area_title {
        cursor: pointer;
        font-size: 30px;
        letter-spacing: 10px;
        padding: 15px 0;
        position: relative;
        text-align: center !important;
        transition-duration: .2s;
        z-index: +1;
    }
}

/*------  各院 ------*/
.clinic-box {
    display: flex;
}

.clinic-box .accordion_title {
    color: #ffffff;
    cursor: pointer;
    padding: 1vw 2vw !important;
    position: relative;
    text-align: center !important;
    transition-duration: 0s;
    z-index: +1;
}


.accordion_title:hover {
    filter: brightness(130%);
}

.icon_wrap {
    display: flex;
    justify-content: center;

    align-items: center;
    box-sizing: border-box;
    height: 40px;
    margin-top: -20px;
    position: absolute;
    right: 5%;
    top: 50%;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
    transform-origin: center center;
    transition-duration: .2s;
    width: 40px;
}

.accordion_title.default .icon_wrap {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
}

.icon {
    display: block;

    height: 18px;
    position: relative;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
    transform-origin: center center;
    transition-duration: .2s;
    width: 18px;
}

.accordion_title.default .icon_wrap .icon {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
}

.accordion_title.default.open .icon_wrap .icon {
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
}

.accordion_title.open .icon_wrap {
    -webkit-transform: rotate(-360deg);
            transform: rotate(-360deg);
}

.accordion_title.default.open .icon_wrap {
    -webkit-transform: rotate(315eg);
            transform: rotate(315deg);
}

.icon:before, .icon:after {
    display: flex;

    background-color: #ffffff;
    border-radius: 10px;
    content: "";
    height: 4px;
    left: 0;
    position: absolute;
    top: 7px;
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
    transform-origin: center center;
    width: 18px;
}

.icon:before {
    height: 18px;
    left: 7px;
    top: 0;
    width: 4px;
}

.accordion_title.default .icon_wrap .icon:before {
    content: none;
}

.accordion_title.open .icon_wrap .icon:before {
    content: none;
}

.accordion_title.default.open .icon_wrap .icon:before {
    content: "";
}

.accordion_title.open .icon_wrap .icon:after {
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
}

.accordion_title.default.open .icon_wrap .icon:after {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
}

.accordion_inner {
    display: none;

    box-sizing: border-box;
    padding: 10px 0;
}

.accordion_inner.default {
    display: block;
}


p.txt_a_ac {
    margin: 0;
}

@media screen and (max-width: 1024px) {
    .accordion_title {
        font-size: 18px;
    }

    .icon_wrap {
        height: 30px;
        margin-top: -15px;
        width: 30px;
    }
}

@media screen and (max-width: 767px) {
    .accordion_title {
        font-size: 16px;
        padding: 15px 60px 15px 15px;
        text-align: left;
    }
}

/*------------- 詳細情報の吹き出し -----------------*/
.clinic_inner {
    line-height: 1.8;
    position: relative;
    width: 94%;
}

/* -----左の院 --------*/
.access-txt-box-l {
    display: none;

    background: #ffffff;
    border: #1c1714 solid 2vw;
    margin-left: 0;
    margin-top: 1%;
    padding: 2vw 2vw;
    width: 100%;
}

.access-txt-box-l:after {
    border-color: transparent transparent #1c1714 transparent;
    border-style: solid;
    border-width: 0 4vw 3vw 4vw;
    content: "";
    height: 0;
    left: 0;
    left: 19.5%;
    position: absolute;
    right: 0;
    top: -3%;
    width: 0;
}


.access-txt-box-l:before {
    box-sizing: border-box;
    content: "";
    padding: 10px 10px;
    position: absolute;
    width: 90%;
    /* background-color: #ffffff; 背景色と同じ色を指定 */
}

@media screen and (min-width: 750px) {
    .access-txt-box-l {
        background: #ffffff;
        border: #1c1714 solid 12px;
        left: 0;
        margin-left: 0;
        padding: 8px 8px;
        position: relative;
        width: 100%;
    }

    .access-txt-box-l:after {
        border-width: 0 30px 25px 30px;
        top: -33px;
    }
}


/* -----右の院 --------*/
.access-txt-box-r {
    display: none;

    background: #ffffff;
    border: #1c1714 solid 2vw;
    margin-left: 0;
    margin-top: 1%;
    padding: 2vw 2vw;
    width: 100%;
}

.access-txt-box-r:after {
    border-color: transparent transparent #1c1714 transparent;
    border-style: solid;
    border-width: 0 4vw 3vw 4vw;
    content: "";
    height: 0;
    left: 0;
    left: 72%;
    position: absolute;
    right: 0;
    top: -3%;
    width: 0;
}



.access-txt-box-r:before {
    box-sizing: border-box;
    content: "";
    padding: 10px 10px;
    position: absolute;
    width: 90%;
    /* background-color: #ffffff; 背景色と同じ色を指定 */
}


@media screen and (min-width: 750px) {
    .access-txt-box-r {
        background: #ffffff;
        border: #1c1714 solid 12px;
        left: 0;
        margin-left: 0;
        padding: 8px 8px;
        position: relative;
        width: 100%;
    }

    .access-txt-box-r:after {
        border-width: 0 30px 25px 30px;
        left: 71%;
        top: -32px;
    }
}




/*------------- クリニック詳細 -----------------*/
/*--------店鋪名 -------*/
.store-title {
    background: repeating-linear-gradient(89deg, rgba(22, 34, 60, 1), rgba(65, 111, 162, 1));
    color: #ffffff;
    cursor: pointer;
    font-size: 3.5vw;
    font-weight: 500;
    letter-spacing: 1vw;
    margin-bottom: 1vw;
    padding: 1.5vw 0;
    position: relative;
    text-align: center !important;
    transition-duration: .2s;
    width: 100%;
    z-index: +1;
}


@media (min-width:750px) {
    .store-title {
        cursor: pointer;
        font-size: 30px;
        font-weight: 500;
        letter-spacing: 1vw;
        padding: 10px 0;
        position: relative;
        text-align: center !important;
        transition-duration: .2s;
        z-index: +1;
    }

    .clinic_title {
        padding: 0 auto;
    }
}

.access-txt {
    position: relative;
}

.access-table ul {
    display: flex;

    align-items: center;
    padding: 1% 6%;
    width: 100%;
    /* 水平方向に中央揃え */
    /* margin-left: 5%; */
    /* padding-bottom: 2%; */
}

/*--------ラベル -------*/
.table-first-column {
    flex: 2.5;

    font-size: 3vw;
    margin-left: 0;
    padding-left: 0;
    text-align: left !important;
}

/*--------内容-------*/
.table-column {
    flex: 7.5;

    font-size: 3vw;
    line-height: 1.8;
}


.clinic_inner hr {
    color: #979797 !important;
    size: .2 !important;
    width: 90%;
}



/*--------診療時間------*/
.clinic-hours {
    margin-left: 0 !important;
    padding-left: 0 !important;
}

.clinic-hours .day {
    flex: 2 !important;
}

.clinic-hours .hours {
    flex: 8 !important;
}


@media screen and (min-width: 750px) {
    /*--------ラベル -------*/
    .table-first-column {
        font-size: 20px;
    }

    /*--------内容-------*/
    .table-column {
        font-size: 20px;
    }
}

/*--------MAP地図-----*/

/*--- 情報パネルや＋－マークを非表示 ---*/
.clinic_inner .accordion_content {
    margin: 0 5%;
    margin-top: 2%;
    overflow: hidden;
    width: 90%;

    /* height: 500px; */
}

.clinic_inner iframe {
    height: 400px;
    margin-top: -13.5rem;
    width: 100%;
}

@media screen and (min-width: 750px) {
    .clinic_inner iframe {
        height: 600px;
        margin-top: -13.5rem;
        width: 100%;
    }
}



・opacity-0 {
    display: none;
}