@charset "UTF-8";
/* ----------------------------------------------------------------------------------
リセット　_reset.scss
---------------------------------------------------------------------------------- */
html {
  box-sizing: border-box;
}

*, *::before, *::after {
  box-sizing: inherit;
}

ol, ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

h1, h2, h3, h4, h5, h6 {
  margin: 0;
  padding: 0;
  font-weight: normal;
  font-size: inherit;
}

img {
  vertical-align: bottom;
}

/* ----------------------------------------------------------------------------------
モジュール　_module.scss
---------------------------------------------------------------------------------- */
/* clearfix -------------------------------------- */
.cf::before,
.cf::after {
  content: "";
  display: block;
}

.cf::after {
  clear: both;
}

/* float -------------------------------------- */
.fl_l {
  float: left;
}

.fl_r {
  float: right;
}

/* txt -------------------------------------- */
.txt_c {
  text-align: center;
}

.txt_l {
  text-align: left;
}

.txt_r {
  text-align: right;
}

/* 文字の装飾 -------------------------------------- */
.clr_red {
  color: #ff0000;
}

.bold {
  font-weight: bold;
}

/* color -------------------------------------- */
.background_white {
  background-color: #fff !important;
}

.color_white {
  color: #fff !important;
}

.background_darkGray {
  background-color: #515151 !important;
}

.color_darkGray {
  color: #515151 !important;
}

.background_blue {
  background-color: #0068b7 !important;
}

.color_blue {
  color: #0068b7 !important;
}

.background_lightBlue {
  background-color: #f5fcff !important;
}

.color_lightBlue {
  color: #f5fcff !important;
}

/* img -------------------------------------- */
.img_c {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 1rem auto;
}

.img_l, .img_r {
  display: block;
  max-width: 80%;
  height: auto;
  margin: 1rem auto;
}

@media all and (min-width: 48em), print {
  .img_l {
    float: left;
    margin: 0 2rem 2rem 0;
  }
  .img_r {
    float: right;
    margin: 0 0 2rem 2rem;
  }
}
/* PC・SP　表示・非表示 -------------------------------------- */
.sp_n {
  display: none;
}

@media all and (min-width: 48em), print {
  .sp_n {
    display: block;
  }
  .pc_n {
    display: none;
  }
}
/* マージン・パディング回り -------------------------------------- */
.mt40 {
  margin-top: 4rem;
}

.mt30 {
  margin-top: 3rem;
}

.mt20 {
  margin-top: 2rem;
}

.mt10 {
  margin-top: 1rem;
}

.mb40 {
  margin-bottom: 4rem;
}

.mb30 {
  margin-bottom: 3rem;
}

.mb20 {
  margin-bottom: 2rem;
}

.mb10 {
  margin-bottom: 1rem;
}

.main .wrap > section ~ section, .flex2 > section ~ section {
  margin-top: 4rem;
}

.main .wrap > section section ~ section, .flex2 > section section ~ section {
  margin-top: 3rem;
}

.main .wrap > section > section section ~ section, .flex2 > section > section section ~ section {
  margin-top: 2rem;
}

.main .wrap > section > section > section section ~ section, .flex2 > section > section > section section ~ section {
  margin-top: 2rem;
}

@media all and (min-width: 48em), print {
  .mt40 {
    margin-top: 8rem;
  }
  .mt30 {
    margin-top: 6rem;
  }
  .mt20 {
    margin-top: 4rem;
  }
  .mt10 {
    margin-top: 2rem;
  }
  .main .wrap > section ~ section, .flex2 > section ~ section {
    margin-top: 8rem;
  }
  .main .wrap > section section ~ section, .flex2 > section section ~ section {
    margin-top: 6rem;
  }
  .main .wrap > section > section section ~ section, .flex2 > section > section section ~ section {
    margin-top: 4rem;
  }
  .main .wrap > section > section > section section ~ section, .flex2 > section > section > section section ~ section {
    margin-top: 2rem;
  }
}
/* タイムテーブル -------------------------------------- */
.tbl_time {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 1.4rem;
}
.tbl_time caption {
  font-size: 85%;
  caption-side: bottom;
  text-align: right;
  margin-top: 0.4rem;
}
.tbl_time tr th {
  padding: 0.4rem;
  color: #0068b7;
  font-weight: normal;
  border-bottom: 1px solid #dee1eb;
}
.tbl_time tr td {
  text-align: center;
  padding: 0.4rem;
  border-bottom: 1px solid #dee1eb;
}
/* グーグルマップ -------------------------------------- */
.gmap {
  width: 100%;
}
.gmap iframe {
  width: 100%;
  height: 100%;
  border: none;
}
.gmap img {
  display: block;
  max-width: 100%;
  height: auto;
  border: 2px solid #2ea7e0;
}

/* 駐車場マップ -------------------------------------- */
.parking_map {
  width: 100%;
}
.parking_map img {
  display: block;
  max-width: 100%;
  height: auto;
}
.parking_map.-border img {
  border: 4px solid #2ea7e0;
  box-sizing: border-box;
}
@media all and (min-width: 48em), print {
  .parking_map.-border img {
    border-width: 6px;
  }
}

/* タイトル回り -------------------------------------- */
.tit_01 {
  background-image: -webkit-linear-gradient(0deg, rgb(0, 122, 196) 0%, rgb(117, 204, 243) 100%);
  background-image: linear-gradient(0deg, rgb(0, 122, 196) 0%, rgb(117, 204, 243) 100%);
  color: #fff;
  text-align: center;
  font-size: 1.6em;
  padding: 3rem 1rem;
  margin: 0 0 3rem;
}

.tit_02 {
  background: url(../img/tit_02.png) no-repeat center bottom/10rem auto;
  color: #0068b7;
  text-align: center;
  font-size: 2rem;
  margin: 0 0 1rem;
  font-weight: bold;
  line-height: 1.2;
  padding-bottom: 1.4rem;
  margin: 0 0 1rem;
}

.tit_03 {
  color: #0068b7;
  background: url("../img/tit_03_left.svg") no-repeat left 1rem center/auto 70%, url("../img/tit_03_right.svg") no-repeat right 1rem center/auto 70% #c9e9ff;
  font-size: 1.8rem;
  text-align: center;
  border-radius: 10rem;
  margin: 0 0 1rem;
}

.tit_04 {
  color: #ff8022;
  font-size: 1.6rem;
  text-align: center;
  margin: 0 0 1rem;
}
.tit_04::after {
  display: block;
  content: "";
  width: 15%;
  height: 0.2rem;
  background: #ff8022;
  margin: 0.2rem auto 0;
}

.tit_05 {
  color: #0068b7;
  font-weight: bold;
  font-size: 1.4rem;
  border-left: solid 5px #0068b7;
  padding-left: 10px;
}

@media all and (min-width: 48em), print {
  .tit_01 {
    font-size: 3.2rem;
    padding: 8.9rem 1rem;
    margin: 0 0 6rem;
  }
  .tit_02 {
    background: url(../img/tit_02.png) no-repeat center bottom/14rem auto;
    font-size: 2.8rem;
    margin: 0 0 3rem;
  }
  .tit_03 {
    font-size: 2.4rem;
    margin: 0 0 2rem 0;
  }
  .tit_04 {
    font-size: 2rem;
  }
  .tit_04::after {
    height: 0.3rem;
  }
  .tit_05 {
    font-size: 1.6rem;
  }
  .tit_05::after {
    height: 0.2 0.6rem;
  }
}
/* リスト回り -------------------------------------- */
.lst_ul01 li {
  text-indent: -2rem;
  padding-left: 2.2rem;
  margin-bottom: 1rem;
}
.lst_ul01 li::before {
  content: "●";
  margin-right: 0.4rem;
  color: #0068b7;
}
.lst_ul01.kome > li::before {
  content: "※";
  color: #515151;
}

.lst_ol01 {
  margin: 1rem 0 1rem 2.4rem;
}
.lst_ol01 li {
  list-style: decimal;
  margin-bottom: 1rem;
  padding-left: 0.4rem;
}

.lst_dl01 dt {
  float: left;
  width: 25%;
  font-weight: bold;
  clear: left;
}
.lst_dl01 dd {
  padding-left: 4rem;
}

.lst_dl02 {
  display: flex;
  flex-wrap: wrap;
  border: 1px solid #ccc;
}
.lst_dl02 dt, .lst_dl02 dd {
  border-bottom: 1px solid #ccc;
  padding: 0.5rem 1rem;
}
.lst_dl02 dt {
  width: 100%;
  font-weight: bold;
  text-align: center;
  background: #F0F8FB;
}
.lst_dl02 dd {
  width: 100%;
  margin: 0;
  background: #fff;
}

@media all and (min-width: 48em), print {
  .lst_dl01 dd {
    padding-left: 6.2rem;
  }
  .lst_dl02 dt, .lst_dl02 dd {
    padding: 1rem 2rem;
  }
  .lst_dl02 dt {
    width: 15rem;
    border-right: 1px solid #ccc;
  }
  .lst_dl02 dd {
    width: calc(100% - 15rem);
  }
}
/* フレックス回り -------------------------------------- */
@media all and (min-width: 48em), print {
  .flex2 {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .flex2 > section, .flex2 > li, .flex2 > div {
    width: 46%;
    margin: 0 !important;
  }
}
/* ボタン回り -------------------------------------- */
.bnr li {
  margin-bottom: 0.6rem;
}
.bnr li a {
  display: block;
  color: #fff !important;
  border-radius: 0.4rem;
  font-size: 1.4rem;
  padding: 0;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
}
.bnr li a::before {
  font-family: "fontello";
  margin-right: 1rem;
  font-size: 2rem;
}
.bnr li a.btn_fb {
  background: #3b5998;
}
.bnr li a.btn_fb::before {
  content: "\f30e";
}
.bnr li a.btn_tw {
  background: #1b95e0;
}
.bnr li a.btn_tw::before {
  content: "\f309";
}
.bnr li a.btn_line {
  background: #00c402;
}
.bnr li a.btn_line::before {
  content: "";
}
.bnr li a.btn_insta {
  background: #9a36b3;
}
.bnr li a.btn_insta::before {
  content: "\f32d";
}
.bnr li a.btn_blog {
  background: #f9ac27;
}
.bnr li a.btn_blog::before {
  content: "\e801";
}
.bnr li a.btn_lib {
  background: #ecd512;
}
.bnr li a.btn_lib::before {
  content: "\e804";
}
.bnr li a.btn_inquiry {
  background: #ebc2d5;
}
.bnr li a.btn_inquiry::before {
  content: "\e800";
}
.bnr li a.btn_monshin {
  background: #e581ae;
}
.bnr li a.btn_monshin::before {
  content: "\f1c1";
}
.bnr li a.btn_staff {
  background: #f78a8c;
}
.bnr li a.btn_staff::before {
  content: "\e805";
}

@media all and (min-width: 48em), print {
  .bnr li {
    margin-bottom: 1.4rem;
  }
  .bnr li a {
    border-radius: 0.8rem;
    font-size: 1.6rem;
  }
  .bnr li a::before {
    font-size: 2.4rem;
  }
}
/* ボタン回り */
.btn_detail {
  display: inline-block;
  margin-top: 1rem;
  padding: 0.4rem 2rem;
  border-radius: 0.5rem;
  background: #fff;
  border: 3px double #0068b7;
  color: #0068b7;
  text-decoration: none !important;
}
.btn_detail:hover {
  background: #0068b7;
  color: #fff;
  border: 3px double #fff;
}

.index_banner {
  gap: 1rem;
  max-width: 900px;
  line-height: initial;
  /* border-radius: 30px; */
  border: #0068b7 1px solid;
}
@media all and (min-width: 48em), print {
  .index_banner {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin: 0 auto;
  }
}
.index_banner .left div .link_btn {
  padding: 1rem 1rem 0;
}
@media all and (min-width: 48em), print {
  .index_banner .left div .link_btn {
    display: flex;
    gap: 0.5rem;
    padding: 2rem 1rem 0;
  }
}
.index_banner .left div .link_btn a {
  display: block;
  padding: 1rem 2rem;
  margin-bottom: 1rem;
  color: #0068b7;
  border: #0068b7 1px solid;
  background: #f5fcff;
  /* &:hover{
    background:#fff;
    color:#dddd;
  } */
}
@media all and (min-width: 48em), print {
  .index_banner .left div .link_btn a {
    width: 50%;
  }
}
@media all and (min-width: 48em), print {
  .index_banner .left {
    width: 50%;
  }
}
.index_banner .right {
  background-image: url("../img/index_banner.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  /* border-top-left-radius: 30px; */
  /*  border-top-right-radius: 30px; */
  height: 190px;
  padding: 0.5rem;
}
@media all and (min-width: 48em), print {
  .index_banner .right {
    width: 50%;
    /*  border-top-right-radius: 30px;
     border-bottom-right-radius: 30px; */
  }
}
.index_banner img {
  border-radius: 30px;
}
.index_banner .text {
  padding: 1rem 0;
  text-align: center;
}
@media all and (min-width: 48em), print {
  .index_banner .text {
    padding: initial;
  }
}
.index_banner h2 {
  color: #0068b7;
  text-align: center;
  font-size: 1.8rem;
  margin-bottom: 10px;
}
@media all and (min-width: 48em), print {
  .index_banner h2 {
    font-size: 2.8rem;
  }
}
.index_banner p {
  font-size: 1.2em;
  line-height: 1.5;
}

/* ----------------------------------------------------------------------------------
共通　_common.scss
---------------------------------------------------------------------------------- */
html {
  font-size: 3.125vw;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro", "游ゴシック Medium", "Yu Gothic Medium", "メイリオ", Meiryo, sans-serif;
}

body {
  background: #f5fcff;
  color: #515151;
}

a {
  color: inherit;
  text-decoration: none;
}

.left_sidebar {
  background: #fff;
}

.main {
  font-size: 1.4rem;
  line-height: 1.6;
}
.main a:not([href^=tel]), .main a:not([class^=btn_]) {
  text-decoration: underline;
}
.main .wrap {
  margin: 0 1rem;
}

@media all and (min-width: 48em), print {
  html {
    font-size: 62.5%;
  }
  body {
    min-width: 1240px;
  }
  a {
    transition: 0.2s;
  }
  a:hover {
    opacity: 0.8;
  }
  /* 構造レイアウト -------------------------------------- */
  .wrapper {
    display: -webkit-flex;
    display: flex;
  }
  .wrapper .left_sidebar {
    min-width: 30rem;
    padding: 0 3rem;
    white-space: nowrap;
  }
  .wrapper .right_body {
    width: 100%;
    padding-bottom: 67rem;
    position: relative;
  }
  .wrapper .right_body .overview {
    width: 100%;
    position: absolute;
    bottom: 8rem;
  }
  .wrapper .right_body .footer {
    width: 100%;
    position: absolute;
    bottom: 0;
  }
  body.index .wrapper {
    display: -webkit-flex;
    display: flex;
  }
  body.index .wrapper .left_sidebar {
    max-width: 30rem;
  }
  .wrap {
    max-width: 90rem;
    margin: auto;
  }
  .main {
    font-size: 1.6rem;
    margin: 0 auto 15rem;
  }
  .main .wrap {
    margin: auto;
  }
}
/* アイコンフォント -------------------------------------- */
@font-face {
  font-family: "fontello";
  src: url("fontello/font/fontello.eot");
  src: url("fontello/font/fontello.eot#iefix") format("embedded-opentype"), url("fontello/font/fontello.woff2") format("woff2"), url("fontello/font/fontello.woff") format("woff"), url("fontello/font/fontello.ttf") format("truetype"), url("fontello/font/fontello.svg#fontello") format("svg");
}
/* ヘッダー -------------------------------------- */
.left_sidebar .header {
  padding: 1rem;
  text-align: center;
  font-size: 1.2rem;
  line-height: 1.4;
}
.left_sidebar .header .logo {
  margin-bottom: 1rem;
}
.left_sidebar .header .logo a {
  display: block;
  background: url(../img/logo.png) no-repeat center center/contain;
  height: 10rem;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}
.left_sidebar .header .tel {
  font-size: 2rem;
}
.left_sidebar .header .tel::before {
  content: "tel : ";
}
.left_sidebar .header .park {
  font-size: 2rem;
  color: #ff8022;
  margin-bottom: 1rem;
}
.left_sidebar .header .btn_rsv {
  font-size: 1.6rem;
  padding: 0.6rem;
  display: block;
  background: #f9bd22;
  color: #fff;
  border-radius: 0.4rem;
}
.left_sidebar .header .btn_rsv::before {
  font-family: "fontello";
  content: "\f108";
  margin-right: 0.4rem;
}
.left_sidebar .sidebar {
  display: none;
}

@media all and (min-width: 48em), print {
  .left_sidebar .header {
    padding: 5rem 0 0;
    font-size: 1.4rem;
  }
  .left_sidebar .header .logo a {
    height: 17rem;
  }
  .left_sidebar .header .tel {
    font-size: 2.4rem;
    white-space: nowrap;
  }
  .left_sidebar .header .park {
    font-size: 2.4rem;
  }
  .left_sidebar .sidebar {
    display: block;
    margin: 2rem auto 0;
  }
}
/* SP ドロップダウンメニュー（Slick Nav） -------------------------------------- */
.slicknav_menu {
  position: absolute;
  top: 1rem;
  right: 0;
  font-size: 4.4rem;
  display: inline-block;
  background: none;
  padding: 0;
  z-index: 10;
  /* Toggle Btn */
  /* 展開部 */
}
.slicknav_menu .slicknav_btn {
  width: 5rem;
  height: 5rem;
  color: clr_txt;
  background: none;
  text-shadow: none;
  border-radius: 0;
  text-align: center;
  line-height: 1;
  padding: 0;
  /* Toggle Open Icon */
}
.slicknav_menu .slicknav_btn::before {
  display: block;
  font-family: "fontello";
  content: "\e802";
  line-height: 0.8;
}
.slicknav_menu .slicknav_btn::after {
  display: block;
  content: "MENU";
  font-size: 1rem;
}
.slicknav_menu .slicknav_btn.slicknav_open {
  /* Toggle Close Icon */
}
.slicknav_menu .slicknav_btn.slicknav_open::before {
  display: block;
  font-family: "fontello";
  content: "\e803";
  line-height: 0.8;
}
.slicknav_menu .slicknav_btn.slicknav_open::after {
  display: block;
  content: "CLOSE";
  font-size: 1rem;
}
.slicknav_menu .slicknav_nav {
  width: 100vw;
  position: absolute;
  top: 10.5rem;
  right: 0;
  text-align: center;
  margin: auto;
}
.slicknav_menu .slicknav_nav .gnav {
  border-top: 1px solid #fff;
  margin: 0;
  background: #1199d8;
}
.slicknav_menu .slicknav_nav .gnav li {
  border-bottom: 1px solid #fff;
}
.slicknav_menu .slicknav_nav .gnav li a {
  display: block;
  padding: 1rem 0;
  color: #fff;
  font-size: 1.6rem;
  position: relative;
}
.slicknav_menu .slicknav_nav .gnav li a:hover {
  background: #1199d8;
}
.slicknav_menu .slicknav_icon, .slicknav_menu .slicknav_icon-bar, .slicknav_menu .slicknav_arrow {
  display: none !important;
}

#nav {
  display: none;
}

@media all and (min-width: 48em), print {
  .slicknav_menu {
    display: none;
  }
  #nav {
    display: block;
    margin: 2.5rem 0;
  }
  #nav .gnav {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
  }
  #nav .gnav li {
    margin: 0 4rem;
  }
  #nav .gnav li a {
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    display: block;
    height: 7.8rem;
  }
  #nav .gnav li a.home {
    width: 7.7rem;
    background: url(../img/gnav.png) no-repeat 0 0;
  }
  #nav .gnav li a.doctor {
    width: 14.5rem;
    background: url(../img/gnav.png) no-repeat -120px 0;
  }
  #nav .gnav li a.clinic {
    width: 10.8rem;
    background: url(../img/gnav.png) no-repeat -310px 0;
  }
  #nav .gnav li a.first {
    width: 10rem;
    background: url(../img/gnav.png) no-repeat -496px 0;
  }
  #nav .gnav li a.access {
    width: 14.5rem;
    background: url(../img/gnav.png) no-repeat -672px 0;
  }
  #nav .sidebar {
    display: none;
  }
}
/* サイドバー（診療内容） -------------------------------------- */
.sidebar {
  background: #e3f5fc;
  font-size: 1.4rem;
  text-align: center;
  padding: 2rem 1rem;
}
.sidebar .tit {
  background: #0068b7;
  color: #fff;
  font-size: 1.8rem;
  padding: 1.4rem;
  border-radius: 0.6rem;
}
.sidebar .subnav {
  margin: 1.4rem 0 0;
}
.sidebar .subnav li a {
  display: block;
  padding: 1rem 0;
  color: #515151;
}
.sidebar .subnav li a:hover {
  background: none;
}
.sidebar .bnr {
  width: 65%;
  margin: auto;
}
.sidebar .bnr li a {
  padding: 1rem 0;
  margin: 0;
}

@media all and (min-width: 48em), print {
  .sidebar {
    background: #fff;
    font-size: 1.6rem;
  }
  .sidebar .tit {
    font-size: 2rem;
  }
  .sidebar ul {
    margin: 1.4rem 0 0;
  }
  .sidebar ul li a {
    font-size: 1.6rem;
  }
  .sidebar ul li a:hover {
    opacity: 1;
  }
  .sidebar ul li a:hover span {
    background: linear-gradient(transparent 80%, #f9dc12 50%);
  }
  .sidebar .bnr {
    width: 100%;
    margin-top: 3rem;
  }
  .sidebar .bnr li a {
    padding: 1rem;
    transition: 0.2s;
  }
  .sidebar .bnr li a:hover {
    opacity: 0.8;
  }
  .orthopedics .sidebar .orthopedics span, .sports_orthopedics .sidebar .sports_orthopedics span, .children .sidebar .children span, .rehabilitation .sidebar .rehabilitation span, .rheumatism .sidebar .rheumatism span, .osteoporosis .sidebar .osteoporosis span, .lumbago .sidebar .lumbago span, .pain .sidebar .pain span, .locomotive .sidebar .locomotive span, .spinesurgery .sidebar .spinesurgery span {
    background: linear-gradient(transparent 80%, #f9dc12 50%);
  }
}
/* クリニック概要 -------------------------------------- */
.overview {
  margin: 5rem 0 0;
  padding: 5rem 1rem 2rem;
  font-size: 1.4rem;
  line-height: 1.6;
  background: #e7f6fd;
}
.overview > .wrap .overviewL .clinic_name {
  font-size: 1.8rem;
  text-align: center;
  line-height: 1.2;
}
.overview > .wrap .overviewL .clinic_name span {
  display: block;
  font-size: 1.2rem;
}
.overview > .wrap .overviewL p {
  text-align: center;
}
.overview > .wrap .overviewL p .tel {
  font-size: 1.8rem;
  color: #0068b7;
}
.overview > .wrap .overviewL p .tel::before {
  content: "tel : ";
}
.overview > .wrap .overviewL p .tel a {
  text-decoration: none;
}
.overview > .wrap .overviewL p span {
  display: block;
}
.overview > .wrap .overviewR .white {
  background: #fff;
  border-radius: 0.6rem;
  padding: 1rem;
  margin-bottom: 2rem;
}
.overview > .wrap .maps {
  margin-top: 3rem;
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.overview > .wrap .maps .parking_map {
  text-align: right;
  width: 100%;
  height: auto;
}
.overview a {
  text-decoration: underline;
}

@media all and (min-width: 48em), print {
  .overview {
    margin: 8rem 0 0;
    padding: 5rem 1rem 0;
    font-size: 1.6rem;
  }
  .overview > .wrap .overview_flex {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-align-items: flex-end;
    align-items: flex-end;
  }
  .overview > .wrap .overview_flex .overviewL, .overview > .wrap .overview_flex .overviewR {
    width: 48%;
  }
  .overview > .wrap .overview_flex .overviewL .clinic_name {
    font-size: 3rem;
    text-align: left;
  }
  .overview > .wrap .overview_flex .overviewL .clinic_name span {
    font-size: 1.6rem;
  }
  .overview > .wrap .overview_flex .overviewL p {
    margin: 0;
    text-align: left;
  }
  .overview > .wrap .overview_flex .overviewL p .tel {
    font-size: 2.6rem;
  }
  .overview > .wrap .overview_flex .overviewR .white {
    margin-top: 2rem;
  }
  .overview > .wrap .overview_flex .overviewR .white .tbl_time {
    font-size: 1.6rem;
  }
  .overview > .wrap .maps {
    justify-content: space-between;
    justify-content: flex-start;
    flex-direction: row;
    gap: 1rem;
    margin-top: 3rem;
  }
  .overview > .wrap .maps .parking_map {
    width: calc(50% - 0.5rem);
  }
  .overview > .wrap .maps .parking_map img {
    margin: 0;
  }
}
/* フッター -------------------------------------- */
.tel_up {
  width: 100%;
  background: #fff;
  padding: 0 1rem;
  visibility: hidden;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1;
  font-size: 1.4rem;
  border-top: 1px solid #d9d9d9;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-align-items: center;
  align-items: center;
}
.tel_up .tel {
  display: block;
  text-align: center;
  width: 80%;
  font-size: 2.4rem;
  line-height: 1;
}
.tel_up .tel::before {
  content: "tel. ";
}
.tel_up .pageup {
  cursor: pointer;
}
.tel_up .pageup a {
  display: block;
  width: 100%;
  font-size: 1.6rem;
  text-align: center;
  background: #fff;
}
.tel_up .pageup a::before {
  text-align: center;
  font-size: 3.6rem;
  font-family: "fontello";
  content: "\e812";
  color: #0068b7;
}
.tel_up .pageup a span {
  display: none;
}

@media all and (min-width: 48em), print {
  .tel_up {
    width: 8rem;
    bottom: 4rem;
    right: 2rem;
    left: auto;
    cursor: pointer;
    background: none;
    padding: 0;
    border: none;
  }
  .tel_up .tel {
    display: none;
  }
  .tel_up .pageup a {
    width: 6.4rem;
    height: 6.4rem;
    border-radius: 50%;
    border: 1px solid #d9d9d9;
  }
  .tel_up .pageup a::before {
    font-size: 5rem;
  }
}
.footer {
  text-align: center;
  padding-bottom: 5rem;
  background: #e7f6fd;
}
.footer .copy {
  display: block;
  padding: 1rem 1rem 0.4rem;
  font-size: 1.2rem;
  color: #0068b7;
}
.footer .copy a {
  color: inherit;
}

@media all and (min-width: 48em), print {
  .footer {
    padding-bottom: 3rem;
  }
  .footer .copy {
    padding: 3rem 1rem 0.4rem;
    font-size: 1.4rem;
  }
}
.price_table {
  border-collapse: collapse;
  display: block;
  margin-left: 0px;
  width: auto;
}
.price_table th {
  color: #454545;
  background-color: #F0F8FB;
  margin: 0px;
  padding: 10px;
  font-weight: lighter;
  /*width: 400px;*/
  border: 1px solid #CCC;
  text-align: left;
}
.price_table td {
  padding-top: 10px;
  padding-right: 10px;
  padding-bottom: 10px;
  padding-left: 10px;
  border: 1px solid #CCC;
}
.price_table tr .price_td {
  margin: 0px;
  /*width: auto;*/
  color: #454545;
  width: 230px;
  text-align: right;
}

/*--  osteoporosis.html  --*/
.price_table2 {
  border-collapse: collapse;
  display: block;
  margin-left: 0px;
  width: auto;
}
.price_table2 th {
  color: #454545;
  background-color: #F0F8FB;
  margin: 0px;
  padding: 10px;
  font-weight: lighter;
  /*width: 400px;*/
  border: 1px solid #CCC;
  text-align: center;
}
.price_table2 td {
  padding-top: 10px;
  padding-right: 10px;
  padding-bottom: 10px;
  padding-left: 10px;
  border: 1px solid #CCC;
}
.price_table2 tr .price_td {
  margin: 0px;
  /*width: auto;*/
  color: #454545;
  width: 230px;
  text-align: center;
}

.pageNav {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  list-style: none;
  margin: 0 0 4rem;
  padding: 0;
  justify-content: left; /* 子要素をflexboxにより中央に配置する */
  align-items: center; /* 子要素をflexboxにより中央に配置する */
}
.pageNav li {
  margin: 0 2% 2%;
  width: 96%;
  vertical-align: baseline;
  text-align: center;
}
.pageNav li a {
  display: block;
  border: 3px solid #48b5ff;
  background-color: #fff;
  border-radius: 10px;
  padding: 15px 15px 15px 50px;
  text-decoration: none !important;
  color: #48b5ff;
  font-size: 100%;
  font-weight: bold;
}
.pageNav li a.anc01 {
  background-image: url(../img/pageNav_anc01.png);
  background-position: 20px 3px;
  background-repeat: no-repeat;
  background-size: 50px;
}
.pageNav li a.anc02 {
  background-image: url(../img/pageNav_anc02.png);
  background-position: 20px 3px;
  background-repeat: no-repeat;
  background-size: 50px;
}
.pageNav li a.anc03 {
  background-image: url(../img/pageNav_anc03.png);
  background-position: 20px 3px;
  background-repeat: no-repeat;
  background-size: 50px;
}
.pageNav li a.anc04 {
  background-image: url(../img/pageNav_anc04.png);
  background-position: 20px 3px;
  background-repeat: no-repeat;
  background-size: 50px;
}
.pageNav li a.anc05 {
  background-image: url(../img/pageNav_anc05.png);
  background-position: 20px 3px;
  background-repeat: no-repeat;
  background-size: 50px;
}
.pageNav li a.anc06 {
  background-image: url(../img/pageNav_anc06.jpg);
  background-position: 0 20px;
  background-repeat: no-repeat;
  background-size: 85px;
}
.pageNav li a.anc07 {
  background-image: url(../img/pageNav_anc07.png);
  background-position: 20px 3px;
  background-repeat: no-repeat;
  background-size: 50px;
}
.pageNav li a.anc08 {
  background-image: url(../img/pageNav_anc08.png);
  background-position: 20px 3px;
  background-repeat: no-repeat;
  background-size: 50px;
}

@media all and (min-width: 48em), print {
  .pageNav li {
    width: 46%;
  }
  .pageNav li a {
    font-size: 110%;
  }
}
/* ----------------------------------------------------------------------------------
トップ　_top.scss
---------------------------------------------------------------------------------- */
/* キービジュアル -------------------------------------- */
.keyvsl {
  background: url(../img/index_keyvsl01.jpg) no-repeat center top/auto 19rem;
  margin: 0;
  padding: 20rem 1rem 0;
  text-align: center;
  font-size: 1.2rem;
}
.keyvsl p {
  margin: 0 0 1rem;
}
.keyvsl .open {
  color: #25a7e0;
  font-size: 2.1rem;
  font-weight: bold;
  margin: 0 0 1rem;
}

@media all and (min-width: 48em), print {
  .keyvsl {
    min-height: 80rem;
    background: url(../img/index_keyvsl01.jpg) no-repeat center top/cover;
    margin: 0;
    padding: 48rem 0 0 5rem;
    text-align: left;
    font-size: 2rem;
  }
  .keyvsl p {
    margin: 0 0 2rem;
    text-shadow: #fff 1px 1px 0px, #fff -1px 1px 0px, #fff 1px -1px 0px, #fff -1px -1px 0px;
  }
  .keyvsl .open {
    color: #25a7e0;
    font-size: 3.6rem;
    font-weight: bold;
    text-shadow: #fff 1px 1px 0px, #fff -1px 1px 0px, #fff 1px -1px 0px, #fff -1px -1px 0px;
  }
}
/* お知らせ -------------------------------------- */
.info {
  margin: 4rem 0 0;
}
.info dl.news_wrap {
  margin: 0;
  line-height: 1.4;
  padding: 0.6rem;
  height: 20rem;
  overflow-y: auto;
}
.info dl.news_wrap dt {
  margin-top: 0;
  margin-bottom: 0.4rem;
  padding-top: 0;
  padding-left: 1.3em;
  color: #f9b91f;
  font-size: 1.5rem;
  cursor: pointer;
  position: relative;
}
.info dl.news_wrap dt:not(:first-of-type) {
  margin-top: 1rem;
}
.info dl.news_wrap dt::before {
  position: absolute;
  left: 0;
  top: 0;
  font-family: "fontello";
  content: "\e812";
  transform: rotate(180deg);
  transition-duration: 0.5s;
}
.info dl.news_wrap dt.active::before {
  transform: rotate(0deg);
  transition-duration: 0.5s;
}
.info dl.news_wrap dd {
  margin: 0;
  padding-bottom: 1rem;
}

@media all and (min-width: 48em), print {
  .info {
    margin: 8rem 0 0;
  }
  .info dl.news_wrap {
    padding: 1.4rem;
    height: 25rem;
  }
  .info dl.news_wrap dt {
    padding-top: 0;
    font-size: 1.8rem;
  }
}
/* 特長 -------------------------------------- */
.feature {
  margin: 8em 0 0;
}
.feature ul li {
  margin-bottom: 2.4rem;
}
.feature ul li .photo {
  display: block;
  max-width: 100%;
  height: auto;
  border-radius: 0.8rem;
}
.feature ul li p {
  display: block;
  background: #fff8cb;
  padding: 2rem;
  border-radius: 0.8rem;
  letter-spacing: 0.1rem;
  margin: 0.8rem 0 0 0;
}
.feature ul li p span {
  color: #ff7506;
}
.feature ul li .cut {
  display: block;
  width: 4rem;
  height: auto;
}
.feature ul li:first-child .cut {
  margin: -2rem 1rem 0 auto;
}
.feature ul li:nth-child(2) .cut {
  margin: -1rem 1rem 0 auto;
}
.feature ul li:nth-child(3) .cut, .feature ul li:nth-child(4) .cut {
  margin: -2.5rem 1rem 0 auto;
}

@media all and (min-width: 48em), print {
  .feature ul {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .feature ul li {
    width: 48%;
  }
}
.bnr img {
  width: 100%;
  max-width: 1280px;
  height: auto;
  margin: 0 auto 1rem;
}

.bnr2 img {
  width: 100%;
  max-width: 600px;
  height: auto;
  margin: 0 auto 1rem;
}

.bnr3 img {
  width: 100%;
  max-width: 600px;
  height: auto;
  margin: 0 auto 1rem;
  display: block;
}

@media all and (min-width: 48em), print {
  .bnr3 img {
    display: inline-block;
  }
}
/*クレジットカード*/
ul.card {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding: 0;
  justify-content: left; /* 子要素をflexboxにより中央に配置する */
  align-items: center; /* 子要素をflexboxにより中央に配置する */
}

ul.card li {
  margin-right: 5%;
  margin-bottom: 1%;
  width: 12%;
  vertical-align: baseline;
  text-align: center;
}

ul.card li img {
  max-width: 100%;
}

/* ----------------------------------------------------------------------------------
下層　_lower.scss
---------------------------------------------------------------------------------- */
.cf .img_l, .cf .img_r {
  border-radius: 0.6rem;
}
@media all and (min-width: 48em), print {
  .cf .img_l, .cf .img_r {
    border-radius: 1rem;
  }
}

@media all and (min-width: 48em), print {
  .cf .img_l, .cf .img_r {
    max-width: 40%;
    height: auto;
  }
}
/* ドクター紹介 */
.staff dt {
  text-align: left;
}
.staff dt::after {
  margin: 0.2rem 0 0;
}
.staff dd {
  margin: 0 0 1rem;
}

/* クリニック紹介 */
#clinicslide, #access_slide {
  margin-bottom: 8rem;
}
#clinicslide img, #clinicslide p, #access_slide img, #access_slide p {
  display: none;
}

.sp-layer.sp-black.sp-padding {
  text-align: center;
  font-size: 2.4rem;
}

.sp-selected-thumbnail {
  border: 4px solid #000;
}

/* 初めての方へ */
.flow dd {
  margin: 0 0 6rem;
  position: relative;
}
@media all and (min-width: 48em), print {
  .flow dd {
    margin: 0 0 10rem;
  }
}
.flow dd:not(:last-child)::after {
  display: block;
  width: 0;
  height: 0;
  content: "";
  position: absolute;
  bottom: -5rem;
  left: 0;
  right: 0;
  border-top: 2rem solid #ccc;
  border-right: 3rem solid transparent;
  border-bottom: 1rem solid transparent;
  border-left: 3rem solid transparent;
  margin: auto;
}

/* 診療時間・アクセス */
.access .gmap {
  height: 30rem;
  margin: 2rem 0;
}

@media all and (min-width: 48em), print {
  .access .wrapper .right_body {
    padding-bottom: 5rem;
  }
  .access .main .tbl_time {
    font-size: 1.8rem;
  }
  .access .main .tbl_time caption {
    font-size: 1.8rem;
  }
  .access .main .tbl_time td.time {
    font-size: 1.8rem;
  }
  .access .main .tbl_time td span {
    font-size: 1.8rem;
  }
  .access .main .gmap {
    height: 50rem;
  }
}
/* 問診票 */
.monshin {
  font-size: 2rem;
}
.monshin li {
  margin: 0 1rem 2rem;
}
.monshin li a {
  display: block;
  text-align: center;
}
@media all and (min-width: 48em), print {
  .monshin {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
  }
}

/* 自由診療 */
.self-paid_fl {
  display: flex;
  width: 100%;
  flex-wrap: wrap;
  justify-content: center;
}
.self-paid_fl img {
  width: 100%;
  margin-bottom: 2%;
}
@media all and (min-width: 48em), print {
  .self-paid_fl img {
    width: 85%;
    margin-bottom: 2.5%;
  }
}/*# sourceMappingURL=style.css.map */