@charset "utf-8";
/* CSS Document */
@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);

.flex {
  display: flex;
}
img {
	image-rendering: -webkit-optimize-contrast;
}

.mb10 {
  margin-bottom: 10px;
}

.mb_1 {
  margin-bottom: 1em;
}
.mb_2{
  margin-bottom: 2em!important;
}

.m0 {
  margin: 0 !important;
}

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

.p0 {
  padding: 0 !important;
}

.blue {
  color: #0D62B9;
}

.align-c {
  text-align: center;
}
.align-r{
  text-align: right;
}

.f15 {
  font-size: 15px;
}

.w100 {
  max-width: 100%;
}

.mincho {
  font-family: 'ヒラギノ明朝 Pro W6', 'Hiragino Mincho Pro', 'HGS明朝E', 'ＭＳ Ｐ明朝', serif;
  line-height: 1.5;
}


body {
  font-family: 'Noto Sans Japanese', sans-serif;

  color: #333;
}

/*ヘッダー*/
.header {
  height: auto;
}
.header .logo img{
  max-width: 300px;
}

.header .l-haeder {
  padding: 1em;
}

.header .l-haeder .w-50 {
  width: 100% !important;
}

.header .l-haeder h1 {
  font-size: 14px;
  letter-spacing: 0;
  font-weight: normal;
}

.header .h_info .flex {
  justify-content: flex-end;
}

.header .h_tel {}

.header .h_tel p {
  margin-bottom: 3px;
}

.header .h_tel img {
  margin-bottom: 5px;
}

.header .h_email {
  padding-left: 1em;
  padding-top: 15px;
}

.header .h_email a {
  width: 210px;
  padding: 1em;
  /*border: 1px solid #ccc;*/
  display: block;
  border-radius: 6px;
  box-shadow: 0 0px 4px 0 rgba(0, 0, 0, 0.2);
  text-align: center;
}

.header .h_email a:hover{
  opacity: 0.6;
  transition: 0.3s;
}

.header .h_email img {
  font-size: 0;
}

.bg-blue {
  background: linear-gradient(to bottom, #0D62B9, #0098E1);
  /*background: linear-gradient(to bottom, #0091D3, #64C1E0);*/
}

.navbar-light .navbar-nav .nav-link.active {
  color: #fff;
}

.navbar-light .navbar-nav .nav-link {
  color: #fff;
}

@media screen and (max-width: 992px) {
  .header .h_info {
    display: none;
  }

  .header .l-haeder h1 {
    font-size: 12px;
  }
}

@media screen and (min-width: 992px) {
  .header .l-haeder {
    padding: 15px 50px;
    min-width: 1140px;
  }
}

/*ナビゲーション
-----------------------------------------------*/
button:focus {
  outline: 1px dotted;
  outline: 0px auto -webkit-focus-ring-color;
}

nav ul ul {
  display: block;
}

nav ul li {
  position: relative;
}

nav ul li a {
  display: block;
  text-decoration: none;
  color: #fff;
  padding: 1em;
  transition: all .3s;
}

nav ul li li a {
  padding: 10px 0.5em;
}

nav ul li a:hover {
  color: #fff !important;
  opacity: 0.6;
  transition: all .3s;
  text-decoration: none;
}

nav ul ul {
  list-style: none;
  margin-bottom: 0.5em;
}

.navbar-light .navbar-toggler {
  color: rgba(255, 255, 255, 1);
  border-color: rgba(255, 255, 255, 1);
}

.navbar-light .navbar-toggler-icon {
  background-image: url(../img/navbar.png);
  background-size: 30px
}

/*@media (max-width: 992px) {



  .navbar-collapse{
    width: 100%;
    height: 90%;
    position: fixed;
    top: 56px;
    left: 0;
    z-index: 80;
    background-color: #0C60B8;
    padding-bottom: 2em;
  }

  .navbar-collapse ul.navbar-nav{
    height:100%!important;
      overflow: auto;
      -webkit-overflow-scrolling: touch;
      padding-top: 1em;
      padding-left: 2em;
      padding-right: 2em;


  }
  .navbar-collapse ul.navbar-nav li.has-child{
    border: none;
  }
  .navbar-collapse ul ul{
    padding-bottom: 0.5em;
  }
}*/
@media (max-width: 992px) {
  nav ul li {
    font-size: 0.9em;
    border-bottom: 1px dotted #fff;
  }
  nav ul li.has-child{
    border-bottom: none;
  }
}

@media (min-width: 992px) {
  .navbar-expand-lg .navbar-nav {
    display: flex;
    justify-content: space-between;
    width: 100%;
  }

  .navbar-expand-lg .navbar-nav .nav-item {
    justify-content: space-between;
    /*max-width: 14.28%;*/
    text-align: center;
  }

  .navbar-expand-lg .navbar-nav .has-child ul {
    position: absolute;
    left: calc(50% - 100px);
    top: 48px;
    background: #28BFE7;
    width: 200px;
    visibility: hidden;
    opacity: 0;
    transition: all .3s;
    z-index: 999;
    /*display: none;*/
    list-style: none;
    padding: 0;
  }

  nav ul li ul li a:hover {
    color: #fff !important;
    opacity: 1;
  }

  nav ul li.has-child::before {
    content: '';
    position: absolute;
    left: -5px;
    top: 15px;
    width: 6px;
    height: 6px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(135deg);
  }

  nav li.has-child ul li a {
    color: #fff;
    border-bottom: solid 1px rgba(255, 255, 255, 0.6);
    text-decoration: none;
  }

  nav li.has-child ul li:last-child a {
    border-bottom: none;
  }

  nav li.has-child ul li a:hover,
  nav li.has-child ul li a:active {
    background: #0C60B8;
  }

  .navbar-expand-lg .navbar-nav .has-child:hover>ul {
    visibility: visible;
    opacity: 1;
  }
}

/*メインビジュアル
--------------------------------------------------------*/
.main-visual {

  height: calc(100vw *.5);
  position: relative;
  background-color: #fff;
}

.main-visual h2 {
  color: #0D62B9;
  font-size: 2.4em;
  position: absolute;
  top: 20%;
  left: 50px;
  letter-spacing: 0;
  text-shadow: none;

}

.main-visual h2 span{
    background-color: rgba(255, 255, 255, 0.8);
    padding: 0 0.2em;
    display: inline-block;
    margin-bottom: 0.2em;
}

.main-visual .top-info {
  width: 480px;
  padding: 1em;
  position: absolute;
  bottom: -350px;
  right: calc(50% - 240px);
  border-radius: 8px;
  margin: 0 auto;

}

.main-visual .top-info .time-t {
  text-align: center;
  padding-bottom: 1em;
}

.main-visual .top-info dl {
  margin: 0;
  padding: 0;
}

.main-visual .top-info dd {
  text-align: center;
  padding-top: 0.5em;
  margin-bottom: 0;
}

.main-visual .top-info .news {
  background: #459CF3;
  color: #fff;
  padding: 0.3em 1em;
  border-radius: 100vh;
  width: 90%;
  margin: 0 auto;
}

.main-visual .top-info .news span {
  background-color: rgba(255, 255, 255, 0.3);
  margin-right: 1em;
  padding: 0 0.5em;
  border-radius: 100vh;
}

.main-visual .top-info table {
  background: #F1F8FE;
}

.thead-blue {
  background: #459CF3 !important;
  /*background: #0D62B9 !important;*/

}

.table thead th {
  border-bottom: none;
  border-top: none;
}

.smblock {
  display: none;
}

@media (max-width: 768px) {
  .main-visual h2 {
    font-size: 2em;
  }

  .main-visual .top-info .text-right {
    text-align: left !important;
  }

  .main-visual .top-info p.mb-4 {
    margin-bottom: 0 !important;
  }
}

@media (max-width: 480px) {

  .smblock {
    display: block;
  }

  .main-visual h2 {

    font-size: 1.13em;
    position: absolute;
    top: 30px;
    left: 5%;
    letter-spacing: 0;
  }

  .main-visual .top-info {
    width: 90%;
    padding: 1em;
    position: absolute;
    bottom: -450px;
    left: 5%;
    right: 5%;
    border-radius: 8px;
    margin: 0 auto;
  }

  .main-visual .top-info img {
    width: 100%;
  }

  .main-visual .top-info .news {
    width: 100%;
  }

  .main-visual .top-info table {
    font-size: 0.85em;
  }
}

@media (min-width: 992px) {
  .main-visual {

    height: 700px;
    position: relative;
    min-width: 1140px;
    background-color: #fff;
  }



  .main-visual h2 {
    color: #0D62B9;
    font-size: 3em;
    position: absolute;
    top: 30%;
    left: 50px;
    letter-spacing: 0;
    text-shadow: none;
    z-index: 10;
  }
  .main-visual h2 span{
    background-color: rgba(255, 255, 255, 0.8);
    padding: 0 0.2em;
    display: inline-block;
    margin-bottom: 0.2em;
  }

  .main-visual .top-info {
    width: 960px;
    padding: 1em;
    position: absolute;
    bottom: -50px;
    right: 0;
    border-radius: 8px 0 0 8px;
  }

  .main-visual .top-info .time-t {
    padding-bottom: 0;
  }

  .main-visual .top-info .news {
    background: #459CF3;
    /*background: #0D62B9;*/

    color: #fff;
    padding: 0.3em 1em;
    border-radius: 100vh;
    width: 90%;
    margin: 0 auto;
  }

  .main-visual .top-info .news span {
    background-color: rgba(255, 255, 255, 0.3);
    margin-right: 1em;
    padding: 0 0.5em;
    border-radius: 100vh;
  }

  .main-visual .top-info dl {
    margin: 0;
    padding: 0;
  }

  .main-visual .top-info dd {
    text-align: center;
    padding-top: 0.5em;
    margin-bottom: 0;
  }
}

/*sec1*/
.top_dr_photo {
  padding-top: 380px;
}

.top_cocoro .dr-img {
  background: url(../img/index/dr.jpg) no-repeat center top;
  width: 100%;
  height: calc(100vw * 0.5);
  background-size: cover;
}

.top_cocoro h2 {
  color: #0C60B8;
  text-align: center;
  padding-top: 30px;
}

.top_cocoro_list {
  counter-reset: top_cocoro_list;
  width: 90%;
  margin: 0 auto;
  padding: 0;
}

.top_cocoro_list li {
  position: relative;
  counter-increment: top_cocoro_list;
  font-size: 1.13em;
  font-weight: bold;
  padding: 1em;
  list-style: none;
}

.top_cocoro_list li::before {
  content: counter(top_cocoro_list, decimal-leading-zero);
  -webkit-writing-mode: horizontal-tb;
  -ms-writing-mode: lr-tb;
  writing-mode: horizontal-tb;
  position: absolute;
  top: 0;
  left: 0.1em;
  text-align: center;
  font-family: serif;
  color: #5BA8F4;
  font-size: 2.4em;
  letter-spacing: .1em;
  display: inline-block;
}

.top_cocoro_list li p {
  line-height: 1.6 !important;
  padding-left: 3em;
  margin: 0;
  padding-bottom: 0;
}

@media (max-width: 992px) {
  .nomd {
    display: none;
  }

  .top_cocoro_list li br {
    display: none;
  }
}

@media (max-width: 480px) {
  .top_dr_photo {
    padding-top: 470px;
  }

  .top_cocoro h2 {
    font-size: 1.13em;
  }

  .top_cocoro_list li::before {
    font-size: 2em;
  }

  .top_cocoro_list li {
    font-size: 1em;
    padding: 0;
    margin-bottom: 1em;
  }
}

@media (min-width: 992px) {
  .top_cocoro .dr_txt {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
  }

  .top_cocoro_list {
    counter-reset: top_cocoro_list;
  }

  .top_cocoro_list li {
    position: relative;
    counter-increment: top_cocoro_list;
    line-height: 4.2;
    font-size: 1.13em;
    font-weight: bold;
    padding: 3.2em 0 0;
    list-style: none;
    margin-left: 1em;
    margin-right: 3em;
  }

  .top_cocoro_list li::before {
    content: counter(top_cocoro_list, decimal-leading-zero);
    -webkit-writing-mode: horizontal-tb;
    -ms-writing-mode: lr-tb;
    writing-mode: horizontal-tb;
    position: absolute;
    top: 0;
    left: 0.1em;
    right: -0.1em;
    text-align: center;
    font-family: serif;
    color: #5BA8F4;
    font-size: 2.4em;
    line-height: 1;
    letter-spacing: .1em;
    display: inline-block;
  }

  .top_cocoro_list li p {
    line-height: 1.6 !important;
  }

  .top_cocoro {
    padding-top: 120px;
    min-width: 1140px;
  }

  .top_cocoro_list {
    padding-top: 1em;
  }

  .top_cocoro_list li {
    font-size: 1.25em;
    margin: 0 2em;
  }

  .top_cocoro_list li p {
    padding: 0.5em;
  }

  .top_cocoro_list li::before {
    font-size: 3.5em;
  }

  .top_cocoro .dr-img {
    background: url(../img/index/dr.jpg) no-repeat left top;
    width: 100%;
    height: 490px;
    background-size: cover;
  }
}

/*見出し
------------------------------------*/
h2.ttl {
  font-family: 'ヒラギノ明朝 Pro W6', 'Hiragino Mincho Pro', 'HGS明朝E', 'ＭＳ Ｐ明朝', serif;
  font-size: 1.88em;
  color: #0C60B8;
  letter-spacing: 0;
  text-align: center;
  margin-bottom: 2rem;
}

.en {
  color: #666;
  display: block;
  font-size: 1rem;
  padding-top: 5px;
  font-family: sans-serif;
}

@media (max-width: 576px) {
  h2.ttl {
    font-size: 1.13em;
  }

  .en {
    font-size: 0.85rem;
  }
}

/*新着情報
--------------------------------*/
.news_wrap {
  background: #F1F8FE;
  padding: 6em 1em;
}

.blue_btn {
  width: 150px;
  background: #0C60B8;
  text-align: center;
  margin: 0 auto;
}
.blue_btn:hover{
  opacity: 0.6;
}


.blue_btn a {
  color: #fff;
  display: block;
  padding: 0.5em 1em;
}
.blue_btn a:hover{
  text-decoration: none;
  opacity: 0.6;
}

.news_wrap ul {
  padding: 0;
  margin: 0;
  list-style: none;
}

.news_wrap ul li {
  margin-bottom: 1em;
  border-bottom: 1px dotted #ccc;
  padding: 0 0 1em;
}

.news_wrap ul li span {
  color: #0C60B8;
}

@media (max-width: 576px) {
  .news_wrap ul li span {
    display: block;
  }

  .news_wrap {
    padding: 3em 1em;
  }

  .news_wrap ul, .blue_btn a {
    font-size: 0.85em;
  }
}

@media (min-width: 992px) {
  .news_wrap {
    min-width: 1140px;
  }
}

/*診察内容
---------------------------------------------*/
.top_medical .top_medical_img {
  text-align: center;
}

.top_medical .ttl_bg {
  background-color: #fff;
  display: inline-block;
  margin-top: -30px;
  width: 480px;
  padding: 1em;
}

.top_medical .bg {
  background-color: #F1F8FE;
  padding: 1em;
  position: relative;
  border: 5px solid #fff;
}

.top_medical .bg2 {
  background-color: #D7ECFD;
  padding: 1em;
  position: relative;
  border: 5px solid #fff;
}

.top_medical .bg::before,
.top_medical .bg2::before {
  font-family: "Font Awesome 5 Free";
  content: "\f138";
  position: absolute;
  bottom: 1em;
  right: 1em;
  color: #0C5FB8;
  font-weight: bold;
}

.top_medical .bg:hover,
.top_medical .bg2:hover {
  opacity: 0.6;
  transition: all .3s;
}

.top_medical .photo {
  text-align: center;
  padding: 2em 1em 1em;
}

.top_medical h3 {
  color: #0C5FB8;
  letter-spacing: 0;
  text-align: center;
}

.top_medical .desc {
  min-height: 102.38px;
}

.top_medical i {
  color: #0C5FB8;
}

.top_medical a {
  text-decoration: none;
}

.top_medical a:hover {
  color: inherit;
}

.xs {
  display: none;
}

@media (max-width: 576px) {
  .top_medical .top_medical_img {
    background: url(../img/index/image.jpg) no-repeat center top -100px;
    height: 150px;
    margin-bottom: 50px;
  }

  .top_medical .ttl_bg {
    background-color: #fff;
    display: inline-block;
    margin-top: 100px;
    width: 80%;
    padding: 1em;
  }

  .top_medical h3 {
    font-size: 1em;
  }

  .top_medical .desc {
    min-height: auto;
    font-size: 0.85em;
    padding-bottom: 0.5em;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    /* 任意の行数を指定 */
  }

  .top_medical .photo {
    text-align: center;
    padding: 0.5em 0 0;
  }

  .top_medical .bg::before,
  .top_medical .bg2::before {
    font-family: "Font Awesome 5 Free";
    content: "\f138";
    position: absolute;
    bottom: 0.5em;
    right: 1em;
    color: #0C5FB8;
    font-weight: bold;
  }

  .xs {
    display: block;
  }
}

@media (min-width: 992px) {
  .top_medical {
    min-width: 1140px;
    margin-left: auto;
    margin-right: auto;
  }
}

/*トップアクセス*/
.top_access i {
  color: #0C5FB8;
}

.top_access p {
  padding-top: 1em;
}

@media (max-width: 768px) {
  .gmap {
    height: 0;
    overflow: hidden;
    padding-bottom: 56.25%;
    position: relative;
  }

  .gmap iframe {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
  }
}

@media (max-width: 576px) {
  .top_access p {
    font-size: 0.85em;
    padding-top: 0.5em;
  }
}

/*トップ診療時間*/
.top_timetable .inner {
  width: 90%;
  margin: 0 auto;
}

.top_timetable table.tb01,
.access_wrap table.tb01 {
  width: 100%;
  border-top: 1px solid #0C60B8;
  border-right: 1px solid #0C60B8;
  margin-bottom: 1em;
}

.top_timetable table.tb01 th,
.access_wrap table.tb01 th {
  background: #E3EFFD;
  color: #0C60B8;
  border-left: 1px solid #0C60B8;
  border-bottom: 1px solid #0C60B8;
  padding: 1em;
  text-align: center;
}

.top_timetable table.tb01 td,
.access_wrap table.tb01 td {
  color: #0C60B8;
  border-left: 1px solid #0C60B8;
  border-bottom: 1px solid #0C60B8;
  padding: 1em;
  text-align: center;
}

@media (max-width: 576px) {

  .top_timetable table.tb01 th,
  .top_timetable table.tb01 td,
  .access_wrap table.tb01 th,
  .access_wrap table.tb01 td {
    font-size: 0.8em;
    padding: 0.5em;
  }

  .sm-ptb0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  .sm-mtb0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  .top_timetable p {
    font-size: 0.85em;
  }
}

/*フッター
---------------------------------------*/
.text-blue {
  color: #0C60B8 !important;
}

footer h2 img{
  max-width: 300px;
}

footer p {
  margin-bottom: 0.5em;
}

.fb {
  font-weight: bold;
}

.pb_1 {
  padding-bottom: 0.5em;
}

.f14 {
  font-size: 0.85em;
}

.ptb-2 {
  padding: 2em 0;
}

@media (max-width: 992px) {
  footer .h6 {
    font-size: 0.85rem;
  }
}

.bg_wh {
  background: #fff;
}

@media (max-width: 576px) {
  footer {
    text-align: center;
  }

  footer .d-flex {
    justify-content: center;
  }

  footer h2, footer .f_tel {
    margin-left: -0.5em;
  }

  footer .f_tel {
    margin-left: -0.8em;
  }

  footer .text-blue {
    font-size: 0.85rem;
  }

  footer .row {
    margin-left: 0;
    margin-right: 0;
  }
}

@media (min-width: 751px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}

@media (min-width: 992px) {
  .pl_6 {
    padding-left: 6em;
  }
}

/*セカンドページ------------------------------*/
.fv {
  background: url(../img/fv.jpg) no-repeat center top;
  padding: 1em;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 250px;
  box-sizing: border-box;
}

.fv .title h2 {
  color: #fff;
  font-size: 1.87em;
  letter-spacing: 0;
}

.fv .title h2 span {
  padding: 0.5rem 1rem;
  background: rgba(12, 95, 184, 0.5);
}

h3.ttl {
  background: #ecf7fb;
  font-size: 1.25em;
  color: #0C60B8;
  letter-spacing: 0;
  margin-bottom: 1em;
  font-weight: bold;
  border-bottom: 1px dotted #0C60B8;
  padding: 1em 0.5em;
}

.nopc{display: none;}
.nosp{display: block;}

@media (max-width: 576px) {
  .fv {
    height: calc(100vw * 0.4);
    background-size: cover;
  }

  .fv .title h2 {
    font-size: 1.25em;
  }

  h3.ttl {
    font-size: 1em;
  }
  .nopc{display: block;}
  .nosp{display: none;}
}

/*パンくず*/
.breadcrumb {
  font-size: 12px;
  background: none;
  padding: 0.5em 1em;
}

.breadcrumb ul {
  margin: 0;
  padding: 0;
}

.breadcrumb li {
  padding-right: 0.5em;
  list-style: none;
}

.breadcrumb li i {
  color: #0C60B8;
}

.breadcrumb li a {
  color: inherit;
}

@media (min-width: 992px) {
  .breadcrumb {
    padding-left: 50px;
  }
}

.pt50 {
  padding-top: 50px;
}
.pb1 {
  padding-bottom: 1em!important;
}


.pb2 {
  padding-bottom: 2em;
}

.pb3 {
  padding-bottom: 3em;
}

.f18 {
  font-size: 1.13em;
}

.img-float-r {
  float: right;
  margin-left: 1em;
}

.cr {
  color: #e00000;
}

.clearfix:after {
  content: "";
  display: block;
  clear: both;
}

.desc {
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
}

.inner {
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 576px) {
  .desc {
    font-size: 0.85em;
  }

  .img-float-r {
    float: none;
    margin-left: 0;
    text-align: center;
    padding-bottom: 1em;
  }
}

/*アクセス
-----------------------------------*/
.accessmap_wrap .access {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  height: 350px;
}

.accessmap_wrap .access div {
  width: 80%;
  margin-bottom: 1em;
}

.accessmap_wrap .access i {
  color: #0C5FB8;
}

.skyblue_btn {
  width: 200px;
  background: #EFF7FE;
  border: 1px solid #0C60B8;
  text-align: center;
  margin: 1em auto;
}

.skyblue_btn a {
  color: #0C60B8;
  display: block;
  padding: 0.5em 1em;
}

.skyblue_btn a:hover,
.skyblue_btn:hover {
  text-decoration: none;
  opacity: 0.6;
}

@media (max-width: 576px) {
  .accessmap_wrap .access{
    height: auto;
    padding-top: 1em;
  }
  .accessmap_wrap .access div.f18 {
    font-size: 1em;
  }

  .accessmap_wrap .row {
    margin: 0;
  }

  .access_wrap .inner p {
    font-size: 0.85em;
  }
  .accessmap_wrap .access div{
    width: 90%;
  }
  .access div.text-blue+div {
    font-size: 0.85em;
    width: 90%;
  }
}

/*心がけていること
-------------------------------------------*/
.cocoro_list {
  position: relative;
  margin: 5em 0;
  padding: 0 10px 0 6px;
  list-style: none;
  font-weight: bold;
  counter-reset: li;
}

.cocoro_list li {
  position: relative;
  margin: 1em;
  padding: 0;
  line-height: 1.6;
  font-size: 1.13em;
}

.cocoro_list>li:before {
  position: absolute;
  color: #ffc33c;
  font-weight: bold;
  counter-increment: li;
  content: counter(li, decimal-leading-zero) "";
  left: -24px;
  top: -10px;
  font-family: serif;
  font-size: 1.88em;
  color: #5BA8F4;
  letter-spacing: .1em;
  display: inline-block;
}

.cocoro_list li p {
  line-height: 1.6 !important;
  padding-left: 2em;
  margin: 0;
  padding-bottom: 0;
}

@media (max-width: 576px) {
  .cocoro_list {
    margin: 3em 0;
  }

  .cocoro_list li {
    font-size: 1em;
  }

  .cocoro_list li p {
    padding-left: 1.5em;
  }

  .cocoro_list>li:before {
    font-size: 1.75em;
    top: -2px;
  }

  .description p {
    font-size: 0.85em;
  }
}

/*スタッフ紹介
----------------------------------------------*/
.staff_wrap .photo01 {
  padding: 1em 0;
}

.staff_wrap .staff_dr p {
  margin-bottom: 0.5em;
}

.staff_wrap .staff_dr .name {
  font-size: 1.75em;
  font-weight: bold;
  font-family: 'ヒラギノ明朝 Pro W6', 'Hiragino Mincho Pro', 'HGS明朝E', 'ＭＳ Ｐ明朝', serif;
  border-bottom: 5px solid #0C60B8;
  margin-bottom: 1rem;
}

.staff_wrap .staff_dr dt {
  padding: 0.8em;
  color: #0C60B8;
  border-bottom: 1px dotted #ccc;
  display: inline-block;
  width: 25%;
}

.staff_wrap .staff_dr dd {
  padding: 0.8em;
  border-bottom: 1px dotted #ccc;
  width: 75%;
  margin-bottom: 0;
}

.staff_wrap .staff_dr dd dl {
  padding: 0;
  margin: 0;
}

.staff_wrap .staff_dr dd dl dt,
.staff_wrap .staff_dr dd dl dd {
  padding: 0;
  border: none;
  font-weight: normal;
  color: inherit;
}

.staff_wrap .staff_dr dd dl dt {
  width: 9em;
  float: left;
}

.staff_wrap .staff_dr dd dl dd {
  margin-left: 9em;
}

.staff_wrap .staff {
  background: #ecf7fb;
  padding: 1em;
  border-radius: 8px;
}

.staff_wrap .staff .photo {
  padding: 0;
}

.staff_wrap .staff .photo img {
  border-radius: 8px;
}

.staff_wrap .staff dl {
  margin-left: 0;
  margin-bottom: 0;
  background: #fff;
  padding: 0.5em;
  border-radius: 8px;
}

.staff_wrap .staff dl::after {
  content: "";
  display: block;
  clear: both;
}

.staff_wrap .staff dt {
  float: left;
  font-weight: normal;
  width: 5em;
  color: #0C60B8;
  text-align: center;
  border: 1px solid #0C60B8;
  vertical-align: middle;
  font-size: 0.9em;
  border-radius: 6px;
}

.staff_wrap .staff dd {
  margin-left: 5em;
  padding-left: 0.5em;
  border-bottom: 1px dotted #ccc;
}

.staff_wrap .staff dd:last-child {
  border-bottom: none;
}
@media (max-width: 992px) {
  .staff_wrap .staff_dr dd dl dt {
    width: 100%;
    float: none;

  }

  .staff_wrap .staff_dr dd dl dd {
    margin-left: 0;
    width: 100%;
    margin-bottom: 0.5em;
  }
}
@media (max-width: 576px) {
  .staff_wrap .staff_dr .photo {
    padding: 1em;
  }
  .staff_wrap .staff_dr .name{
    font-size: 1.25em;
  }
  .staff_wrap .staff_dr dt,
  .staff_wrap .staff_dr dd{
    width: 100%;
  }
  .staff_wrap .staff.flex{
    display: block;
  }
  .staff_wrap .staff .photo{
    text-align: center;
    padding-bottom: 1em;
  }
  .staff_wrap .staff dl{
    margin-left: 0;
  }
}
/*診療所紹介
---------------------------------------------*/
.bx-wrapper	{
	margin-bottom:16px;
  border: 1px solid #ccc;
  box-shadow: none;
}
ul.bxslider li	{
	padding-left:0;
}

#bx-pager	{
	text-align:center;
	margin-bottom:16px;
}

#bx-pager img{
  margin-bottom: 1em;
  border: 1px solid #ccc;
}
.bx-wrapper .bx-caption{
  background: rgba(12, 95, 184, 0.5);
}
.bx-wrapper .bx-caption span{
  text-align: center;
  font-family: sans-serif;
  font-size: 1em;
}

.faci_wrap ul{
  line-height: 0.8;
}
.faci_wrap li{
  margin-bottom: 0.5em;
  padding: 0;
}
@media (max-width: 576px) {
  .faci_wrap ul{
    line-height: 1.2;
  }

}
/*お問い合わせ
---------------------------------------*/
.inq_wrap h3{
  color:#0C60B8;
  letter-spacing: 0;
  border-bottom: 1px solid #0C60B8;
  font-size: 1.25em;
  padding-bottom: 5px;
  text-align: center;
  background-color:#ecf7fb;
  padding: 8px 0;
  border-radius: 8px;
  border: 1px solid #0C60B8;
  margin-bottom: 1em;
}

.inq_wrap .inq_email {
  padding-top: 15px;
}

.inq_wrap .inq_email a,
.ortho_wrap .cta_email a {
  width: 210px;
  padding: 1em;
  /*border: 1px solid #ccc;*/
  display: block;
  border-radius: 6px;
  box-shadow: 0 0px 4px 0 rgba(0, 0, 0, 0.2);
  text-align: center;
  margin: 0 auto;
}
.inq_wrap .inq_email a:hover,
.ortho_wrap .cta_email a:hover{
  opacity: 0.6;
  transition: 0.3s;
}

.inq_wrap .inq_email img {
  font-size: 0;
}
@media (max-width: 992px) {
  .inq_wrap .desc p{
    text-align: left;
  }
}
@media (max-width: 576px) {
  .inq_wrap h3{
    font-size: 1.13em;
  }
  .inq_wrap .desc p{
    font-size: 1rem;
  }

  .inq_wrap .align-c{
    text-align: left;
    font-size: 0.85em;
  }
  .inq_wrap .inq_tel{
    text-align: center;
    margin-left: -1em;
  }

}
/*歯周病治療
------------------------------------*/
.shishubyo_wrap h3.ttl + p{
  padding-bottom: 2em;
  margin-bottom: 0;
}

.shishubyo_wrap p + ul{
  margin-top: -1em;
  margin-bottom: 2em;
}
/*.shishubyo_wrap li{
  padding: 0;
  margin: 0;
  list-style: disc;
  line-height: 1.2;
  font-weight: bold;
}*/

.shishubyo_wrap ul.st li{
font-weight: bold;
margin-bottom: 0.5em;

}

.shishubyo_wrap h5{
  font-size: 1em;
  letter-spacing: normal;
  margin-bottom: 1em;
}



.shishubyo_wrap h5 + dl{
  margin-left: 1em;
}

.shishubyo_wrap dt{
  color: #0C60B8;
  font-weight: normal;
}
.indent1{text-indent: 1em;}

.shishubyo_wrap .listst li{
  padding: 0;
  margin: 0 0 0.5em;
  list-style: disc;
  line-height: 1.2;
  font-weight: normal;
}
.shishubyo_wrap table.tb01,
.service table.tb01{
  margin-bottom: 1em;
  border-top: 1px solid #ccc;
  border-right: 1px solid #ccc;
}

.shishubyo_wrap .tb01 th,
.service table.tb01 th{
  background: #ecf7fb;

  border-bottom: 1px solid #ccc;
  border-left: 1px solid #ccc;
  text-align: center;
  padding: 0.8em;
}
.shishubyo_wrap .tb01 td,
.service table.tb01 td{
  border-bottom: 1px solid #ccc;
  border-left: 1px solid #ccc;
  padding: 0.8em;
}
@media (max-width: 576px) {
  .shishubyo_wrap .tb01 th,
  .shishubyo_wrap .tb01 td,
  .shishubyo_wrap p,
  .shishubyo_wrap li,
  .shishubyo_wrap dt,
  .shishubyo_wrap dd,
  .service table.tb01 th,
  .service table.tb01 td{
    font-size: 0.85em;
  }
.shishubyo_wrap h5{
  font-size: 1em;
}
.invisalinego_wrap .tb01 td{
text-align: center;}
}
/*インプラント治療
-------------------------------------------*/
.inplant_wrap .flex .photo{
  align-items: center;
  display: flex;
}
.inplant_wrap h4{
  font-size: 1.25em;
  padding: 1em 0 0.5em;
  letter-spacing: normal;
  margin-bottom: 2em;
  text-align: center;
}
.inplant_wrap h4 span{
  background: #0C60B8;
  color: #fff;
  padding: 2px 2em;
  border-radius: 100vh;
}
.inplant_wrap .listst02,
.inplant_wrap .listst03{
  list-style: none;
  margin: 0 0 3em;
  padding: 0 0;
}
.inplant_wrap .listst02 li{
  font-weight: bold;
  padding-right: 1em;
}
.service i{
  color: #0C60B8;
}
.inplant_wrap h5,.service h5.ttl{
  font-size: 1.13em;
  letter-spacing: normal;
  border-bottom: 1px dotted #0C60B8;
  margin-bottom: 1em;
  border-left: 5px solid #0C60B8;
  padding-left: 0.5em;
  padding-bottom: 5px;
}
.inplant_wrap .listst03 li{
  display: flex;
  align-items: center;
  padding: 0 1%;
}
.inplant_wrap .hikaku dl{
  border: 1px solid #ccc;
}
.inplant_wrap .hikaku dt{
  background: #ecf7fb;
  color: #0C60B8;
  text-align: center;
  padding: 0.5em;
  border-bottom: 1px solid #ccc;
}
.inplant_wrap .hikaku dd{
  padding: 0.5em;
}

.inplant_wrap .hikaku dl ul,
.inplant_wrap ul.listst01,
.service ul.listst01
{
  margin-bottom: 0;
  position: relative;
}
.inplant_wrap .hikaku dl ul li,
.inplant_wrap ul.listst01 li,
.service ul.listst01 li{
  list-style: none;
}
.inplant_wrap .hikaku dl ul li::before,
.inplant_wrap ul.listst01 li::before,
.service ul.listst01 li::before{
  font-family: "Font Awesome 5 Free";
  content: "\f058";
  position: absolute;
  left : 1em;
  color: #0C60B8;
  font-weight: bold;
}

.inplant_wrap .maru{
  width: 80px;
height: 80px;
border-radius: 50%;
background: #0C60B8;
color: #fff;
display: inline-block;
text-align:center;
 line-height: 75px;
 font-weight: normal;
}
.inplant_wrap .step-ttl dd{
  display: flex;
  align-items: center;
}
.inplant_wrap .step-ttl dd p{
  margin-bottom: 0;
  font-weight: bold;
  padding-left: 1em;
  color: #0C60B8;
  font-size: 1.13em;
}
.inplant_wrap .step-wrap{
  margin-left: 80px;
  margin-bottom: 2em;
  border: 1px dotted #0C60B8;
  padding: 1em 0;
  margin-right: 10px;
  border-radius: 8px;
}

.inplant_wrap .imp-faq dt{
  background-color: #0C60B8;
  padding: 0.8em 0.8em 0.8em 50px;
  color: #fff;
  background-image: url(../img/implant/q.jpg);
  background-position: left 8px top 10px;
  background-repeat: no-repeat;
}
.inplant_wrap .imp-faq dd{
  background-color: #ecf7fb;
  padding: 1em 1em 1em 50px;
  background-image: url(../img/implant/a.jpg);
  background-position: left 8px top 15px;
  background-repeat: no-repeat;
}

@media (max-width: 992px) {

  .inplant_wrap .flex.shourei,
    .inplant_wrap .shourei .flex{
    display: block;
  }
  .inplant_wrap .flex.shourei .photo{
    text-align: center;
    display: block;
  }
  .inplant_wrap .photo{
    text-align: center;
  }
}
@media (max-width: 992px) {
  .service p{
    font-size: 0.85rem;
  }
  .inplant_wrap li{
    font-size: 0.85rem;
  }
  .inplant_wrap h4{
    font-size: 1em;
  }
  .inplant_wrap .flex.listst02{
    display: block;
  }
  .inplant_wrap h5,.service h5.ttl{
    font-size: 1em;
  }
  .inplant_wrap .photo{
    padding-bottom: 1em;
  }
  .inplant_wrap .step-wrap{
    margin-left: 0;
    font-size: 0.85rem;
  }
  .inplant_wrap .step-wrap .photo{
    text-align: center;
    padding-top: 1em;
  }
  .inplant_wrap .imp-faq dt{
    font-size: 0.8rem;
    background-size: 25px;
    padding-left: 40px;
    background-position: left 5px top 0.6em;
  }
  .inplant_wrap .imp-faq dd{
    font-size: 0.8rem;
    background-size: 25px;
    padding-left: 40px;
    background-position: left 5px top 0.6em;
  }
}

/*インビザライン
--------------------------------------------*/
.invisalinego_wrap .tb01{
width: 100%;
}
.invisalinego_wrap .tb01 th{
width: 33.333%;
}
.invisalinego_wrap .tb01 td{
text-align: center;
}


/*アコーディオン
----------------------------------------*/
.ac-label {
  cursor: pointer;
  position: relative;
}

.ac-content {
  display: none;
}

/* .ac-labelを親要素としてアイコン位置を絶対値で指定 */
.icon-wrap {
  position: absolute;
  right: 5px;
  top: 50%;
  transform: translatey(-50%);
  width: 38px;
  height: 38px;
  background: #0C60B8;
}

.ac_w .icon-wrap {
  background: transparent;
}

/* .icon-wrapの中でプラスを中央に位置させるために.iconを親要素に設定 */
.icon {
  position: relative;
  display: inline-block;
  width: 100%;
  height: 100%;
}

/* プラスアイコン */
/* ２本の線を.icon-wrapの中央に並行に重ねる */
.icon:before,
.icon:after {
  position: absolute;
  content: "";
  display: block;
  transition: all 0.4s;
  background: #fff;
  left: 50%;
  top: 50%;
  width: 50%;
  height: 2px;
  transform: translate(-50%, -50%);
}

.ac_w .icon:before,
.ac_w .icon:after {
  background: #222;
}

/* そのうち1本を縦にする */
.icon:before {
  transform: translate(-50%, -50%) rotate(90deg);
}

/* プラスアイコンクリック後、マイナスにする */
.icon.open:before {
  transform: translate(-50%, -50%) rotate(0deg);
}
/*プチ矯正治療
-------------------------------------------*/
.ortho_wrap .sec1 .photo{
  text-align: right;
  padding-bottom: 1em;
}
.ortho_wrap .tb01{
  width: 100%;
}

.ortho_wrap ol,.service ol{
  counter-reset: my-counter;
  list-style: none;
  padding: 0;
}

.ortho_wrap ol li:nth-child(2){
  border-bottom: 1px dashed #e00000;
  padding-bottom: 1em;
}
.ortho_wrap ol li,.service ol li{
  padding: 0.5em 0;
  padding-left: 30px;
 position: relative;
 color: #0C60B8;
 margin-bottom: 0.5em;
}
.service ol li{
  color: #333;
}


.ortho_wrap ol li::before,
.service ol li::before{
  content: counter(my-counter);
  counter-increment: my-counter;
  background-color: #0C60B8;
  color: #fff;
  display: block;
  position: absolute;
  left:2em;
  top:10px;
  line-height: 22px;
  margin-left: -30px;
  text-align: center;
  height: 22px;
  width: 22px;
  border-radius: 50%;
}


.ortho_wrap ol li span.bgwh{
  float: right;
  background: #fff;
  display: inline-block;
  margin-top: 1.7em;
  padding-left: 1em;
  font-weight: normal;
  color: #333;
}
.ortho_wrap ol li .arroww-box{
  padding: 1em 0 0;
  color: #333;
}
.ortho_wrap ol li .arroww-box .txt{
  display: flex;
  align-items: center;
}
.ortho_wrap .b_a{
  background: #ecf7fb;
  color: #0C60B8;
  display: inline-block;
  padding: 2px 1em;
  border-radius: 8px;
  border: 1px solid #0C60B8;
}
.ortho_wrap h6.ttl{
  margin-top: 1.5em;
  color: #0C60B8;
  letter-spacing: normal;
  margin-bottom: 1.5em;
}
.ortho_wrap h6.ttl span{
  border-top: 2px solid #0C60B8;
  border-bottom: 2px solid #0C60B8;
  padding: 3px 0.5em;
}
.ortho_wrap .cta{
  margin-bottom: 3em;
  border-radius: 6px;
}
.ortho_wrap .cta h3.cta-ttl{
  /*background: #0C60B8;*/
  color: #fff;
  letter-spacing: normal;
  text-align: center;
  font-size: 1.25em;
  padding: 0.5em;
  margin-bottom: 1.5em;
}
.ortho_wrap .cta.col-md-10{
  padding: 0;
  border: 1px solid #0C60B8;
}
.ortho_wrap .cta .cta_tel{
  padding-top: 1em;
  text-align: center;
  padding-bottom: 1em;
}
@media (max-width: 992px) {
  .ortho_wrap .cta .txt{
    padding: 0 1em;
  }
}
@media (max-width: 576px) {
  .service ul.listst01{
    padding-bottom: 1em;
    font-size: 1em;
  }

.ortho_wrap .sec1 .photo{
  text-align: center;
}
.ortho_wrap .sec1 .photo + .photo{
  padding-bottom: 2em;
}
.ortho_wrap ol li{
  font-size: 0.85em;
}
.ortho_wrap ol li::before{
  top:7px;
  left:2.5em;
}
.ortho_wrap ol li span.bgwh{
  margin-top: 0.5em;
  font-size: 0.85em;
}
.ortho_wrap .cta h3.cta-ttl{
  font-size: 1.13em;
  margin-bottom: 0;
}
.ortho_wrap ol li .arroww-box .txt p{
  margin-bottom: 0;
}
.ortho_wrap h6.ttl{
  text-align: center;
}
.ortho_wrap h6.ttl span{
  display: block;
}

}
/*ホワイトニング
----------------------------------------------*/
.whitening_wrap table.tb01{
  width: 100%;
}
.whitening_wrap table.tb01 td p + p{
  margin-bottom: 0;
}

.whitening_wrap table.tb01 .col-md-6.flex{
  align-items: center;
}
@media (max-width: 576px) {
  .whitening_wrap table.tb01 th,
  .whitening_wrap table.tb01 td{
    display: block;
  }
}


/*マウスガード
------------------------------------------------*/
.guard_wrap .listst01 li{
  margin-bottom: 0.5em;
}
.guard_wrap ul.st{
  margin: 0 0 3em 1em;
  padding: 0;
}
.guard_wrap ul.st + p{
margin-top: -2em;
}


.guard_wrap ul.st li{
  list-style: none;
  padding-left: 1.5em;
  padding-right: 1em;
  position: relative;
  width: 25%;
}

.guard_wrap ul.st li::before{
  font-family: "Font Awesome 5 Free";
  content: "\f192";
  position: absolute;
  left : 0;
  color: #59A7F4;
  font-weight: bold;
}
@media (max-width: 576px) {
  .guard_wrap ul.st li{
    width: 50%;
    font-size: 0.85em;
  }
}
/*虫歯治療・審美治療
---------------------------------------*/
@media (max-width: 576px) {
  .mushiba_wrap ul,
  .shinbi_wrap ul{
  margin-left: -1em;
  }
}

/*スライダー
--------------------------------------*/
.slider {
  width: 100%;
  height: 100%;
  margin: 0 auto;
  padding: 0;
  list-style: none;

}

.slider-item01 {
    background:url(../img/index/slide01.jpg);
}

.slider-item02 {
    background:url(../img/index/slide03.jpg);
}

.slider-item03 {
    background:url(../img/index/slide02.jpg);
}
.slider-item01,
.slider-item02,
.slider-item03{
  background-size: cover;
  background-position: center;
}

.slider-item{
  height: 450px;
}

@media (max-width: 576px) {
  .slider-item{
    height: 350px;
  }
}

@media (min-width: 992px) {
.slider-item {
    width: 100%;/*各スライダー全体の横幅を画面の高さいっぱい（100%）にする*/
    height:700px;/*各スライダー全体の縦幅を画面の高さいっぱい（100vh）にする*/
    background-repeat: no-repeat;/*背景画像をリピートしない*/
    background-position: center;/*背景画像の位置を中央に*/
    background-size: cover;/*背景画像が.slider-item全体を覆い表示*/

}
}
.slider img {
  width: 100%;
  object-fit: cover;
}


/*メタルフリー治療
--------------------------------------*/
.metal_wrap table.tb01{
  width: 100%;
}
.metal_wrap table.tb01 td p + p{
  margin-bottom: 0;
}

.metal_wrap table.tb01 .col-md-6.flex{
  align-items: center;
}
@media (max-width: 576px) {
  .metal_wrap table.tb01 th,
  .metal_wrap table.tb01 td{
    display: block;
  }
}
