@charset "utf-8";
/* CSS Document */
.pcno { display:none;}
img { max-width:100%;}
#navArea{ display:none;}
/*▼ 初期化 ▼*/
body, div, dl, dt, dd, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, ul, li, blockquote, th, td, tr, img { padding:0px; margin:0px; font-size:20px; line-height:1.5em; letter-spacing:1px; color:#454545;-webkit-text-size-adjust:100%; font-weight:500; font-family:"Zen Kaku Gothic New",'futura-pt', 'Noto Sans JP', "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;}
table { border-collapse:collapse; }
ul, li { list-style:none; }
h1, h2, h3, h4, h5, h6{ padding:0px; margin:0px; font-size:100%; font-weight:500!important; font-family: "M PLUS 1p", sans-serif;}
a { overflow:hidden; outline:none; }
img { border:none; vertical-align:bottom; }
table td { border:none; vertical-align:top; }
.text99 { text-indent:-9999px; }
a{-webkit-transition:0.5s; -moz-transition:0.5s; -ms-transition:0.5s; transition:0.5s; }
a:hover { text-decoration:none; }
a:hover { opacity:0.5; filter:alpha(opacity=50);-webkit-transition:0.5s; -moz-transition:0.5s; -ms-transition:0.5s; transition:0.5s; }
.kadomaru{-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;}
/*▲ 初期化 ▲*/
.mb30{ margin-bottom:30px;}
.mb50{ margin-bottom:50px;}


/*▼エリア・背景設定▼*/
body{ min-width:1200px;}
#body-top{ overflow:hidden; background:url(../images/common/bk-top.jpg)center top no-repeat;}
#home #body-top{ background:url(../images/home/bk-top.jpg)center top no-repeat;}


/*▼ヘッダー▼*/
#header{ max-width:1500px; margin:auto;}
#header h1{ opacity:0; height:0;}
#header #hmid{ overflow:hidden; padding:0 50px;}
#header .left { float:left; padding:30px 0 0;}
#header .left a img{ width:450px; vertical-align: middle; margin-right: 5px;}



#header .right{ float:right; overflow: hidden; padding-top:20px;}
#header .right .area-01{ float: left; text-align: center; margin-right: 20px;}
#header .right .p-tel{ font-size:36px; font-weight:500; line-height:1em; display:inline-block; vertical-align: middle; font-family: "M PLUS 1p", sans-serif; padding-top: 15px;}
#header .right .p-tel a{ background:url(../images/common/ico-tel.png)left 8px no-repeat; color:#454545; display:block; line-height:1em; text-decoration:none; padding-left:30px;}
#header .right .p-01{font-weight:500; margin-bottom:5px;}

#header .right .area-02{ float:right;}
#header .right .area-02 table{ margin:auto; text-align:center; table-layout:fixed;}
#header .right .area-02 table th{ background:#54b7b4; padding:2px 0;font-weight:600; color:#fff; min-width:30px; border: 1px solid #54b7b4; border-right:1px solid #fff;white-space:nowrap;}
#header .right .area-02 table td{ border:1px solid #aeaeae; padding:5px 10px;  vertical-align: middle; line-height: 1.2em;white-space:nowrap;}
#header .right .area-02 table td span{ color:#54b7b4;}
#header .right .area-02 table tr>*:first-child{ width:100px; letter-spacing: normal;}
#header .right .area-02 table tr>*:last-child{ width:50px;}
#header .right .area-02 table tr>td:first-child{font-weight:bold;}
#header .right .area-02 table th:last-child{ border-right: 1px solid #54b7b4;}
#header .right .area-02 p{ font-weight: 500; text-align: right; padding-top:5px; letter-spacing: normal;}


/*▼メインナビゲーション▼*/
#navi{ text-align:center; padding-top:20px;}
#navi ul{ height: 55px;}
#navi li { display:inline-block; font-size:22px; font-weight:600; text-align:center; letter-spacing:2px; padding:0 12px; position:relative;}
#navi li a{ color:#333; text-decoration:none; position:relative; display:block; padding:0px 10px 20px;}
#navi li a:hover{ opacity:1; transition:0.3s; color:#54b7b4;}
#navi li a:after /*ナビ下線*/{ content:""; position:absolute; left:0; bottom:0px;width:100%; height:3px;background:#54b7b4;transform:scale(0, 1);transition:0.3s;}
#navi li a:hover:after{ transform:scale(1);}
#navi li:last-child{ margin-right:0px;}


/*▼メインビジュアル▼*/
#mp{ height:350px;}
#mp .area-01{ width:1024px; padding-top: 100px; margin:auto; text-align: right;}
#mp .area-01 .p-01{ font-size: 50px; font-weight: 500; color:#fff; line-height: 1.5em; margin-bottom:20px;}
#mp .area-01 .p-02{ font-size: 24px; font-weight: 500; color:#fff; line-height: 1.7em;}


#about #mp{ background:#f8f8f8 url(../images/about/mp.jpg) center top no-repeat;}
#info #mp{ background:#f8f8f8 url(../images/info/mp.jpg) center top no-repeat;}
#menu #mp{ background:#f8f8f8 url(../images/menu/mp.jpg) center top no-repeat;}


#hmp {
  position:relative;
  height:700px;
  overflow:hidden;
}

#hmp .slide {
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:700px;
  background-position:center top;
  background-repeat:no-repeat;
  opacity:0;
  transition:opacity 1.5s ease-in-out;
  z-index:0;
}

#hmp .slide.active {
  opacity:1;
  z-index:1;
}

#hmp .area-01{ width:1200px; height:700px; margin:auto; overflow: hidden; position: relative; z-index:2;}
#hmp .area-01 .tb{ float: right; text-align: right; margin-top: 200px;background: rgba(255,255,255, 0.9); padding:30px;border-radius:20px;}
#hmp .area-01 .tb .p-01{ font-size: 50px; font-weight: 500; color:#54b7b4; line-height: 1.5em; margin-bottom: 30px; font-family: "M PLUS 1p", sans-serif;}
#hmp .area-01 .tb .p-02{ font-size: 30px; font-weight: 500; color:#54b7b4; line-height: 1.7em;}




/*----- フッター -----*/
#footer { background:#f5f5f5;}
#footer .fbk-01{ background:url(../images/common/clinic.jpg)center top no-repeat; height: 400px;}

#fnavi{ text-align:center; padding-top:50px;}
#fnavi li { display:inline-block; font-size:22px; font-weight:600; text-align:center; letter-spacing:2px; padding:0 12px; position:relative;}
#fnavi li a{ color:#454545; text-decoration:none; position:relative; display:block; padding:0px 10px 20px;}
#fnavi li a:hover{ opacity:1; color:#54b7b4;}

#footer #fmid{ max-width:1500px; margin:auto; overflow:hidden; padding:50px 50px 70px; border-top: 1px solid #d4d4d4; box-sizing:border-box; position: relative;}
#footer #fmid .left { float:left;}
#footer #fmid .left a.name{ text-decoration:none; display:inline-block; margin-bottom: 30px;}
#footer #fmid .left a.name img{ vertical-align: middle; margin-right: 5px; width:400px;}
#footer #fmid .left a.name p{ font-size:30px; font-weight: 500; color:#454545; display: inline-block; vertical-align: middle; font-family: "M PLUS 1p", sans-serif;}

#footer #fmid #tamonten { clear:both; line-height:1.2em; font-size:14px; padding:10px 0; position: absolute; left:50px; bottom:30px; text-align:center;}
#footer #fmid #tamonten a { clear:both; cursor:default; color:#33241a; text-align:center; text-decoration:none; opacity:1; filter:alpha(opacity=100);}


#footer #fmid .right{ float:right;}
#footer #fmid .right .area-01{ float: left; text-align: center; margin-right: 20px;}
#footer #fmid .right .p-tel{ font-size:36px; font-weight:500; line-height:1em; display:inline-block; vertical-align: middle; font-family: "M PLUS 1p", sans-serif;}
#footer #fmid .right .p-tel a{ background:url(../images/common/ico-tel.png)left 8px no-repeat; color:#454545; display:block; line-height:1em; text-decoration:none; padding-left:30px;}
#footer #fmid .right .p-01{ font-size:18px; font-weight:500; margin:10px 0 5px;}

#footer #fmid .right .area-02{ float:right;}
#footer #fmid .right .area-02 table{ background:#fff; margin:auto; text-align:center; table-layout:fixed;}
#footer #fmid .right .area-02 table th{ background:#54b7b4; padding:2px 0; font-size:12px; font-weight:600; color:#fff; min-width:30px; border: 1px solid #54b7b4; border-right:1px solid #fff;}
#footer #fmid .right .area-02 table td{ border:1px solid #aeaeae; padding:5px 0;  vertical-align: middle; line-height: 1.2em;}
#footer #fmid .right .area-02 table td span{ color:#54b7b4;}
#footer #fmid .right .area-02 table tr>*:first-child{ width:100px; letter-spacing: normal;}
#footer #fmid .right .area-02 table tr>*:last-child{ width:50px;}
#footer #fmid .right .area-02 table tr>td:first-child{ font-size:12px; font-weight:bold;}
#footer #fmid .right .area-02 table th:last-child{ border-right: 1px solid #54b7b4;}
#footer #fmid .right .area-02 p{ font-size:14px; font-weight: 500; text-align: right; padding-top:5px; letter-spacing: normal;}


.page-top {
	position:fixed;
    bottom:70px;
    right:60px;
	background-image:url(../images/common/totop.png);
	width:100px; height:100px; text-indent:-9999px;
    -ms-filter:"alpha(opacity=80)";
    -moz-opacity:0.8;
    -khtml-opacity:0.8;
    opacity:0.8;
	z-index:10;
	-webkit-transition:0s; -moz-transition:0s; -ms-transition:0s; transition:0s;}




/*----- エリア・共通設定 -----*/
.box{ width:1280px; margin:auto; padding:70px 0;}
.bk-right{ background:url(../images/common/bk-right.png)center top no-repeat; min-height:750px;}
.bk-blue{ background:#ecfafa; max-width:1820px; margin:auto; border-radius:30px;}


.h2-line{ font-size:45px; font-weight:500; color:#454545; text-align: center; -ms-writing-mode:tb-rl; writing-mode:vertical-rl; text-orientation:upright; letter-spacing:2px; display: inline-block; margin-left:40px;}
.h2-line img{ margin-bottom:5px;}
.h2-line span{ display: inline-block; padding-right: 30px; background:url(../images/common/h2-line.png)right top repeat-y;}

.h2-01{ font-size:45px; font-weight:500; letter-spacing:2px; padding-top: 20px; margin-bottom: 50px; vertical-align: middle; background:url(../images/common/h2-line2.png)left top repeat-x;}
.h2-01 img{ margin-right:8px; vertical-align: middle;}

.h3-01{ font-size: 32px; font-weight: 500; color:#54b7b4; margin-bottom: 20px;}


.more{ font-size:20px; font-weight:600; margin:50px auto;}
.more a{ color:#454545; display: inline-block; text-decoration: none; vertical-align: middle;}
.more a span{ border: 1px solid #54b7b4; background:#54b7b4 url(../images/common/ico-arrow.png)center 20px no-repeat; width:50px; height:50px; border-radius:50%; display:inline-block; margin-right: 10px; vertical-align: middle; transition:.5s;}
.more a:hover{ opacity:1; color:#54b7b4;}
.more a:hover span{ background:#fff url(../images/common/ico-arrow-on.png)center 20px no-repeat;}




/*----- ホーム　home -----*/
/*----- ホーム　home -----*/
/*----- ホーム　home -----*/
#home #box-01{ padding:120px 0 120px;}
#home #box-01 .area-01{ overflow: hidden; position: relative; height: 480px;}
#home #box-01 .area-01 .tb{ float: right; display: flex; flex-direction: row-reverse;}
#home #box-01 .area-01 .tb .p-01{ font-size:30px; font-weight: 500; color:#54b7b4; line-height: 1.8em; -ms-writing-mode:tb-rl; writing-mode:vertical-rl; margin-left:30px;}
#home #box-01 .area-01 .tb .p-02{ font-size:24px; font-weight: 500; line-height:2em; -ms-writing-mode:tb-rl; writing-mode:vertical-rl;}
#home #box-01 .area-01 .img-01{ float: left;}
#home #box-01 .area-01 .more{ position: absolute; right:0; bottom:0; margin: 0;}

#home #box-02{ padding:80px 0 100px;}
#home #box-02 .area-01{ position: relative;}
#home #box-02 .area-01 .inner{ width: 1024px; margin:auto; overflow: hidden;}
#home #box-02 .area-01 .inner .entry{ background:#fff; width: 480px; float: left; margin-bottom: 50px; border-radius:20px;}
#home #box-02 .area-01 .inner .entry:nth-child(2n){ float: right;}
#home #box-02 .area-01 .inner .entry .img{ height:230px; position: relative;}
#home #box-02 .area-01 .inner .entry .img img{ position: absolute; left:0; right:0; top:0; bottom:0; margin:auto;}
#home #box-02 .area-01 .inner .entry h3{ background:#54b7b4; font-size: 32px; font-weight: bold; color:#fff; text-align: center;}
#home #box-02 .area-01 .inner .entry p{line-height: 1.8em; padding:20px 20px 30px; letter-spacing:normal;}
#home #box-02 .area-01 .more{ position: absolute; right:0; top:20px; margin: 0;}


#home #box-03{ padding:0px 0 120px; position: relative;}
#home #box-03 .area-01{}
#home #box-03 .area-01 table{ width:100%;}
#home #box-03 .area-01 table tr{ border-bottom:1px solid #dcf1f1;}
#home #box-03 .area-01 table tr th{ width:250px; padding:30px 0; font-weight:bold; text-align:left; vertical-align:top;}
#home #box-03 .area-01 table tr th span{ display:inline-block; width:200px;background:#54b7b4; font-weight:500;color:#fff; text-align:center;border-radius:30px; font-family:"M PLUS 1 Code", monospace;}
#home #box-03 .area-01 table tr th span.news{ background:#1699bd;}
#home #box-03 .area-01 table tr td{ padding:30px 0;}
#home #box-03 .area-01 table tr td.title { font-weight:bold; color:#54b7b4; font-size:24px;}
#home #box-03 .area-01 table tr td a{ font-size:20px; font-weight:bold; color:#454545; display:block; margin:0 0 15px; font-family:"M PLUS 1 Code", monospace; text-decoration: none;}
#home #box-03 .more{ position: absolute; right:0; top:130px; margin: 0;}



#home .bk-01{ background:url(../images/home/bk-01.jpg)center top no-repeat; height: 300px;}
#home #box-04{ padding:120px 0 100px; position: relative; overflow:hidden;}
#home #box-04 .area-02{ width:600px; float:left;}
#home #box-04 .googlemap{ height: 350px; margin-bottom: 5px;}
#home #box-04 .area-01{ overflow: hidden; width:600px; float:right;}
#home #box-04 .area-01 .left{ }
#home #box-04 .area-01 .left dl{ margin-bottom: 20px;}
#home #box-04 .area-01 .left dt{ width: 100px;  font-weight: bold; color:#54b7b4; text-align: center; display: inline-block; border: 1px solid #54b7b4; padding:10px 0px; border-radius:50px; margin-right:15px; vertical-align:middle;}
#home #box-04 .area-01 .left dd{ font-size: 20px; font-weight: 500; display: inline-block; vertical-align: middle;}
#home #box-04 .area-01 .left ul{ padding-top: 30px;}
#home #box-04 .area-01 .left ul li{ padding-left: 1em; text-indent: -1em;}

#home #box-04 .area-01 table{ width:100%; margin:auto; text-align:center; table-layout:fixed;}
#home #box-04 .area-01 table th{ background:#54b7b4; padding:10px 0; font-size:18px; font-weight:600; color:#fff; min-width:30px; border: 1px solid #54b7b4; border-right:1px solid #fff;}
#home #box-04 .area-01 table td{ border:1px solid #aeaeae; padding:10px 0; font-size:22px; vertical-align: middle;}
#home #box-04 .area-01 table td span{ color:#54b7b4;}
#home #box-04 .area-01 table tr>*:first-child{ width:180px;}
#home #box-04 .area-01 table tr>*:last-child{ width:80px;}
#home #box-04 .area-01 table tr>td:first-child{ font-size:17px; font-weight:bold;}
#home #box-04 .area-01 table th:last-child{ border-right: 1px solid #54b7b4;}
#home #box-04 .area-01 p{font-weight: 500; text-align: right; padding-top:10px;}
#home #box-04 .more{ position: absolute; right:0; top:150px; margin: 0;}





/*----- 当院について about -----*/
/*----- 当院について about -----*/
/*----- 当院について about -----*/
#about .bk-01{ background:url(../images/menu/bk-01.jpg)center top no-repeat; height: 300px;}

#about #box-01{}
#about #box-01 .area-01{ overflow: hidden; width:1024px; margin:auto;}
#about #box-01 .area-01 .tb{ width:600px; float:left;}
#about #box-01 .area-01 .tb p{ font-size:22px; font-weight: 500;}
#about #box-01 .area-01 .img .img-01{ float:right;}


#about #box-02{}
#about #box-02 .area-01{ width: 1024px; margin:auto;}
#about #box-02 .area-01 ul li{ font-size: 20px; font-weight: 500; line-height: 1.7em; margin-bottom: 20px; padding-left:24px; text-indent: -24px;}
#about #box-02 .area-01 ul li span{ background:#54b7b4; width: 20px; height: 20px; line-height: 1em; border-radius:50%; text-align: center; display: inline-block; font-size: 16px; font-weight: 500; color:#fff; vertical-align: middle; text-indent:0; margin-right: 5px;}


#about #box-03{}
#about #box-03 h3{ font-size: 32px; font-weight: 500; color:#54b7b4; margin-bottom: 20px;}
#about #box-03 .area-01{ width: 1024px; margin:0 auto 70px; position: relative;}
#about #box-03 .area-01 .tb{ width: 560px;}
#about #box-03 .area-01 .tb p{line-height:2em;}
#about #box-03 .area-01 .tb .p-01{ text-align: right; padding-top: 20px;}
#about #box-03 .area-01 .tb .p-01 img{ margin-left: 15px; vertical-align: middle;}
#about #box-03 .area-01 img{ position: absolute; right:0; top:0; width:420px;}

#about #box-03 .area-02{ width: 1024px; margin:0 auto 0px;}
#about #box-03 .area-02 .inner{ overflow: hidden; margin-bottom: 50px;}
#about #box-03 .area-02 .inner .entry{ float: left; border-right: 1px solid #54b7b4; padding:0 30px;}
#about #box-03 .area-02 .inner .entry:first-child{ padding-left:0px;}
#about #box-03 .area-02 .inner .entry:nth-child(3){ border: none; padding-right: 0;}
#about #box-03 .area-02 ul li{ font-size: 20px; }

#about #box-03 .area-02 table{ margin-bottom:30px;}
#about #box-03 .area-02 table td:first-child{ width:200px;}
#about #box-03 .area-02 table td{vertical-align:middle;}



#about #box-04{ padding-bottom: 120px;}
#about #box-04 .area-01{ width: 1024px; margin:auto; overflow: hidden;}
#about #box-04 .area-01 .tb{ width: 490px; float: left;}
#about #box-04 .area-01 .tb p{line-height:2em;}
#about #box-04 .area-01 img{ float: right;}

#about #box-05{ padding:100px 0 100px;}
#about #box-05 .area-01{ width: 1024px; margin:auto; text-align:center; overflow: hidden;}
#about #box-05 .area-01 h3{ text-align: left;}
#about #box-05 .area-01 .entry{ width: 455px; display: inline-block; margin:0 0 30px 0px;}
#about #box-05 .area-01 .entry:nth-of-type(2n){ margin-left: 50px;}
#about #box-05 .area-01 .entry a{ display: inline-block;}
#about #box-05 .area-01 .entry p{ font-size: 20px; font-weight: 500; text-align: center; padding-top: 15px;}

#about #box-05 .area-02{ width: 1024px; margin:auto; text-align: center;}
#about #box-05 .area-02 h3{ text-align: left;}
#about #box-05 .area-02 .entry{ width:230px; display: inline-block; margin-right: 15px;}
#about #box-05 .area-02 .entry:last-child{ margin-right:0px;}
#about #box-05 .area-02 .entry a{ display: inline-block;}
#about #box-05 .area-02 .entry p{font-weight: 500; text-align: center; padding-top: 15px;}

#about #box-06{ padding:100px 0 70px;}
#about #box-06 .area-01{ width: 1024px; margin:auto; overflow: hidden;}
#about #box-06 .area-01 .tb{ width: 490px; float: left;}
#about #box-06 .area-01 .tb p{line-height: 1.8em;}
#about #box-06 .area-01 img{ float: right;}

#about #box-07{ padding:70px 0 120px;}
#about #box-07 .area-01{ width: 1024px; margin:auto;}
#about #box-07 .area-01 table{ width: 100%;}
#about #box-07 .area-01 table tr{ border-top: 1px dashed #b4c6c6; border-bottom: 1px dashed #b4c6c6;}
#about #box-07 .area-01 table tr th{ width: 250px; padding:15px 0 15px 50px; box-sizing:border-box;vertical-align: middle; text-align: left;}
#about #box-07 .area-01 table tr td{vertical-align: middle; line-height: 1.8em; padding:15px 0;}
#about #box-07 .area-01 table tr td span{ display: inline-block; padding-left: 50px; border-left: 1px solid #54b7b4;}




/*----- 診療内容 menu -----*/
/*----- 診療内容 menu -----*/
/*----- 診療内容 menu -----*/
#menu .bk-01{ background:url(../images/menu/bk-01.jpg)center top no-repeat; height: 300px;}

#menu #box-01{ width: 1200px;}
#menu #box-01 h2{ font-size:32px; font-weight:bold; color:#54b7b4; -ms-writing-mode:tb-rl; writing-mode:vertical-rl; text-orientation:upright; letter-spacing:2px; display: inline-block; margin-left:50px;}
#menu #box-01 span{ display: inline-block; padding-right: 30px; background:url(../images/common/h2-line.png)right top repeat-y;}
#menu #box-01 .area-01{ overflow: hidden;}
#menu #box-01 .area-01 .tb{ float: right; display: flex; flex-direction: row-reverse; height: 600px;}
#menu #box-01 .area-01 .tb p{ font-size:20px; font-weight: 500; line-height:2em; -ms-writing-mode:tb-rl; writing-mode:vertical-rl;}
#menu #box-01 .area-01 .img-01{ float: left;}


#menu #box-02{ padding-bottom: 120px;}
#menu #box-02 .area-01{ width: 1024px; margin:auto; overflow: hidden;}
#menu #box-02 .area-01 .tb{ width: 710px; float: left;}
#menu #box-02 .area-01 .tb p{ font-size: 20px; line-height: 1.8em; margin-bottom: 30px;}
#menu #box-02 .area-01 .tb ul li{ font-size:20px; margin-bottom: 15px; padding-left: 1em; text-indent: -1em;}
#menu #box-02 .area-01 .tb ul li a{ color:#54b7b4;}
#menu #box-02 .area-01 .img{ float: right;}


#menu #box-03{ padding:120px 0 100px;}
#menu #box-03 .area-01{ width: 1024px; margin:auto; text-align: center;}
#menu #box-03 .area-01 .entry{ width: 230px; display: inline-block; margin:0 20px 20px 0;}
#menu #box-03 .area-01 .entry:nth-child(4){ margin-right: 0;}
#menu #box-03 .area-01 .entry:nth-child(8){ margin-right: 0;}
#menu #box-03 .area-01 .entry a{ background: #fff; text-decoration: none; display: block; border-radius:20px; overflow:hidden;}
#menu #box-03 .area-01 .entry a .img{ height: 170px; position: relative;}
#menu #box-03 .area-01 .entry a .img img{ position: absolute; top:0; bottom:0; left:0; right:0; margin:auto;}
#menu #box-03 .area-01 .entry a p{ background:#54b7b4; font-size:30px; font-weight: 500; color:#fff; text-align: center; padding:35px 0;}
#menu #box-03 .area-01 .entry:nth-child(n+5) a p{ padding:15px 0;}



#menu .case{}
#menu .case h3{ font-size: 32px; font-weight: 500; color:#54b7b4; margin-bottom: 20px;}
#menu .case .area-01{ width: 1024px; margin:0 auto 50px; overflow: hidden; position: relative; min-height:300px;}
#menu .case .area-01 .tb{}
#menu .case .area-01 .tb ul{}
#menu .case .area-01 .tb ul li{ background:url(../images/menu/ico-li.png)left 5px no-repeat; font-size: 20px; font-weight: 500; padding-left:40px; margin-bottom: 10px;}
#menu .case .area-01 .tb ul li span{font-weight: 400; display: block; position:relative; left:-40px;}
#menu .case .area-01 .img{ float: right; position:absolute; right:0; top:0;}

#menu .case .area-02{ border: 1px solid #54b7b4; border-radius:30px; padding:20px 0; margin-bottom: 0px;}
#menu .case .area-02 .inner{ width: 1024px; margin:auto;}
#menu .case .area-02 .inner p{ font-size:20px;}

#menu .case .area-03{ width: 1024px; margin:0 auto 70px; position: relative; min-height:300px;}
#menu .case .area-03 .tb{ width: 500px;}
#menu .case .area-03 .tb p{line-height: 1.8em;}
#menu .case .area-03 .img{ position: absolute; right:0; top:0;}

#menu .case .area-04{ background:#f5f5f5; padding:50px 100px 50px; border-radius:30px;}
#menu .case .area-04 p{line-height:2.5em;}
#menu .case .area-04 p span{ color:#54b7b4;}

#menu .case .area-05{ width: 1024px; margin:0 auto 70px;}
#menu .case .area-05 p{line-height:2em;}

#menu .case .area-06{ display:none;}

#menu #case-01{ padding-top: 120px;}
#menu #case-06{ position: relative;}
#menu #case-06 .p-01{font-weight: 500; display: inline-block; position: absolute; top:115px; right:0;}






/*----- 診療時間・アクセス info -----*/
/*----- 診療時間・アクセス info -----*/
/*----- 診療時間・アクセス info -----*/
#info #box-01{}
#info #box-01 .area-01{ width: 1024px; margin:auto;}
#info #box-01 .area-01 table{ width:900px; margin:auto; text-align:center; table-layout:fixed;}
#info #box-01 .area-01 table th{ background:#54b7b4; padding:15px 0; font-size:22px; font-weight:600; color:#fff; min-width:30px; border: 1px solid #54b7b4; border-right:1px solid #fff;}
#info #box-01 .area-01 table td{ border:1px solid #aeaeae; padding:20px 0; font-size:24px; vertical-align: middle;}
#info #box-01 .area-01 table td span{ color:#54b7b4;}
#info #box-01 .area-01 table tr>*:first-child{ width:250px;}
#info #box-01 .area-01 table tr>*:last-child{ width:120px;}
#info #box-01 .area-01 table tr>td:first-child{ font-size:22px; font-weight:bold;}
#info #box-01 .area-01 table th:last-child{ border-right: 1px solid #54b7b4;}
#info #box-01 .area-01 .ul-01{ padding-top:20px; margin-bottom: 30px;}
#info #box-01 .area-01 .ul-01 li{ font-size: 20px; vertical-align: middle; margin-bottom:10px;}
#info #box-01 .area-01 .ul-01 li span{ font-size:26px; display: inline-block; margin-right:10px; vertical-align: middle;}
#info #box-01 .area-01 .ul-01 li span.green{ color:#54b7b4;}

#info #box-01 .area-01 .ul-02{}
#info #box-01 .area-01 .ul-02 li{  padding-left: 1em; text-indent: -1em; margin-bottom:5px;}
#info #box-01 .area-01 .ul-02 li a{ color:#54b7b4;}

#info #box-02{ padding:100px 0 100px;}
#info #box-02 .area-01{ width: 1024px; margin:auto; position: relative; min-height:500px;}
#info #box-02 .area-01 .img{ position: absolute; right:-100px; top:0;}
#info #box-02 .area-01 .tb{ width: 580px;}
#info #box-02 .area-01 ul li{ font-size: 20px; font-weight: 500; line-height: 1.8em; margin-bottom:30px; padding-left:1.5em; text-indent:-1.5em;}
#info #box-02 .area-01 ul li span{ background:#54b7b4; width: 24px; height: 24px; line-height: 1em; border-radius:50%; text-align: center; display: inline-block;font-weight: 500; color:#fff; vertical-align: middle; text-indent:0; margin-right:5px; text-indent:0em; padding-left:0em;}


#info #box-03{ padding:100px 0 50px;}
#info #box-03 .area-01{ width: 1024px; margin:auto;}
#info #box-03 .area-01 .p-01{ font-size: 20px; margin-bottom: 30px;}
#info #box-03 .area-01 h3{ width: 200px; font-size:18px; font-weight: bold; color:#54b7b4; text-align: center; border: 1px solid #54b7b4; padding:10px 0; border-radius:50px; margin-bottom: 25px;}
#info #box-03 .area-01 .inner{ text-align: center; margin-bottom: 70px;}
#info #box-03 .area-01 .inner .entry{ background: #f5f5f5; width: 240px; display: inline-block; margin:0 20px 20px 0; border-radius:20px; position: relative;}
#info #box-03 .area-01 .inner .entry:nth-child(4){ margin-right: 0;}
#info #box-03 .area-01 .inner .entry:nth-child(7){ margin-right: 0;}
#info #box-03 .area-01 .inner .entry .img{ height: 170px; position: relative;}
#info #box-03 .area-01 .inner .entry .img img{ position: absolute; top:0; bottom:0; left:0; right:0; margin:auto;}
#info #box-03 .area-01 .inner .entry p{ background:#54b7b4; font-size:30px; font-weight: 500; color:#fff; text-align: center; padding:35px 0; border-radius:0 0 20px 20px;}
#info #box-03 .area-01 .inner .entry:after{ content:""; width: 30px; height: 60px; display: block; background:url(../images/info/ico-triangle.png); position: absolute; bottom:30px; right:-30px; z-index:2;}
#info #box-03 .area-01 .inner .entry:nth-child(4)::after{ display:none;}
#info #box-03 .area-01 .inner .entry:nth-child(5)::before{ content:""; width: 30px; height: 60px; display: block; background:url(../images/info/ico-triangle.png); position: absolute; bottom:30px; left:-20px;}
#info #box-03 .area-01 .inner .entry:nth-child(7)::after{ display:none;}
#info #box-03 .area-01 ul li{ font-size: 24px; font-weight: bold; margin-bottom:20px; padding-left: 1em; text-indent: -1em; line-height: 1.2em;}
#info #box-03 .area-01 ul li span{ font-size:18px; font-weight: normal;}


#info #box-04{ padding:70px 0 100px;}
#info #box-04 .area-01{ width: 1024px; margin:auto;}
#info #box-04 .area-01 p{ font-size: 24px;}


#info #box-05 .area-01 p{ font-size: 24px;} {}
#info #box-05 .googlemap{ height: 600px; margin-bottom: 70px;}
#info #box-05 .area-01{ width: 1024px; margin:auto; overflow: hidden;}
#info #box-05 .area-01 .tb{ width:500px; float: left;}
#info #box-05 .area-01 .tb h3{ font-size:18px; font-weight: bold; color:#54b7b4; text-align: center; margin-bottom:15px;}
#info #box-05 .area-01 .tb h3{  border: 1px solid #54b7b4; padding:10px 30px; border-radius:50px; display: inline-block;}
#info #box-05 .area-01 .tb p{ font-size:20px; margin-bottom:30px;}
#info #box-05 .area-01 .tb p span{ display:block; text-indent:-1em; padding-left:1em;}
#info #box-05 .area-01 .img{ width: 480px; float: right;}
#info #box-05 .area-01 .img a{ display: inline-block; margin-bottom:30px; position: relative;}
#info #box-05 .area-01 .img a:first-child::before{ content:""; width: 50px; height: 50px; background:url(../images/info/ico-look.png); display: block; position: absolute; right:0; bottom:0;}









/*▼▼▼スクロールでふわっと表示▼▼▼*/

/*----------------------------
scroll_up ｜下から上へ出現
----------------------------*/
.scroll_up {
  transition-timing-function:cubic-bezier(.64,.04,.35,1);
  transition:0.9s ease-in-out;
  transform:translateY(30px);
  opacity:0;
}

.scroll_up.on {
  transform:translateY(0);
  transition:0.9s ease-in-out;
  opacity:1.0;
}
.scroll_on {
  transition-timing-function:cubic-bezier(.64,.04,.35,1);
  transition:0.9s ease-in-out;
  transform:translateY(0px);
  opacity:0;
}

.scroll_on.on {
  transform:translateY(0);
  opacity:1.0;
}

.scroll_right.on {
    opacity:1.0;
    filter:alpha(opacity=100);
    -moz-opacity:1.0;
    transform:translateX(0);
}



/*ズラして表示する*/
.on.time02{transition-delay: .2s;}
.on.time03 {transition-delay: .4s;}
.on.time04 {transition-delay: .6s;}
.on.time05 {transition-delay: .8s;}





 @import url("https://fonts.googleapis.com/css2?family=Spartan:wght@400;700&display=swap");
  :root {
    --easing: cubic-bezier(.2, 1, .2, 1);
    --transition: .8s var(--easing);
    --color-base: #f8f8f8;
    --color-gray: #ddd;
    --color-theme: #f5695f;
    --color-theme-darken: #f12617;
    --box-shadow: .8rem .8rem 1.2rem rgba(0, 0, 0, .05), -.8rem -.8rem 1.2rem #fff;
    --box-shadow-hover: 1rem 1rem 1.5rem rgba(0, 0, 0, .08), -1rem -1rem 1.5rem #fff;
    --box-shadow-inset: inset .8rem .8rem 1.2rem rgba(0, 0, 0, .05), inset -.8rem -.8rem 1.2rem #fff;
    --box-shadow-dark: .8rem .8rem 1.2rem rgba(0, 0, 0, .1), -.8rem -.8rem 1.2rem rgba(#fff,.2);
  }

  html {
    font-size: 62.5%;
  }

  .l-inner {
    position: relative;
    -webkit-box-sizing: content-box;
            box-sizing: content-box;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 10rem;
  }
  .l-section .l-inner {
    padding-top:30px;
    padding-bottom:50px;
  }

  [class*=swiper]:focus {
    outline: none;
  }

  .slide-media,
  .thumb-media {
    position: relative;
    overflow: hidden;
  }
  .slide-media img,
  .thumb-media img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }


  .swiper-button-prev, .swiper-button-next {
    display: grid;
    place-content: center;
    width: 6.4rem;
    height: 6.4rem;
    cursor: pointer;
    -webkit-transition: var(--transition);
    transition: var(--transition);
  }
  .swiper-button-prev::before, .swiper-button-next::before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    content: "";
    border-radius: 50%;
    -webkit-box-shadow: var(--box-shadow);
            box-shadow: var(--box-shadow);
  }
  .swiper-button-prev::after, .swiper-button-next::after {
    width: 1.2rem;
    height: 1.2rem;
    content: "";
    border: solid var(--color-gray);
    border-width: 3px 3px 0 0;
  }
  .swiper-button-prev::after {
    margin-left: 0.4rem;
    -webkit-transform: rotate(-135deg);
            transform: rotate(-135deg);
  }
  .swiper-button-next::after {
    margin-right: 0.4rem;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  .swiper-button-disabled {
    pointer-events: none;
    opacity: 0;
  }

  .card03 {
    overflow: hidden;
  }
  .card03 .swiper {
    overflow: visible;
  }
  .card03 .swiper-button-prev, .card03 .swiper-button-next {
    position: absolute;
    z-index: 1;
    top: 0;
    bottom: 0;
    margin: auto;
  }
  .card03 .swiper-button-prev::before, .card03 .swiper-button-next::before {
    background-color: rgba(0, 0, 0, 0.3);
    -webkit-box-shadow: var(--box-shadow-dark);
            box-shadow: var(--box-shadow-dark);
  }
  .card03 .swiper-button-prev::after, .card03 .swiper-button-next::after {
    border-color: #fff;
  }
  .card03 .swiper-button-prev {
    right: calc(100% - 1.6rem);
  }
  .card03 .swiper-button-next {
    left: calc(100% - 1.6rem);
  }
  .card03 .slide {
    overflow: hidden;
    -webkit-transition: var(--transition), opacity 1s;
    transition: var(--transition), opacity 1s;
    border-radius:10px;
    -webkit-box-shadow: var(--box-shadow);
            box-shadow: var(--box-shadow);
  }
  .card03 .slide-media {
    padding-top: 62.5%;
  }
  .card03 .slide-media img {
    height: calc(100% + 16px);
    -webkit-transform: translateY(-16px);
            transform: translateY(-16px);
  }
  .card03 .slide-content {
    padding:25px 25px;
  }
  .card03 .slide-content ul li{
    
    line-height: 1em;
    font-weight: 500;
    margin-bottom:10px;
    padding-left:25px;
    background:url(../images/home/ico-check.png)left 2px no-repeat;
  
  }
  .card03 .swiper-slide:not(.swiper-slide-visible) .slide {
    pointer-events: none;
    opacity: 0.3;
  }

  /* ドット全体の配置 */
.card03 .swiper-pagination {
  text-align: center;
  margin-top: 20px;
}

/* 各ドットの基本デザイン */
.card03 .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  background: #aaa;
  opacity: 0.6;
  margin: 0 6px;
  border-radius: 50%;
  transition: all 0.3s;
  display: inline-block;
}

/* アクティブなドット（現在のスライド） */
.card03 .swiper-pagination-bullet-active {
  background: #6bb23c;
  opacity: 1;
  transform: scale(1.2);
}




  @media only screen and (max-width: 1024px) {
    html {
      -webkit-text-size-adjust: 100%;
    }
    .l-inner {
      padding: 0 4rem;
    }
    .pc {
      display: none !important;
    }
    .card03 .swiper {
      padding: 0 3.2rem;
    }
    .card03 .swiper-button-prev {
      right: calc(100% - 5.2rem);
    }
    .card03 .swiper-button-next {
      left: calc(100% - 5.2rem);
    }
  }

  @media only screen and (max-width: 599px) {
    html {
      font-size: 50%;
    }
    .pc-tab {
      display: none !important;
    }
  }

  @media only screen and (min-width: 1025px) {
    .tab-sp {
      display: none !important;
    }
    .swiper-button-prev::before, .swiper-button-next::before {
      -webkit-transition: var(--transition);
      transition: var(--transition);
    }
    .swiper-button-prev:hover::before, .swiper-button-next:hover::before {
      -webkit-transform: scale(1.2);
              transform: scale(1.2);
    }
    .card03 .slide img {
      -webkit-transition: var(--transition);
      transition: var(--transition);
    }
    .card03 .slide:hover {
      -webkit-transform: translateY(-16px);
              transform: translateY(-16px);
      -webkit-box-shadow: var(--box-shadow-hover);
              box-shadow: var(--box-shadow-hover);
    }
    .card03 .slide:hover img {
      -webkit-transform: translateY(0);
              transform: translateY(0);
    }
  }

  @media only screen and (min-width: 600px) {
    .sp {
      display: none !important;
    }
  }