@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 {
  max-width: 100%;
  height: auto;
  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;
}

.txt_b {
  font-weight: bold;
}

.font-s {
  font-size: 78%;
}

.font-l {
  font-size: 130%;
}

.red {
  color: #FF0000;
}

.pink {
  color: #E99895 !important;
}

.underline {
  text-decoration: underline;
}

.display {
  display: block;
}

/* 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: 3rem;
}

.mb20 {
  margin-bottom: 2rem;
}

.mb10 {
  margin-bottom: 1rem;
}

.w19 {
  width: 19%;
}

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

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

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

.main > 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;
  }
  .mb40 {
    margin-bottom: 4rem;
  }
  .mb20 {
    margin-bottom: 2rem;
  }
  .mb10 {
    margin-bottom: 1rem;
  }
  .main > section ~ section {
    margin-top: 8rem;
  }
  .main > section section ~ section {
    margin-top: 6rem;
  }
  .main > section > section section ~ section {
    margin-top: 4rem;
  }
  .main > section > section > section section ~ section {
    margin-top: 2rem;
  }
}
/* タイムテーブル -------------------------------------- */
.tbl_time {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 1.4rem;
  table-layout: fixed;
}
.tbl_time caption {
  font-size: 1.2rem;
  caption-side: bottom;
  text-align: left;
  margin-top: 0.4rem;
}
.tbl_time tr th {
  padding: 0.4rem 0;
  background: #cc9f4c;
  color: #fff;
  font-weight: normal;
}
.tbl_time tr th:first-child {
  width: 35%;
}
.tbl_time tr td {
  text-align: center;
  padding: 0.6rem 0;
  border-bottom: 1px solid #fff;
  line-height: 1;
}

@media all and (min-width: 48em), print {
  .tbl_time {
    font-size: 1.8rem;
  }
  .tbl_time caption {
    font-size: 1.6rem;
  }
  .tbl_time tr td {
    padding: 1.6rem 0;
  }
}
/* 担当医テーブル -------------------------------------- */
.tbl_dr {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}
.tbl_dr caption {
  caption-side: bottom;
  text-align: left;
  font-size: 80%;
  margin: 0.6rem 0 0;
}
.tbl_dr th {
  border: 1px solid #ccc;
  background: #cc9f4c;
  color: #fff;
}
.tbl_dr td {
  padding: 0 0.4rem;
  text-align: center;
  border: 1px solid #ccc;
  font-size: 1.2rem;
  line-height: 1;
}
.tbl_dr td:empty {
  background-image: linear-gradient(to top left, transparent, transparent 49%, black 2%, black 2%, transparent 51%, transparent);
}

@media all and (min-width: 48em), print {
  .tbl_dr {
    font-size: 1.8rem;
  }
  .tbl_dr caption {
    font-size: 1.6rem;
  }
  .tbl_dr tr td {
    padding: 1.6rem 0;
    font-size: 1.8rem;
  }
}
/* 料金表 -------------------------------------- */
.tbl_price {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  border-bottom: 1px solid #ccc;
}
.tbl_price caption {
  caption-side: bottom;
  text-align: left;
  font-size: 80%;
  margin: 0.6rem 0 0;
}
.tbl_price th {
  display: block;
  border: 1px solid #ccc;
  border-bottom: 0;
  background: #f1e9de;
  font-weight: normal;
  width: 100%;
  padding: 0.4rem;
}
.tbl_price th.item {
  background: #cc9f4c;
  color: #fff;
  font-weight: bold;
}
.tbl_price td {
  display: block;
  padding: 0.4rem;
  text-align: right;
  border: 1px solid #ccc;
  border-bottom: 0;
}

@media all and (min-width: 48em), print {
  .tbl_price {
    font-size: 1.8rem;
  }
  .tbl_price caption {
    font-size: 1.6rem;
  }
  .tbl_price tr th {
    display: table-cell;
    width: 20%;
  }
  .tbl_price tr td {
    display: table-cell;
    padding: 1.6rem;
  }
}
/* 求人募集テーブル -------------------------------------- */
.tbl_recruit {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}
.tbl_recruit caption {
  caption-side: bottom;
  text-align: left;
  font-size: 80%;
  margin: 0.6rem 0 0;
}
.tbl_recruit th {
  border: 1px solid #ccc;
  background: #cc9f4c;
  color: #fff;
  width: 25%;
  padding: 0.4rem;
}
.tbl_recruit td {
  padding: 0.4rem;
  text-align: left;
  border: 1px solid #ccc;
}

@media all and (min-width: 48em), print {
  .tbl_recruit {
    font-size: 1.8rem;
  }
  .tbl_recruit caption {
    font-size: 1.6rem;
  }
  .tbl_recruit tr th {
    width: 20%;
  }
  .tbl_recruit tr td {
    padding: 1.6rem;
  }
}
/* グーグルマップ -------------------------------------- */
.gmap {
  width: 100%;
}
.gmap iframe {
  width: 100%;
  height: 100%;
  border: none;
}

/* タイトル回り -------------------------------------- */
.tit_01 {
  background: url(../img/tit_01.jpg) no-repeat center top/auto 100%;
  border-top: 0.2rem solid #cc9f4c;
  margin: 0 -1rem 3rem;
}
.tit_01 span {
  display: block;
  color: #fff;
  font-weight: normal;
  font-size: 1.8rem;
  padding: 6rem 1rem 2rem;
}

.tit_02 {
  color: #ab6446;
  font-size: 2rem;
  margin: 0 0 1rem;
  padding: 0.6rem 0;
  font-weight: normal;
  border-top: 2px solid #ab6446;
  border-bottom: 2px solid #ab6446;
  line-height: 1.2;
}

.tit_02.nob {
  color: #ab6446;
  font-size: 2rem;
  margin: 0 0 1rem;
  padding: 0 0;
  font-weight: normal;
  border-top: none;
  border-bottom: none;
  line-height: 1.2;
}

.tit_03 {
  color: #ab6446;
  font-size: 1.8rem;
  border-bottom: 0.2rem solid #f9af70;
  position: relative;
  margin: 0 0 1rem;
}
.tit_03::after {
  display: block;
  content: "";
  height: 0.2rem;
  background: #ab6446;
}

.tit_04 {
  color: #28825b;
  font-size: 1.6rem;
  border-bottom: 0.3rem solid #28825b;
  margin: 0 0 1rem;
}

@media all and (min-width: 48em), print {
  .tit_01 {
    margin: 0 0 8rem;
  }
  .tit_01 span {
    display: block;
    width: 1110px;
    font-size: 4rem;
    padding: 20rem 0 6rem;
    margin: auto;
  }
  .tit_02 {
    font-size: 3.6rem;
    margin: 0 0 2rem;
  }
  .tit_02.nob {
    font-size: 3.6rem;
    margin: 0 0 2rem;
  }
  .tit_03 {
    font-size: 3.2rem;
    margin: 0 0 2rem;
    border-bottom: 0.4rem solid #f9af70;
  }
  .tit_03::after {
    height: 0.4rem;
  }
  .tit_04 {
    font-size: 3rem;
    margin: 0 0 2rem;
  }
}
/* リスト回り -------------------------------------- */
.lst_ul01 li {
  text-indent: -2rem;
  padding-left: 2.2rem;
}
.lst_ul01 li::before {
  content: "●";
  margin-right: 0.4rem;
  color: #28825b;
}

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

.lst_dl02 dt {
  font-weight: bold;
}
.lst_dl02 dd {
  margin: 0 0 1rem;
}

@media all and (min-width: 48em), print {
  .lst_dl01 dd {
    padding-left: 5rem;
  }
  .lst_dl02 dt {
    float: left;
    width: 25%;
    clear: left;
  }
  .lst_dl02 dd {
    padding-left: 4rem;
  }
}
/* フレックス回り -------------------------------------- */
.flex3 {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
.flex3 li {
  width: 48%;
  text-align: center;
  margin-bottom: 1rem;
}
.flex3 li img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 0 0 0.4rem;
}

.flex4 {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
.flex4 li {
  width: 48%;
  text-align: center;
  margin-bottom: 1rem;
}
.flex4 li img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 0 0 0.4rem;
}

@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 {
    width: 46%;
    margin: 0 !important;
  }
  .flex3 li {
    width: 30%;
  }
  .flex4 li {
    width: 23%;
  }
}
/*-------------------------------------------------
flexbox
-------------------------------------------------*/
.flexbox_area {
  position: relative;
  margin: 0 auto;
  padding: 0 2rem;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-flex-direction: column;
  flex-direction: column;
}

.flexbox_L, .flexbox_R {
  width: 100%;
  margin: 1rem 0;
  text-align: center;
}

@media all and (min-width: 48em), print {
  .flexbox_area {
    margin: 0 auto;
    padding: 0.5rem 0;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-flex-direction: row;
    flex-direction: row;
    width: 100%;
  }
  .flexbox_L, .flexbox_R {
    width: 49%;
    margin: 0 1rem;
  }
}
/* ----------------------------------------------------------------------------------
共通　_common.scss
---------------------------------------------------------------------------------- */
html {
  font-size: 3.125vw;
  font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", sans-serif;
}

body {
  background: #fff;
  color: #595959;
}

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

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

.pc_no {
  display: block !important;
}

.sp_no {
  display: none !important;
}

@media all and (min-width: 48em), print {
  html {
    font-size: 62.5%;
  }
  body {
    min-width: 1150px;
  }
  a {
    transition: 0.2s;
  }
  a:hover {
    opacity: 0.8;
  }
  .pc_no {
    display: none !important;
  }
  .sp_no {
    display: block !important;
  }
  .wrap {
    width: 1110px;
    margin: auto;
  }
  .main {
    font-size: 1.8rem;
    margin: 0;
  }
}
/* アイコンフォント -------------------------------------- */
@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");
}
/* ヘッダー -------------------------------------- */
.header {
  margin: 1rem;
}
.header .headL_logo .logo a {
  display: block;
  background: url(../img/logo.png) no-repeat center left/contain;
  height: 5rem;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}
.header .headL_logo .headL_recruit {
  display: none;
}
.header .wrap .headL_bottom .headC .acs {
  margin: 0.8rem 0 1rem;
  width: 80%;
  background: url("../img/header_ashi.svg") no-repeat left 1rem top 0.4rem/auto 75% #cc9f4c;
  color: #fff;
  text-align: center;
  font-size: 1.6rem;
  padding: 0.4rem 0 0.4rem 2rem;
  display: block;
}
.header .wrap .headL_bottom .headC .acs span {
  display: inline-block;
  width: 1.8rem;
  height: 1.8rem;
  background: #fff;
  color: #cc9f4c;
  font-weight: bold;
  border-radius: 50%;
  margin: 0 0.4rem;
}
.header .wrap .headL_bottom .headC .covid {
  margin: 0.8rem 0 1rem;
  width: 100%;
  background-color: #28825b;
  color: #fff;
  text-align: center;
  font-size: 1.6rem;
  padding: 0.5rem 0 0.4rem 0;
  display: block;
}
.header .wrap .headL_bottom .headC ul.head_info {
  margin-top: 1.6rem;
  margin-bottom: 1.6rem;
}
.header .wrap .headL_bottom .headC ul.head_info .add {
  border-top: 2px solid #cc9f4c;
  border-bottom: 2px solid #cc9f4c;
  font-size: 1.4rem;
  padding: 0.4rem 0;
  color: #cc9f4c;
  text-align: center;
}
.header .wrap .headL_bottom .headC ul.head_info .tel {
  display: block;
  text-align: center;
  font-size: 2rem;
  color: #cc9f4c;
  margin-top: 1rem;
}
.header .wrap .headL_bottom .headC ul.head_info .tel::before {
  content: "お問い合わせ:";
}
.header .wrap .headL_bottom .headC ul.head_info .tel a {
  display: inline-block;
}
.header .wrap .headL_bottom .headC .headC_recruit {
  margin: 0.8rem 0 1rem;
  width: 100%;
  background-color: #ebc800;
  text-align: center;
  font-size: 1.6rem;
  padding: 0.5rem 0 0.4rem 0;
}
.header .wrap .headL_bottom .headC .headC_recruit a {
  display: block;
  font-weight: bold;
  color: #fff;
  font-size: 120%;
}
.header .wrap .headL_bottom .headC .headC_recruit a small {
  font-size: 75%;
  font-weight: normal;
}
@media all and (min-width: 48em), print {
  .header {
    margin: 2rem 0 0;
  }
  .header .headL_logo {
    width: 1110px;
    -webkit-left: top;
    left: top;
    display: -webkit-flex;
    display: flex;
    margin: 0 auto 0rem;
  }
  .header .headL_logo a {
    width: 442px;
    height: 6rem !important;
  }
  .header .headL_logo .headL_recruit {
    margin: 0.8rem 0 1rem;
    background-color: #ebc800;
    display: block;
    width: 320px;
    padding: 1rem;
    font-size: 1.8rem;
    line-height: 2.4rem;
    text-align: center;
  }
  .header .headL_logo .headL_recruit a {
    width: 320px;
    display: block;
    font-weight: bold;
    color: #fff;
    font-size: 120%;
    height: auto !important;
  }
  .header .headL_logo .headL_recruit a small {
    font-size: 75%;
    font-weight: normal;
  }
  .header .wrap {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    width: 1110px;
    margin: auto;
  }
  .header .wrap .headL_bottom {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    margin-bottom: 1rem;
  }
  .header .wrap .headL_bottom .head_timetable {
    width: calc(70% - 338px);
  }
  .header .wrap .headL_bottom .head_timetable dl {
    margin-bottom: 0;
    padding-bottom: 0;
  }
  .header .wrap .headL_bottom .head_timetable dl dt {
    font-size: 1.5rem;
  }
  .header .wrap .headL_bottom .head_timetable dl dd {
    margin: 0;
    padding: 0;
  }
  .header .wrap .headL_bottom .head_timetable dl dd .tbl_time tr th {
    font-size: 1.5rem;
  }
  .header .wrap .headL_bottom .head_timetable dl dd .tbl_time tr td {
    border-bottom-color: #ddd;
    padding: 0.5rem 0;
    font-size: 1.5rem;
  }
  .header .wrap .headL_bottom .head_timetable dl dd .tbl_time caption {
    padding-top: 0.3rem !important;
    line-height: 1.5 !important;
    font-size: 1.2rem !important;
  }
  .header .wrap .headL_bottom .head_timetable dl dd .tbl_time caption .head_hiden {
    display: none;
  }
  .header .wrap .headL_bottom .headC {
    width: 30%;
    margin-left: 20px;
  }
  .header .wrap .headL_bottom .headC .acs {
    width: 100%;
    padding: 1rem;
    font-size: 2rem;
    line-height: 2.4rem;
  }
  .header .wrap .headL_bottom .headC .acs span {
    display: inline-block;
    width: 2.4rem;
    height: 2.4rem;
    font-size: 1.8rem;
    line-height: 2.4rem;
    background: #fff;
    color: #cc9f4c;
    font-weight: bold;
    border-radius: 50%;
    margin: 0 0.4rem;
  }
  .header .wrap .headL_bottom .headC .covid {
    width: 100%;
    padding: 1rem;
    font-size: 1.8rem;
    line-height: 2.4rem;
  }
  .header .wrap .headL_bottom .headC ul.head_info .add {
    font-size: 1.5rem;
  }
  .header .wrap .headL_bottom .headC ul.head_info .tel {
    font-size: 2rem;
  }
  .header .wrap .headL_bottom .headC ul.head_info .tel::before {
    font-size: 2.2rem;
  }
  .header .wrap .headL_bottom .headC ul.head_info .add {
    font-size: 1.5rem;
  }
  .header .wrap .headL_bottom .headC ul.head_info .border-none {
    border-top: none;
    border-bottom: none;
  }
  .header .wrap .headL_bottom .headC ul.head_info .tel {
    font-size: 2rem;
  }
  .header .wrap .headL_bottom .headC ul.head_info .tel::before {
    font-size: 2.2rem;
  }
  .header .wrap .headL_bottom .headC .headC_recruit {
    display: none;
  }
  .header .wrap .headL_bottom .headR {
    margin-top: 8px;
    margin-left: 20px;
    width: 338px;
  }
  .header .wrap .headL_bottom .headR img {
    width: 100%;
    height: auto;
  }
}
/* SP ドロップダウンメニュー（Slick Nav） -------------------------------------- */
.slicknav_menu {
  position: absolute;
  top: 5.2rem;
  right: 1rem;
  font-size: 4.4rem;
  display: inline-block;
  background: #ab6446;
  padding: 0;
  z-index: 10;
  /* Toggle Btn */
  /* 展開部 */
}
.slicknav_menu .slicknav_btn {
  width: 4rem;
  height: 4rem;
  color: #fff;
  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.75;
}
.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.75;
}
.slicknav_menu .slicknav_btn.slicknav_open::after {
  display: block;
  content: "CLOSE";
  font-size: 1rem;
}
.slicknav_menu .slicknav_nav {
  width: 94vw;
  background: #fff;
  border: 1px solid #ab6446;
  padding: 0.4rem 1rem 1rem;
  margin: auto;
  position: absolute;
  top: 5.6rem;
  right: 0;
}
.slicknav_menu .slicknav_nav .gnav {
  border-top: 1px solid #fff;
  margin: 0;
}
.slicknav_menu .slicknav_nav .gnav li:not(:last-child) {
  border-bottom: 1px solid #ab6446;
}
.slicknav_menu .slicknav_nav .gnav li a {
  display: block;
  padding: 1rem;
  color: #ab6446;
  font-size: 1.6rem;
  border-radius: 0;
  position: relative;
}
.slicknav_menu .slicknav_nav .gnav li a:hover {
  background: #fff;
}
.slicknav_menu .slicknav_nav .tit_sub {
  background: #ab6446;
  color: #fff;
  padding: 0.6rem;
  font-size: 2rem;
  text-align: center;
  margin: 1rem 0 0;
}
.slicknav_menu .slicknav_nav .subnav {
  margin: 0;
}
.slicknav_menu .slicknav_nav .subnav li:not(:last-child) {
  border-bottom: 1px solid #fff;
}
.slicknav_menu .slicknav_nav .subnav li a {
  display: block;
  padding: 1rem;
  margin: 0;
  color: #fff;
  text-align: center;
  border-radius: 0;
  background: #cc9f4c;
  font-size: 1.6rem;
}
.slicknav_menu .slicknav_nav .subnav li a br {
  display: none;
}
.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;
    border-top: 1px solid #dadada;
    border-bottom: 0.2rem solid #cc9f4c;
    margin-top: 1rem;
  }
  #nav .gnav {
    width: 1110px;
    margin: auto;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
  }
  #nav .gnav li {
    width: 20%;
    border-left: 1px solid #dadada;
  }
  #nav .gnav li a {
    display: block;
    padding: 2rem 0;
    color: #444;
    text-align: center;
    font-size: 1.8rem;
  }
  #nav .gnav li a:hover {
    color: #cc9f4c;
  }
  #nav .gnav li:last-child {
    border-right: 1px solid #dadada;
  }
  #nav .tit_sub, #nav .subnav {
    display: none;
  }
  /* Gナビ　ハイライト */
  .index #nav .home,
  .doctor #nav .doctor,
  .clinic #nav .clinic,
  .first #nav .first,
  .access #nav .access {
    color: #fff;
    background-color: #cc9f4c;
  }
}
/* クリニック概要 -------------------------------------- */
.overview {
  margin: 6rem 0 0;
  padding: 4rem 1rem 5rem;
  font-size: 1.4rem;
  line-height: 1.6;
  background: #af9864;
  color: #fff;
}
.overview > .wrap .overviewL .clinic_name {
  font-size: 1.6em;
  line-height: 1.4;
}
.overview > .wrap .overviewL .clinic_name span {
  display: block;
}
.overview > .wrap .overviewL .clinic_name span.hojin {
  font-size: 1.2rem;
}
.overview > .wrap .overviewL .clinic_name span.pnf {
  font-size: 1.4rem;
}
.overview > .wrap .overviewL dl dt {
  font-size: 1.6rem;
}
.overview > .wrap .overviewL dl dd {
  margin: 0 0 1.6rem;
  padding: 0 0 1rem;
  border-bottom: 1px solid #fff;
}
.overview > .wrap .overviewL dl dd ul li {
  text-indent: -2rem;
  padding-left: 2rem;
}
.overview > .wrap .overviewL dl dd ul li::before {
  content: "●";
  margin-right: 0.4rem;
}
.overview > .wrap .overviewL dl dd .tel {
  font-size: 2rem;
  font-weight: bold;
  color: #ebc800;
}
.overview > .wrap .overviewR {
  margin: 2rem 0;
  display: inline-block;
}
.overview > .wrap .overviewR .gmap {
  text-align: right;
  height: 32rem;
}
.overview > .wrap .overviewR .bnr_area {
  margin: 2rem 0 0;
}
.overview > .wrap .overviewR .bnr_area .measures {
  text-align: center;
  margin: 0;
}
.overview > .wrap .overviewR .bnr_area .bnr_link li {
  margin: 2rem 0 0;
}
.overview > .wrap .overviewR .bnr_area .bnr_link li a {
  display: block;
  padding: 0;
  color: #fff;
  text-align: center;
  font-size: 1.6rem;
}
.overview > .wrap .overviewR .bnr_area .bnr_link li a.recruit {
  padding: 0.5rem;
  background-color: #ebc800;
  font-weight: bold;
}
.overview > .wrap .overviewR .bnr_area .bnr_link li a.recruit small {
  display: block;
  text-align: center;
  font-weight: normal;
}
.overview > .wrap .overviewR .bnr_area .bnr_link li a.covid {
  padding: 0.5rem;
  background-color: #28825b;
}

@media all and (min-width: 48em), print {
  .overview {
    font-size: 1.6rem;
    padding: 4rem 1rem 12em;
  }
  .overview > .wrap {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
  }
  .overview > .wrap .overviewL, .overview > .wrap .overviewR {
    width: 48%;
  }
  .overview > .wrap .overviewL .clinic_name {
    font-size: 3.6rem;
  }
  .overview > .wrap .overviewL .clinic_name span {
    font-size: 2rem;
  }
  .overview > .wrap .overviewL dl {
    margin-top: 5rem;
  }
  .overview > .wrap .overviewL dl dt {
    float: left;
    width: 14rem;
    clear: left;
    font-size: 2.2rem;
  }
  .overview > .wrap .overviewL dl dt:first-child {
    width: 100%;
  }
  .overview > .wrap .overviewL dl dd {
    font-size: 1.6rem;
    padding: 0 0 1rem 12rem;
  }
  .overview > .wrap .overviewL dl dd .tel {
    font-size: 3rem;
    line-height: 1.2;
  }
  .overview > .wrap .overviewL dl dd.timetable {
    width: 100%;
    padding: 0 0 5rem;
  }
  .overview > .wrap .overviewR .gmap {
    height: 45rem;
  }
  .overview > .wrap .overviewR .bnr_area {
    display: flex;
    justify-content: space-between;
  }
  .overview > .wrap .overviewR .bnr_area .bnr_link {
    padding: 0.5rem 0 0;
  }
  .overview > .wrap .overviewR .bnr_area .bnr_link li {
    margin: 0;
  }
  .overview > .wrap .overviewR .bnr_area .bnr_link li:not(:first-of-type) {
    margin: 2rem 0 0;
  }
  .overview > .wrap .overviewR .bnr_area .bnr_link li a {
    font-size: 1.8rem;
    line-height: 1.4;
  }
  .overview > .wrap .overviewR .bnr_area .bnr_link li a.recruit, .overview > .wrap .overviewR .bnr_area .bnr_link li a.covid {
    padding: 1.3rem 2rem;
  }
}
/* フッター -------------------------------------- */
.pageup {
  display: none;
  position: fixed;
  bottom: 50px;
  right: 10px;
  z-index: 100;
  cursor: pointer;
}
.pageup a {
  display: block;
  width: 5rem;
  height: 5rem;
  font-size: 1.6rem;
  text-align: center;
  padding: 0.4rem 0;
  background: #28825b;
  border-radius: 50%;
}
.pageup a::before {
  text-align: center;
  font-size: 3.6rem;
  font-family: "fontello";
  content: "\e812";
  color: #fff;
}
.pageup a span {
  display: none;
}

@media all and (min-width: 48em), print {
  .pageup {
    right: 1rem;
    bottom: 2rem;
  }
  .pageup a {
    width: 6.4rem;
    height: 6.4rem;
  }
  .pageup a::before {
    font-size: 5rem;
  }
}
.footer {
  text-align: center;
  background: #9f8548;
  color: #fff;
  padding: 0 0 50px;
}
.footer .copy {
  display: block;
  padding: 0.6rem;
  font-size: 1.2rem;
}
.footer .copy a {
  color: inherit;
}
.footer ul {
  display: none;
}

@media all and (min-width: 48em), print {
  .footer {
    padding: 2rem 0;
  }
  .footer ul {
    display: block;
    text-align: center;
    margin: 1rem 0;
  }
  .footer ul li {
    display: inline-block;
    font-size: 1.4rem;
  }
  .footer ul li:not(:last-child)::after {
    content: "|";
    margin: 0 1.6rem;
  }
  .footer ul li a:hover {
    opacity: 1;
    text-decoration: underline;
  }
  .footer ul li a br {
    display: none;
  }
  .footer .copy {
    margin-top: 4rem;
  }
}
.footer_nav {
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%;
  display: flex;
}
@media all and (min-width: 48em), print {
  .footer_nav {
    display: none;
  }
}
.footer_nav li {
  width: 25%;
  height: 40px;
}
.footer_nav li a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  color: #fff;
  text-align: center;
}
.footer_nav li a.location {
  /*background: #0072BC;*/
  background: #0000FF;
}
.footer_nav li a.calendar {
  /*background: #019E97;*/
  background: #008000;
}
.footer_nav li a.tel01 {
  /*background: #553069;*/
  background: #800080;
}
.footer_nav li a.clock {
  /*background: #BF264D;*/
  background: #FF0000;
}

.float_right {
  position: fixed;
  top: 12rem;
  right: 0;
  z-index: 99;
  display: none;
}
@media all and (min-width: 48em), print {
  .float_right {
    display: block;
  }
}
.float_right a {
  display: block;
  background: #28825b;
  color: #fff;
  text-align: center;
  font-weight: bold;
  /*font-size: 1.6rem;*/
  font-size: 1.2rem;
  line-height: 1.2;
  /*padding: 0.9em 0.5em;*/
  padding: 0.9em 0.3em;
  border-radius: 10px 0 0 10px;
  border: 3px solid #fff;
  border-right: none;
}
.float_right a i {
  display: inline-block;
  /*font-size: 2.4rem;*/
  font-size: 2rem;
  padding-bottom: 0.2em;
}
.float_right a span {
  display: block;
  text-align: center;
}
.float_right span.rehabilitation_tel {
  display: block;
  background: #28825b;
  color: #fff;
  text-align: center;
  font-weight: bold;
  /*font-size: 1.6rem;*/
  font-size: 1.2rem;
  line-height: 1.2;
  /*padding: 0.9em 0.5em;*/
  padding: 0.9em 0.3em;
  border-radius: 10px 0 0 10px;
  border: 3px solid #fff;
  border-right: none;
}
.float_right span.rehabilitation_tel i {
  display: inline-block;
  /*font-size: 2.4rem;*/
  font-size: 2rem;
  padding-bottom: 0.2em;
}
.float_right span.rehabilitation_tel span {
  display: block;
  text-align: center;
}

/* ----------------------------------------------------------------------------------
トップ　_top.scss
---------------------------------------------------------------------------------- */
body.index .tit {
  color: #ab6446;
  font-size: 2.4rem;
  text-align: center;
  margin-bottom: 1rem;
}
@media all and (min-width: 48em), print {
  body.index .tit {
    font-size: 3.6rem;
    margin-bottom: 3rem;
  }
}

/* キービジュアル -------------------------------------- */
.keyvsl {
  max-width: 100%;
  position: relative;
}
.keyvsl #keyvsl_slide img {
  border-top: 0.2rem solid #28825b;
  max-width: 100%;
  height: auto;
}
.keyvsl .keyv-lead {
  width: 100%;
  margin: 0;
  position: absolute;
  bottom: 2rem;
  left: 0;
  right: 0;
  margin: auto;
  text-align: center;
  font-size: 1rem;
  font-weight: bold;
  color: #000;
  text-shadow: 2px 2px 3px #FFF, -2px -2px 3px #FFF, -2px 2px 3px #FFF, 2px -2px 3px #FFF, 0px 2px 0 #FFF, 0 -2px 3px #FFF, -2px 0 3px #FFF, 2px 0 3px #FFF;
}
.keyvsl .keyv-lead .lead_tit {
  font-size: 1.2rem;
  margin: 0 0 5px;
}
.keyvsl .catch {
  background: #0072bc;
  text-align: center;
  color: #fff;
  font-weight: bold;
  font-size: 1.4rem;
  padding: 1rem 1.4rem;
  line-height: 1.4;
}
.keyvsl .key_on {
  text-align: center;
  margin-top: 1.5em;
}
.keyvsl .key_on_02 {
  text-align: center;
  margin-top: 1.5em;
}
.keyvsl .key_on_02 .txt_box {
  border: 2px solid #0072bc;
  background-color: #ffffff;
  border-radius: 10px;
  padding: 10px;
  line-height: 1.3;
}
.keyvsl .key_on_02 .txt_box .ttl {
  color: #0072bc;
  font-size: x-large;
  font-weight: bold;
}
.keyvsl .key_on_02 .txt_box .ttl_s {
  color: #0072bc;
  font-size: 5.2vw;
  font-weight: bold;
}
.keyvsl .key_on_02 .txt_box .txt {
  color: #ff0000;
  font-size: 160%;
  text-align: left;
}
.keyvsl .key_on_02 a {
  display: inline-block;
}
.keyvsl .key_on_02 a:hover {
  opacity: 0.8;
}
.keyvsl .key_on_03 {
  text-align: center;
  margin-top: 1.5em;
}
.keyvsl .key_on_03 .txt_box {
  border: 2px solid #0072bc;
  background-color: #ffffff;
  border-radius: 10px;
  padding: 10px;
  line-height: 1.3;
}
.keyvsl .key_on_03 .txt_box .ttl {
  color: #0072bc;
  font-size: x-large;
  font-weight: bold;
}
.keyvsl .key_on_03 .txt_box .txt {
  color: #ff0000;
  font-size: 160%;
  text-align: left;
}
.keyvsl .key_on_03 a {
  display: block;
}
.keyvsl .key_on_03 a:hover {
  opacity: 0.8;
}

@media all and (min-width: 48em), print {
  .keyvsl {
    position: relative;
  }
  .keyvsl #keyvsl_slide {
    text-align: center;
  }
  .keyvsl #keyvsl_slide img {
    border-top: 0.4rem solid #28825b;
  }
  .keyvsl .keyv-lead {
    width: 100%;
    margin: 0;
    position: absolute;
    bottom: 9rem;
    text-align: center;
    font-size: 2.2rem;
    font-weight: bold;
    color: #000;
    text-shadow: 2px 2px 5px #FFF, -2px -2px 5px #FFF, -2px 2px 5px #FFF, 2px -2px 5px #FFF, 0px 2px 0 #FFF, 0 -2px 5px #FFF, -2px 0 5px #FFF, 2px 0 5px #FFF;
  }
  .keyvsl .keyv-lead .lead_tit {
    font-size: 4.2rem;
    margin: 0 0 20px;
  }
  .keyvsl .catch {
    background: rgba(0, 114, 188, 0.7);
    font-size: 2.2rem;
    font-weight: bold;
    padding: 2.4rem 0;
    /*position: absolute;*/
    position: relative;
    bottom: 0;
    left: 0;
    right: 0;
    height: 10rem;
  }
  .keyvsl .key_on {
    position: absolute;
    bottom: 10px;
    left: 10px;
  }
  .keyvsl .key_on_box {
    /*position: absolute;  PC表示でKV内に収める時*/
    position: relative;
    bottom: 10px;
    left: 0;
    right: 0;
    margin: 50px auto;
    width: 1000px;
    display: flex;
  }
  .keyvsl .key_on_02 .txt_box {
    width: 450px;
    height: 330px;
    border: 2px solid #0072bc;
    background-color: #ffffff;
    border-radius: 10px;
    padding: 15px;
    line-height: 1.3;
    font-size: 1.5rem;
    margin: 0 25px;
  }
  .keyvsl .key_on_02 .txt_box .ttl, .keyvsl .key_on_02 .txt_box .ttl_s {
    color: #0072bc;
    font-weight: bold;
    font-size: x-large;
    margin: 0 !important;
    padding-bottom: 10px;
  }
  .keyvsl .key_on_02 .txt_box .txt {
    color: #ff0000;
    margin: 0 10px 0 0 !important;
    text-align: left;
    font-size: 130%;
    line-height: 1.5;
  }
  .keyvsl .key_on_02 .txt_box .img_c {
    margin: 0 auto;
  }
  .keyvsl .key_on_03 .txt_box {
    width: 450px;
    height: 330px;
    border: 2px solid #0072bc;
    background-color: #ffffff;
    border-radius: 10px;
    padding: 15px;
    line-height: 1.3;
    font-size: 1.5rem;
    margin: 0 25px;
  }
  .keyvsl .key_on_03 .txt_box .ttl {
    margin: 0 !important;
    color: #0072bc;
    font-weight: bold;
    font-size: x-large;
    padding-bottom: 10px;
  }
  .keyvsl .key_on_03 .txt_box .txt {
    color: #ff0000;
    margin: 0 10px 0 0 !important;
    text-align: left;
    font-size: 130%;
    line-height: 1.5;
  }
  .keyvsl .key_on_03 .txt_box .img_c {
    margin: 0 auto;
  }
}
.keyvsl_new {
  width: 100%;
  height: 50vw;
  background: url("../img/index_keyvsl_01.jpg") no-repeat center center/cover;
  position: relative;
}
.keyvsl_new .keyv-lead {
  position: absolute;
  bottom: 1rem;
  width: 100%;
  margin: 0;
  text-align: center;
  font-size: 1rem;
  font-weight: bold;
  color: #000;
  text-shadow: 2px 2px 3px #FFF, -2px -2px 3px #FFF, -2px 2px 3px #FFF, 2px -2px 3px #FFF, 0px 2px 0 #FFF, 0 -2px 3px #FFF, -2px 0 3px #FFF, 2px 0 3px #FFF;
}
.keyvsl_new .keyv-lead .lead_tit {
  font-size: 1.2rem;
  margin: 0 0 5px;
}

@media all and (min-width: 48em), print {
  .keyvsl_new {
    min-width: 1110px;
    height: 0;
    padding-top: 30%;
    position: relative;
  }
  .keyvsl_new .keyv-lead {
    bottom: 2rem;
    font-size: 2.2rem;
    text-shadow: 2px 2px 5px #FFF, -2px -2px 5px #FFF, -2px 2px 5px #FFF, 2px -2px 5px #FFF, 0px 2px 0 #FFF, 0 -2px 5px #FFF, -2px 0 5px #FFF, 2px 0 5px #FFF;
  }
  .keyvsl_new .keyv-lead .lead_tit {
    font-size: 4.2rem;
    margin: 0 0 20px;
  }
}
.kv_wrap {
  position: relative;
}
.kv_wrap .kv_slider {
  margin-bottom: 15px;
}
@media all and (min-width: 48em), print {
  .kv_wrap .kv_slider .slick-slide li img {
    width: 100%;
    height: auto;
    max-height: 800px;
    object-fit: cover;
    object-position: center top;
  }
}
.kv_wrap .kv_slider .slick-prev, .kv_wrap .kv_slider .slick-next {
  z-index: 60;
  text-shadow: #fff 1px 1px 10px, #fff -1px 1px 10px, #fff 1px -1px 10px, #fff -1px -1px 10px;
}
@media all and (min-width: 48em), print {
  .kv_wrap .kv_slider .slick-prev, .kv_wrap .kv_slider .slick-next {
    width: 40px;
    height: 40px;
  }
}
.kv_wrap .kv_slider .slick-prev::before, .kv_wrap .kv_slider .slick-next::before {
  color: #cc9f4c;
}
@media all and (min-width: 48em), print {
  .kv_wrap .kv_slider .slick-prev::before, .kv_wrap .kv_slider .slick-next::before {
    font-size: 40px;
  }
}
.kv_wrap .kv_slider .slick-prev {
  left: 10px;
}
@media all and (min-width: 48em), print {
  .kv_wrap .kv_slider .slick-prev {
    left: 20px;
  }
}
.kv_wrap .kv_slider .slick-next {
  right: 10px;
}
@media all and (min-width: 48em), print {
  .kv_wrap .kv_slider .slick-next {
    right: 20px;
  }
}
.kv_wrap .kv_slider .slick-dots {
  bottom: 10px;
}
@media all and (min-width: 48em), print {
  .kv_wrap .kv_slider .slick-dots {
    bottom: 20px;
  }
}
.kv_wrap .kv_slider .slick-dots li {
  margin: 0;
}
@media all and (min-width: 48em), print {
  .kv_wrap .kv_slider .slick-dots li {
    width: 40px;
  }
}
.kv_wrap .kv_slider .slick-dots li button {
  text-shadow: #fff 1px 1px 10px, #fff -1px 1px 10px, #fff 1px -1px 10px, #fff -1px -1px 10px;
}
@media all and (min-width: 48em), print {
  .kv_wrap .kv_slider .slick-dots li button {
    width: 40px;
  }
}
.kv_wrap .kv_slider .slick-dots li button::before {
  color: #ab6446;
}
@media all and (min-width: 48em), print {
  .kv_wrap .kv_slider .slick-dots li button::before {
    font-size: 15px;
  }
}
.kv_wrap .kv_txt {
  font-size: 1.5rem;
  font-weight: bold;
  text-align: center;
  color: #ab6446;
  line-height: 1.5em;
}
@media all and (min-width: 48em), print {
  .kv_wrap .kv_txt {
    position: absolute;
    z-index: 50;
    bottom: 60px;
    text-align: center;
    width: 100%;
    padding: 30px 100px;
    font-size: 4rem;
    background-color: rgba(255, 255, 255, 0.7);
  }
}

/* お知らせ -------------------------------------- */
.info {
  margin: 4rem 0 0;
}
.info dl {
  margin: 0;
  line-height: 1.4;
  border: 1px solid #666;
  padding: 0.6rem;
  height: 20rem;
  overflow-y: auto;
}
.info dl.reha {
  /*height: 20.0rem;*/
  height: auto;
  max-height: 23rem;
}
.info dl dt {
  margin-bottom: 0.4rem;
  color: #cc9f4c;
  font-size: 1.6rem;
}
.info dl dt .date {
  font-size: 80%;
  display: block;
}
.info dl dd {
  margin: 0;
  padding-bottom: 1rem;
}

@media all and (min-width: 48em), print {
  .info {
    margin: 4rem auto 8rem;
  }
  .info dl {
    padding: 1.4rem;
    height: 25rem;
  }
  .info dl.reha {
    height: auto;
    max-height: 28rem;
    /*height: 15.0rem;*/
  }
  .info dl dt {
    padding-top: 1rem;
    font-size: 1.8rem;
  }
  .info dl dt .date {
    font-size: 80%;
    display: inline;
  }
}
/* 診療案内 -------------------------------------- */
.tre_menu {
  background: #e6e6e6;
  padding: 4rem 1rem;
  margin: 4rem -1rem;
}
.tre_menu ul {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
.tre_menu ul li {
  width: 31%;
  margin: 0 0.3rem 1.6rem;
}
.tre_menu ul li a {
  display: block;
  text-align: center;
  padding-top: 10rem;
  line-height: 1.2;
  position: relative;
  text-decoration: none !important;
  /*&.pnf::after { // PNF治療
    background: url("../img/icon_pnf.svg") no-repeat center center / 60% auto;
  }*/
}
.tre_menu ul li a::before {
  content: "";
  display: block;
  width: 9.3rem;
  height: 9.3rem;
  display: block;
  background: #cc9f4c;
  position: absolute;
  top: 0;
}
.tre_menu ul li a::after {
  content: "";
  width: 9.3rem;
  height: 9.3rem;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}
.tre_menu ul li a.orthopedics::after {
  background: url("../img/icon_orthopedics.svg") no-repeat center center/60% auto;
}
.tre_menu ul li a.sports::after {
  background: url("../img/icon_sports.svg") no-repeat center center/60% auto;
}
.tre_menu ul li a.rehabilitation::after {
  background: url("../img/icon_rehabilitation.svg") no-repeat center center/60% auto;
}
.tre_menu ul li a.pfcfd::after {
  background: url("../img/icon_pfcfd.svg") no-repeat center center/60% auto;
}
.tre_menu ul li a.osteoporosis::after {
  background: url("../img/icon_osteoporosis.svg") no-repeat center center/60% auto;
}
.tre_menu ul li a.mri::after {
  background: url("../img/icon_mri.svg") no-repeat center center/60% auto;
}
.tre_menu ul li a.trafficaccident::after {
  background: url("../img/icon_trafficaccident.svg") no-repeat center center/80% auto;
}
.tre_menu ul li a.shoulder_botox::after {
  background: url("../img/icon_shoulder_botox.svg") no-repeat center center/80% auto;
}
.tre_menu ul li a.partners::before {
  content: "";
  background-image: -moz-linear-gradient(135deg, #648cdf 50%, #7498e2 50%);
  background-image: -webkit-linear-gradient(135deg, #648cdf 50%, #7498e2 50%);
  background-image: -ms-linear-gradient(135deg, #648cdf 50%, #7498e2 50%);
}
.tre_menu ul li a.partners::after {
  background: url("../img/icon_partners.svg") no-repeat center center/60% auto;
}
.tre_menu ul li a.specialoutpatient::after {
  background: url("../img/icon_specialoutpatient.svg") no-repeat center center/80% auto;
}
.tre_menu ul li a.specialoutpatient2::before {
  content: "";
  background-image: -moz-linear-gradient(135deg, #825A91 50%, #9d72ab 50%);
  background-image: -webkit-linear-gradient(135deg, #825A91 50%, #9d72ab 50%);
  background-image: -ms-linear-gradient(135deg, #825A91 50%, #9d72ab 50%);
}
.tre_menu ul li a.specialoutpatient2::after {
  background: url("../img/icon_specialoutpatient.svg") no-repeat center center/60% auto;
}
.tre_menu ul li a.specialoutpatient3::before {
  content: "";
  background-image: -moz-linear-gradient(135deg, #009fd2 50%, #28825b 50%);
  background-image: -webkit-linear-gradient(135deg, #009fd2 50%, #28825b 50%);
  background-image: -ms-linear-gradient(135deg, #009fd2 50%, #28825b 50%);
}
.tre_menu ul li a.specialoutpatient3::after {
  background: url("../img/icon_specialoutpatient.svg") no-repeat center center/60% auto;
}
.tre_menu ul li a.specialoutpatient4::before {
  content: "";
  background-image: -moz-linear-gradient(135deg, #009294 50%, #00B0B1 50%);
  background-image: -webkit-linear-gradient(135deg, #009294 50%, #00B0B1 50%);
  background-image: -ms-linear-gradient(135deg, #009294 50%, #00B0B1 50%);
}
.tre_menu ul li a.specialoutpatient4::after {
  background: url("../img/icon_specialoutpatient.svg") no-repeat center center/60% auto;
}

@media all and (min-width: 48em), print {
  .tre_menu {
    background: #f1e9de;
    padding: 10rem 0;
    margin: 10rem 0;
  }
  .tre_menu ul li {
    width: 16rem;
    margin: 0 1.3rem 2rem;
  }
  .tre_menu ul li a {
    padding-top: 18rem;
    font-size: 2.2rem;
    line-height: 1.2;
  }
  .tre_menu ul li a::before, .tre_menu ul li a::after {
    width: 16rem;
    height: 16rem;
  }
}
/* バナー -------------------------------------- */
ul.bnr {
  display: block;
  /*margin: 0 0 3rem;*/
  margin: 0 0 1.2rem;
  padding: 0;
  align-items: center; /* 子要素をflexboxにより中央に配置する */
}
ul.bnr li {
  width: 100%;
  vertical-align: baseline;
  text-align: top;
  display: block;
  margin-bottom: 1rem;
}
ul.bnr li img {
  width: auto;
}

ul.bnr_2 {
  display: block;
  margin: 0 0 3rem;
  padding: 0;
  align-items: center; /* 子要素をflexboxにより中央に配置する */
}
ul.bnr_2 li {
  width: 100%;
  vertical-align: baseline;
  text-align: center;
  display: block;
  margin-bottom: 1rem;
}
ul.bnr_2 li img {
  width: auto;
}

@media all and (min-width: 48em), print {
  ul.bnr {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    list-style: none;
    margin: 0 0 8rem;
    padding: 0;
    justify-content: center; /* 子要素をflexboxにより中央に配置する */
    align-items: center; /* 子要素をflexboxにより中央に配置する */
  }
  ul.bnr li {
    width: 50%;
    vertical-align: baseline;
    text-align: center;
    display: block;
  }
  ul.bnr li img {
    width: auto;
  }
  ul.bnr.line_3 {
    justify-content: space-between;
  }
  ul.bnr.line_3 li {
    width: 32%;
  }
  ul.bnr_2 {
    margin: 0 0 8rem;
    padding: 0;
  }
  ul.bnr_2 li {
    vertical-align: baseline;
    text-align: center;
    display: block;
  }
  ul.bnr_2 li img {
    width: auto;
  }
}
/* 特長 -------------------------------------- */
.feature ul li {
  margin-bottom: 1rem;
}
.feature ul li img {
  max-width: 100%;
  height: auto;
}
.feature ul li p span {
  color: #28825b;
  font-weight: bold;
  font-size: 1.8rem;
}

@media all and (min-width: 48em), print {
  .feature ul li {
    margin-bottom: 3rem;
    font-size: 2rem;
    color: #666;
  }
  .feature ul li img {
    max-width: 54rem;
  }
  .feature ul li:nth-child(1) p {
    padding-top: 3rem !important;
  }
  .feature ul li:nth-child(4) p {
    padding-top: 0rem !important;
  }
  .feature ul li p {
    padding-top: 9rem;
  }
  .feature ul li p span {
    font-size: 2.6rem;
  }
}
/* ModalWindow -------------------------------------- */
#c-modal_bg {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  width: 100%;
  height: 100%;
  cursor: pointer;
  background: rgba(0, 0, 0, 0.6);
}

#c-modal {
  position: fixed;
  top: 50%;
  left: 50%;
  z-index: 9999;
  width: 90%;
  max-height: 90%;
  transform: translate(-50%, -50%);
  background: #ffffff;
  padding: 15px;
  text-align: left;
  box-sizing: border-box;
  overflow-y: auto;
}

#c-modal_close {
  padding: 2px;
  cursor: pointer;
  background: #0072bc;
  color: #ffffff;
  border-radius: 8rem;
  width: 100px;
  height: auto;
  text-align: center;
  margin-bottom: 1em;
}

.pop_p {
  background: #d0f2fb;
  padding: 10px;
  font-size: 0.9em;
}

.pop_s {
  font-size: 0.8em;
  margin-top: 10px;
  text-align: center;
}

@media all and (min-width: 48em), print {
  #c-modal_bg {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
    width: 100%;
    height: 100%;
    cursor: pointer;
    background: rgba(0, 0, 0, 0.6);
  }
  #c-modal {
    position: fixed;
    top: 55%;
    left: 50%;
    z-index: 9999;
    width: 950px;
    transform: translate(-50%, -50%);
    background: #ffffff;
    padding: 40px 30px 30px 30px;
    text-align: left;
  }
  #c-modal_close {
    padding: 5px;
    cursor: pointer;
    background: #0072bc;
    color: #ffffff;
    border-radius: 8rem;
    width: 100px;
    height: auto;
    text-align: center;
    margin-bottom: 1em;
  }
  .pop_p {
    background: #d0f2fb;
    padding: 10px;
  }
  .pop_s {
    font-size: 0.8em;
    margin-top: 10px;
    text-align: center;
  }
}
@media all and (min-width: 48em), print {
  .apoco_box {
    display: flex;
    justify-content: space-between;
  }
  .apoco_box div#apoco {
    width: 70%;
    margin-bottom: 2rem;
  }
  .apoco_box div#caption {
    width: 28%;
  }
  .apoco_box div#caption h3 {
    font-size: 2.4rem;
  }
}
/* ----------------------------------------------------------------------------------
下層　_lower.scss
---------------------------------------------------------------------------------- */
/* 医師紹介 */
@media all and (min-width: 48em), print {
  .staff {
    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: top; /* 子要素をflexboxにより中央に配置する */
  }
}
.staff .photo {
  text-align: center;
}
@media all and (min-width: 48em), print {
  .staff .photo {
    width: 20%;
  }
}
@media all and (min-width: 48em), print {
  .staff .text {
    width: 80%;
  }
}

.staff_detail {
  display: flex;
}
.staff_detail.license dt {
  width: 3em;
}
.staff_detail.license dd {
  width: 90%;
  width: -webkit-calc(100% - 3em);
  width: calc(100% - 3em);
  margin: 0;
}
.staff_detail.comefrom dt {
  width: 4em;
}
.staff_detail.comefrom dd {
  width: 90%;
  width: -webkit-calc(100% - 4em);
  width: calc(100% - 4em);
  margin: 0;
}
.staff_detail.hobby dt {
  width: 7.5em;
}
.staff_detail.hobby dd {
  width: 90%;
  width: -webkit-calc(100% - 7.5em);
  width: calc(100% - 7.5em);
  margin: 0;
}

p.indent3 {
  padding-left: 3em;
  text-indent: -3em;
}

p.indent4 {
  padding-left: 4em;
  text-indent: -4em;
}

p.indent5 {
  padding-left: 5em;
  text-indent: -5em;
}

/* クリニック紹介 */
#clinicslide {
  margin-bottom: 8rem;
}
#clinicslide img, #clinicslide 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 .tbl_time td {
  border-bottom: 1px solid #ccc;
}
.access .lst_ul01 br {
  display: none;
}
.access .gmap {
  height: 30rem;
  margin: 2rem 0;
}

@media all and (min-width: 48em), print {
  .access .tbl_time {
    font-size: 1.8rem;
  }
  .access .tbl_time caption {
    font-size: 1.8rem;
  }
  .access .tbl_time td.time {
    font-size: 1.8rem;
  }
  .access .tbl_time td span {
    font-size: 1.8rem;
  }
  .access .tbl_time td span.font-s {
    font-size: 80%;
    line-height: 1.2;
  }
  .access .gmap {
    height: 50rem;
  }
}
.pickup {
  border: 1px solid #F08A32;
  background-color: #fff;
  padding: 20px;
}
.pickup h3 {
  color: #F08A32;
  font-size: 1.8rem;
  text-align: center;
  margin-bottom: 0;
}
.pickup p {
  margin: 0;
}

@media all and (min-width: 48em), print {
  .pickup h3 {
    font-size: 2.5rem;
    margin-bottom: 0;
  }
}
/* リハビリテーション */
.flex2_photo {
  margin: 0;
  padding: 0;
}
@media all and (min-width: 48em), print {
  .flex2_photo {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    list-style: none;
    margin: 0;
    padding: 0;
    justify-content: center; /* 子要素をflexboxにより中央に配置する */
    align-items: top; /* 子要素をflexboxにより中央に配置する */
  }
}
.flex2_photo img {
  text-align: center;
  margin-bottom: 5%;
}
@media all and (min-width: 48em), print {
  .flex2_photo img {
    width: 48%;
    height: auto;
    margin: 0% 1% 2%;
  }
}
.flex2_photo img:last-child {
  margin-bottom: 0;
}
@media all and (min-width: 48em), print {
  .flex2_photo img:last-child {
    margin-bottom: 2%;
  }
}

/* PFC-FD治療のQ&A */
dl.flowchart {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin-bottom: 0px;
  justify-content: space-between; /* 子要素をflexboxにより中央に配置する */
  align-items: top; /* 子要素をflexboxにより中央に配置する */
  position: relative;
}
@media all and (min-width: 48em), print {
  dl.flowchart {
    margin: 0 150px;
  }
}
dl.flowchart::after {
  position: absolute;
  bottom: 0px;
  left: 11%;
  font-size: 150%;
  color: #000;
  font-family: "fontello";
  content: "\f004";
}
@media all and (min-width: 48em), print {
  dl.flowchart::after {
    left: 50px;
    bottom: 0px;
  }
}
dl.flowchart dt {
  width: 9rem;
  margin-bottom: 5rem;
  position: relative;
}
@media all and (min-width: 48em), print {
  dl.flowchart dt {
    width: 15rem;
  }
}
dl.flowchart dt .circle {
  margin: 0 auto;
  padding: 1rem;
  border-radius: 50%;
  background-color: #ab6446;
  text-align: center;
  line-height: 1.4;
  height: 9rem;
  width: 9rem;
  display: table-cell;
  vertical-align: middle;
}
@media all and (min-width: 48em), print {
  dl.flowchart dt .circle {
    height: 13rem;
    width: 13rem;
  }
}
dl.flowchart dt p {
  color: #fff;
}
dl.flowchart dd {
  width: calc(100% - 12.5rem);
  margin-bottom: 5rem;
  display: table;
}
@media all and (min-width: 48em), print {
  dl.flowchart dd {
    width: calc(100% - 20rem);
  }
}
dl.flowchart dd p {
  display: table-cell !important;
  vertical-align: middle;
}
dl.flowchart.last-child::after {
  display: none;
}

/*.pfcfd{
	h1.tit_01{
		margin-bottom: 0;
	}
	header{
		margin-bottom: 0;
	}
	.bg_red{
		padding-top: 2rem;
		@include pc {
			padding-top: 8rem;
		}
		padding-bottom: 10rem;
		background: #e83428;
		.main{
			h2.tit_02{
				background-color: #ffe33b;
				border: none;
				color: #000;
				padding: 1rem 2rem;
				border-radius: 10px;
			}
			h3.tit_03,
			h3.tit_04,
			h4.tit_04{
				border-bottom-color: none;
				border-bottom: .4rem solid #ffe33b;
				color: #000;
				&::after{
					display: none;
				}
			}
			p,li,dt,dd{
				color: #fff;
			}
			img{
				border-radius: 10px;
			}
			ul.lst_ul01{
				li{
					&::before{
						color:#ffe33b; 
					}
				}
			}
			dl.flowchart{
				display: -webkit-flex;
				display: flex;
				-webkit-flex-wrap: wrap;
				flex-wrap: wrap;
				list-style: none;	
				padding: 0;	
				margin-bottom: 0px;
				justify-content:space-between;
				align-items: top;
				position: relative;
				@include pc {
					margin: 0 150px;
				}
        &::after{
          position: absolute;
          bottom:0px;
          left: 11%;
          font-size: 150%;
          color: #000;
          font-family: 'fontello'; 
          content: '\f004';
					@include pc {
						left: 50px;
						bottom:0px;
					}
        }
				dt{
					width: 9rem;
					margin-bottom: 5rem;
					position: relative;
					@include pc {
						width: 15rem;
					}
					.circle{
						margin: 0 auto;
						padding: 1rem;
						border-radius: 50%;
						background-color: #ffe33b; 
						text-align: center;
						line-height: 1.4;
						height: 9rem;
						width: 9rem;
						display: table-cell;
  					vertical-align: middle;
						@include pc {
							height: 13rem;
							width: 13rem;
						}
					}

					p{
						color: #000;
					}

				}
				dd{
					width: calc(100% - 12.5rem);
					margin-bottom: 5rem;
					display: table;
					@include pc {
							width: calc(100% - 20rem);
						}
					p{
						display: table-cell!important;
						vertical-align: middle;
					}
				}
			&.last-child{
          &::after{
            display: none;
          }
			}
			}

			.pickup{
				border-radius: 10px;
				h3{
					color: #e83428;
				}
				p{
					color: #000;
				}
			}
		}
	}
	.qa{
		dt{
			&::before{
				color:#ffe33b; 
			}
		}
		dd{
			&::before{
				color:#ffe33b; 
			}
		}
	}
	.overview{
		margin-top: 0;
	}

} */
/* Q&A */
.qa {
  margin-bottom: 4rem;
}
.qa dt {
  border-bottom: 0.2rem dotted #f9af70;
}
.qa dt::before {
  content: "Q.";
  font-size: 2.6rem;
  color: #F9AF70;
}
.qa dd {
  margin-left: 0;
}
.qa dd::before {
  content: "A.";
  font-size: 2.6rem;
  color: #F9AF70;
}

.mri dl.flowchart {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin-bottom: 0px;
  justify-content: space-between; /* 子要素をflexboxにより中央に配置する */
  align-items: top; /* 子要素をflexboxにより中央に配置する */
  position: relative;
}
@media all and (min-width: 48em), print {
  .mri dl.flowchart {
    margin: 0 150px;
  }
}
.mri dl.flowchart::after {
  position: absolute;
  bottom: 0px;
  left: 11%;
  font-size: 150%;
  color: #000;
  font-family: "fontello";
  content: "\f004";
}
@media all and (min-width: 48em), print {
  .mri dl.flowchart::after {
    left: 50px;
    bottom: 0px;
  }
}
.mri dl.flowchart dt {
  width: 9rem;
  margin-bottom: 5rem;
  position: relative;
}
@media all and (min-width: 48em), print {
  .mri dl.flowchart dt {
    width: 15rem;
  }
}
.mri dl.flowchart dt .circle {
  margin: 0 auto;
  padding: 1rem;
  border-radius: 50%;
  background-color: #28825b;
  text-align: center;
  line-height: 1.4;
  height: 9rem;
  width: 9rem;
  display: table-cell;
  vertical-align: middle;
}
@media all and (min-width: 48em), print {
  .mri dl.flowchart dt .circle {
    height: 13rem;
    width: 13rem;
  }
}
.mri dl.flowchart dt p {
  color: #fff;
}
.mri dl.flowchart dd {
  width: calc(100% - 12.5rem);
  margin-bottom: 5rem;
  display: table;
}
@media all and (min-width: 48em), print {
  .mri dl.flowchart dd {
    width: calc(100% - 20rem);
  }
}
.mri dl.flowchart dd p {
  display: table-cell !important;
  vertical-align: middle;
}
.mri dl.flowchart.last-child::after {
  display: none;
}

/* 肩こりボトックス治療 */
.shoulder_botox dl.flowchart {
  list-style: none;
  padding: 0;
  margin-bottom: 0px;
}
.shoulder_botox dl.flowchart dd {
  margin: 0;
  padding: 0 0 3.5rem;
  display: block;
  position: relative;
}
.shoulder_botox dl.flowchart dd:not(:last-child)::after {
  position: absolute;
  bottom: 0px;
  left: 44%;
  font-size: 150%;
  color: #28825b;
  font-family: "fontello";
  content: "\f004";
}
@media all and (min-width: 48em), print {
  .shoulder_botox dl.flowchart dd {
    padding: 0 0 6rem;
  }
  .shoulder_botox dl.flowchart dd:not(:last-child)::after {
    font-size: 250%;
    bottom: -1rem;
  }
}/*# sourceMappingURL=style.css.map */