#MDQ{display:block;}
.pcNone{display:none !important;}


/*---------------------------------------------------------------------------
コンテンツ大枠
---------------------------------------------------------------------------*/
#container {
    width:100%;
}

.contents_window {
    clear: both;
    margin:0 auto;
    padding-bottom: 70px;
    background-color: #f7f5ef;
    position: relative;
    z-index: 120;
    min-width: 1200px;
}

.CB1100{width:1100px; margin:0 auto;}
.CB1200{width:1200px; margin:0 auto;}



/*---------------------------------------------------------------------------
共通CSS
---------------------------------------------------------------------------*/

/*------------　ページトップ　-----------*/

.pagetopBtn {
    position: fixed;
	width: 50px;
	height: 50px;
    bottom: 100px;
    right: 50px;
	margin: auto;
    padding: 0;
    display: block;
	overflow: hidden;
	background-color: #262e8b;
	box-sizing: border-box;
	text-decoration:none;
	text-align: center;
	z-index: 999;
	border: 2px solid #262e8b;
    transition: all .2s;
}

.pagetopBtn::after{
    content: '';
    width: 10px;
    height: 10px;
    border: 0px;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    -ms-transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    position: absolute;
    top: 53%;
    right: 17px;
    margin-top: -6px;
}

.pagetopBtn:hover {
	background-color: #fff;
    cursor: pointer;
}

.pagetopBtn:hover::after {
	border-top: solid 2px #262e8b;
    border-right: solid 2px #262e8b;
}


/*------------ ページ下リンク ------------*/
.ft_reserveWrap{
    min-width: 1200px;
    background-color: #951a37;
    padding: 20px 0;
    position: relative;
    z-index: 100;
}

.ft_reserveContents{
    max-width: 1360px;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
}

.ft_reserveContents p{
    font-size: 1.2rem;
}

.ft_reserveContents .ft_reserveNote{
    display: block;
    margin-top: 8px;
    font-size: 1rem;
    font-weight: 500;
}

.ft_reserveContents a{
    display: block;
    padding: 10px 50px;
    background-color: #fff;
    color: #951a37;
    border-radius: 10px;
    box-shadow: 0 6px 0 #580c20;
    position: relative;
}

.ft_reserveContents a::before{
    content: "→";
    position: absolute;
    left: 20px;
    top: 21%;
    display: block;
}

.ft_reserveContents a:hover{
    top: 2px;
    right: -1px;
    box-shadow: 0 3px 0 #580c20;
}


/*------------ 診療時間　table ------------*/
.timeScheduleBox{
    border-radius: 10px;
    background-color: #fff;
    overflow: hidden;
}

.timeScheduleBox table{
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 0;
    border-radius: 10px;
    width: 100%;
    border: 1px solid #ccc;
}

.timeScheduleBox table th{
    background-color: #5158a2;
    color: #fff;
    padding: 15px 0px;
    font-weight: normal;
}

.timeScheduleBox table th.timeTitle{
    width: 22%;
    text-align: left;
}

.timeScheduleBox table th:first-child,
.timeScheduleBox table th:last-child{width: 15px;}

.timeScheduleBox table td{
    text-align: center;
    color: #262e8b;
    padding: 15px 0px;
}

.timeScheduleBox table td{
    border-bottom: 1px solid #ccc;
}

.timeScheduleBox table tr td:first-child,
.timeScheduleBox table tr td:last-child{border-bottom:none;}

.timeScheduleBox table tr:last-child td{border-bottom:none;}

.timeScheduleBox table td.time{
    text-align: left;
    color: #333;
}

.timeScheduleNote{
    text-align: center;
    color: #333;
	margin-top: 10px;
}
.timeScheduleNote p{
	font-size: 0.8rem;
	line-height: 1.4;
	margin-top: 10px;
}
.timeScheduleNote p > .SP {
display: none !important;
}
.timeScheduleNote p > .PC {
display: block !important;
}

/*------------ テニス肘バナー ------------*/
.tennis_elbow_bnr {
    text-align: center;
}
.tennis_elbow_bnr.top {
    padding-top: 135px;
}
.tennis_elbow_bnr.case {
    margin-top: -80px;
}

/*---------------------------------------------------------------------------
ヘッダー
---------------------------------------------------------------------------*/

#header{
    position: fixed;
    z-index: 9000;
    top: 0;
    left: 0;
    width: 100%;
    height: 130px;
    background-color: #fff;
    transition: all 0.5s ease;
}

.headerContents{
    position: relative;
    min-width: 1200px;
    max-width: 1360px;
    height: 100%;
    box-sizing: border-box;
    margin: 0 auto;
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

.headerLogoBox a{
    display: flex;
    justify-content: flex-start;
    align-items: center;
    color:#4d4d4d;
}

.headerLogoBox .logo{
    /* padding-top: 20px; */
    width: 79px;
}

.headerLogoBox a:hover img{opacity: 1;}

.headerTitle{
    width: 262px;
    /* padding-top: 25px; */
    margin-left: 15px
}

.headerTitle h1{line-height: 0;}

.headerTitle img{
    width: 262px;
    vertical-align: middle;
}

.headerTitle p{
    padding-top: 5px;
    text-align: center;
}


/*----- ヘッダーメニュー -----*/

.headerMenu{display: none !important;}

.headerMenu .spmenu_drawr,
.headerMenu .spmenu_drawr span {}

.nav_container{
    margin-left: auto;
    height: 100%;
}

.nav_container ul{
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    height: 100%;
}

.nav_container ul li{
    width: 112px;
    text-align: center;
    border-right:1px solid #ccc;
    height: 100%;
}

.nav_container ul li a{
    display: flex;
    justify-content: center;
    align-items: flex-start;
    transition: all .3s ease;
    height: 100%;
    box-sizing: border-box;
    padding-top: 80px;
    color: #263994;
}

.nav_container ul li.Hd_navHome a{
    background-image: url(../image/header/link_icon_home.png);
    background-position: 50% 30px;
    background-repeat: no-repeat;
}

.nav_container ul li.Hd_nav01 a{
    background-image: url(../image/header/link_icon01.png);
    background-position: 50% 30px;
    background-repeat: no-repeat;
}

.nav_container ul li.Hd_nav02 a{
    background-image: url(../image/header/link_icon02.png);
    background-position: 50% 30px;
    background-repeat: no-repeat;
}

.nav_container ul li.Hd_nav03 a{
    background-image: url(../image/header/link_icon03.png);
    background-position: 50% 30px;
    background-repeat: no-repeat;
}

.nav_container ul li.Hd_nav04 a{
    background-image: url(../image/header/link_icon04.png);
    background-position: 50% 35px;
    background-repeat: no-repeat;
}

.nav_container ul li.Hd_navResearch a{
    background-image: url(../image/header/link_icon04.png);
    background-position: 50% 35px;
    background-repeat: no-repeat;
    font-size: 0.82rem;
}

.nav_container ul li.Hd_nav05 a{
    background-image: url(../image/header/link_icon05.png);
    background-position: 50% 30px;
    background-repeat: no-repeat;
}

.nav_container ul li.Hd_nav06 a{
    background-image: url(../image/header/link_icon06.png);
    background-position: 50% 30px;
    background-repeat: no-repeat;
}

.nav_container ul li:last-child a{background-color: #263994; color: #fff;}

.nav_container ul li a:hover {background-color:#B9C1EC;}
.nav_container ul li:last-child a:hover{background-color: #7184DB;}



/*---------------------------------------------------------------------------
フッター
---------------------------------------------------------------------------*/

#footer {
    width:100%;
    min-width: 1200px;
    margin: 0 auto;
    padding-bottom: 95px;
    position: relative;
    z-index: 110;
    background-color: #fff;
}

.footerContents{
    max-width: 1360px;
    min-width: 1200px;
    margin: 0 auto;
    padding: 30px 0;
    display: flex;
    justify-content: flex-start;
    align-items: flex-end;
}

.footerLogoBox{
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    color:#808080;
}

.footerLogoBox .logo{
    width: 79px;
}

.footerLogoBox a:hover img{opacity: 1;}

.footerTitle{
    margin-left: 15px;
}

.footerTitle h2{line-height: 1;}

.footerTitle img{
    width: 262px;
    vertical-align: middle;
}

.footerMenu{
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    font-size: 0.75rem;
    margin-top: 20px;
}

.footerMenu li{
    padding: 0 10px;
    border-right:1px solid #ccc; 
}

.footerMenu li:first-child{padding: 0 10px 0 0;}
.footerMenu li:last-child{border-right:none;}

.footerMenu li a{
    position: relative;
    display: inline-block;
    transition: .3s;
    color: #808080;
}

.footerMenu li a::after {
    position: absolute;
    bottom: -2px;
    left: 50%;
    content: '';
    width: 0;
    height: 1px;
    background-color: #808080;
    transition: .3s;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}

.footerMenu li a:hover::after {width: 100%;}


#footer .copyright{
    text-align: center;
    font-size: 0.85rem;
    color: #262e8b;
    padding: 0 30px 10px 0;
    margin-left: auto;
}


/*---------------------------------------------------------------------------
トップページ
---------------------------------------------------------------------------*/

/*----- titleStyle -----*/

.subTitle01{
    color: #262e8b;
    width: 60px;
    padding-top: 40px;
    position: relative;
    z-index: 5;
}
.subTitle01::before,
.subTitle01::after{
    content: "";
    position: absolute;
    left: -5px; right: 0;
    margin: auto;
}
.subTitle01::before{
    top: 0px;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background-color: #f7f5ef;
}
.subTitle01.whBack::before{
    background-color: #fff;
}
.subTitle01::after{
    top: 5px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background-color: #262e8b;
}

.subTitle01 h2 p{
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    font-weight: normal;
    color: #262e8b;
    display: inline-block;
    border: 2px solid #262e8b;
    background-color: #fff;
    border-radius: 10px;
    padding: 15px 10px 15px 5px;
    font-size: 1.5rem;
    position: relative;
}
.subTitle01 h2 p::before,
.subTitle01 h2 p::after{
    content: "";
    position: absolute;
    z-index: -1;
}
.subTitle01 h2 p::before{
    top: -25px;
    left: 0; right: 0;
    margin: auto;
    width: 30px;
    height: 30px;
    border: 2px solid #262e8b;
    border-right: none;
    border-bottom: none;
    transform: rotate(45deg);
}
.subTitle01 h2 p::after{
    bottom: -7px;
    right: -7px;
    width: 100%;
    height: 100%;
    border: 2px solid #262e8b;
    border-radius: 10px;
    background-color: #e5ddc9;
}

@media all and (-ms-high-contrast: none) { /* IE */
    .subTitle01::before,
    .subTitle01::after{
        left: -15px;
    }
}
@-moz-document url-prefix() { /* Firefox */
    .subTitle01::before,
    .subTitle01::after{
        left: -15px;
    }
}


/*----- 詳しく見るボタン -----*/

.topLinkBtn_bl{
    display: inline-block;
    padding: 15px 70px;
    background-color: #5158a2;
    color: #fff;
    /* font-weight: bold; */
    border-radius: 10px;
    box-shadow: 0 6px 0 #262e8b;
    position: relative;
}

.topLinkBtn_bl::before{
    content: "→";
    position: absolute;
    left: 20px;
    top: 50%;
    transform: translateY(-50%);
    display: block;
}

.topLinkBtn_bl:hover{
    top: 2px;
    right: -1px;
    box-shadow: 0 3px 0 #262e8b;
}

@media all and (-ms-high-contrast: none) { /* IE */
    .topLinkBtn_bl{
        padding: 20px 70px 13px;
    }
}


/*------------------------------*/
/*----- 当院が初めての方ボタン -----*/
/*------------------------------*/

.topLinkBtn_orange{
    display: inline-block;
    padding: 15px 70px;
    background-color: #F7963A;
    color: #fff;
    /* font-weight: bold; */
    border-radius: 10px;
    box-shadow: 0 6px 0 #e4750d;
    position: relative;
    margin: 20px;
    width:340px;;
}

.topLinkBtn_orange::before{
    content: "→";
    position: absolute;
    left: 20px;
    top: 50%;
    transform: translateY(-50%);
    display: block;
}

.topLinkBtn_orange:hover{
    top: 2px;
    right: -1px;
    box-shadow: 0 3px 0 #e4750d;
}

@media all and (-ms-high-contrast: none) { /* IE */
    .topLinkBtn_orange{
        padding: 20px 70px 13px;
    }
}

/*------------------------------*/
/*----- 2回目以降の方ボタン -----*/
/*------------------------------*/
.topLinkBtn_blue{
    display: inline-block;
    padding: 15px 70px;
    background-color: #5158a2;
    color: #fff;
    /* font-weight: bold; */
    border-radius: 10px;
    box-shadow: 0 6px 0 #262e8b;
    position: relative;
    margin: 0px 20px 20px 20px;
    width:340px;;
}

.topLinkBtn_blue::before{
    content: "→";
    position: absolute;
    left: 20px;
    top: 50%;
    transform: translateY(-50%);
    display: block;
}

.topLinkBtn_blue:hover{
    top: 2px;
    right: -1px;
    box-shadow: 0 3px 0 #262e8b;
}

@media all and (-ms-high-contrast: none) { /* IE */
    .topLinkBtn_blue{
        padding: 20px 70px 13px;
    }
}

/*------------------------------------------------------------------------*/
/*----- 肉離れ・オスグッド・半月板損傷の専門外来はこちら -----*/
/*------------------------------------------------------------------------*/
.osgood-bnr {
    background: #e9eaf3;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 50px;
    padding: 40px 65px;
}
.osgood-bnr-img {
    width: 430px;
}
.osgood-bnr-text {
    width: 590px;
}
.osgood-bnr-hl {
    color: #262e8b;
    font-size: 24px;
    font-weight: 700;
    line-height: 2;
    margin-bottom: 20px;
}
.osgood-bnr-p {
    font-size: 20px;
}
.osgood-bnr-link {
    text-align: center;
    margin-top: 40px;
}
.osgood-bnr-link .topLinkBtn_bl {
    padding: 15px 140px;
}
.topLinkBtn_enge{
    display: inline-block;
    padding: 15px 70px;
    background-color: #af3e58;
    color: #fff;
    /* font-weight: bold; */
    border-radius: 10px;
    box-shadow: 0 6px 0 #931F3B;
    position: relative;
    margin: 0px 20px 20px 20px;
    width:340px;;
}

.topLinkBtn_enge::before{
    content: "→";
    position: absolute;
    left: 20px;
    top: 50%;
    transform: translateY(-50%);
    display: block;
}

.topLinkBtn_enge:hover{
    top: 2px;
    right: -1px;
    box-shadow: 0 3px 0 #af3e58;
}

@media all and (-ms-high-contrast: none) { /* IE */
    .topLinkBtn_enge{
        padding: 20px 70px 13px;
    }
}




/*----- 縦文字用ライン -----*/

.top_verticalLine{
    display: block;
}

_::-webkit-full-page-media, _:future, :root .top_verticalLine {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
}

.top_verticalLine p{
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    box-sizing: border-box;
    padding:0px 30px 0px 0px;
    color: #262e8b;
    font-size: 1.5rem;
    position: relative;
	display: inline-block;
}

.top_verticalLine span{
    border-right: 2px solid #951a37;
    padding: 2px;
    margin-left: 5px;
    display: inline-block;
}

@media all and (-ms-high-contrast: none) { /* IE */
    .top_verticalLine span{
        padding: 0;
        padding-right: 10px;
    }
}
@-moz-document url-prefix() { /* Firefox */
    .top_verticalLine.VLine01 p{
        width: 55%;
    }
    .top_verticalLine span{
        padding: 0;
        padding-right: 5px;
        margin-left: 10px;
    }
}


/* fullSlideShow
--------------------------- */
.fullSlideShow {
    width: 100%;
    text-align: left;
    position: relative;
    /* overflow: hidden; */
    z-index: 1;
}
.fullSlideShow ul {
    top: 50%;
    left: 50%;
    width: 100%;
    position: fixed; /* absolute or fixed */
    overflow: hidden;
}
.fullSlideShow ul li {
    top: 0;
    left: 0;
    width: 100%;
    display: none;
    position: absolute;
}
.fullSlideShow ul li img {
    width: 100%;
}

.fullSlideShow ul:after {
    content: ".";
    height: 0;
    clear: both;
    display: block;
    visibility: hidden;
}
.fullSlideShow ul {
    display: inline-block;
    overflow: hidden;
}


.fullSlideShow .btnPrev,
.fullSlideShow .btnNext {
    margin-top: -25px;
    top: 50%;
    width: 50px;
    height: 50px;
    position: fixed; /* absolute or fixed */
    z-index: 105;
}
.fullSlideShow .btnPrev {
    left: 10px;
    background: transparent url(../img/btnPrev.png) no-repeat center center;
}
.fullSlideShow .btnNext {
    right: 10px;
    background: transparent url(../img/btnNext.png) no-repeat center center;
}


.pagiNation {
    bottom: 30px;
    left: 0;
    width: 100%;
    height: 15px;
    text-align: center;
    position: fixed; /* absolute or fixed */
    /*z-index: 110;*/
    display: none;
    visibility: visible; /* 非表示にする場合は「hidden」に */
}

.pagiNation a {
    margin: 0 5px;
    width: 20px;
    height: 20px;
    display: inline-block;
    overflow: hidden;
    background: #000;
}
.pagiNation a.pnActive {
    filter:alpha(opacity=100)!important;
    -moz-opacity: 1!important;
    opacity: 1!important;
}

/* fullSlideShowここまで
--------------------------- */

.topMainText{
    position: absolute;
    top: 40%;
    left: 10%;
    z-index: 101;
    font-size: 1.5rem;
}

.topMainText p{
    background-color: #fff;
    margin-bottom: 5px;
    padding: 5px 10px;
    display: inline-block;
    border-radius: 10px;
}
.topMVtable {
    position: absolute;
}
@media all and (-ms-high-contrast: none) { /* IE */
    .topMainText p{
        padding: 10px 10px 3px;
    }
}

.topMVtable{
    position: absolute;
    bottom: 0px;
    left: 0;
    right: -600px;
    margin: auto;
    z-index: 101;
    width: 550px;
}

.topMVtable table{
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 0;
    border-radius: 10px 10px 0px 0px;
    width: 100%;
    overflow: hidden;
    font-size: 1rem;
}

.topMVtable table th{
    background-color: #872844;
    color: #fff;
    padding: 15px 0px;
    font-weight: normal;
    text-align: center;
}

.topMVtable table th.timeTitle{
    width: 23%;
    text-align: left;
}

.topMVtable table th.timeTitle img{
    width: 20px;
    margin-right: 5px;
    vertical-align: middle;
}

.topMVtable table th:first-child,
.topMVtable table th:last-child{width: 5%;}

.topMVtable table td{
    text-align: center;
    color: #872844;
    padding: 15px 0px;
    background-color: #fff;
}

.topMVtable table td{
    border-bottom: 1px solid #ccc;
}

.topMVtable table tr td:first-child,
.topMVtable table tr td:last-child{border-bottom:none;}

.topMVtable table tr:last-child td{border-bottom:none;}

.topMVtable table tr:first-child th:first-child{border-radius: 10px 0px 0px 0px;}
.topMVtable table tr:first-child th:last-child{border-radius: 0px 10px 0px 0px;}

.topMVtable table td.time{
    text-align: left;
    color: #333;
}
.topNews {
    color: #951a37;
    background: rgba(255,255,255,.8);
    position: absolute;
    bottom: 2%;
    left: 10%;
    width: 550px;
    padding: 30px;
    z-index: 100;
}
.topNews-title {
    font-size: 21px;
    font-weight: 700;
    text-align: center;
    margin-bottom: 15px;
}
.topNews-text {
    font-size: 16px;
}
.topNews-text span {
    font-size: 13px;
}
@media screen and (max-width: 1490px){
    .topNews {
        width: 400px;
    }
    .topNews-title {
        font-size: 18px;
    }
    .topNews-text {
        font-size: 14px;
    }
    .topNews-text span {
        font-size: 12px;
    }
}
.top_message{
    padding: 150px 0 0;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: nowrap;
    flex-direction: row-reverse;
    min-height: 730px;
    box-sizing: border-box;
    position: relative;
}

.topMsg_Imgbox{
    margin-right: auto;
    width: 770px;
}

.topMsg_Imgbox p{
    margin-top: 15px;
    overflow-wrap : break-word;
	word-break : break-all;
}

.topMsg_linkBtn{
    position: absolute;
    bottom: -40px;
    right: 70px;
}

.top_kodawari{
    padding: 170px 0 0;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: nowrap;
    flex-direction: row-reverse;
    box-sizing: border-box;
    position: relative;
}

@-moz-document url-prefix(){
.top_kodawari .top_verticalLine{
	min-width: 77px;
}
}

.topKoda_detail{
    width: 955px;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
}

.topKoda_detail .text{
    width:797px;
    margin-left: 20px;
}

.topKoda_ImgList{
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: nowrap;
    width: 98%;
}

.topKoda_ImgList li{
    text-align: center;
    width: 300px;
    padding-top: 40px;
    box-sizing: border-box;
    position: relative;
    z-index: 5;
}
.topKoda_ImgList li::before,
.topKoda_ImgList li::after{
    content: "";
    position: absolute;
    left: 0; right: 0;
    margin: auto;
}
.topKoda_ImgList li::before{
    top: 0px;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background-color: #f7f5ef;
}
.topKoda_ImgList li::after{
    top: 5px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background-color: #262e8b;
}

.topKoda_ImgDesc{
    width: 100%;
    height: 100%;
    border: 2px solid #262e8b;
    border-radius: 10px;
    background-color: #fff;
    padding: 12px;
    box-sizing: border-box;
    position: relative;
}
.topKoda_ImgDesc::before{
    content: "";
    position: absolute;
    z-index: -1;
    top: -25px;
    left: 0; right: 0;
    margin: auto;
    width: 30px;
    height: 30px;
    border: 2px solid #262e8b;
    border-right: none;
    border-bottom: none;
    transform: rotate(45deg);
}

.topKoda_ImgDesc img{
    max-width: 270px;
    margin-bottom: 15px;
}

.topKoda_ImgDesc span{
    font-weight: bold;
}

.topKoda_linkBtn{
    margin: 40px auto 0;
}


.top_help{
    padding: 90px 50px 0 0;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: nowrap;
    flex-direction: row-reverse;
    box-sizing: border-box;
    position: relative;
}

@-moz-document url-prefix(){
.top_help .top_verticalLine{
	min-width: 160px;
}
}

.topHelp_flexBox{
    width: 875px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    flex-direction: row-reverse;
    margin-right: auto;
}

.topHelp_flexDesc{
    width: 200px;
    text-align: center;
}

.topHelp_flexDesc .TH_Title01 img{width: 187px;}
.topHelp_flexDesc .TH_Title02 img{width: 184px;}
.topHelp_flexDesc .TH_Title03 img{width: 178px;}
.topHelp_flexDesc .TH_Title04 img{width: 154px;}
.topHelp_flexDesc .TH_Title05 img{width: 231px; margin-bottom: -25px;}
.topHelp_flexDesc .TH_Title06 img{width: 178px;}
.topHelp_flexDesc .TH_Title07 img{width: 184px;}
.topHelp_flexDesc .TH_Title08 img{width: 153px;}

.topHelp_flexDesc .TH_circle{
    width: 200px;
    height: 200px;
    background-color: #fff;
    border-radius: 50%;
    box-sizing: border-box;
    padding: 10px;
}

.topHelp_flexDesc .TH_circleInr{
    width: 100%;
    height: 100%;
    overflow: hidden;
    position: relative;
    border: 1px solid #262e8b;
    border-radius: 50%;
    box-sizing: border-box;
}

.topHelp_flexDesc .TH_circleInr img{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit-transform: translateY(-50%) translateX(-50%);
}


.top_access{
    margin-top: 70px;
    padding: 45px;
    background-color: #fff;
    box-sizing: border-box;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: nowrap;
    flex-direction: row-reverse;
}

.topAcc_textBox{
    text-align: center;
    width: 485px;
    box-sizing: border-box;
    padding: 0 20px;
}

.topAcc_textBox .logo{margin-bottom: 15px;}
.topAcc_textBox .logo img{width: 83px;}

.topAcc_textBox h3{margin-bottom: 30px;}
.topAcc_textBox h3 img{width: 353px;}

.topAcc_textBox .add{
    text-align: left;
    margin: 0px 0px 30px 70px;
    font-size: 1.25rem;
}

.topAcc_textBox .tel img{width: 150px;}

.topAcc_textBox .acText{
    color: #951a37;
    font-size: 1.15rem;
    margin-top: 10px;
}

.topAcc_textBox .acText span{
    font-size: 2rem;
}

.topAcc_linkBtn{margin: 20px auto 0;}

.topAcc_GMap{
    width: 555px;
    margin-right: auto;
}

.topAcc_GMap iframe{
    width: 100%;
    height: 400px;
}


.top_info{
    margin-top: 70px;
    box-sizing: border-box;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: nowrap;
    flex-direction: row-reverse;
    position: relative;
    min-height: 320px;
}

.topInfoBox{
    width: 990px;
    border-top: 1px solid #262e8b;
    margin-right: auto;
}

.topInfoDesc{
    border-bottom: 1px solid #262e8b;
}

.topInfo_DateTitle{
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: nowrap;
    color: #262e8b;
    font-size: 1.25rem;
    position: relative;
    padding: 25px 0px 25px 0px;
}

.topInfo_DateTitle:hover{cursor: pointer;}

.topInfo_DateTitle dt{
    width: 15%;
}

.topInfo_DateTitle dd{
    width: 85%;
    box-sizing: border-box;
    vertical-align: middle;
    padding-right: 40px;
}

.topInfo_DateTitle dd.new-icon::after{
    content:"NEW";
    font-size: 0.75rem;
    background-color: #5158a2;
    color: #fff;
    padding: 5px 10px;
    margin: 0px 0px 0px 10px;
    border-radius: 5px;
    box-shadow: 0 3px 0 #262e8b;
    position: relative;
    top:-3px;
}

.topInfo_ToggleBtn{
    display: block;
    width: 31px;
    height: 31px;
    background: url(../image/top/toggle01.png) center center no-repeat;
    background-size: 31px auto;
    position: absolute;
    right: 0px;
    top: 30%;
}

.topInfo_DateTitle.active .topInfo_ToggleBtn{
    background: url(../image/top/toggle02.png) center center no-repeat;
    background-size: 25px auto;
}

.topInfo_Text{
    padding: 0px 0px 0px 15%;
    margin: 0px 0px 25px 0px;
}


.top_timeTable{
    margin: 80px 0px 0px 0px;
    padding: 45px;
    background-color: #fff;
    box-sizing: border-box;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: nowrap;
    flex-direction: row-reverse;
    position: relative;
}

.topTim_Hours{
    width:760px;
    margin-right: 100px;
    border-radius: 10px;
    overflow: hidden;
}

.topTim_Hours table{
    font-size: 1.3rem !important;
}

.topTim_Hours table th:first-child,
.topTim_Hours table th:last-child{width: 5% !important;}

.top_calendarWrap{
    min-width: 1200px;
    background-color: #e9eaf3;
    padding: 50px 15px;
    box-sizing: border-box;
    position: relative;
    z-index: 130;
}

.top_calendarBox{
    width: 60%;
    margin: 0 auto;
    background-color: #fff;
}

.top_calendarCautionBox{
    width: 100%;
    background-color: #5158a2;
    padding: 20px 15px;
    box-sizing: border-box;
    text-align: center;
}

.top_calendarCautionBox p{
    font-size: 1.2rem;
    color: #fff;
}
.top_calendarCautionBox p span{
    font-size: 1.4rem;
    font-weight: bold;
    position: relative;
}
.top_calendarCautionBox p span::after{
    content: "";
    position: absolute;
    bottom: -3px;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #fff;
}
.con_accessLinkBox_text {
    font-weight: 700;
}
.con_accessLinkBox_text.page_contact {
    text-align: left;
    text-indent: -2em;
    padding-left: 2em;
    margin: 0 20px;
}
.top_calendarCautionBox{
    width: 100%;
    background-color: #5158a2;
    padding: 20px 15px;
    box-sizing: border-box;
    text-align: center;
}

/*　24時間可能なWEB予約　（自費診療の方(7,000円/1回)）　*/
.top_calendarCautionBox_2{
    width: 100%;
    background-color: #941D39;
    padding: 20px 15px;
    box-sizing: border-box;
    text-align: center;
}

.top_calendarCautionBox_2 p{
    font-size: 1.2rem;
    color: #fff;
}
.top_calendarCautionBox_2 p span{
    font-size: 1.4rem;
    font-weight: bold;
    position: relative;
}
.top_calendarCautionBox_2 p span::after{
    content: "";
    position: absolute;
    bottom: -3px;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #fff;
}




.top_calBtext{
    margin-top: 10px;
    margin-bottom: 10px;
    padding: 10px 5px;
    background-color: #fff;
    text-align: center;
}

.top_calBtext strong{
    color: #951a37;
    font-weight: bold;
}

.top_supplement{
    margin: 30px auto;
    padding: 30px 30px;
    width: 60%;
    box-sizing: border-box;
    background-color: #ffffff;
    text-align: left;
}
.top_supptext{
    margin-top: 10px;
    margin-bottom: 10px;
    font-size: 1rem;
}
.top_supptext_small{
    font-size: 0.8rem;
}


/*----- キャラクター調整用 -----*/

.top_chara01{position: absolute; bottom: 9px; right: 0;}
.top_chara01 img{width: 206px;}

.top_chara02{}
.top_chara02 img{width: 123px;}

.top_chara03{margin-bottom: 40px;}
.top_chara03 img{width: 146px;}

.top_chara04{margin-top: 30px; margin-bottom: 30px;}
.top_chara04 img{width: 85px;}

.top_chara05{margin-bottom: 50px;}
.top_chara05 img{width: 82px;}

.top_chara06{margin-top: 30px;  margin-bottom: 30px;}
.top_chara06 img{width: 79px;}

.top_chara07{position: absolute; bottom: 0; right: 0;}
.top_chara07 img{width: 99px;}

.top_chara08{position: absolute; bottom: 50px; left: 70px;}
.top_chara08 img{width: 101px;}

.top_chara08{position: absolute; bottom: 50px; left: 70px;}
.top_chara08 img{width: 101px;}

.top_chara09{margin-top: 20px; margin-bottom: 40px;}
.top_chara09 img{width: 78px;}

.top_chara10{margin-top: 20px; margin-bottom: 40px;}
.top_chara10 img{width: 78px;}

/*----- キャラクター調整用ここまで -----*/



/*---------------------------------------------------------------------------
下層　共通CSS
---------------------------------------------------------------------------*/

/*----- 下層メインイメージ -----*/
.caMainImgBox{
    width: 100%;
    height: 60vh;
    margin-top: 130px;
    background-repeat: no-repeat;
    background-size: cover;
    display: flex;
    justify-content: center;
    align-items: center;
}

.caMainImgBox h2{
    background-image: linear-gradient(to right, rgba(255,255,255,0), #fff 40%, #fff 60%, rgba(255,255,255,0));
    display: inline-block;
    padding: 10px 70px;
    color: #262e8b;
    font-size: 2.25rem;
    letter-spacing: 0.2rem;
    font-weight: bold;
    text-align: center;
}

.caMainImgBox h2.fontMPlus{font-weight: normal;}


/*----- 下層コンテンツ枠 -----*/
.caContentsWrap{
    padding-top: 120px;
}

.caContentsBox{
    background-color: #fff;
    margin-bottom: 100px;
    padding: 80px 50px 60px;
    box-sizing: border-box;
    position: relative;
}
.caContentsBox::before,
.caContentsBox::after{
    content: "";
    position: absolute;
    top: 0;
    width: 40px;
    height: 40px;
    border: 7px solid #b3b6d6;
}
.caContentsBox::before{
    left: 0;
    border-right: none;
    border-bottom: none;
}
.caContentsBox::after{
    right: 0;
    border-left: none;
    border-bottom: none;
}

/*----- 下層タイトル -----*/
.caTitleBox{
    text-align: center;
    margin-top: -105px;
    position: relative;
    z-index: 5;
}
.caTitleBox::before,
.caTitleBox::after{
    content: "";
    position: absolute;
    left: 0; right: 0;
    margin: auto;
}
.caTitleBox::before{
    top: -45px;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background-color: #f7f5ef;
}
.caTitleBox::after{
    top: -40px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background-color: #262e8b;
}

.caTitleBox h2{
    min-width: 200px;
    font-weight: normal;
    color: #262e8b;
    display: inline-block;
    border: 2px solid #262e8b;
    background-color: #fff;
    border-radius: 10px;
    padding: 10px 15px;
    font-size: 1.5rem;
    letter-spacing: 0.2rem;
    position: relative;
}
.caTitleBox h2::before,
.caTitleBox h2::after{
    content: "";
    position: absolute;
    z-index: -1;
}
.caTitleBox h2::before{
    top: -30px;
    left: 0; right: 0;
    margin: auto;
    width: 40px;
    height: 40px;
    border: 2px solid #262e8b;
    border-right: none;
    border-bottom: none;
    transform: rotate(45deg);
}
.caTitleBox h2::after{
    bottom: -7px;
    right: -7px;
    width: 100%;
    height: 100%;
    border: 2px solid #262e8b;
    border-radius: 10px;
    background-color: #e5ddc9;
}

/*----- 下層メインテキスト -----*/
.caDescBox{
    text-align: center;
    line-height: 2.0rem;
    margin-top: 50px;
    margin-bottom: 50px;
}


/*---------------------------------------------------------------------------
院長あいさつ
---------------------------------------------------------------------------*/

.About.caMainImgBox{
    background-image: url(../about/image/mainImg.jpg);
    background-position: 50% 20%;
}

.about_doctorBox{
    display: flex; /* フレックスボックスを使用 */
    justify-content: center; /* 水平方向に中央揃え */
    align-items: center; /* 垂直方向に中央揃え */
}

img {
    max-width: 100%; /* 画像の幅を親要素に合わせる */
    height: auto; /* 高さを自動調整 */
}


.about_docImgBox{
    width: calc(((100% - 50px) / 2) - 80px);
    margin-right: 50px;
}

.about_docTextBox{
    padding: 3% 0;
    /*width: calc(((100% - 50px) / 2) + 80px);*/
}

.about_docHD{
    margin-bottom: 30px;
    color: #262e8b;
    line-height: 2.4rem;
    font-size: 1.2rem;
    font-weight:bold
}

.about_docHD span{
    border-bottom: 2px solid #951a37;
    padding-bottom: 5px;
}

.about_docNameBox{
    margin-top: 50px;
    text-align: right;
}

.about_docNameBox p{
    font-size: 1.4rem;
}

.about_docNameBox .JP ruby{
    font-size: 1.8rem;
    margin-left: 15px;
}

.about_docNameBox .EN{
    margin-top: 5px;
}

.about_docNameBox .EN span{
    border-top: 2px solid #951a37;
    color: #951a37;
    padding-top: 10px;
    font-size: 0.8rem;
}

.about_flexBox{
    display: flex;
    margin-top: 120px;
}

.about_flexBox .caContentsBox{
    width: calc((100% - 50px) / 2);
    margin-right: 50px;
}
.about_flexBox .caContentsBox:nth-of-type(2){
    margin-right: 0;
}

.aboutSubTitle h2{
    width: 150px;
    min-width: inherit;
    font-size: 1.4rem;
    padding: 7px 15px;
}

.about_charaBox01{
    position: absolute;
    top: -70px;
    left: 110px;
    width: 68px;
}

.about_charaBox02{
    position: absolute;
    top: -65px;
    right: 85px;
    width: 91px;
}

.about_historyBox{
    margin-top: 50px;
}

.about_historyBox dl{
    display: flex;
    padding: 15px 0;
    border-bottom: 2px dashed #ccc;
}
.about_historyBox dl:last-of-type{
    padding-bottom: 0;
    border-bottom: none;
}

.about_historyBox dl dt{
    width: 20%;
    padding-right: 20px;
    color: #262e8b;
    box-sizing: border-box;
}

.about_historyBox dl dd{
    width: 80%;
}

.about_otherBox{
    margin-top: 50px;
}

.about_otherBox p{
    font-size: 1.2rem;
    color: #262e8b;
    margin-bottom: 25px;
}

.about_otherBox ul{
    margin-bottom: 60px;
    margin-left: 15px;
    padding-left: 15px;
    border-left: 2px solid #5158a2;
    display: flex;
    flex-wrap: wrap;
}
.about_otherBox ul:last-of-type{
    margin-bottom: 0;
}

.about_otherBox ul li{
    width: 100%;
    display: flex;
    margin-bottom: 10px;
}
/*
.about_otherBox ul:last-of-type li{
    width: 50%;
}

.about_otherBox ul li:last-child{
    margin-bottom: 0;
}
*/

.about_list-3 {
    list-style-type: none;
    padding: 1em;
    border: 2px solid #263994;
    border-radius: 10px
}

.about_list-3 li {
    display: flex;
    align-items: center;
    gap: 0 5px;
    padding: .3em;
}

.about_list-3 li::before {
    display: inline-block;
    width: 10px;
    height: 5px;
    border-bottom: 2px solid #263994;
    border-left: 2px solid #263994;
    transform: rotate(-45deg) translateY(-1.5px);
    content: '';
}

.main-category {
    list-style-type: none; /* 大カテゴリのマーカーを消す */
    padding: 20px; /* パディングをリセット */
    background-color: #d9e9fc; /* <ul>全体の背景色を青に設定 */
    border-radius: 10px; /* 角を丸くする */
    padding: 15px; /* 内側の余白を追加 */
}

.category-item {
    font-weight: bold; /* 大カテゴリを太字にする */
    margin: 10px 20px; /* 大カテゴリの間隔 */
    position: relative; /* 擬似要素の位置を相対的にする */
    font-size: 18px; /* デフォルトのフォントサイズ */
    color: rgb(0, 4, 128); /* デフォルトのフォントカラー */
}

.category-item::before {
    content: '✔'; /* チェックマークを表示 */
    position: absolute; /* 絶対位置 */
    left: -20px; /* 左に配置 */
        position: absolute; /* 絶対位置 */
    color: rgb(0, 4, 128); /* チェックマークの色 */
    font-size: 16px; /* チェックマークのサイズ */
}

.sub-category {
    list-style-type: none; /* アル中カテゴリのマーカーを消す */
    padding-left: 20px; /* アル中カテゴリのインデント */
}

.sub-category-item {
    font-size: 14px; /* 中カテゴリのデフォルトのフォントサイズ */
    color: #272727; /* 中カテゴリのデフォルトのフォントカラー */
    margin: 5px 0; /* アル中カテゴリの間隔 */
}

.about-container {
    display: flex; /* Flexboxを使用して横並びにする */
    justify-content: center; /* 中央揃え */
    gap: 30px; /* 画像間のスペース */
    padding: 2em 1em 1em 2.5em;

}

.about-image {
    width: 500px; /* 画像の幅を指定 */
    height: auto; /* 高さは自動調整 */

}

/*---------------------------------------------------------------------------
院内紹介
---------------------------------------------------------------------------*/

.Info.caMainImgBox{
    background-image: url(../info/image/mainImg.jpg);
    background-position: 50% 60%;
}

.info_listBox{
    display: flex;
    flex-wrap: wrap;
}

.info_listInner{
    width: calc((100% - 80px) / 2);
    margin-right: 80px;
    margin-bottom: 100px;
}

.info_listInner:nth-of-type(2n+2){
    margin-right: 0;
}

.info_listInner:nth-last-of-type(-n+2){
    margin-bottom: 0;
}

.info_titleBox{
    text-align: center;
    margin-bottom: -10px;
    position: relative;
    z-index: 5;
}

.info_titleBox::before,
.info_titleBox::after{
    content: "";
    position: absolute;
    left: 0; right: 0;
    margin: auto;
}
.info_titleBox::before{
    top: -35px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background-color: #fff;
}
.info_titleBox::after{
    top: -30px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #262e8b;
}

.info_titleBox p{
    min-width: 130px;
    font-weight: normal;
    color: #262e8b;
    display: inline-block;
    border: 2px solid #262e8b;
    background-color: #fff;
    border-radius: 10px;
    padding: 7px 15px;
    font-size: 1.2rem;
    position: relative;
}
.info_titleBox p::before,
.info_titleBox p::after{
    content: "";
    position: absolute;
    z-index: -1;
}
.info_titleBox p::before{
    top: -25px;
    left: 0; right: 0;
    margin: auto;
    width: 30px;
    height: 30px;
    border: 2px solid #262e8b;
    border-right: none;
    border-bottom: none;
    transform: rotate(45deg);
}
.info_titleBox p::after{
    bottom: -7px;
    right: -7px;
    width: 100%;
    height: 100%;
    border: 2px solid #262e8b;
    border-radius: 10px;
    background-color: #e5ddc9;
}

.info_imgBox{
    margin-bottom: 15px;
}

.info_textBox{
    position: relative;
    padding-left: 130px;
}

.info_charaBox{
    position: absolute;
}

.info_charaBox.chara01{
    width: 115px;
    bottom: -10px;
    left: -15px;
}
.info_charaBox.chara02{
    width: 115px;
    bottom: -25px;
    left: -15px;
}
.info_charaBox.chara03{
    width: 118px;
    bottom: -10px;
    left: -15px;
}
.info_charaBox.chara04{
    width: 115px;
    bottom: 20px;
    left: -15px;
}
.info_charaBox.chara05{
    width: 115px;
    bottom: -10px;
    left: -15px;
}
.info_charaBox.chara06{
    width: 81px;
    bottom: 10px;
    left: 10px;
}



/*---------------------------------------------------------------------------
症状のご相談
---------------------------------------------------------------------------*/

.caseWrap{
    padding-top: 100px;
}

.case_naviBox{
    margin-bottom: 150px;
    position: relative;
}
.case_naviBox::after{
    content: "";
    position: absolute;
    bottom: -7px;
    right: -7px;
    width: 100%;
    height: 100%;
    border: 2px solid #262e8b;
    border-radius: 10px;
    background-color: #5158a2;
    box-sizing: border-box;
    z-index: -1;
}

.case_naviBox ul{
    display: flex;
    align-items: stretch;
    background-color: #fff;
    border: 2px solid #262e8b;
    border-radius: 10px;
    box-sizing: border-box;
    overflow: hidden;
}

.case_naviBox ul li{
    width: 12.5%;
    border-right: 2px solid #262e8b;
}
.case_naviBox ul li:last-child{
    border-right: none;
}

.case_naviBox ul li a{
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    padding: 15px;
    box-sizing: border-box;
    color: #262e8b;
    text-align: center;
    font-size: 1.2rem;
    transition: 0.2s ease;
}

.case_naviBox ul li a.active,
.case_naviBox ul li a:hover{
    background-color: #888cbf;
    color: #fff;
}

.Case.caDescBox{
    margin-bottom: 0;
}

.case_menuBox{
    background-color: #fff;
    margin: 50px 0;
    padding-bottom: 50px;
}

.case_menuBox p{
    color: #fff;
    text-align: center;
    letter-spacing: 0.2rem;
    font-size: 1.2rem;
    background-color: #951a37;
    padding: 15px;
    margin-bottom: 50px;
}

.case_menuBox ul{
    margin: 0 50px;
    display: flex;
    flex-wrap: wrap;
    border: 1px solid #951a37;
}

.case_menuBox ul li{
    width: 50%;
    border-right: 1px solid #951a37;
    border-bottom: 1px solid #951a37;
    box-sizing: border-box;
}
.case_menuBox ul li:nth-child(2n+2){
    border-right: none;
}
.case_menuBox ul li:nth-last-child(-n+2){
    border-bottom: none;
}
.case_menuBox ul li.bdBottom{
    border-bottom: 1px solid #951a37;
}

.case_menuBox ul li a{
    display: flex;
    padding: 15px;
    position: relative;
    z-index: 1;
    transition: 0.3s ease;
}

.case_menuBox ul li a::after{
    content: "";
    position: absolute;
}

.case_menuBox ul li a::after{
    top: 50%;
    right: 15px;
    transform: translateY(-50%) rotate(45deg);
    width: 7px;
    height: 7px;
    border: 2px solid #951a37;
    border-bottom: none;
    border-left: none;
    transition: 0.3s ease;
}

.case_menuBox ul li a span{
    color: #951a37;
    transition: 0.3s ease;
}

.case_menuBox ul li a:hover,
.case_menuBox ul li a:hover span{
    color: #fff;
}

.case_menuBox ul li a:hover{
    background-color: #951a37;
}

.case_menuBox ul li a:hover::after{
    border-color: #fff;
}

.case_contentsWrap{
    background-color: #fff;
}

.case_contentsBox{
    padding-top: 20px;
}

#anc_menu01.case_contentsBox{
    position: relative;
}
#anc_menu01.case_contentsBox::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0; right: 0;
    margin: auto;
    width: 100%;
    height: 20px;
    background-color: #f7f5ef;
}

.case_subTitleBox{
    background-color: #262e8b;
    padding: 15px 50px;
    display: flex;
    align-items: center;
}

.case_subTitleBox p,
.case_subTitleBox h3{
    color: #fff;
    font-size: 1.4rem;
    font-weight: normal;
    letter-spacing: 0.2rem;
}

.case_number{
    width: 60px;
    height: 60px;
    line-height: 60px;
    border-radius: 50%;
    letter-spacing: normal !important;
    background-color: #5158a2;
    border: 3px solid #262e8b;
    text-align: center;
    margin-top: -33px;
    margin-bottom: -13px;
    margin-right: 15px;
    position: relative;
}
.case_number::after{
    content: "";
    position: absolute;
    bottom: 5px;
    right: 0;
    width: 0;
    height: 0;
    transform: rotate(-55deg);
    border-style: solid;
    border-width: 20px 5px 0 5px;
    border-color: #5157a2 transparent transparent transparent;
}

.case_number span{
    font-size: 1.6rem;
}

.case_contentsInner{
    padding: 50px;
}

.case_contentsInner h4{
    font-weight: normal;
}

.case_contentsInner p{
    font-size: 1.0rem;
    line-height: 1.8rem;
}

.case_flexBox{
    display: flex;
}

.case_textBox{
    width: calc(100% - (404px + 50px));
}

.case_imgBox{
    flex-grow: 1;
    width: 404px;
    margin-left: 50px;
    margin-bottom: 15px;
}

.case_contentsInner .blueText{
    color: #262e8b;
}

.case_contentsInner ul li{
    display: flex;
}

.case_innerLinkBox{
    margin-bottom: 30px;
    display: flex;
    flex-direction: column;
}

.case_innerLinkBox a{
    align-self: flex-end;
    margin-top: 15px;
}

.case_boxEnd{
    margin-bottom: 0 !important;
}

.case_linkBox01{
    display: flex;
    justify-content: flex-end;
    position: relative;
    z-index: 5;
}

.case_linkBtx{
    display: inline-block;
    padding: 15px 30px 15px 70px;
    background-color: #5158a2;
    border: 2px solid #262e8b;
    color: #fff;
    border-radius: 10px;
    position: relative;
    margin-right: 50px;
    margin-bottom: 85px;
}
.case_linkBtx::before{
    content: "";
    position: absolute;
    bottom: -7px;
    right: -7px;
    width: 100%;
    height: 100%;
    border: 2px solid #262e8b;
    border-radius: 10px;
    background-color: #e5ddc9;
    z-index: -1;
}
.case_linkBtx::after{
    content: "→";
    position: absolute;
    left: 20px;
    top: 21%;
    display: block;
}

.case_linkCharacter{
    position: absolute;
    bottom: 0;
    right: 70px;
    width: 93px;
    z-index: 5;
}
.case_linkCharacter img{
    vertical-align: bottom;
}

.case_linkBtx:hover{
    transform: translate(7px, 7px);
    background-color: #888cbf;
}
.case_linkBtx:hover::before{
    display: none;
}


/*---------- ゆらし紹介部分 ----------*/
#case_yurashiBox{
    width: 100%;
    min-width: 1200px;
    background-color: #e9eaf3;
    padding: 80px 0;
}

.case_yurashiTitle{
    margin-top: 0;
    margin-bottom: 50px;
}
.case_yurashiTitle::before{
    background-color: #e9eaf3;
}

.case_yurashiTitle h2{
    padding: 10px 50px;
}

#case_yurashiInner{
    display: flex;
    align-items: flex-end;
    padding-top: 50px;
}

.case_yurashiTextBox{
    width: calc((100% - (458px + 50px)));
    margin-right: 50px;
}

.case_yurashiTextBox p{
    line-height: 2rem;
}
.case_yurashiTextBox p + p {
    margin-top: 1.5em;
}
.case_yurashiTextBox p a {
    text-decoration: underline;
}
.case_yurashiTextBox p a:hover {
    text-decoration: none;
}
.case_yurashiTextBox h3{
    display: block;
    font-size: 1.6rem;
    color: #262e8b;
    margin-bottom: 20px;
}

.case_yurashiLinkBox{
    display: flex;
    justify-content: flex-end;
    margin-top: 50px;
}

.case_yurashiLinkBox a{
    padding-right: 30px;
}
.case_yurashiLinkBox a::before{
    top: 21%;
    transform: translateY(0);
}

.case_yurashiImgBox{
    width: 458px;
    position: relative;
}

.case_yurashiCharaBox{
    position: absolute;
    top: -77px;
    left: 0; right: 0;
    margin: auto;
    width: 139px;
}


/*---------- ゆらし外来診療時間 ----------*/
#case_yurashiTimeScheduleWrap{
    width: 100%;
    min-width: 1200px;
    background-color: #fff;
    padding: 80px 0;
}

.case_yurashiTimeScheBox{
    display: flex;
}

#case_yurashiTimeScheTextWrap{
    width: calc((100% - 50px) / 2);
    margin-right: 50px;
}

.case_yurashiSubTitle{
    margin-top: 0;
    margin-bottom: 50px;
}
.case_yurashiSubTitle::before{
    background-color: #fff;
}

.case_yurashiSubTitle h2{
    font-size: 1.2rem;
}

#case_yurashiTimeScheTextBox .conBox{
	border: 5px double #262e8b;
	padding: 10px 20px;
	margin-top: 20px;
	display: inline-block;
}

#case_yurashiTimeScheTextBox .conBox span{font-weight: bold;}

.case_yurashiTimeSche{
    width: calc((100% - 50px) / 2);
}

.case_yurashiTimeTable{
    border-radius: 10px;
    overflow: hidden;
}


/*---------- 下部リンク部分 ----------*/
.case_ftLinkWrap{
    width: 100%;
    min-width: 1200px;
    background-color: #951a37;
}

.case_ftLinkBox{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    padding: 30px 0;
}

.case_ftLinkBox p{
    color: #fff;
    font-size: 1.2rem;
    margin-right: 30px;
}

.case_ftLinkBox .case_ftLinkCaution{
    display: block;
    width: 100%;
    font-size: 1.0rem;
    text-align: center;
    margin-top: 30px;
    margin-bottom: 0;
}

.case_ftLinkBtn{
    background-color: #fff;
    color: #951a37;
    box-shadow: 0 6px 0 #580c20;
    font-weight: bold;
    font-size: 1.2rem;
}
.case_ftLinkBtn::before{
    top: 50%;
    transform: translateY(-50%);
}

.case_ftLinkBtn:hover{
    box-shadow: 0 3px 0 #580c20;
}


/*---------- 肉離れ ----------*/
.case_Nikubanare.caMainImgBox{
    background-image: url(../case/nikubanare/image/mainImg.jpg);
    background-position: 50% 50%;
}

/*---------- オスグッド ----------*/
.case_Osgood.caMainImgBox{
    background-image: url(../case/osgood/image/mainImg.jpg);
    background-position: 50% 50%;
}

/*---------- 半月板 ----------*/
.case_Hangetsuban.caMainImgBox{
    background-image: url(../case/hangetsuban/image/mainImg.jpg);
    background-position: 50% 50%;
}

/*---------- 骨粗鬆症 ----------*/
.case_Kotsuso.caMainImgBox{
    background-image: url(../case/kotsuso/image/mainImg.jpg);
    background-position: 50% 50%;
}

/*---------- 腰椎椎間板ヘルニア ----------*/
.case_Hernia.caMainImgBox{
    background-image: url(../case/hernia/image/mainImg.jpg);
    background-position: 50% 90%;
}

/*---------- 坐骨神経痛 ----------*/
.case_Zakotsu.caMainImgBox{
    background-image: url(../case/zakotsu/image/mainImg.jpg);
    background-position: 50% 50%;
}

.zakotsu_menuBox01{
    width: 100% !important;
    border-right: none !important;
}

.zakotsu_menuBox02{
    width: 100% !important;
    border-right: none !important;
    display: flex;
    justify-content: space-between;
}

.zakotsu_menu02{
    padding-right: 30px !important;
}

.zakotsu_subMenuBox{
    display: flex;
}

.zakotsu_subMenuBox a{
    padding: 15px 25px !important;
    box-sizing: border-box;
    font-size: 0.9rem;
}

.zakotsu_subMenuBox a::after{
    width: 5px !important;
    height: 5px !important;
    right: 15px !important;
}

.zakotsu_subMenuBox a::before{
    content: "";
    position: absolute;
    top: 50%;
    left: 10px;
    transform: translateY(-50%);
    width: 7px;
    height: 7px;
    border: 1px solid #333;
    transition: 0.3s ease;
}

.zakotsu_subMenuBox a:hover::before{
    border-color: #fff;
}

/*---------- 腰痛 ----------*/
.case_Youtsuu.caMainImgBox{
    background-image: url(../case/youtsuu/image/mainImg.jpg);
    background-position: 50% 70%;
}

/*---------- 膝痛 ----------*/
.case_Hiza.caMainImgBox{
    background-image: url(../case/hiza/image/mainImg.jpg);
    background-position: 50% 80%;
}



/*---------------------------------------------------------------------------
コラム
---------------------------------------------------------------------------*/
.columnWrap{
    width: 100%;
    min-width: 1200px;
    background-color: #e9eaf3;
    padding: 80px 0;
}

.column_titleBox{
    margin-top: 0;
    margin-bottom: 50px;
}
.column_titleBox::before{
    background-color: #e9eaf3;
}

.column_contentsBox{
    display: flex;
    flex-wrap: wrap;
}

.column_subTitle{
    width: 100%;
    font-size: 2.0rem;
    font-weight: bold;
    color: #262e8b;
    text-align: center;
    margin-bottom: 50px;
    font-weight: normal;
}

.column_textBox{
    width: calc((100% - (400px + 50px)));
    margin-right: 50px;
}

.column_textBox p{
    line-height: 2rem;
}

.column_textBox p span{
    display: block;
    font-size: 1.2rem;
    font-weight: bold;
    color: #262e8b;
    margin-bottom: 20px;
}

.column_linkBox{
    display: flex;
    justify-content: flex-end;
    margin-top: 50px;
}

.column_linkBox a{
    padding-right: 30px;
}
/* .column_linkBox a::before{
    top: 21%;
    transform: translateY(0);
} */

.column_imgBox{
    width: 400px;
    position: relative;
}

.column_charaBox{
    position: absolute;
    top: -77px;
    right: 30px;
    width: 139px;
}



/*---------------------------------------------------------------------------
特集
---------------------------------------------------------------------------*/

.Special.caMainImgBox{
    background-image: url(../special/image/mainImg.jpg);
    background-position: 50% 20%;
}

.Special.caDescBox{
    font-size: 1.2rem;
    line-height: 2.2rem;
    font-weight: bold;
    color: #262e8b;
}

.special_profBox{
    display: flex;
    margin-bottom: 50px;
}

.special_profText{
    width: calc(100% - (496px + 50px));
    line-height: 1.7rem;
}

.special_profText p span{
    display: block;
    text-align: center;
    font-size: 1.2rem;
    color: #262e8b;
    padding-bottom: 10px;
    margin-bottom: 10px;
    border-bottom: 2px solid #951a37;
}

.special_profText ul{
    margin-top: 30px;
}

.special_profText ul li{
    position: relative;
    padding-left: 20px;
    margin-bottom: 5px;
}
.special_profText ul li::before{
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%) rotate(45deg);
    width: 10px;
    height: 10px;
    border: 1px solid #333;
}

.special_profImg{
    width: 496px;
    margin-left: 50px;
}

.special_talkInner{
    margin-bottom: 50px;
    display: flex;
    align-items: center;
    line-height: 1.7rem;
}

.special_talkInner .talk_red{
    color: #951a37;
}
.special_talkInner .talk_blue{
    color: #262e8b;
}

.special_talkInner dt{
    width: 115px;
    margin-right: 50px;
}

.special_talkInner dd{
    width: calc(100% - (115px + 50px));
}

.special_talkInner.talk_flexStart{
    align-items: flex-start;
}

.special_talkFlexBox{
    display: flex;
    align-items: flex-start;
    margin-bottom: 50px;
}

.special_talkTextBox{
    width: calc(100% - (404px + 50px));
}

.special_talkImgBox01{
    width: 404px;
    margin-left: 50px;
}

.special_talkImgBox02{
    width: calc((100% - 50px) / 2);
    margin-right: 50px;
}
.special_talkImgBox02:nth-of-type(2){
    margin-right: 0px;
}

.special_talkEnd{
    margin-bottom: 0;
}

#special_ftLinkWrap{
    width: 100%;
    min-width: 1200px;
    background-color: #951a37;
    padding-top: 5px;
}

#special_ftLinkBox{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    padding: 30px 0;
}

#special_ftLinkBox p{
    color: #fff;
    font-size: 1.2rem;
    margin-right: 30px;
}

.special_ftLinkBtn{
    background-color: #fff;
    color: #951a37;
    box-shadow: 0 6px 0 #580c20;
    font-weight: bold;
    font-size: 1.2rem;
}
.special_ftLinkBtn::before{
    top: 50%;
    transform: translateY(-50%);
}

.special_ftLinkBtn:hover{
    box-shadow: 0 3px 0 #580c20;
}



/*---------------------------------------------------------------------------
アクセス
---------------------------------------------------------------------------*/

.Access.caMainImgBox{
    background-image: url(../access/image/mainImg.jpg);
    background-position: 50% 20%;
}

.Access.caDescBox{
    margin-bottom: 30px;
}

.acc_mapBox{
    position:relative;
    width:100%;
    height:480px;
    /* padding-top:75%; */
    margin-bottom: 30px;
}
.acc_mapBox iframe{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
}

.acc_mapDescBox{
    display: flex;
    align-items: center;
    border: 1px solid #262e8b;
    padding: 15px 10px;
    margin-bottom: 50px;
}

.acc_mapInner{
    width: calc((100% - 1px) / 2);
    border-right: 1px solid #262e8b;
    display: flex;
    justify-content: center;
    align-items: center;
}
.acc_mapInner:last-of-type{
    border-right: none;
}

.acc_mapIcon{
    width: 37px;
    margin-right: 15px;
}

.acc_mapInner p{
    color: #262e8b;
}

.acc_telIcon{
    width: 23px;
    margin-right: 15px;
}

.acc_telNumber{
    width: 110px;
}

.acc_routeBox{
    margin-bottom: 50px;
}

.acc_routeBox:last-of-type{
    margin-bottom: 0;
}

.acc_routeTitle{
    margin-bottom: 30px;
    text-align: center;
}

.acc_routeTitle .acc_trainIcon{
    width: 31px;
    margin-bottom: 15px;
}
.acc_routeTitle .acc_busIcon{
    width: 33px;
    margin-bottom: 15px;
}

.acc_routeTitle h3{
    font-weight: normal;
    font-size: 1.2rem;
    color: #262e8b;
}

.acc_routeText.acc_trainList ul{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.acc_routeText.acc_trainList ul li{
    margin-right: 80px;
}
.acc_routeText.acc_trainList ul li:last-child{
    margin-right: 0px;
}

.acc_routeText.acc_busList{
    display: flex;
    justify-content: center;
}

.acc_routeText.acc_busList ul:first-of-type{
    margin-left: 50px;
    margin-right: 80px;
}

.acc_routeText.acc_busList ul li{
    margin-bottom: 10px;
}
.acc_routeText.acc_busList ul li:last-child{
    margin-bottom: 0px;
}

.acc_routeText ul li{
    display: flex;
}

.acc_routeFlowBox{
    margin-top: 80px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    position: relative;
}

.acc_routeFlowInner{
    width: calc((100% - 170px) / 2);
    margin-right: 170px;
    margin-bottom: 50px;
}
.acc_routeFlowInner:nth-of-type(4n+3){
    margin-right: 0;
}
.acc_routeFlowInner:last-of-type{
    margin-bottom: 0;
}

.acc_routeImgBox{
    margin-bottom: 10px;
}

.acc_routeTextBox p{
    display: flex;
}

.acc_routeArrBox{
    position: absolute;
    width: 71px;
}
.acc_routeArrBox .arrRB{
    transform: rotate(140deg);
}

.route01_arr01{
    top: 150px;
    left: 520px;
}

.route01_arr02{
    top: 390px;
    left: 520px;
}

.route01_arr03{
    bottom: 200px;
    left: 520px;
}

.route02_arr01{
    top: 150px;
    left: 520px;
}

.route02_arr02{
    top: 350px;
    left: 520px;
}

.route02_arr03{
    top: 580px;
    left: 520px;
}

.route02_arr04{
    bottom: 440px;
    left: 520px;
}



/*---------------------------------------------------------------------------
ご予約
---------------------------------------------------------------------------*/

.Contact.caMainImgBox{
    background-image: url(../contact/image/mainImg.jpg);
    background-position: 50% 20%;
}

.contact.caDescBox h3{
    color: #262e8b;
    font-size: 1.75rem;
    margin-bottom: 30px;
}

.contact.caDescBox p{
    width: 40%;
    margin: 0 auto 100px;
}


.con_contentsBox{
    display: flex;
    margin: 80px 0;
}
.con_contentsBox:last-of-type{
    margin-bottom: 0;
}

.con_timeScheduleBox{
    width: calc((100% - 50px) / 2);
    margin-right: 50px;
}

.con_webLinkBox{
    width: calc((100% - 50px) / 2);
    text-align: center;
    background-color: #ebecf5;
    border-radius: 10px;
    padding: 90px 40px 30px;
    box-sizing: border-box;
    position: relative;
}

.con_webLinkBox p{
    font-size: 1.6rem;
    font-weight: bold;
    color: #262e8b;
	position: relative;
	top: 0%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.con_iconBox{
    position: absolute;
    top: -70px;
    left: 0; right: 0;
    margin: auto;
    width: 92px;
}

.con_accessBox{
    width: calc((100% - 50px) / 2);
    margin-right: 50px;
    text-align: center;
}

.con_accessBox p{
    color: #262e8b;
    margin-bottom: 15px;
}

.con_accessMapBox{
    position:relative;
    width:100%;
    height:0;
    padding-top:75%;
    margin-bottom: 15px;
}
.con_accessMapBox iframe{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
}

.con_calendarBox{
    width: calc((100% - 50px) / 2);
}

.con_calendarBox2{
    width: 80%;
    margin: auto;
}

.con_calendarText{
    background-color: #5158a2;
    text-align: center;
    padding: 15px;
}

.con_calendarText p{
    color: #fff;
    font-size: 1.2rem;
}

.con_calendarText p span{
    font-size: 1.4rem;
    font-weight: bold;
    position: relative;
}
.con_calendarText p span::after{
    content: "";
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #fff;
}
.calendarwaku_hoken {margin: auto;text-align: center; border: solid #B3B7D5 2px;}

/*自費診療の方(7,000円/1回)*/
.con_calendarText_2{
    background-color: #931F3B;
    text-align: center;
    padding: 15px;
}

.con_calendarText_2 p{
    color: #fff;
    font-size: 1.2rem;
}

.con_calendarText_2 p span{
    font-size: 1.4rem;
    font-weight: bold;
    position: relative;
}
.con_calendarText_2 p span::after{
    content: "";
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #fff;
}
.calendarwaku_jippi {margin: auto;text-align: center; border: solid #ca9da7 2px;}



.con_calBtext{
    margin-top: 10px;
    margin-bottom: 10px;
    padding: 10px 5px;
    background-color: #fff;
    text-align: center;
}

.con_calBtext strong{
    color: #951a37;
    font-weight: bold;
}

.contact.case_ftLinkBox p{
	text-align: center;
	margin-right: 0;
}





/*TOP予約注釈追加*/
/*.reservation_info{
	width: 1100px;
	position: absolute;
}
.reservation_info p{
	margin-top: 5px;
	width: 510px;
	font-size: 0.8rem;
	line-height: 1.2;
	color: #666;
	text-align: left;
	position: absolute;
	right: 0;
}*/



.reservation_info{
    position: absolute;
    bottom: -90px;
    left: 0;
    right: -650px;
    margin: auto;
    z-index: 1000;
    width: 550px;
}

.reservation_info p {
    margin-top: 25px;
    margin-bottom: -20px;
    width: 100%;
    overflow: hidden;
    font-size: 0.8rem;
}


.timeScheduleBox__reservation_info p {
    margin: 10px 0 0 15px;
    font-size: 0.8rem;
}

/*---------------------------------------------------------------------------
追従ボタン
---------------------------------------------------------------------------*/

.fixed-buttons {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch;
    z-index: 1000;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

.black-band {
    display: none;
}

.button {
    width: 25%;
    box-sizing: border-box;
    margin: 0 5px;
    padding: 10px;
    color: white;
    text-decoration: none;
    border-radius: 5px 5px 0 0;
    transition: background-color 0.3s;
    text-align: center;
    position: relative;
    cursor: pointer;
}

.fixed-buttons__notice {
    flex: 0 0 calc(50% + 10px);
    box-sizing: border-box;
    margin: 0;
    padding: 8px 12px;
    padding-bottom: calc(8px + constant(safe-area-inset-bottom));
    padding-bottom: calc(8px + env(safe-area-inset-bottom));
    background-color: #262e8b;
    color: #fff;
    font-size: 0.95rem;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.04rem;
    text-align: center;
    border-radius: 0 0 5px 5px;
}

.first-button {
    background-color: #f79639; /* 初めての方のボタン色 */
}

.second-button {
    background-color: #5158a2; /* 2回目以降の方のボタン色 */
}

.first-button:hover,
.second-button:hover {
    background-color: rgb(179, 107, 40); /* ホバー時の初めての方のボタン色 */
}

.second-button:hover {
    background-color: rgb(54, 60, 120); /* ホバー時の2回目以降の方のボタン色 */
}
