@charset "UTF-8";
/* Scss Document */
/* =======================================================================
 共通項目 
======================================================================= */
/*関数*/
/* -----------------------------------------------------------
 関数
----------------------------------------------------------- */
/*サイトの横幅*/
/*media screen*/
/*文字SP*/
/*文字PC*/
/*基本文字家族*/
/*ゴーグルフォンツ*/
/*基本文字色*/
/*基本背景色PC*/
/* -----------------------------------------------------------
 フォントサイズ基本
----------------------------------------------------------- */
html {
  font-size: 3.125vw;
  overflow-y: auto;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  color: #404040;
  background-color: #FFFFFF;
}

@media print, screen and (min-width: 768px) {
  html {
    font-size: 62.5%;
    overflow-y: scroll;
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    color: #404040;
    background-color: #FFFFFF;
  }
}
/* -----------------------------------------------------------
 構成
----------------------------------------------------------- */
body {
  position: relative;
  width: 100%;
  margin: 0 auto;
}

section {
  height: auto;
  overflow: hidden;
  margin: 0 0 3rem 0;
}
section.first {
  margin: 0;
}
section.s_h2 {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}
section.line {
  padding: 3rem;
  border: 4px solid #46dbcc;
}

.sentence {
  height: auto;
  overflow: hidden;
}

.pc_none {
  display: block;
}

.sp_none {
  display: none;
}

.color_blue {
  color: #004898;
}

.red, .color_red {
  color: #FF0000;
}

.lightBlue {
  color: #009999;
}

.bg_lightblue {
  background: #ccddef;
}

.bg_yellow {
  background: #ffeebf;
}

.bg_gray {
  background: #f7f7f7;
}

.bold_text {
  font-weight: bold;
}

.text-center {
  text-align: center !important;
}

.fonts24 {
  font-size: 2.4rem !important;
}

.certificate_fonts24 li {
  font-size: 1.8rem !important;
}

.p10 {
  padding: 10px;
}

.mt_0 {
  margin-top: 0px !important;
}

.mr_0 {
  margin-right: 0px !important;
}

.mb_0 {
  margin-bottom: 0px !important;
}

.ml_0 {
  margin-left: 0px !important;
}

.pt_0 {
  padding-top: 0px !important;
}

.pr_0 {
  padding-right: 0px !important;
}

.pb_0 {
  padding-bottom: 0px !important;
}

.pl_0 {
  padding-left: 0px !important;
}

.mt_10 {
  margin-top: 10px !important;
}

.mr_10 {
  margin-right: 10px !important;
}

.mb_10 {
  margin-bottom: 10px !important;
}

.ml_10 {
  margin-left: 10px !important;
}

.pt_10 {
  padding-top: 10px !important;
}

.pr_10 {
  padding-right: 10px !important;
}

.pb_10 {
  padding-bottom: 10px !important;
}

.pl_10 {
  padding-left: 10px !important;
}

.mt_20 {
  margin-top: 20px !important;
}

.mr_20 {
  margin-right: 20px !important;
}

.mb_20 {
  margin-bottom: 20px !important;
}

.ml_20 {
  margin-left: 20px !important;
}

.pt_20 {
  padding-top: 20px !important;
}

.pr_20 {
  padding-right: 20px !important;
}

.pb_20 {
  padding-bottom: 20px !important;
}

.pl_20 {
  padding-left: 20px !important;
}

.mt_30 {
  margin-top: 30px !important;
}

.mr_30 {
  margin-right: 30px !important;
}

.mb_30 {
  margin-bottom: 30px !important;
}

.ml_30 {
  margin-left: 30px !important;
}

.pt_30 {
  padding-top: 30px !important;
}

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

.pb_30 {
  padding-bottom: 30px !important;
}

.pl_30 {
  padding-left: 30px !important;
}

.mt_40 {
  margin-top: 40px !important;
}

.mr_40 {
  margin-right: 40px !important;
}

.mb_40 {
  margin-bottom: 40px !important;
}

.ml_40 {
  margin-left: 40px !important;
}

.pt_40 {
  padding-top: 40px !important;
}

.pr_40 {
  padding-right: 40px !important;
}

.pb_40 {
  padding-bottom: 40px !important;
}

.pl_40 {
  padding-left: 40px !important;
}

.mt_50 {
  margin-top: 50px !important;
}

.mr_50 {
  margin-right: 50px !important;
}

.mb_50 {
  margin-bottom: 50px !important;
}

.ml_50 {
  margin-left: 50px !important;
}

.pt_50 {
  padding-top: 50px !important;
}

.pr_50 {
  padding-right: 50px !important;
}

.pb_50 {
  padding-bottom: 50px !important;
}

.pl_50 {
  padding-left: 50px !important;
}

.mt_60 {
  margin-top: 60px !important;
}

.mr_60 {
  margin-right: 60px !important;
}

.mb_60 {
  margin-bottom: 60px !important;
}

.ml_60 {
  margin-left: 60px !important;
}

.pt_60 {
  padding-top: 60px !important;
}

.pr_60 {
  padding-right: 60px !important;
}

.pb_60 {
  padding-bottom: 60px !important;
}

.pl_60 {
  padding-left: 60px !important;
}

.mt_70 {
  margin-top: 70px !important;
}

.mr_70 {
  margin-right: 70px !important;
}

.mb_70 {
  margin-bottom: 70px !important;
}

.ml_70 {
  margin-left: 70px !important;
}

.pt_70 {
  padding-top: 70px !important;
}

.pr_70 {
  padding-right: 70px !important;
}

.pb_70 {
  padding-bottom: 70px !important;
}

.pl_70 {
  padding-left: 70px !important;
}

.mt_80 {
  margin-top: 80px !important;
}

.mr_80 {
  margin-right: 80px !important;
}

.mb_80 {
  margin-bottom: 80px !important;
}

.ml_80 {
  margin-left: 80px !important;
}

.pt_80 {
  padding-top: 80px !important;
}

.pr_80 {
  padding-right: 80px !important;
}

.pb_80 {
  padding-bottom: 80px !important;
}

.pl_80 {
  padding-left: 80px !important;
}

.mt_90 {
  margin-top: 90px !important;
}

.mr_90 {
  margin-right: 90px !important;
}

.mb_90 {
  margin-bottom: 90px !important;
}

.ml_90 {
  margin-left: 90px !important;
}

.pt_90 {
  padding-top: 90px !important;
}

.pr_90 {
  padding-right: 90px !important;
}

.pb_90 {
  padding-bottom: 90px !important;
}

.pl_90 {
  padding-left: 90px !important;
}

.mt_100 {
  margin-top: 100px !important;
}

.mr_100 {
  margin-right: 100px !important;
}

.mb_100 {
  margin-bottom: 100px !important;
}

.ml_100 {
  margin-left: 100px !important;
}

.pt_100 {
  padding-top: 100px !important;
}

.pr_100 {
  padding-right: 100px !important;
}

.pb_100 {
  padding-bottom: 100px !important;
}

.pl_100 {
  padding-left: 100px !important;
}

@media print, screen and (min-width: 768px) {
  body {
    position: relative;
    z-index: 0;
    box-sizing: border-box;
    min-width: 1080px;
  }
  section {
    height: auto;
    overflow: hidden;
    margin: 0 0 60px 0;
  }
  section.first {
    margin: 0;
  }
  section.s_h2 {
    margin: 0;
    box-sizing: border-box;
  }
  .pc_none {
    display: none;
  }
  .sp_none {
    display: block;
  }
  .certificate_fonts24 li {
    font-size: 2.4rem !important;
  }
}
/* -----------------------------------------------------------
　枠
----------------------------------------------------------- */
article {
  height: auto;
  overflow: hidden;
  width: 100%;
  margin: 0;
  padding: 0;
  background-color: #FFFFFF;
  position: relative;
}

.wrapper {
  height: auto;
  width: 100%;
  margin: 0;
  padding: 1.6rem 0;
}

.main {
  width: 90%;
  margin: 0 auto;
  padding: 1rem 0 0 0;
}

@media print, screen and (min-width: 768px) {
  article {
    height: auto;
    overflow: hidden;
    width: 100%;
    margin: 0 auto;
    padding: 0;
  }
  .wrapper {
    height: auto;
    width: 100%;
    margin: 0 auto;
    padding: 40px 0 50px;
  }
  .main {
    width: 1080px;
    margin: 0 auto;
    padding: 0;
  }
}
/* -----------------------------------------------------------
　ヘッダ
----------------------------------------------------------- */
header .head_frame {
  width: 100%;
  margin: 0;
  padding: 0;
  background-color: #FFFFFF;
}
header .head_frame .header_info {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
}
header .head_frame .header_info .head_logo {
  width: 72%;
  margin: 0;
}
header .head_frame .header_info .head_logo img {
  width: 100%;
  height: auto;
  margin: 1.2rem 0 0.6rem 1.2rem;
}
header .head_frame .header_info .head_access p {
  text-align: center;
  margin: 1.2rem 0;
}
header .head_frame .header_info .head_access p.tel {
  display: none;
}
header .head_frame .header_info .head_info {
  width: auto;
  margin: 0.6rem 0;
  padding: 0 1rem;
}
header .key_on .key_visual {
  width: 100%;
  height: auto;
  background-position: center top;
  background-size: cover;
  background-repeat: no-repeat;
  display: flex;
  align-items: center;
  padding: 5rem 0;
  margin: 1rem 0;
}
header .key_visual_low {
  background: url("../images/key_visual_low.jpg") no-repeat;
  background-size: 200% auto;
  background-position: center;
  overflow: hidden;
  width: 100%;
  height: auto;
  margin: 0;
  padding: 0;
}
header .key_visual_low h1 {
  font-family: "Kosugi Maru", sans-serif;
  color: #009999;
  font-size: 2.2rem;
  font-weight: normal;
  padding: 3rem 0;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  header .head_frame {
    width: 100%;
    margin: 0;
    padding: 12px 0 0 0;
    background-color: #FFFFFF;
  }
  header .head_frame .header_info {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-flex-direction: row;
    flex-direction: row;
    align-items: inherit;
    width: 1080px;
    margin: 0 auto;
    padding: 0;
  }
  header .head_frame .header_info .head_logo {
    width: 384px;
    margin: 34px 0 0 0;
  }
  header .head_frame .header_info .head_logo img {
    width: 384px;
    height: auto;
    margin: 0;
  }
  header .head_frame .header_info .head_access {
    width: 280px;
  }
  header .head_frame .header_info .head_access p {
    color: #222222;
    font-size: 1.4rem;
    text-align: left;
    margin: 0 0 20px 0;
  }
  header .head_frame .header_info .head_access p.tel {
    display: block;
    color: #FFFFFF;
    font-size: 2.6rem;
    text-align: center;
    padding: 16px 0;
    background-color: #46dbcc;
    width: 100%;
  }
  header .head_frame .header_info .head_access p.tel a {
    text-decoration: none;
    color: #FFFFFF;
  }
  header .head_frame .header_info .head_info {
    width: auto;
    margin: 0;
    padding: 0;
  }
  header .key_on {
    max-width: 1679px;
    height: 600px;
    margin: 0 auto;
    background: url("../images/key_visual_01.jpg") center top/auto no-repeat;
    position: relative;
  }
  header .key_on > div {
    z-index: 1;
  }
  header .key_on .key_visual {
    width: 100%;
    height: 100%;
    background-position: center top;
    background-size: auto;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
    padding: 0;
    margin: 0;
  }
  header .key_visual_low {
    background: url("../images/key_visual_low.jpg") no-repeat;
    background-size: cover;
    background-position: center top;
    width: 100%;
    height: 220px;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  header .key_visual_low h1 {
    font-family: "Kosugi Maru", sans-serif;
    font-size: 3.6rem;
    color: #009999;
    font-weight: normal;
    padding: 0;
  }
}
/* -----------------------------------------------------------
　メインナビ
----------------------------------------------------------- */
.main_nav_pc {
  display: none;
}

@media print, screen and (min-width: 768px) {
  .main_nav_pc {
    display: block;
  }
  .main_nav_pc nav {
    width: 100%;
    margin: 0;
  }
  .main_nav_pc nav ul {
    list-style-type: none;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-flex-direction: row;
    flex-direction: row;
    align-items: center;
    width: 1080px;
    box-sizing: border-box;
    height: 6rem;
    padding: 1.4rem 0 2rem;
    margin: 0 auto;
  }
  .main_nav_pc nav ul li {
    display: flex;
    flex: 1;
    align-items: center;
    text-align: center;
    height: 6rem;
    padding: 0;
    box-sizing: border-box;
  }
  .main_nav_pc nav ul li a {
    text-decoration: none;
    font-family: "Kosugi Maru", sans-serif;
    color: #404040;
    font-size: 1.8rem;
    width: 100%;
    height: auto;
    box-sizing: border-box;
  }
  .main_nav_pc nav ul li a::after {
    content: "";
    font-size: 1.4rem;
    margin: 0.6rem auto 0;
    color: #46dbcc;
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    display: block;
    width: 9rem;
  }
  .main_nav_pc nav ul li a:hover {
    opacity: 0.8;
  }
  .main_nav_pc nav ul li.home a::after {
    content: "Home";
  }
  .main_nav_pc nav ul li.doctor a::after {
    content: "Doctor";
  }
  .main_nav_pc nav ul li.treatment a::after {
    content: "Treatment";
  }
  .main_nav_pc nav ul li.clinic a::after {
    content: "Clinic";
  }
  .main_nav_pc nav ul li.first a::after {
    content: "First visitor";
  }
  .main_nav_pc nav ul li.access a::after {
    content: "Access";
  }
  .main_nav_pc nav ul li.blog a::after {
    content: "Blog";
  }
  .main_nav_pc nav ul li.recruit a::after {
    content: "Recruit";
  }
  .index nav li.home a::after, .doctor nav li.doctor a::after, .clinic nav li.clinic a::after, .treatment nav li.treatment a::after, .first nav li.first a::after, .access nav li.access a::after, .blog nav li.blog a::after, .recruit nav li.recruit a::after {
    border-bottom: 0.3rem #46dbcc solid;
    padding: 0 0 0.3rem 0;
  }
}
/* -----------------------------------------------------------
　診療時間
----------------------------------------------------------- */
.table_wrapper {
  width: 100%;
  padding: 1.2rem 1.2rem 0.6rem 1.2rem;
  background-color: #dfefe9;
  box-sizing: border-box;
}
.table_wrapper.wrap_col_blue {
  background-color: #E3E8FB;
}

table.timetable {
  padding: 0;
  vertical-align: middle;
  width: 100%;
  margin: 0;
  text-align: center;
  border-collapse: collapse;
  box-sizing: border-box;
}
table.timetable tr {
  margin: 0;
  padding: 0;
  vertical-align: middle;
  border-bottom: #009999 0.1rem solid;
}
table.timetable tr th {
  padding: 0 0 0.8rem 0;
  text-align: center;
  font-weight: bold;
  color: #009999;
  font-size: 1.1rem;
  vertical-align: middle;
  box-sizing: border-box;
}
table.timetable tr td {
  text-align: center;
  padding: 0.7rem;
  font-size: 1.1rem;
  vertical-align: middle;
  box-sizing: border-box;
  color: #404040;
}
table.timetable tr td.time {
  width: 10rem;
  text-align: center;
  color: #404040;
  font-size: 1.1rem;
  white-space: nowrap;
}
table.timetable.col_blue tr {
  border-bottom: #3651B1 1px solid;
}
table.timetable.col_blue tr th {
  color: #3651B1;
}
table.timetable.col_blue tr td {
  color: #404040;
}
table.timetable.col_blue tr td.time {
  color: #3651B1;
}

p.notice_time {
  font-size: 1.1rem !important;
  color: #404040;
  margin: 0.6rem 0 0 0;
  text-align: left !important;
}
p.notice_time span {
  color: #404040;
}

@media print, screen and (min-width: 768px) {
  .table_wrapper {
    width: 100%;
    padding: 20px 20px 8px 20px;
    background-color: #dfefe9;
    box-sizing: border-box;
  }
  table.timetable {
    padding: 0;
    vertical-align: middle;
    width: 100%;
    margin: 0;
    text-align: center;
    border-collapse: collapse;
    box-sizing: border-box;
  }
  table.timetable tr {
    margin: 0;
    padding: 0;
    vertical-align: middle;
    border-bottom: #009999 1px solid;
  }
  table.timetable tr th {
    padding: 0 0 8px 0;
    text-align: center;
    font-weight: bold;
    color: #009999;
    font-size: 1.4rem;
    vertical-align: middle;
    box-sizing: border-box;
  }
  table.timetable tr td {
    text-align: center;
    padding: 7px;
    font-size: 1.4rem;
    vertical-align: middle;
    box-sizing: border-box;
    color: #404040;
  }
  table.timetable tr td.time {
    white-space: nowrap;
    width: 105px;
    text-align: center;
    color: #404040;
    font-size: 1.3rem;
  }
  p.notice_time {
    font-size: 1.4rem !important;
    color: #404040;
    margin: 8px 0 0 0;
    text-align: left !important;
  }
  p.notice_time span {
    color: #404040;
  }
}
/* -----------------------------------------------------------
　地図エリア
----------------------------------------------------------- */
.flexmap {
  background-color: #edfaf3;
}

.map_area {
  display: block;
  width: 100%;
  box-sizing: border-box;
  padding: 1rem 0 2rem;
}

iframe {
  padding: 0;
  margin: 0 0 1.2rem 0;
  width: 100%;
  height: 41.6rem;
}

.cont_right {
  display: block;
  padding: 0;
}

@media print, screen and (min-width: 768px) {
  .flexmap {
    background-color: #edfaf3;
  }
  .map_area {
    display: flex;
    justify-content: space-between;
  }
  .map_area iframe, .map_area .cont_right {
    width: 540px;
    box-sizing: border-box;
  }
  .map_area iframe {
    padding: 0 20px 0 0;
    margin: 0;
  }
  .map_area .cont_right {
    display: block;
    padding: 0 0 0 20px;
    margin: auto;
  }
}
/* -----------------------------------------------------------
　求人
----------------------------------------------------------- */
a.btn_recruit {
  text-decoration: none;
  width: 100%;
  margin: 20px auto 10px auto;
  display: block;
}
a.btn_recruit > div {
  padding: 8px 0;
  background-color: #009999;
  color: #FFFFFF;
  border-radius: 18px;
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
}
a.officer > div {
  background-color: #2dc8c3;
}
a.townwork {
  display: none;
}
a.townwork > div {
  background-color: #fcbe00;
}
a.btn_recruit_kv {
  display: none;
}

@media print, screen and (min-width: 768px) {
  a.btn_recruit {
    text-decoration: none;
    width: 48%;
    margin: 30px auto 0;
  }
  a.btn_recruit > div {
    padding: 10px 0;
    background-color: #009999;
    color: #FFFFFF;
    border-radius: 18px;
    font-size: 2.2rem;
    font-weight: bold;
    text-align: center;
  }
  a.btn_recruit > div:hover {
    opacity: 0.8;
  }
  a.officer > div {
    background-color: #2dc8c3;
  }
  a.townwork {
    display: none;
  }
  a.townwork > div {
    background-color: #fcbe00;
  }
}
@media (min-width: 768px) {
  a.btn_recruit_kv {
    display: block;
    position: absolute;
    text-align: center;
    background: #46dbcc;
    color: #fff;
    font-size: 1rem;
    border-radius: 0.3rem;
    font-size: 3.2rem;
    bottom: 0.5rem;
    left: 2%;
    padding: 1rem 5.5rem;
    text-decoration: none;
    z-index: 999;
  }
  a.btn_recruit_kv span {
    display: block;
    font-size: 1.6rem;
    line-height: 1.2;
  }
  a.btn_recruit_kv:hover {
    opacity: 0.7;
    text-decoration: none;
  }
}
section.info_blog h2 {
  margin: 0 auto;
}
section.info_blog h2::after {
  content: "- BLOG -";
}
section.info_blog ul {
  overflow-y: scroll;
  box-sizing: border-box;
  padding: 0rem;
  margin-top: 1.2rem;
  max-height: 580px;
}
section.info_blog ul li {
  border: 3px solid #46dbcc;
  padding: 1rem;
  overflow: hidden;
  display: block;
  justify-content: space-between;
  font-size: 1.2rem;
  line-height: 1.4;
  margin-bottom: 2rem;
  margin-right: 1rem;
}
section.info_blog ul li .thumbnail {
  width: 100%;
  text-align: center;
  margin: 0 2rem 1rem 0;
}
section.info_blog ul li .thumbnail img {
  width: 100%;
  max-width: 100%;
  object-fit: cover;
  height: 200px;
  display: block;
}
section.info_blog ul li span {
  display: block;
  width: 100%;
}
section.info_blog ul li span a {
  font-size: 1.4rem;
  color: #444;
  font-family: "Kosugi Maru", sans-serif;
  margin-bottom: 0.8rem;
}

@media print, screen and (min-width: 768px) {
  section.info_blog h2 {
    margin: 0 auto;
  }
  section.info_blog h2::after {
    content: "- BLOG -";
  }
  section.info_blog ul {
    overflow-y: scroll;
    box-sizing: border-box;
    padding: 2rem;
    max-height: 580px;
  }
  section.info_blog ul li {
    border: 3px solid #46dbcc;
    padding: 2rem;
    overflow: hidden;
    display: flex;
    justify-content: space-between;
    font-size: 1.6rem;
    line-height: 1.6;
    margin-bottom: 2rem;
  }
  section.info_blog ul li .thumbnail {
    width: 30%;
    text-align: center;
    margin: 0 2rem 0 0;
  }
  section.info_blog ul li .thumbnail img {
    width: 100%;
    max-width: 100%;
    object-fit: cover;
    height: 200px;
    display: block;
  }
  section.info_blog ul li span {
    display: block;
    width: 67%;
  }
  section.info_blog ul li span a {
    font-size: 2rem;
    color: #444;
    font-family: "Kosugi Maru", sans-serif;
  }
}
/* -----------------------------------------------------------
　カレンダー
----------------------------------------------------------- */
section.calendar h2 {
  width: 20rem;
  margin: 0 auto;
}
section.calendar h2::after {
  content: "- Calendar -";
}
section.calendar .calendar_wrap table.caledit {
  width: 100%;
  margin-top: 20px;
}
section.calendar .calendar_wrap table.caledit th, section.calendar .calendar_wrap table.caledit td {
  font-size: 1em;
  padding: 0.5em 0;
  border: solid 1px #ccc;
}
section.calendar .calendar_wrap table.caledit th {
  background: #eae4d9;
  color: #41210f;
  font-weight: bold;
}
section.calendar .calendar_wrap table.caledit td {
  background: #FFFF94;
  font-weight: bold;
}
section.calendar .calendar_wrap table.caledit td.outPatient {
  background: #ff506d;
  color: #fff;
}
section.calendar .calendar_wrap table.caledit td.pmOnly {
  background: #96D00A;
  color: #fff;
}
section.calendar .calendar_wrap table.caledit td.amOnly {
  background: #47dbcd;
  color: #fff;
}
section.calendar .calendar_wrap table.caledit td.ampm {
  background: #009900;
  color: #fff;
}
section.calendar .calendar_wrap table.caledit td.open {
  background: #FCC953;
  color: #fff;
}
section.calendar .calendar_wrap table.caledit td.notTheMonth {
  background: #fff !important;
  color: #fff !important;
}
section.calendar .calendar_wrap table.caledit td.today {
  color: #000 !important;
  font-weight: bold !important;
  text-shadow: #fff 2px 0px, #fff -2px 0px, #fff 0px -2px, #fff 0px 2px, #fff 2px 2px, #fff -2px 2px, #fff 2px -2px, #fff -2px -2px, #fff 1px 2px, #fff -1px 2px, #fff 1px -2px, #fff -1px -2px, #fff 2px 1px, #fff -2px 1px, #fff 2px -1px, #fff -2px -1px;
}
section.calendar .calendar_wrap table.caledit .shortTitle {
  display: none;
}
section.calendar .calendar_wrap table.caledit tr.week th:nth-of-type(6) {
  color: #41210f;
}
section.calendar .calendar_wrap table.caledit tr.week th:nth-of-type(7) {
  color: #ff506d;
}
section.calendar .calendar_detail {
  text-align: center;
  line-height: 1.4;
}
section.calendar .calendar_detail li {
  display: inline-block;
  list-style: none;
  font-size: 15px;
}
section.calendar .calendar_detail li:not(:last-of-type) {
  margin-right: 0.7em;
  font-size: 15px;
}
section.calendar .calendar_detail li::before {
  content: "■";
  margin-right: 0.3em;
}
section.calendar .calendar_detail li.outPatient::before {
  color: #ff506d;
  font-size: 15px;
}
section.calendar .calendar_detail li.pmOnly::before {
  color: #96D00A;
  font-size: 15px;
}
section.calendar .calendar_detail li.amOnly::before {
  color: #47dbcd;
  font-size: 15px;
}
section.calendar .calendar_detail li.ampm::before {
  color: #009900;
  font-size: 15px;
}
section.calendar .calendar_detail li.open::before {
  color: #FCC953;
  font-size: 15px;
}

@media print, screen and (min-width: 768px) {
  section.calendar h2 {
    width: 300px;
    margin: 0 auto;
  }
  section.calendar h2::after {
    content: "- Calendar -";
  }
  section.calendar .calendar_wrap {
    overflow: hidden;
    margin-top: 30px;
    font-size: 15px;
  }
  section.calendar .calendar_wrap table.caledit {
    width: 49%;
    text-align: center;
    margin: 0 0 15px;
  }
  section.calendar .calendar_wrap table.caledit:first-of-type {
    float: left;
  }
  section.calendar .calendar_wrap table.caledit:last-of-type {
    float: right;
  }
  section.calendar .calendar_wrap table.caledit th, section.calendar .calendar_wrap table.caledit td {
    font-size: 1em;
    padding: 0.5em 0;
    border: solid 1px #ccc;
  }
  section.calendar .calendar_wrap table.caledit th {
    background: #eae4d9;
    color: #41210f;
    font-weight: bold;
  }
  section.calendar .calendar_wrap table.caledit td {
    background: #FFFF94;
    font-weight: bold;
  }
  section.calendar .calendar_wrap table.caledit td.outPatient {
    background: #ff506d;
    color: #fff;
  }
  section.calendar .calendar_wrap table.caledit td.amOnly {
    background: #47dbcd;
    color: #fff;
  }
  section.calendar .calendar_wrap table.caledit td.ampm {
    background: #009900;
    color: #fff;
  }
  section.calendar .calendar_wrap table.caledit td.open {
    background: #FCC953;
    color: #fff;
  }
  section.calendar .calendar_wrap table.caledit td.notTheMonth {
    background: #fff !important;
    color: #fff !important;
  }
  section.calendar .calendar_wrap table.caledit .shortTitle {
    display: none;
  }
  section.calendar .calendar_wrap table.caledit tr.week th:nth-of-type(6) {
    color: #41210f;
  }
  section.calendar .calendar_wrap table.caledit tr.week th:nth-of-type(7) {
    color: #ff506d;
  }
  section.calendar .calendar_detail {
    text-align: center;
  }
  section.calendar .calendar_detail li {
    display: inline-block;
    list-style: none;
    font-size: 15px;
  }
  section.calendar .calendar_detail li:not(:last-of-type) {
    margin-right: 0.7em;
    font-size: 15px;
  }
  section.calendar .calendar_detail li::before {
    content: "■";
    margin-right: 0.3em;
  }
  section.calendar .calendar_detail li.outPatient::before {
    color: #ff506d;
    font-size: 15px;
  }
  section.calendar .calendar_detail li.amOnly::before {
    color: #47dbcd;
    font-size: 15px;
  }
  section.calendar .calendar_detail li.ampm::before {
    color: #009900;
    font-size: 15px;
  }
  section.calendar .calendar_detail li.open::before {
    color: #FCC953;
    font-size: 15px;
  }
}
/* -----------------------------------------------------------
　カレンダー下　画像カレンダー
----------------------------------------------------------- */
section.img_calendar .cal {
  text-align: center;
}
section.img_calendar .cal img {
  width: 100%;
}
section.img_calendar .cal_detail {
  /*width: calc(100% - 300px);*/
}
section.img_calendar .cal_detail table .cal_tbl {
  margin: 0 auto;
}
section.img_calendar .cal_detail table th {
  white-space: nowrap;
}
section.img_calendar .cal_detail table th, section.img_calendar .cal_detail table td {
  padding: 5px 0;
  font-size: 1.2rem;
  text-align: left;
  line-height: 1.6;
  vertical-align: top;
}
section.img_calendar .cal_detail .txt_og {
  font-weight: bold;
  color: #ffa116;
}

@media print, screen and (min-width: 768px) {
  section.img_calendar .cal img {
    width: auto;
    max-width: 800px;
  }
  section.img_calendar .cal_detail {
    width: calc(100% - 300px);
    margin: 0 auto;
  }
  section.img_calendar .cal_detail table th, section.img_calendar .cal_detail table td {
    padding: 10px 0;
    font-size: 1.6rem;
    line-height: 1.5;
  }
}
/* -----------------------------------------------------------
　TOPバナー群
----------------------------------------------------------- */
.bnr_area {
  position: relative;
  margin: 0 auto;
  padding: 0;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-flex-direction: column;
  flex-direction: column;
}

.bnr_L, .bnr_R {
  width: 100%;
  text-align: left;
  margin: 0.5rem auto;
}

.bnr_L img, .bnr_R img {
  width: 100%;
  height: auto;
}

.bnr_L p, .bnr_R p {
  font-size: 1rem;
  margin: 0;
  line-height: 1.4;
}

.bnr_cosmeticdermatology {
  gap: 0.5rem;
  font-size: 1.6rem;
  font-weight: bold;
}
.bnr_cosmeticdermatology div:nth-child(1) {
  color: #fd4c67;
}
.bnr_cosmeticdermatology div:nth-child(1) a {
  display: flex;
  gap: 4rem;
  align-items: center;
  border: 1px solid #fd4c67;
  padding: 3rem;
  color: #404040;
}
.bnr_cosmeticdermatology div:nth-child(1) a.icon::before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f073";
  color: #fd4c67;
  font-size: 49px;
}
.bnr_cosmeticdermatology img {
  max-width: 50px;
  width: 100%;
}
.bnr_cosmeticdermatology div:nth-child(2) {
  margin-top: 2rem;
  color: #009999;
}
.bnr_cosmeticdermatology div:nth-child(2) a {
  display: flex;
  gap: 4rem;
  font-size: 1.8rem;
  align-items: center;
  border: 1px solid #009999;
  padding: 3rem;
  color: #404040;
}

@media print, screen and (min-width: 768px) {
  .bnr_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%;
  }
  .bnr_area.single {
    justify-content: flex-start;
  }
  .bnr_area.single .bnr_L {
    width: 52rem;
  }
  .bnr_L, .bnr_R {
    width: 49%;
    margin: 0 1rem;
  }
  .bnr_L p, .bnr_R p {
    font-size: 1.2rem;
    margin: 0;
    line-height: 1.4;
  }
  .bnr_cosmeticdermatology {
    display: flex;
    font-size: 2rem;
  }
  .bnr_cosmeticdermatology div {
    width: 50%;
  }
  .bnr_cosmeticdermatology div:nth-child(1) a:hover {
    background: #ffb6c1;
    transition: 0.3s;
  }
  .bnr_cosmeticdermatology div:nth-child(2) a:hover {
    opacity: 0.6;
  }
  .bnr_cosmeticdermatology svg {
    font-size: 4.9rem;
  }
  .bnr_cosmeticdermatology div:nth-child(2) {
    margin-top: initial;
  }
}
/* -----------------------------------------------------------
　お知らせ
----------------------------------------------------------- */
.flex_contents h2 {
  width: 20rem;
}
.flex_contents h2::after {
  content: "- NEWS -";
}
.flex_contents .notice_frame {
  background-color: #FFFFFF;
  padding: 0 0.8rem;
  box-sizing: border-box;
  height: 50rem;
  width: 100%;
  margin: 1.2rem 0 2rem 0;
  overflow-y: scroll;
}
.flex_contents .notice_frame dl {
  padding: 1.2rem 0;
}
.flex_contents .notice_frame dl dt {
  margin: 0 0 0.8rem 0;
  color: #009999;
  font-size: 1.4rem;
  font-weight: bold;
}
.flex_contents .notice_frame dl dd {
  color: #404040;
  margin: 0 0 2rem 0;
  font-size: 1.4rem;
  line-height: 1.4;
  word-break: break-all;
  border-bottom: 0.1rem #46dbcc solid;
}
.flex_contents .notice_frame dl dd.link_text {
  margin: 0 0 4rem 0;
}
.flex_contents .notice_frame dl dd a {
  color: #2dc8c3;
}

@media print, screen and (min-width: 768px) {
  .flex_contents {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .flex_contents h2 {
    width: 200px;
  }
  .flex_contents h2::after {
    content: "- NEWS -";
  }
  .flex_contents .notice_frame {
    height: 580px;
    width: calc(100% - 200px);
    margin: 0;
    padding: 20px 20px 20px 18px;
    overflow-y: scroll;
    background-color: transparent;
  }
  .flex_contents .notice_frame dl {
    padding: 0 14px 30px 0;
    box-sizing: border-box;
  }
  .flex_contents .notice_frame dl dt {
    margin: 0 0 6px 0;
    color: #009999;
    font-size: 1.8rem;
    line-height: 1.4;
    font-weight: bold;
  }
  .flex_contents .notice_frame dl dd {
    color: #404040;
    margin: 0 0 30px 0;
    font-size: 1.6rem;
    line-height: 1.4;
    border-bottom: 1px #cccccc solid;
  }
  .flex_contents .notice_frame dl dd.link_text {
    margin: 0 0 40px 0;
  }
  .flex_contents .notice_frame dl dd a {
    color: #2dc8c3;
  }
  .flex_contents .notice_frame dl dd a:hover {
    opacity: 0.6;
  }
}
/*スマホ用スライドバー*/
@media print, screen and (max-width: 767px) {
  .notice_frame::-webkit-scrollbar {
    width: 12px;
    background: #ffffff;
  }
  .notice_frame::-webkit-scrollbar-track {
    -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
    border-radius: 10px;
  }
  .notice_frame::-webkit-scrollbar-thumb {
    border-radius: 10px;
    -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.5);
  }
}
/* -----------------------------------------------------------
　特長
----------------------------------------------------------- */
.feature_wrapper .feature {
  background-color: #46dbcc;
  background-size: 280%;
}
.feature_wrapper .feature .txt_area {
  width: 100%;
  margin: 0 auto;
  padding: 17rem 0 0 2rem;
}
.feature_wrapper .feature .txt_area .txt {
  width: 86%;
  color: #FFFFFF;
  margin: 0;
}
.feature_wrapper .feature .txt_area .txt .number {
  display: flex;
  align-items: center;
  font-family: "Kosugi Maru", sans-serif;
  font-weight: normal;
  margin: 0 0 0.8rem 0;
}
.feature_wrapper .feature .txt_area .txt .number span {
  font-size: 3rem;
}
.feature_wrapper .feature .txt_area .txt .number p {
  font-size: 1.6rem;
  margin: 0 0 0 1.8rem;
  line-height: 1.5;
}
.feature_wrapper .feature .txt_area .txt p {
  font-size: 1.2rem;
}
.feature_wrapper .feature .txt_area .txt p span.t_r {
  text-align: right;
  display: block;
}
.feature_wrapper .feature .txt_area .txt_2 {
  float: left;
}
.feature_wrapper .photo_1 {
  background-image: url("../images/feature_01.jpg");
  background-position: left top;
  background-repeat: no-repeat;
  height: 35rem;
}
.feature_wrapper .photo_2 {
  background-image: url("../images/feature_02.jpg");
  background-position: right top;
  background-repeat: no-repeat;
  height: 30rem;
}
.feature_wrapper .photo_3 {
  background-image: url("../images/feature_03.jpg");
  background-position: left top;
  background-repeat: no-repeat;
  height: 29rem;
}
.feature_wrapper .photo_4 {
  background-image: url("../images/feature_04.jpg");
  background-position: right top;
  background-repeat: no-repeat;
  height: 29rem;
}
.feature_wrapper .photo_5 {
  background-image: url("../images/feature_05.jpg");
  background-position: left top;
  background-repeat: no-repeat;
  height: 40rem;
}
.feature_wrapper .photo_5 .txt_area {
  padding: 19rem 0 0 2rem;
}

@media screen and (min-width: 768px) {
  .feature_wrapper .feature {
    background-color: #46dbcc;
    background-size: auto;
    height: 350px;
  }
  .feature_wrapper .feature .txt_area {
    width: 1080px;
    margin: 0 auto;
    padding: 0;
  }
  .feature_wrapper .feature .txt_area .txt {
    width: 500px;
    color: #FFFFFF;
    margin: 60px 0 0 0;
    float: right;
  }
  .feature_wrapper .feature .txt_area .txt .number {
    display: flex;
    align-items: center;
    font-family: "Kosugi Maru", sans-serif;
    font-weight: normal;
    margin: 0 0 24px 0;
  }
  .feature_wrapper .feature .txt_area .txt .number span {
    font-size: 92px;
  }
  .feature_wrapper .feature .txt_area .txt .number p {
    font-size: 30px;
    margin: 0 0 0 30px;
    line-height: 1.5;
  }
  .feature_wrapper .feature .txt_area .txt p {
    font-size: 1.8rem;
  }
  .feature_wrapper .feature .txt_area .txt_2 {
    float: left;
  }
  .feature_wrapper .photo_1 {
    background-image: url("../images/feature_01.jpg");
    background-position: 40% 100%;
    background-repeat: no-repeat;
  }
  .feature_wrapper .photo_2 {
    background-image: url("../images/feature_02.jpg");
    background-position: 60% 100%;
    background-repeat: no-repeat;
  }
  .feature_wrapper .photo_3 {
    background-image: url("../images/feature_03.jpg");
    background-position: 40% 100%;
    background-repeat: no-repeat;
  }
  .feature_wrapper .photo_4 {
    background-image: url("../images/feature_04.jpg");
    background-position: 60% 100%;
    background-repeat: no-repeat;
  }
  .feature_wrapper .photo_5 {
    background-image: url("../images/feature_05.jpg");
    background-position: 40% 100%;
    background-repeat: no-repeat;
    height: 390px;
  }
}
/* -----------------------------------------------------------
　treatment
----------------------------------------------------------- */
.table_wrap {
  overflow-x: scroll;
}

@media print, screen and (min-width: 768px) {
  .table_wrap {
    overflow-x: hidden;
  }
}
.flex_box {
  display: flex;
  justify-content: space-between;
}

.treatment_btn {
  text-align: center;
  padding: 0 5px;
  margin-right: 5px;
}
.treatment_btn a {
  width: 100px;
  height: 100px;
  margin-bottom: 1rem;
  background: #46dbcc;
  border-radius: 15px;
}
.treatment_btn span {
  padding: 1rem;
  width: 100px;
  margin-bottom: 0;
  background: #46dbcc;
  display: block;
  border-radius: 15px;
}

.treatment_wrapper {
  background: url("../images/bg_treatment.jpg") no-repeat;
  background-size: cover;
  width: 100%;
  height: auto;
  padding: 3rem 0;
  box-sizing: border-box;
}
.treatment_wrapper .treatment_frame {
  display: flex;
  flex-wrap: wrap;
  width: 90%;
  margin: 1.8rem auto 0;
}
.treatment_wrapper .treatment_frame a {
  text-decoration: none;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 0 1.2rem 0;
  width: 100%;
}
.treatment_wrapper .treatment_frame a .color_btn {
  width: 100%;
  height: auto;
  border-bottom: 0.2rem #009999 solid;
}
.treatment_wrapper .treatment_frame a .halfwide, .treatment_wrapper .treatment_frame a .fullwide {
  height: 7rem;
  box-sizing: border-box;
}
.treatment_wrapper .treatment_frame a .subject_1, .treatment_wrapper .treatment_frame a .subject_2, .treatment_wrapper .treatment_frame a .subject_3, .treatment_wrapper .treatment_frame a .subject_4, .treatment_wrapper .treatment_frame a .subject_5, .treatment_wrapper .treatment_frame a .subject_6, .treatment_wrapper .treatment_frame a .subject_7, .treatment_wrapper .treatment_frame a .subject_8, .treatment_wrapper .treatment_frame a .subject_9 {
  background-repeat: no-repeat;
  background-position: left center;
  background-size: 25%;
}
.treatment_wrapper .treatment_frame a .subject_1 {
  background-image: url("../images/bg_treatment_01.jpg");
}
.treatment_wrapper .treatment_frame a .subject_2 {
  background-image: url("../images/bg_treatment_02.jpg");
}
.treatment_wrapper .treatment_frame a .subject_3 {
  background-image: url("../images/bg_treatment_03.jpg");
}
.treatment_wrapper .treatment_frame a .subject_4 {
  background-image: url("../images/bg_treatment_04.jpg");
}
.treatment_wrapper .treatment_frame a .subject_5 {
  background-image: url("../images/bg_treatment_05.jpg");
  padding: 0 0 0 6rem;
}
.treatment_wrapper .treatment_frame a .subject_6 {
  background-image: url("../images/bg_treatment_06.jpg");
  padding: 0 0 0 6rem;
}
.treatment_wrapper .treatment_frame a .subject_7 {
  background-image: url("../images/bg_treatment_07.jpg");
  padding: 0 0 0 6rem;
}
.treatment_wrapper .treatment_frame a .subject_8 {
  background-image: url("../images/bg_treatment_08.jpg");
  padding: 0 0 0 6rem;
}
.treatment_wrapper .treatment_frame a .subject_9 {
  background-image: url("../images/bg_treatment_09.jpg");
  padding: 0 0 0 6rem;
}

@media print, screen and (min-width: 768px) {
  .treatment_wrapper {
    background: url("../images/bg_treatment.jpg") no-repeat;
    background-size: cover;
    width: 100%;
    height: auto;
    padding: 70px 0 100px 0;
    box-sizing: border-box;
  }
  .treatment_wrapper h2 {
    width: 200px;
    margin: 0 auto;
  }
  .treatment_wrapper h2::after {
    content: "- Treatment -";
  }
  .treatment_wrapper .treatment_frame {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 1080px;
    margin: 38px auto 0;
  }
  .treatment_wrapper .treatment_frame.-jc_fs {
    justify-content: flex-start;
  }
  .treatment_wrapper .treatment_frame.-jc_fs a {
    margin: 0 8px 20px;
  }
  .treatment_wrapper .treatment_frame a {
    text-decoration: none;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 0 20px 0;
    width: auto;
  }
  .treatment_wrapper .treatment_frame a .color_btn {
    width: 344px;
    height: 60px;
    box-sizing: border-box;
    border-bottom: 4px #009999 solid;
  }
  .treatment_wrapper .treatment_frame a .halfwide {
    width: 528px;
    height: 150px;
    box-sizing: border-box;
  }
  .treatment_wrapper .treatment_frame a .fullwide {
    width: 1080px;
    height: 150px;
    box-sizing: border-box;
  }
  .treatment_wrapper .treatment_frame a .subject_1, .treatment_wrapper .treatment_frame a .subject_2, .treatment_wrapper .treatment_frame a .subject_3, .treatment_wrapper .treatment_frame a .subject_4, .treatment_wrapper .treatment_frame a .subject_5, .treatment_wrapper .treatment_frame a .subject_6, .treatment_wrapper .treatment_frame a .subject_7, .treatment_wrapper .treatment_frame a .subject_8, .treatment_wrapper .treatment_frame a .subject_9, .treatment_wrapper .treatment_frame a .subject_10 {
    background-repeat: no-repeat;
    background-position: left center;
    background-size: auto;
  }
  .treatment_wrapper .treatment_frame a .subject_1 {
    background-image: url("../images/bg_treatment_01.jpg");
  }
  .treatment_wrapper .treatment_frame a .subject_2 {
    background-image: url("../images/bg_treatment_02.jpg");
  }
  .treatment_wrapper .treatment_frame a .subject_3 {
    background-image: url("../images/bg_treatment_03.jpg");
  }
  .treatment_wrapper .treatment_frame a .subject_4 {
    background-image: url("../images/bg_treatment_04.jpg");
  }
  .treatment_wrapper .treatment_frame a .subject_5 {
    background-image: url("../images/bg_treatment_05.jpg");
    padding: 0;
  }
  .treatment_wrapper .treatment_frame a .subject_6 {
    background-image: url("../images/bg_treatment_06.jpg");
    padding: 0;
  }
  .treatment_wrapper .treatment_frame a .subject_7 {
    background-image: url("../images/bg_treatment_07.jpg");
    padding: 0;
  }
  .treatment_wrapper .treatment_frame a .subject_8 {
    background-image: url("../images/bg_treatment_08.jpg");
    /*padding: 0;*/
  }
  .treatment_wrapper .treatment_frame a .subject_9 {
    background-image: url("../images/bg_treatment_09.jpg");
    /*padding: 0;*/
  }
  .treatment_wrapper .treatment_frame a .subject_10 {
    background-image: url("../images/bg_treatment_10.jpg");
    /*padding: 0;*/
  }
  .treatment_wrapper .treatment_frame .color_btn_empty {
    width: 344px;
    height: 86px;
  }
}
/* -----------------------------------------------------------
　cooperation
----------------------------------------------------------- */
.cooperation_wrapper {
  width: 90%;
  height: auto;
  padding: 3rem 0;
  margin: 0 auto;
  box-sizing: border-box;
}
.cooperation_wrapper h2 {
  margin: 0 auto 1.8rem !important;
}
.cooperation_wrapper ul.certificate {
  margin: 0;
}
@media print, screen and (min-width: 768px) {
  .cooperation_wrapper {
    padding: 70px 0;
    width: 1080px;
  }
  .cooperation_wrapper h2 {
    margin: 0 auto 3rem !important;
  }
  .cooperation_wrapper h2::after {
    content: "- Cooperation -";
  }
  .cooperation_wrapper ul.certificate {
    display: flex;
    flex-wrap: wrap;
  }
  .cooperation_wrapper ul.certificate li {
    width: 47%;
  }
}

/* -----------------------------------------------------------
　ボタンモジュール
----------------------------------------------------------- */
a {
  text-decoration: none;
}
a .color_btn {
  font-size: 1.6rem;
  font-weight: bold;
  color: #FFFFFF;
  display: flex;
  justify-content: center;
  align-items: center;
  background: url("../images/arrow.png"), #46dbcc;
  background-repeat: no-repeat;
  background-position: 95%;
  border-radius: 0.8rem;
  padding: 1rem 1.4rem;
}

@media print, screen and (min-width: 768px) {
  a {
    text-decoration: none;
  }
  a .color_btn {
    font-size: 2.4rem;
    font-weight: bold;
    color: #FFFFFF;
    display: flex;
    justify-content: center;
    align-items: center;
    background: url("../images/arrow.png"), #46dbcc;
    background-repeat: no-repeat;
    background-position: 95%;
    border-radius: 8px;
  }
  a .color_btn:hover {
    opacity: 0.7;
  }
}
.text_link {
  color: #009999;
}
.text_link::after {
  font-family: "fontello";
  content: "\f006";
  font-style: normal;
  font-weight: normal;
  display: inline-block;
  margin-left: 0.5em;
}

@media print, screen and (min-width: 768px) {
  .text_link:hover {
    opacity: 0.6;
  }
}
/* -----------------------------------------------------------
　医院概要
----------------------------------------------------------- */
.overview_bg {
  background-color: #f7f7f7;
  width: 100%;
  margin: 0 auto;
  padding: 2rem 0 0 0;
}
.overview_bg .overview {
  padding: 0 0 3rem 0;
  margin: 0 auto;
  width: 100%;
}
.overview_bg .overview figure img {
  width: 80%;
  margin: 0 auto;
  display: block;
}
.overview_bg .overview .overview_frame {
  display: block;
  width: 100%;
  margin: 2rem auto 0;
}
.overview_bg .overview .overview_frame .overview_frame_left, .overview_bg .overview .overview_frame .overview_frame_right {
  margin: 0 auto;
  width: 96%;
}
.overview_bg .overview .overview_frame .overview_frame_left dl, .overview_bg .overview .overview_frame .overview_frame_right dl {
  font-size: 0;
  width: 100%;
  margin: 0 0 1rem 0;
  display: flex;
  flex-wrap: wrap;
}
.overview_bg .overview .overview_frame .overview_frame_left dl dt, .overview_bg .overview .overview_frame .overview_frame_right dl dt {
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: left;
  padding: 0.6rem 0;
  box-sizing: border-box;
  border-bottom: 0.1rem #cccccc solid;
  border-top: 0;
  width: 30%;
  height: auto;
}
.overview_bg .overview .overview_frame .overview_frame_left dl dt p, .overview_bg .overview .overview_frame .overview_frame_right dl dt p {
  color: #009999;
  font-size: 1.2rem;
  text-align: center;
  margin: 0 0 0 0.6rem;
  font-weight: bold;
}
.overview_bg .overview .overview_frame .overview_frame_left dl dt:first-of-type, .overview_bg .overview .overview_frame .overview_frame_right dl dt:first-of-type {
  border-top: 0.1rem #cccccc solid;
}
.overview_bg .overview .overview_frame .overview_frame_left dl dd, .overview_bg .overview .overview_frame .overview_frame_right dl dd {
  display: -webkit-flex;
  display: flex;
  align-items: center;
  color: #444444;
  font-size: 1.2rem;
  margin: 0;
  padding: 0.6rem 0;
  box-sizing: border-box;
  border-bottom: 0.1rem #cccccc solid;
  border-top: 0;
  width: 70%;
  height: auto;
  line-height: 1.6;
  /*a{
       	text-decoration: none;
  font-weight: bold;
  font-size: 2rem;
  color: $color_3;
       }*/
}
.overview_bg .overview .overview_frame .overview_frame_left dl dd:first-of-type, .overview_bg .overview .overview_frame .overview_frame_right dl dd:first-of-type {
  border-top: 0.1rem #46dbcc solid;
}
.overview_bg .overview .overview_frame .overview_frame_left dl dd.wide, .overview_bg .overview .overview_frame .overview_frame_right dl dd.wide {
  border-bottom: none;
  padding: 1rem 0 0;
  width: 100%;
}
.overview_bg .overview .overview_frame .overview_frame_left .cont_right p.tel, .overview_bg .overview .overview_frame .overview_frame_right .cont_right p.tel {
  display: none;
}
.overview_bg .overview .overview_frame .overview_frame_right {
  box-sizing: border-box;
  padding: 1.8rem 0;
  display: block;
}
.overview_bg .overview .overview_frame .overview_frame_right iframe {
  width: 100%;
  height: 31.5rem;
}
.overview_bg .overview .overview_frame .overview_frame_right .cont_right {
  box-sizing: border-box;
  padding: 0;
}
.overview_bg .overview .overview_frame .overview_frame_right .cont_right .illustmap_wrapper {
  width: 100%;
  box-sizing: border-box;
  width: 100%;
}
.overview_bg .overview .overview_frame .overview_frame_right .cont_right .illustmap_wrapper img {
  width: 100%;
}

@media print, screen and (min-width: 768px) {
  .overview_bg {
    background-color: #f7f7f7;
    width: 100%;
    margin: 0 auto;
    padding: 50px 0 0 0;
  }
  .overview_bg .overview {
    padding: 0 0 54px 0;
    margin: 0 auto;
    width: 1080px;
  }
  .overview_bg .overview figure img {
    width: 384px;
    margin: 0 auto;
    display: block;
  }
  .overview_bg .overview .overview_frame {
    display: block;
    width: 1080px;
    margin: 36px auto 0;
  }
  .overview_bg .overview .overview_frame .overview_frame_left, .overview_bg .overview .overview_frame .overview_frame_right {
    margin: 0;
    width: 100%;
  }
  .overview_bg .overview .overview_frame .overview_frame_left {
    box-sizing: border-box;
    padding: 0;
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
  }
  .overview_bg .overview .overview_frame .overview_frame_left dl {
    font-size: 0;
    width: 520px;
    margin: 0 0 40px 0;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .overview_bg .overview .overview_frame .overview_frame_left dl dt {
    display: -webkit-flex;
    display: flex;
    align-items: baseline;
    justify-content: left;
    padding: 13px 0;
    box-sizing: border-box;
    border-top: 0;
    border-bottom: 1px #cccccc solid;
    width: 20%;
    height: auto;
  }
  .overview_bg .overview .overview_frame .overview_frame_left dl dt:first-of-type {
    border-top: 1px #cccccc solid;
  }
  .overview_bg .overview .overview_frame .overview_frame_left dl dt p {
    color: #009999;
    font-size: 1.6rem;
    text-align: left;
    margin: 0 0 0 12px;
    font-weight: bold;
  }
  .overview_bg .overview .overview_frame .overview_frame_left dl dd {
    display: -webkit-flex;
    display: flex;
    align-items: center;
    color: #444444;
    font-size: 1.6rem;
    line-height: 1.6;
    margin: 0;
    padding: 13px 0;
    box-sizing: border-box;
    border-top: 0;
    border-bottom: 1px #cccccc solid;
    width: 80%;
    height: auto;
  }
  .overview_bg .overview .overview_frame .overview_frame_left dl dd:first-of-type {
    border-top: 1px #cccccc solid;
  }
  .overview_bg .overview .overview_frame .overview_frame_left dl dd.wide {
    padding: 20px 0 0;
  }
  .overview_bg .overview .overview_frame .overview_frame_left .cont_right {
    width: 50%;
    box-sizing: border-box;
    padding: 0 0 0 40px;
  }
  .overview_bg .overview .overview_frame .overview_frame_left .cont_right p.tel {
    display: block;
    color: #009999;
    font-weight: bold;
    font-size: 2.6rem;
    text-align: center;
    margin: 0 0 28px 0;
  }
  .overview_bg .overview .overview_frame .overview_frame_left .cont_right p.tel a {
    color: #009999;
  }
  .overview_bg .overview .overview_frame .overview_frame_left .cont_right .table_wrapper table.timetable tr th {
    padding: 11px 0;
  }
  .overview_bg .overview .overview_frame .overview_frame_left .cont_right .table_wrapper table.timetable tr td {
    padding: 14px 7px;
  }
  .overview_bg .overview .overview_frame .overview_frame_right {
    box-sizing: border-box;
    padding: 0;
    display: flex;
  }
  .overview_bg .overview .overview_frame .overview_frame_right iframe {
    width: 520px;
    height: 415px;
    padding: 0 40px 0 0;
  }
  .overview_bg .overview .overview_frame .overview_frame_right .cont_right {
    box-sizing: border-box;
  }
  .overview_bg .overview .overview_frame .overview_frame_right .cont_right .illustmap_wrapper {
    width: 520px;
    box-sizing: border-box;
    width: 100%;
  }
  .overview_bg .overview .overview_frame .overview_frame_right .cont_right .illustmap_wrapper img {
    width: 100%;
  }
}
/* -----------------------------------------------------------
　フッター
----------------------------------------------------------- */
footer {
  margin-bottom: 4.5rem;
}
footer .footer_wrapper {
  display: none;
}
footer .copyright {
  text-align: center;
  height: auto;
  margin: 0;
  padding: 0.8rem 1rem;
  border-bottom: 0.16rem #FFFFFF solid;
}
footer .copyright a {
  text-decoration: none;
  font-size: 1.1rem;
  color: #404040;
}

@media print, screen and (min-width: 768px) {
  footer {
    margin-bottom: 0;
    background-color: #f7f7f7;
    width: 100%;
    height: auto;
    padding: 0 0 73px 0;
    margin: 0;
    box-sizing: border-box;
  }
  footer .footer_wrapper {
    width: 100%;
    margin: 0 auto;
    padding: 30px 0 18px;
    display: block;
    border-bottom: 1px #cccccc solid;
  }
  footer .footer_wrapper .footer_frame {
    display: block;
    width: auto;
    height: auto;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
  }
  footer .footer_wrapper .footer_frame ul {
    text-align: center;
    margin: 0 0 12px 0;
  }
  footer .footer_wrapper .footer_frame ul li {
    display: inline-block;
    padding: 0 10px;
    border-right: 1px #222222 solid;
    margin: 0;
  }
  footer .footer_wrapper .footer_frame ul li:first-child {
    border-left: 1px #222222 solid;
  }
  footer .footer_wrapper .footer_frame ul li a {
    color: #404040;
    font-size: 1.6rem;
    text-decoration: none;
  }
  footer .footer_wrapper .footer_frame ul li a:hover {
    opacity: 0.6;
  }
  footer .copyright {
    height: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0;
    padding: 30px 0 20px 0;
    border-bottom: 0;
    background-color: #f7f7f7;
  }
  footer .copyright a {
    text-decoration: none;
    font-size: 1.4rem;
    margin: 0;
    color: #404040;
  }
}
/* -----------------------------------------------------------
　フローティングメニュー
----------------------------------------------------------- */
#fixedMenu {
  width: 100%;
  height: 4.5rem;
  position: fixed;
  bottom: 0;
  z-index: 999999;
  padding: 0;
  margin: 0;
  box-sizing: border-box;
  background-color: #FFFFFF;
}
#fixedMenu .fixir {
  width: 100%;
  margin: 0 auto;
  display: flex;
}
#fixedMenu .fixir .btn_contact, #fixedMenu .fixir .btn_reserve, #fixedMenu .fixir .btn_line {
  background-color: #46dbcc;
  width: 50%;
  height: 4.5rem;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 0;
}
#fixedMenu .fixir .btn_contact p, #fixedMenu .fixir .btn_reserve p, #fixedMenu .fixir .btn_line p {
  margin: 0;
}
#fixedMenu .fixir .btn_contact p a, #fixedMenu .fixir .btn_reserve p a, #fixedMenu .fixir .btn_line p a {
  text-decoration: none;
  color: #FFFFFF;
  font-size: 1.4rem;
  font-weight: normal;
  margin: 0;
}
#fixedMenu .fixir .btn_line {
  background-color: #00b900;
}
#fixedMenu .fixir a {
  text-decoration: none;
  color: #FFFFFF;
}
#fixedMenu .fixir a .btn_reserve {
  display: none;
  width: auto;
  background-color: #ff506e;
}
#fixedMenu .fixir a .btn_reserve p {
  color: #FFFFFF;
  font-size: 1.4rem;
  font-weight: normal;
  margin: 0;
}

@media print, screen and (min-width: 768px) {
  #fixedMenu {
    width: 100%;
    height: 7rem;
    position: fixed;
    bottom: 0;
    z-index: 999999;
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    background-color: #FFFFFF;
  }
  #fixedMenu .fixir {
    width: 1080px;
    margin: 0 auto;
    display: flex;
    justify-content: center;
  }
  #fixedMenu .fixir .btn_contact, #fixedMenu .fixir .btn_reserve, #fixedMenu .fixir .btn_line {
    background-color: #46dbcc;
    width: 50%;
    height: 7rem;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  #fixedMenu .fixir .btn_contact p, #fixedMenu .fixir .btn_reserve p, #fixedMenu .fixir .btn_line p {
    color: #FFFFFF;
    font-size: 2.6rem;
    font-weight: normal;
    margin: 0;
    padding: 0 3rem;
  }
  #fixedMenu .fixir .btn_line {
    background-color: #00b900;
  }
  #fixedMenu .fixir a {
    text-decoration: none;
    display: block;
  }
  #fixedMenu .fixir a:hover {
    opacity: 0.8;
  }
  #fixedMenu .fixir a .btn_reserve {
    display: none;
    background-color: #ff506e;
    margin: 0;
  }
  #fixedMenu .fixir a .btn_reserve p {
    font-size: 2.6rem;
  }
}
/* -----------------------------------------------------------
　ページトップへ
----------------------------------------------------------- */
#linkpagetop img {
  width: 4.5rem;
  height: 4.5rem;
  z-index: 99999;
}

#pagetop_position {
  position: fixed;
  bottom: 5rem;
  right: 0.5rem;
}

@media print, screen and (min-width: 768px) {
  #pagetop_position {
    margin: 0;
    position: fixed;
    bottom: 1rem;
    right: 1rem;
  }
  #linkpagetop img {
    width: 6.8rem;
    height: 6.8rem;
  }
  #pagetop {
    width: 6.8rem;
    height: 6.8rem;
    z-index: 99999;
  }
}
/*-----------------------------------------------------------
 クレジットカード
----------------------------------------------------------- */
div.money_box {
  display: block; /**/
  width: 100%; /**/
  margin: 3rem auto 0;
  justify-content: space-between;
  /*クレジットカード*/
}
div.money_box ul.card {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding: 1rem 0 0 2rem;
  justify-content: center;
  align-items: center; /* 子要素をflexboxにより中央に配置する */
  border: 1px #cccccc solid;
  background: #FFF;
}
div.money_box ul.card li {
  margin-right: 5%;
  margin-bottom: 2%;
  width: 22%;
  vertical-align: baseline;
}
div.money_box ul.card li img {
  width: 100%;
  height: auto;
}
div.money_box p {
  padding: 1rem;
  text-align: center;
  background: #FFF;
  border: 1px #cccccc solid;
}
div.money_box .left {
  width: 90%; /**/
  margin: 0 auto 1rem; /**/
  order: 1;
}
div.money_box .left p:first-child {
  margin-bottom: 1rem;
}
div.money_box .left p {
  margin-bottom: 0;
}
div.money_box .middle {
  width: 90%; /**/
  margin: 0 auto 1rem; /**/
  order: 2;
}
div.money_box .middle ul {
  padding: 2.7rem 0;
}
div.money_box .right {
  width: 90%; /**/
  margin: 0 auto 1rem; /**/
  order: 3;
}
div.money_box .right p:first-child {
  margin-bottom: 1rem;
}
div.money_box .right p {
  margin-bottom: 0;
}

p.card_text {
  width: 90%;
  margin: 0 auto 3rem;
}

/*クレジットカード*/
ul.card {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding: 1rem 0 0 2rem;
  justify-content: center;
  align-items: center; /* 子要素をflexboxにより中央に配置する */
  border: 1px #cccccc solid;
  background: #FFF;
}
ul.card li {
  margin-right: 5%;
  margin-bottom: 2%;
  width: 22%;
  vertical-align: baseline;
}
ul.card li img {
  max-width: 100%;
}

@media print, screen and (min-width: 768px) {
  div.money_box {
    display: flex;
    width: 1080px;
    margin: 0 auto 0rem;
  }
  div.money_box .left {
    width: 340px;
  }
  div.money_box .left p:first-child {
    margin-bottom: 4rem;
  }
  div.money_box .middle {
    width: 340px;
  }
  div.money_box .right {
    width: 340px;
  }
}
.bnr_wrap figure:not(:first-of-type) {
  margin: 1.5rem 0 0;
}
@media print, screen and (min-width: 768px) {
  .bnr_wrap figure:not(:first-of-type) {
    margin: 3rem 0 0;
  }
}
.bnr_wrap figure img {
  max-width: 100%;
  height: auto;
}
.bnr_wrap figure figcaption {
  margin: 0.5rem 0 0;
}
@media print, screen and (min-width: 768px) {
  .bnr_wrap figure figcaption {
    margin: 1rem 0 0;
  }
}

#open-chatbot {
  position: fixed;
  bottom: 8rem;
  right: 0;
  background: url("../images/fixed_ai_pc.png") no-repeat center center;
  background-size: contain; /* 画像全体をボタン内に収める */
  width: 320px;
  height: 85px;
  border: none;
  display: block;
  cursor: pointer;
  text-indent: -9999px;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  #open-chatbot {
    width: 240px;
    height: 68px;
    right: 6rem;
    bottom: 5rem;
  }
}

/*-----------------------------------------------------------
 インポート
----------------------------------------------------------- */
/*ハンバーガー*/
.drawr {
  display: none;
  position: absolute;
  top: 23vw;
  width: 100%;
  padding: 0;
  margin: 0 auto;
  height: auto;
  z-index: 999999;
  background-color: #2dc8c3;
  opacity: 0.9;
}
.drawr p {
  color: #009999;
  font-size: 1.2rem;
  text-align: center;
  padding: 1.8rem 0;
  background-color: #ffffff;
  margin: 0;
}
.drawr ul.hbg {
  list-style: none;
}
.drawr ul.hbg li {
  text-align: center;
  width: 100% !important;
  border-bottom: #ffffff 1px dashed;
}
.drawr ul.hbg li a {
  color: #ffffff;
  font-size: 1.2rem;
  text-decoration: none;
  padding: 1.6rem 0;
  display: block;
}
.drawr ul.hbg li a br {
  display: none;
}
.drawr ul.hbg li a i {
  display: none;
}
.drawr ul.hbg li:last-child {
  border-bottom: 0;
}

.openNav {
  display: block;
}

/*ハンバーガーナビ*/
.main_nav_sp {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
}
.main_nav_sp ul.gnav {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-flex-direction: column;
  flex-direction: column;
  width: 100%;
  box-sizing: border-box;
  margin: 0 auto;
}
.main_nav_sp ul.gnav li {
  width: 100%;
  font-weight: normal;
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  line-height: 140%;
  list-style-type: none;
  box-sizing: border-box;
  padding: 0;
  border-bottom: #ffffff 1px solid;
  text-align: center;
}
.main_nav_sp ul.gnav li a {
  color: #ffffff;
  text-decoration: none;
  width: 100%;
  display: block;
  padding: 1rem 0;
  text-shadow: none;
  box-sizing: border-box;
}

.toggle {
  display: none;
}

.toggle-label {
  box-sizing: border-box;
  cursor: pointer;
  display: block;
  width: 100%;
  height: 4rem;
  padding: 0;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
}

.toggle-label:active {
  -webkit-tap-highlight-color: transparent;
}

.toggle-label .toggle-icon,
.toggle-label .toggle-icon:before,
.toggle-label .toggle-icon:after {
  position: relative;
  display: block;
  top: 50%;
  left: 50%;
  height: 4px;
  width: 3.6rem;
  background: #ffffff;
  content: "";
  transition: all 300ms ease-in-out;
}

.toggle-label .toggle-text {
  position: relative;
  display: block;
  top: calc(100% - 0.8rem);
  font-size: 1rem;
  color: #ffffff;
  text-align: center;
}

.toggle-label .toggle-text:before {
  position: absolute;
  width: 100%;
  left: 0;
  content: "MENU";
  transition: all 500ms ease-in-out;
  visibility: visible;
  opacity: 1;
}

.toggle-label .toggle-text:after {
  position: absolute;
  width: 100%;
  left: 0;
  content: "CLOSE";
  transition: all 500ms ease-in-out;
  visibility: hidden;
  opacity: 0;
}

.toggle-label .toggle-icon {
  transform: translate3d(-50%, -5px, 0);
}

.toggle-label .toggle-icon:before {
  transform: translate3d(-50%, -11.5px, 0);
}

.toggle-label .toggle-icon:after {
  transform: translate3d(-50%, 5px, 0);
}

.toggle:checked ~ .toggle-label .toggle-icon {
  background-color: transparent;
}

.toggle:checked ~ .toggle-label .toggle-icon:before,
.toggle:checked ~ .toggle-label .toggle-icon:after {
  top: 0;
}

.toggle:checked ~ .toggle-label .toggle-icon:before {
  transform: translateX(-50%) rotate(45deg);
  top: 1.5px;
}

.toggle:checked ~ .toggle-label .toggle-icon:after {
  transform: translateX(-50%) translateY(-10px) rotate(-45deg);
  top: 8.5px;
}

.toggle:checked ~ .toggle-label .toggle-text:before {
  visibility: hidden;
  opacity: 0;
}

.toggle:checked ~ .toggle-label .toggle-text:after {
  visibility: visible;
  opacity: 1;
}

.container {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 5rem;
  height: 5rem;
  position: absolute;
  cursor: pointer;
  top: 0;
  right: 0;
  padding: 0 0 0.6rem 0;
  background-color: #46dbcc;
  border-radius: 0;
  box-sizing: border-box;
}

@media print, screen and (min-width: 768px) {
  .main_nav_sp {
    display: none;
  }
}
/*アサイド*/
/* -----------------------------------------------------------
　アサイド
----------------------------------------------------------- */
/*SP*/
aside {
  display: none;
}

@media print, screen and (min-width: 768px) {
  aside {
    display: inline;
    width: 26rem;
    height: auto;
    margin: 0;
    /*メニュー下のバナー*/
  }
  aside div ul {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-flex-direction: column;
    flex-direction: column;
    list-style-type: none;
  }
  aside div ul li {
    box-sizing: border-box;
    text-align: left;
    margin: 0 auto;
    width: 100%;
    padding: 0 0.8rem;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 7rem;
    border-radius: 0.4rem;
    margin: 0 0 1rem 0;
    background-color: #FFFFFF;
  }
  aside div ul li a {
    width: 100%;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    text-decoration: none;
    font-size: 2.2rem;
    font-weight: bold;
    box-sizing: border-box;
  }
  aside div ul li:nth-of-type(-n+2) {
    border: 0.2rem #fd8960 solid;
  }
  aside div ul li:nth-of-type(-n+2) a {
    color: #fd8960;
  }
  aside div ul li:nth-child(n+3):not(:nth-child(n+5)) {
    border: 0.2rem #fd828c solid;
  }
  aside div ul li:nth-child(n+3):not(:nth-child(n+5)) a {
    color: #fd828c;
  }
  aside div ul li:nth-child(n+5):not(:nth-child(n+7)) {
    border: 0.2rem #f385c9 solid;
  }
  aside div ul li:nth-child(n+5):not(:nth-child(n+7)) a {
    color: #f385c9;
  }
  aside .banner {
    margin: 0;
  }
  aside .banner a {
    text-decoration: none;
  }
  aside .banner a figure {
    margin: 4rem auto 0;
    text-align: center;
  }
  aside .banner a figure:hover {
    opacity: 0.7;
  }
}
/*イメージ*/
/* -----------------------------------------------------------
　イメージ
----------------------------------------------------------- */
.img_right, .img_right_w250 {
  margin: 0 0 10px 0;
  text-align: center;
}
.img_right img, .img_right_w250 img {
  width: 70%;
  height: auto;
}

.img_doctor, .img_staff {
  margin: 0 0 10px 0;
  text-align: center;
}
.img_doctor img, .img_staff img {
  width: 75%;
  height: auto;
}

.img_center {
  margin: 0 0 10px 0;
  text-align: center;
}
.img_center img {
  width: 65%;
  height: auto;
}
.img_center.-top_bnr {
  margin-top: 40px;
}
.img_center.-top_bnr img {
  width: 90%;
}
.img_center.-top_bnr p {
  margin-top: 0.5rem;
}

/*画像右*/
.img_right_frame {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-flex-direction: column;
  flex-direction: column;
  margin: 0 0 1rem 0;
}
.img_right_frame div.right {
  order: 1;
  width: 100%;
  text-align: center;
}
.img_right_frame div.right img {
  width: 80%;
  height: auto;
  margin: 0 0 1rem 0;
}
.img_right_frame div.left {
  order: 2;
  width: 100%;
}
.img_right_frame div.left .doctor_name {
  text-align: right;
}

/*画像左*/
.img_left_frame {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-flex-direction: column;
  flex-direction: column;
  margin: 0 0 1rem 0;
}
.img_left_frame div.left {
  order: 1;
  width: 100%;
  text-align: center;
}
.img_left_frame div.left img {
  width: 80%;
  height: auto;
  margin: 0 0 1rem 0;
}
.img_left_frame div.right {
  order: 2;
  width: 100%;
  line-height: 120%;
}

/*二つ*/
.img_two {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-flex-direction: column;
  flex-direction: column;
}
.img_two figure {
  margin: 0 0 2rem 0;
}
.img_two figure img {
  width: 90%;
  margin: 0 auto 1.2rem auto;
  display: block;
}
.img_two figure figcaption {
  text-align: center;
  font-size: 1.4rem;
}

.top_doctor_name {
  font-size: 1.5rem;
  text-align: right;
}
.top_doctor_name span {
  font-size: 1.8rem;
}

.doctor_name2 {
  text-align: right;
}

@media print, screen and (min-width: 768px) {
  .img_right {
    float: right;
    margin: 0 0 10px 10px;
  }
  .img_right img {
    width: 350px;
    height: auto;
  }
  .img_right_w250 {
    float: right;
    margin: 0 0 10px 10px;
  }
  .img_right_w250 img {
    width: 250px;
    height: auto;
  }
  .img_doctor {
    float: right;
    margin: 0 0 1rem 1.8rem;
  }
  .img_doctor img {
    width: 400px;
    height: auto;
  }
  .img_staff {
    float: right;
    margin: 0 0 1rem 1.8rem;
  }
  .img_staff img {
    width: 120px;
    height: auto;
  }
  .img_center {
    float: none;
    margin: 0 0 10px 10px;
    text-align: center;
  }
  .img_center img {
    width: auto;
    height: auto;
  }
  .img_center.-top_bnr img {
    width: auto;
  }
  /*画像右*/
  .img_right_frame {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-flex-direction: row;
    flex-direction: row;
    margin: 0 0 3rem 0;
  }
  .img_right_frame div.right {
    order: 2;
    width: 350px;
    text-align: center;
  }
  .img_right_frame div.right img {
    width: 350px;
    height: auto;
    margin: 0;
  }
  .img_right_frame div.left {
    order: 1;
    width: 445px;
    line-height: 120%;
  }
  .img_right_frame div.left .doctor_name {
    text-align: right;
  }
  /*画像左*/
  .img_left_frame {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-flex-direction: row;
    flex-direction: row;
    margin: 0 0 0 0;
  }
  .img_left_frame div.left {
    order: 1;
    width: 350px;
    text-align: left;
  }
  .img_left_frame div.left img {
    width: 350px;
    height: auto;
    margin: 10px 0;
  }
  .img_left_frame div.right {
    order: 2;
    width: 445px;
    line-height: 120%;
  }
  /*二つ*/
  .img_two {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-flex-direction: row;
    flex-direction: row;
    flex-wrap: wrap;
  }
  .img_two figure {
    margin: 0 0 2.4rem 0;
  }
  .img_two figure img {
    width: 50rem;
    margin: 0 auto 1.2rem auto;
    display: block;
  }
  .img_two figure figcaption {
    text-align: center;
    font-size: 1.6rem;
  }
  .top_doctor_name {
    font-size: 1.8rem;
    text-align: right;
  }
  .top_doctor_name span {
    font-size: 2.2rem;
  }
}
.img_bnr img {
  width: 100%;
  height: auto;
}

@media print, screen and (min-width: 768px) {
  .img_bnr img {
    width: auto;
    height: auto;
  }
}
/*リスト*/
/* -----------------------------------------------------------
　リスト
----------------------------------------------------------- */
ul li {
  font-size: 1.2rem;
}
@media print, screen and (min-width: 768px) {
  ul li {
    font-size: 1.6rem;
  }
}

/*標準*/
ul.list_normal {
  line-height: 160%;
  list-style-type: disc;
  margin: 0;
}
ul.list_normal li {
  margin: 0 0 10px 1.8rem;
  padding: 0;
}

ul.certificate {
  margin: 0 0 1.8rem 0;
  list-style-type: none;
}
ul.certificate li {
  position: relative;
  line-height: 2;
  padding-left: 1.6em;
}
ul.certificate li:before {
  content: "";
  width: 10px;
  height: 10px;
  display: inline-block;
  background-color: #46dbcc;
  border-radius: 50%;
  position: absolute;
  top: 0.7em;
  left: 0;
}
@media print, screen and (min-width: 768px) {
  ul.certificate {
    margin: 0 0 2.8rem 0;
  }
}

ul.certificate_inline {
  margin: 0 0 1.8rem 0;
  list-style-type: none;
}
ul.certificate_inline li {
  position: relative;
  line-height: 2;
  padding-left: 1.6em;
  padding-right: 3rem;
  display: inline-block;
}
ul.certificate_inline li:before {
  content: "";
  width: 10px;
  height: 10px;
  display: inline-block;
  background-color: #46dbcc;
  border-radius: 50%;
  position: absolute;
  top: 0.7em;
  left: 0;
}
@media print, screen and (min-width: 768px) {
  ul.certificate_inline {
    margin: 0 0 2.8rem 0;
  }
}

/*画像●*/
ul.list_maru {
  padding: 0;
  margin: 0;
}
ul.list_maru li {
  line-height: 130%;
  list-style-type: none;
  margin: 0 0 10px 0;
  box-sizing: border-box;
  background: url(../images/maru.gif) no-repeat;
  background-position: left top 0.6rem;
  background-size: 1rem;
  padding: 0 0 0 1.8rem;
  line-height: 140%;
}
ul.list_maru li ul {
  margin: 0.8rem 0 0 0;
}
ul.list_maru li ul li {
  background: none;
  list-style-type: disc;
  margin: 0 0 10px 2rem;
  padding: 0 0 0 0;
}

ul.list_maru_two {
  padding: 0;
  margin: 0;
}
ul.list_maru_two li {
  line-height: 130%;
  list-style-type: none;
  margin: 0 0 10px 0;
  box-sizing: border-box;
  background: url(../images/maru.gif) no-repeat;
  background-position: left top 0.6rem;
  background-size: 1rem;
  padding: 0 0 0 1.8rem;
  line-height: 140%;
}

/*なし*/
ul.list_none {
  line-height: 160%;
  list-style-type: none;
  margin: 0;
}
ul.list_none li {
  margin: 0 0 15px 0;
  padding-left: 1.3em;
  text-indent: -1.3em;
}
ul.list_none li span {
  color: #fedc50;
  margin: 0 0.5rem 0 0;
}

/*数値*/
ul.list_num {
  box-sizing: border-box;
  width: 100%;
}
ul.list_num li {
  line-height: 130%;
  list-style-type: decimal;
  margin: 0 0 10px 2rem;
  box-sizing: border-box;
  width: 90%;
}
ul.list_num li a {
  text-decoration: none;
}

/*概要*/
ul.list_overview {
  box-sizing: border-box;
  width: 100%;
}
ul.list_overview li {
  line-height: 130%;
  list-style-type: disc;
  margin: 0 0 10px 25px;
  box-sizing: border-box;
  width: 90%;
}

/*2列*/
ul.list_normal_two {
  display: flex;
  justify-content: space-between;
  flex-direction: column;
}
ul.list_normal_two li {
  box-sizing: border-box;
  line-height: 130%;
  list-style-type: disc;
  margin: 0 0 10px 25px;
}

@media print, screen and (min-width: 768px) {
  /*標準*/
  ul.list_normal {
    line-height: 160%;
    list-style-type: disc;
    margin: 0;
  }
  ul.list_normal li {
    margin: 0 0 15px 25px;
    padding: 0;
  }
  /*画像●*/
  ul.list_maru {
    padding: 0;
  }
  ul.list_maru li {
    line-height: 100%;
    list-style-type: none;
    margin: 0 0 15px 0;
    box-sizing: border-box;
    background: url(../images/maru.gif) no-repeat;
    background-position: left top 3px;
    background-size: 1.5rem;
    padding: 0 0 0 25px;
    line-height: 140%;
  }
  ul.list_maru li ul {
    margin: 0.8rem 0 0 0;
  }
  ul.list_maru li ul li {
    background: none;
    list-style-type: disc;
    margin: 0 0 10px 2.6rem;
    padding: 0 0 0 0;
  }
  ul.list_maru_two {
    padding: 0;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  ul.list_maru_two li {
    width: 45%;
    line-height: 100%;
    list-style-type: none;
    margin: 0 0 15px 0;
    box-sizing: border-box;
    background: url(../images/maru.gif) no-repeat;
    background-position: left top 3px;
    background-size: 1.5rem;
    padding: 0 0 0 25px;
    line-height: 140%;
  }
  /*なし*/
  ul.list_none {
    line-height: 160%;
    list-style-type: none;
  }
  ul.list_none li {
    margin: 0 0 15px 0;
  }
  ul.list_none li span {
    color: #fedc50;
    margin: 0 5px 0 0;
  }
  /*数値*/
  ul.list_num {
    box-sizing: border-box;
    width: 100%;
  }
  ul.list_num li {
    line-height: 130%;
    list-style-type: decimal;
    margin: 0 0 10px 25px;
    box-sizing: border-box;
    width: 90%;
  }
  ul.list_num li a {
    text-decoration: none;
  }
  ul.list_num li a:hover {
    opacity: 0.8;
  }
  /*概要*/
  ul.list_overview li {
    line-height: 130%;
    list-style-type: disc;
    margin: 0 0 10px 25px;
  }
  ul.list_normal_two {
    display: flex;
    justify-content: space-between;
    flex-direction: row;
    flex-wrap: wrap;
  }
  ul.list_normal_two li {
    width: 45%;
    box-sizing: border-box;
    line-height: 130%;
    list-style-type: disc;
    margin: 0 0 10px 25px;
  }
}
/* -----------------------------------------------------------
　定義リスト
----------------------------------------------------------- */
dl.bio_list {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  font-size: 1.2rem;
  box-sizing: border-box;
  margin: 0 0 20px 0;
  line-height: 120%;
}
dl.bio_list dt {
  width: 100%;
  margin: 0 0 0 0;
  font-weight: bold;
}
dl.bio_list dd {
  width: 100%;
  margin: 0 0 20px 0;
}

dl.book_list {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  font-size: 1.2rem;
  box-sizing: border-box;
  margin: 0 0 20px 0;
  line-height: 120%;
}
dl.book_list dt {
  width: 100%;
  margin: 0 0 1rem 0;
  font-weight: bold;
}
dl.book_list dd {
  width: 100%;
  margin: 0 0 2rem 0;
}

@media print, screen and (min-width: 768px) {
  dl.bio_list {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    font-size: 1.6rem;
    box-sizing: border-box;
    line-height: 140%;
    width: 825px;
  }
  dl.bio_list dt {
    width: 100px;
    margin: 0 0 20px 0;
    font-weight: normal;
  }
  dl.bio_list dd {
    width: 725px;
    margin: 0 0 20px 0;
  }
  dl.book_list {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    font-size: 1.6rem;
    box-sizing: border-box;
    margin: 0 0 20px 0;
    line-height: 120%;
  }
  dl.book_list dt {
    width: 100%;
    margin: 0 0 1rem 0;
    font-weight: bold;
  }
  dl.book_list dd {
    width: 100%;
    margin: 0 0 4rem 0;
  }
}
/*見出し*/
h2 {
  clear: both;
}
h2.top {
  font-family: "Kosugi Maru", sans-serif;
  font-size: 2.4rem;
  font-weight: normal;
  text-align: center;
  margin: 0 auto;
}
h2.top::after {
  font-size: 1.2rem;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-weight: normal;
  display: block;
  margin: 0.6rem 0 0 0;
  color: #46dbcc;
}
h2.low {
  position: relative;
  margin: 0 0 3rem 0;
}
h2.low::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -1.4rem;
  display: inline-block;
  width: 5rem;
  height: 0.3rem;
  -moz-transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translate(-50%);
  background-color: #46dbcc;
}

h3 {
  clear: both;
  color: #009999;
  font-family: "Kosugi Maru", sans-serif;
  font-size: 2rem;
  font-weight: normal;
  padding: 0 0 0.4rem 1rem;
  margin: 0 0 2rem 0;
  border-bottom: 0.1rem #009999 solid;
}
h3.col_r {
  color: #ff0000;
  border-bottom: 0.1rem #ff0000 solid;
}

h4 {
  color: #009999;
  font-family: "Kosugi Maru", sans-serif;
  font-weight: normal;
  font-size: 1.8rem;
  padding: 0;
  margin: 0 0 1.8rem 0;
}
h4::before {
  content: "";
  width: 2.4rem;
  height: 2.4rem;
  background: url("../images/round.png") no-repeat center center;
  background-size: 90%;
  display: inline-block;
  margin: 0 0.6rem 0 0;
  vertical-align: top;
}

h5 {
  color: #222222;
  font-weight: normal;
  font-size: 1.7rem;
  margin: 2rem 0 1.6rem 0;
}

p {
  font-size: 1.2rem;
  margin: 0 0 2rem 0;
  line-height: 1.4;
}

@media print, screen and (min-width: 768px) {
  h2.top {
    font-family: "Kosugi Maru", sans-serif;
    font-size: 4rem;
    font-weight: normal;
    text-align: center;
  }
  h2.top::after {
    font-size: 1.4rem;
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    font-weight: normal;
    display: block;
    margin: 0.8rem 0 0 0;
    color: #46dbcc;
  }
  h2.low {
    position: relative;
  }
  h2.low::before {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -1.4rem;
    display: inline-block;
    width: 5rem;
    height: 0.3rem;
    -moz-transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translate(-50%);
    background-color: #46dbcc;
  }
  h3 {
    color: #009999;
    font-family: "Kosugi Maru", sans-serif;
    font-size: 3rem;
    font-weight: normal;
    padding: 0 0 0.8rem 1rem;
    margin: 0 0 2rem 0;
    border-bottom: 0.1rem #009999 solid;
  }
  h3.col_r {
    color: #ff0000;
    border-bottom: 0.1rem #ff0000 solid;
  }
  h4 {
    color: #009999;
    font-family: "Kosugi Maru", sans-serif;
    font-weight: normal;
    font-size: 2.4rem;
    padding: 0;
    margin: 0 0 1.8rem 0;
  }
  h4::before {
    content: "";
    width: 2.6rem;
    height: 2.6rem;
    background: url("../images/round.png") no-repeat center bottom;
    display: inline-block;
    margin: 0 0.8rem 0 0.3rem;
    vertical-align: top;
  }
  h5 {
    color: #222222;
    font-weight: normal;
    font-size: 2rem;
    margin: 2.4rem 0 1.8rem 0;
  }
  p {
    font-size: 1.6rem;
    margin: 0 0 2rem 0;
    line-height: 1.6;
  }
}
/*下層*/
/* 下層共通 */
.low .mt30 {
  margin-top: 3rem;
}
.low .mt40 {
  margin-top: 4rem;
}
.low .wrapper {
  background-color: #FFFFFF;
}
.low figure img.machine {
  display: block;
  margin: 0 auto 2rem;
  width: 80%;
}
.low a.navi {
  text-decoration: none;
  color: #ff506e;
}
.low a.navi p {
  margin: -1.4rem 0 3rem 0;
  text-align: left;
  font-size: 1.6rem;
}
.low a.navi p::before {
  content: "⇒";
  display: inline-block;
}
.low a.web_link {
  text-decoration: none;
  display: block;
  text-align: center;
}
.low a.web_link .btn_link {
  background-color: #2dc8c3;
  color: #FFFFFF;
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
  padding: 1.2rem 4rem;
  display: inline-block;
  background-image: url("../images/arrow.png");
  background-position: right 1rem center;
  background-repeat: no-repeat;
}
.low .main p {
  line-height: 1.6;
}
.low .main p.txt_right {
  display: block;
  text-align: right;
}
.low p {
  font-size: 1.2rem;
}
.low p.down {
  text-align: center;
  font-size: 2rem;
  color: #009999;
  margin: 1rem 0;
}
.low p.etc {
  margin: -1.8rem 0 2rem 0;
}
.low p.stit {
  font-weight: bold;
  margin: 2rem 0 0 0;
  font-size: 1.6rem;
}
.low ul li {
  font-size: 1.2rem;
}
.low ul.about {
  width: 96%;
  margin: 0 auto;
  list-style: disc;
  list-style-position: inside;
}
.low ul.about li {
  font-size: 1.2rem;
}
.low dl.smp {
  font-size: 1.3rem;
  display: block;
}
.low dl.smp dt, .low dl.smp dd {
  width: 100%;
  padding: 1rem;
  box-sizing: border-box;
}
.low dl.smp dt {
  color: #FFFFFF;
  font-weight: bold;
  background-color: #2dc8c3;
  display: flex;
  justify-content: center;
  align-items: center;
}
.low dl.smp dd {
  color: #404040;
  border-left: 0.1rem #009999 solid;
  border-right: 0.1rem #009999 solid;
  line-height: 1.8;
}
.low dl.smp dd:last-of-type {
  border-bottom: 0.1rem #009999 solid;
}
.low dl.smp dd.tel a {
  text-decoration: none;
  color: #009999;
  font-size: 2rem;
}
.low .table_wrap {
  overflow-x: scroll;
}
.low .table_wrap table {
  width: 100%;
  min-width: 800px;
  border-collapse: collapse;
}
.low .table_wrap table td {
  width: 25%;
}
.low .table_wrap table.schedule td {
  width: 10%;
}
.low .table_wrap table.schedule td:first-of-type {
  white-space: wrap;
}
.low .table_wrap table.schedule td.vaccine {
  background: #ffcc99;
}
.low .table_wrap table.schedule td.first {
  background: #dae9f8;
}
.low .table_wrap table.schedule td.second {
  background: #ffff99;
}
.low .table_wrap table.schedule td.third {
  background: #daf2d0;
}
.low table.price {
  width: 100%;
  box-sizing: border-box;
  margin: 0 auto 1.4rem;
  word-break: break-all;
}
.low table.price tr th, .low table.price tr td {
  font-size: 1.2rem;
  padding: 1rem 0.4rem;
}
.low table.price tr th {
  background-color: #009999;
  color: #fff;
}
.low table.price tr th:first-of-type {
  border-left: 1px #009999 solid;
}
.low table.price tr th:last-of-type {
  border-right: 1px #009999 solid;
}
.low table.price tr td {
  border-left: 1px #009999 solid;
  border-bottom: 1px #009999 solid;
  line-height: 1.4;
}
.low table.price tr td:last-of-type {
  border-right: 1px #009999 solid;
}
.low .clinic_map {
  display: block;
}
.low .clinic_map figure {
  width: 100%;
}
.low .clinic_map figure img {
  width: 100%;
}
.low .clinic_map figure figcaption {
  text-align: center;
  font-size: 1.6rem;
  color: #fff;
  background-color: #46dbcc;
  padding: 0.8rem 0;
  margin: 1.2rem 0 0.8rem;
}
.low .maparea {
  margin: 3rem 0 0 0;
  display: block;
  width: 100%;
}
.low .maparea iframe, .low .maparea figure {
  box-sizing: border-box;
  width: 100%;
}
.low .down_arrow {
  font-size: 2rem;
  color: #009999;
  text-align: center;
}
.low .treatment_wrapper {
  background: none;
  padding: 0;
}
.low .HT {
  line-height: 1.4;
}
.low .IM {
  display: flex;
  align-items: center;
}
.low .underline {
  text-decoration: underline;
}
.low .img_online {
  display: block;
}
.low .img_online figure {
  width: 80%;
  margin: 0 auto 1rem;
}
.low .img_online figure img {
  width: 100%;
}
.low .img_curon {
  display: block;
  margin: 0 auto 1.8rem;
  width: 70%;
}
.low .img_curon figure {
  margin: 0;
}
.low .img_curon figure img.curon {
  width: 100%;
  margin: 0 0 1.2rem 0;
}
.low .img_curon .store {
  margin: 0;
}
.low .img_curon .store img.googleplay, .low .img_curon .store img.applestore {
  width: 100%;
}
.low .img_curon .store img.googleplay {
  margin: 0 0 1.2rem 0;
}

@media print, screen and (min-width: 768px) {
  .low h2.top {
    margin: 0 0 5rem 0;
  }
  .low a.navi p {
    font-size: 2rem;
  }
  .low a.navi p:hover {
    opacity: 0.7;
  }
  .low a.web_link {
    text-decoration: none;
    text-align: right;
    display: block;
  }
  .low a.web_link .btn_link {
    background-color: #2dc8c3;
    color: #FFFFFF;
    font-size: 1.8rem;
    font-weight: bold;
    text-align: center;
    padding: 1.2rem 4rem;
    display: inline-block;
    background-image: url("../images/arrow.png");
    background-position: right 1rem center;
    background-repeat: no-repeat;
  }
  .low a.web_link .btn_link:hover {
    opacity: 0.8;
  }
  .low figure img.machine {
    display: block;
    margin: 0 auto 2rem;
    width: 60%;
  }
  .low ul li {
    font-size: 1.6rem;
  }
  .low ul.about {
    width: 100%;
    margin: 0;
  }
  .low ul.about li {
    font-size: 1.6rem;
  }
  .low dl.smp {
    font-size: 1.6rem;
    display: flex;
    flex-wrap: wrap;
  }
  .low dl.smp dt, .low dl.smp dd {
    padding: 2rem 0;
    border-bottom: 0.1rem #009999 solid;
    box-sizing: border-box;
  }
  .low dl.smp dt:first-of-type, .low dl.smp dd:first-of-type {
    border-top: 0.1rem #009999 solid;
  }
  .low dl.smp dt {
    color: #FFFFFF;
    font-weight: bold;
    background-color: #2dc8c3;
    width: 30%;
    display: flex;
    justify-content: center;
    align-items: center;
    border-left: 0.1rem #009999 solid;
  }
  .low dl.smp dd {
    color: #404040;
    width: 70%;
    border-right: 0.1rem #009999 solid;
    padding: 2rem;
    border-left: 0;
  }
  .low .table_wrap {
    overflow-x: hidden;
  }
  .low table.price {
    width: 99%;
    box-sizing: border-box;
  }
  .low table.price tr th, .low table.price tr td {
    font-size: 1.6rem;
    padding: 1rem 0.4rem;
  }
  .low table.price tr th {
    background-color: #009999;
    color: #fff;
  }
  .low table.price tr th:last-of-type {
    border-right: 0.1rem #009999 solid;
  }
  .low table.price tr td {
    border-left: 0.1rem #009999 solid;
    border-bottom: 0.1rem #009999 solid;
  }
  .low table.price tr td:first-of-type {
    white-space: nowrap;
  }
  .low table.price tr td:last-of-type {
    border-right: 0.1rem #009999 solid;
  }
  .low .main p {
    line-height: 1.8;
  }
  .low .main p.txt_right {
    display: block;
    text-align: right;
  }
  .low .main p.strong {
    font-size: 2rem;
    color: #2dc8c3;
  }
  .low .main p.stit {
    font-weight: bold;
    margin: 2rem 0 0 0;
    font-size: 1.8rem;
  }
  .low p {
    font-size: 1.6rem;
  }
  .low .clinic_map {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-around;
  }
  .low .clinic_map figure {
    width: auto;
  }
  .low .clinic_map figure figcaption {
    text-align: center;
    font-size: 1.6rem;
    color: #fff;
    background-color: #46dbcc;
    padding: 0.8rem 0;
    margin: 0 0 1.2rem 0;
  }
  .low .maparea {
    margin: 3rem 0 0 0;
    display: flex;
    justify-content: space-between;
    width: 1080px;
  }
  .low .maparea iframe, .low .maparea figure {
    box-sizing: border-box;
    width: 49%;
  }
  .low .mt40 {
    margin-top: 40px;
  }
  .low .img_curon {
    display: flex;
    justify-content: flex-start;
    margin: 0 0 30px 0;
    width: auto;
  }
  .low .img_curon figure {
    margin: 0;
  }
  .low .img_curon figure img.curon {
    width: 150px;
    margin: 0;
  }
  .low .img_curon .store {
    margin: 0 0 0 20px;
  }
  .low .img_curon .store img.googleplay, .low .img_curon .store img.applestore {
    width: 200px;
  }
  .low .img_curon .store img.googleplay {
    margin: 0 0 10px 0;
  }
}
/* 院内紹介 */
.clinic ul.device {
  display: block;
}
.clinic ul.device li {
  width: 100%;
  list-style: none;
}
.clinic ul.device li img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 0 auto 0.6rem;
}
.clinic ul.device li p {
  font-size: 1.2rem;
  margin: 1rem auto 3rem;
  text-align: left;
  width: 90%;
}
.clinic ul.device li p span {
  font-size: 1.6rem;
  display: block;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  .clinic ul.device {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .clinic ul.device li {
    width: 48%;
    margin: 0 0 3rem 0;
  }
  .clinic ul.device li p {
    font-size: 1.6rem;
    margin: 1rem auto 0;
    text-align: left;
    width: 70%;
  }
  .clinic ul.device li p span {
    font-size: 2rem;
    display: block;
    text-align: center;
  }
}
/* 初診の方へ */
.first dl.flow {
  width: 96%;
  margin: 0 auto;
  border-bottom: 0;
}
.first dl.flow dt {
  background-color: #009999;
  color: #FFFFFF;
  border-radius: 0.6rem;
  padding: 0.2rem 0 0.2rem 1rem;
}
.first dl.flow dt, .first dl.flow dd {
  font-size: 1.2rem;
  line-height: 1.4;
  width: 100%;
  border-top: 0;
  border-bottom: 0;
  border-right: 0;
  border-left: 0;
  text-align: left;
}
.first .arrow {
  font-weight: bold;
  margin: 1rem 0;
  text-align: center;
  color: #666666;
}

@media print, screen and (min-width: 768px) {
  .first dl.flow {
    width: 100%;
    margin: 2rem 0 0 0;
  }
  .first dl.flow dt, .first dl.flow dd {
    font-size: 1.6rem;
    line-height: 1.6;
    width: 100%;
    text-align: left;
  }
}
/* アクセス */
.access p span.tel a {
  text-decoration: none;
  color: #2dc8c3;
  font-weight: bold;
  text-align: center;
  display: block;
}
.access .gmap iframe {
  width: 94%;
  height: 20rem;
  margin: 0 auto;
  display: block;
}

@media print, screen and (min-width: 768px) {
  .access .gmap iframe {
    width: 100%;
    height: 40rem;
  }
}
/* 高濃度ビタミンC点滴 */
.txt_s {
  font-size: 0.7em;
}

@media print, screen and (min-width: 768px) {
  .txt_s {
    font-size: 0.7em;
  }
}
/* 新型コロナウイルスPCR検査 */
.pickup {
  background-color: #46dbcc;
  padding: 2rem 2rem 0.5rem;
  border-radius: 10px;
  display: block;
  text-align: center;
  clear: both;
  color: #fff;
}

.online figure img {
  width: 100%;
}
.online dl, .online dt, .online dd, .online figcaption {
  font-size: 1.2rem;
  line-height: 1.6;
}
.online .online_waku {
  padding: 2rem 0 2px;
  background-color: #dfefe9;
  text-align: center;
  margin-bottom: 3rem;
}
.online .online_waku p {
  font-size: 1.4rem;
}
.online .column .mobile {
  padding: 4rem 0;
  display: inline-block;
  width: 100% !important;
  text-align: center;
}
.online .column a {
  color: #404040;
}
.online .column.bg_red section {
  background-color: rgb(255, 182, 194.5142857143);
}
.online .column.bg_red section p {
  margin: initial;
}
.online .qa {
  margin-bottom: 2rem;
  background-color: #F4F4F4;
  padding: 1rem;
}
.online .qa dt {
  font-weight: bold;
  font-size: 1.4rem;
  border-bottom: 1px solid #009999;
  margin-bottom: 1rem;
}
.online .qa dt span {
  color: #009999;
}
.online .qa dd strong {
  border-bottom: 3px dotted #009999;
}
.online .qa dd span {
  color: #FF0000;
  font-weight: bold;
  font-size: 1.4rem;
}
.online .qa dd .qa_waku {
  font-weight: bold;
  border-top: 1px dotted #009999;
  border-bottom: 1px dotted #009999;
  background: #FFF;
  padding: 0.5rem;
}
.online .qa.-arrow dd:not(:last-of-type)::after {
  content: "";
  display: block;
  color: #333;
  line-height: 1;
  width: 0;
  height: 0;
  border-style: solid;
  border-color: transparent;
  border-width: 1.4em 1.6em;
  border-top-color: currentColor;
  border-bottom: 0;
  margin: auto;
  color: #009999;
  margin-top: 1.6em;
  margin-bottom: 1.4em;
}
.online .img_online {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.online .img_online figure {
  width: 50%;
  margin: 0 0 18px 0;
  text-align: center;
}
.online .img_online figure img {
  width: 80%;
}
.online .online_flow figure {
  text-align: center;
}
.online .online_flow figure img {
  width: 50%;
}
.online .online_first div.figure_box, .online .online_howto {
  margin-bottom: 5rem;
}
.online .online_first div.figure_box P, .online .online_howto P {
  width: 100%;
}
.online .online_first div.figure_box figure, .online .online_howto figure {
  width: 100%;
  margin-bottom: 2rem;
  text-align: center;
}
.online .online_first div.figure_box figure a, .online .online_howto figure a {
  color: #009999;
}
.online .online_first div.figure_box figure img, .online .online_howto figure img {
  width: 30%;
}
.online .online_first div.figure_box figure img.img_100, .online .online_howto figure img.img_100 {
  width: 100%;
}
.online .online_first div.figure_box figure img.img_50, .online .online_howto figure img.img_50 {
  width: 50%;
}

@media print, screen and (min-width: 768px) {
  .online figure img {
    width: 100%;
  }
  .online dl, .online dt, .online dd, .online figcaption {
    font-size: 1.6rem;
    line-height: 1.8;
  }
  .online .online_waku {
    margin-bottom: 5rem;
  }
  .online .online_waku p {
    font-size: 2rem;
  }
  .online .qa {
    margin-bottom: 3rem;
    padding: 3rem;
  }
  .online .qa dt {
    font-size: 2rem;
  }
  .online .qa dd span {
    font-size: 2rem;
  }
  .online .qa.-arrow dd .flex {
    display: flex;
    flex-direction: row-reverse;
    column-gap: 1em;
  }
  .online .img_online {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .online .img_online figure {
    width: 18%;
    margin: 0 0 18px 0;
  }
  .online .img_online figure img {
    width: 100%;
  }
  .online .online_flow {
    display: flex;
  }
  .online .online_flow ul, .online .online_flow figure {
    flex-wrap: wrap;
  }
  .online .online_flow figure img {
    width: 50%;
    text-align: center;
  }
  .online .online_first div.figure_box, .online .online_howto {
    display: flex;
    margin-bottom: 5rem;
  }
  .online .online_first div.figure_box P, .online .online_howto P {
    width: 50%;
  }
  .online .online_first div.figure_box figure, .online .online_howto figure {
    width: 50%;
  }
  .online .online_first div.figure_box figure img, .online .online_howto figure img {
    width: 30%;
  }
  .online .online_first div.figure_box figure img.img_100, .online .online_howto figure img.img_100 {
    width: 100%;
  }
  .online .online_first div.figure_box figure img.img_50, .online .online_howto figure img.img_50 {
    width: 50%;
  }
}
/*プラセンタ注射*/
.placenta .qa {
  margin-bottom: 2rem;
  background-color: #F4F4F4;
  padding: 1rem;
}
.placenta .qa dt {
  font-weight: bold;
  font-size: 1.4rem;
  border-bottom: 1px solid #009999;
  margin-bottom: 1rem;
}
.placenta .qa dt span {
  color: #009999;
}
.placenta .qa dd {
  font-size: 1.2rem;
  line-height: 1.6;
}
.placenta .qa dd strong {
  border-bottom: 3px dotted #009999;
}
.placenta .qa dd span {
  color: #FF0000;
  font-weight: bold;
  font-size: 1.4rem;
}
.placenta .qa dd .qa_waku {
  font-weight: bold;
  border-top: 1px dotted #009999;
  border-bottom: 1px dotted #009999;
  background: #FFF;
  padding: 0.5rem;
}

.img_100 {
  text-align: center;
}
.img_100 img {
  width: 100%;
}

@media print, screen and (min-width: 768px) {
  .placenta .qa {
    margin-bottom: 3rem;
    padding: 3rem;
  }
  .placenta .qa dt {
    font-size: 2rem;
  }
  .placenta .qa dd {
    font-size: 1.6rem;
    line-height: 1.8;
  }
  .placenta .qa dd span {
    font-size: 2rem;
  }
  .img_100 img {
    width: auto;
  }
  .flex-start {
    display: flex;
    align-items: flex-start;
  }
}
.mt60 {
  margin-top: 60px;
}

.mb60 {
  margin-bottom: 60px;
}

.mb0 {
  margin-bottom: 0;
}

.text-right {
  text-align: right;
}

/* clearfix -------------------------------------- */
.cf::before, .cf::after {
  content: "";
  display: block;
}

.cf::after {
  clear: both;
}

/*-------------------------------------------------
スタッフの声
-------------------------------------------------*/
.staff_area {
  position: relative;
  margin: 0 auto;
  padding: 1rem 2rem;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-flex-direction: column;
  flex-direction: column;
}

.doctor .staff_box {
  width: 95%;
  /*border: 3px solid #46dbcc;*/
  margin: 0 auto 1rem;
  padding: 1rem;
}
.doctor .staff_box p {
  margin: 0;
}
@media print, screen and (min-width: 768px) {
  .doctor .staff_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%;
  }
  .doctor .staff_box {
    width: 49%;
    margin: 0 1rem;
    padding: 2rem;
  }
}

.doctor .flex {
  display: block;
}
.doctor .flex div, .doctor .flex section {
  width: 100%;
}
@media print, screen and (min-width: 768px) {
  .doctor .flex {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .doctor .flex div, .doctor .flex section {
    width: 48%;
  }
}

.recruit_qr {
  position: relative;
  margin: 0 auto;
  padding: 1rem 2rem;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-flex-direction: column;
  flex-direction: column;
}
.recruit_qr .flex_l, .recruit_qr .flex_r {
  width: 100%;
  text-align: center;
}
.recruit_qr .flex_l img {
  width: 80%;
  height: auto;
  margin: 0 auto;
}
.recruit_qr .flex_r {
  text-align: left;
}

@media print, screen and (min-width: 768px) {
  .recruit_qr {
    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: 640px;
  }
  .recruit_qr .flex_l {
    width: 29%;
    margin: 0 1rem;
  }
  .recruit_qr .flex_l img {
    width: 100%;
    max-width: 180px;
  }
  .recruit_qr .flex_r {
    width: 69%;
    margin: 0 1rem;
    text-align: center;
  }
}
/*-------------------------------------------------
美容皮膚科
-------------------------------------------------*/
.cosmeticdermatology .bnr_wrap {
  margin-bottom: 5rem;
}

.categorys {
  display: block;
}
.categorys .category h3 {
  padding-left: 3rem;
  position: relative;
  overflow: visible;
  line-height: 1.5;
}
.categorys .category h3::before {
  content: "";
  width: 30px;
  height: 30px;
  position: absolute;
  left: 0;
  top: 0;
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: contain;
}
.categorys .category h3 small {
  font-size: 70%;
}
.categorys .category.beauty_skin h3::before {
  background-image: url(../images/icon_01.svg);
}
.categorys .category.sagging h3::before {
  background-image: url(../images/icon_02.svg);
}
.categorys .category.acne h3::before {
  background-image: url(../images/icon_03.svg);
}
.categorys .category.thin_hair h3::before {
  background-image: url(../images/icon_04.svg);
}
.categorys .category.diet h3::before {
  background-image: url(../images/icon_05.svg);
}
.categorys .category.beautiful_skin_drip h3::before {
  background-image: url(../images/icon_06.svg);
}
.categorys .category.around_the_eyes h3::before {
  background-image: url(../images/icon_07.svg);
}
.categorys .category.hyperhidrosis h3::before {
  background-image: url(../images/icon_08.svg);
}
.categorys .category.vitiligo h3::before {
  background-image: url(../images/icon_09.svg);
}
.categorys .category.earrings h3::before {
  background-image: url(../images/icon_10.svg);
}
.categorys .category ul li a {
  color: #009999;
}
.categorys .category ul li a:visited {
  color: #009999;
}

@media print, screen and (min-width: 768px) {
  .cosmeticdermatology .bnr_wrap {
    margin-bottom: 100px;
  }
  .categorys {
    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により中央に配置する */
  }
  .categorys .category {
    width: 30%;
    margin-right: 5%;
    margin-bottom: 5%;
  }
  .categorys .category:nth-child(3n) {
    margin-right: 0;
  }
  .categorys .category:nth-child(10) {
    margin-bottom: 0;
  }
  .categorys .category h3 {
    padding-left: 6rem;
    font-size: 2.6rem;
  }
  .categorys .category h3::before {
    width: 50px;
    height: 50px;
    top: -8px;
  }
  .categorys .category ul li a {
    font-size: 1.8rem;
  }
}
.cosmeticdermatology_wrapper h3 {
  padding-left: 3rem;
  position: relative;
  overflow: visible;
  line-height: 1.5;
}
.cosmeticdermatology_wrapper h3::before {
  content: "";
  width: 30px;
  height: 30px;
  position: absolute;
  left: 0;
  top: 0;
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: contain;
}
.cosmeticdermatology_wrapper h3.beauty_skin::before {
  background-image: url(../images/icon_11.svg);
}
.cosmeticdermatology_wrapper h3.drip::before {
  background-image: url(../images/icon_12.svg);
}
.cosmeticdermatology_wrapper h3.doctorcosme::before {
  background-image: url(../images/icon_13.svg);
}
.cosmeticdermatology_wrapper h3.supplement::before {
  background-image: url(../images/icon_14.svg);
}

.cosmeticdermatology_frame {
  display: block;
  margin-bottom: 40px;
}
.cosmeticdermatology_frame a {
  ext-decoration: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin: 0 0 1.2rem 0;
  width: 100%;
}
.cosmeticdermatology_frame a .color_btn {
  width: 100%;
  font-size: 1.4rem;
}

@media print, screen and (min-width: 768px) {
  .cosmeticdermatology_wrapper h3 {
    padding-left: 6rem;
    font-size: 2.6rem;
  }
  .cosmeticdermatology_wrapper h3::before {
    width: 50px;
    height: 50px;
    top: -8px;
  }
  .cosmeticdermatology_frame {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: left;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 1080px;
    margin: 38px auto 40px;
  }
  .cosmeticdermatology_frame a {
    text-decoration: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin: 0 0 20px 0;
    width: auto;
  }
  .cosmeticdermatology_frame a .color_btn {
    width: 344px;
    height: 60px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border-bottom: 4px #009999 solid;
    font-size: 2rem;
    line-height: 1.2;
    margin-right: 20px;
    text-align: center;
  }
  .cosmeticdermatology_frame a:nth-child(3n) .color_btn {
    margin-right: 0;
  }
}
.checkup_bnr img {
  width: 100%;
  height: auto;
}

@media print, screen and (min-width: 768px) {
  .checkup_bnr img {
    width: 500px;
    height: auto;
  }
}
.psychosomaticmedicine .row {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: top;
}
.psychosomaticmedicine .row .photo_area {
  order: 1;
  width: 75%;
  margin: 0 auto 1rem;
}
.psychosomaticmedicine .row .photo_area img {
  width: 100%;
  height: auto;
}
.psychosomaticmedicine .row .txt_area {
  order: 2;
  width: 100%;
}

@media print, screen and (min-width: 768px) {
  .psychosomaticmedicine .row {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: top;
  }
  .psychosomaticmedicine .row .photo_area {
    order: 2;
    width: 400px;
  }
  .psychosomaticmedicine .row .photo_area img {
    width: 400px;
    height: auto;
  }
  .psychosomaticmedicine .row .txt_area {
    order: 1;
    width: 640px;
  }
}
/*-------------------------------------------------
予防接種
-------------------------------------------------*/
.vaccination .vaccination_link a {
  ext-decoration: none;
  margin-top: 1.2rem;
  display: block;
  width: 100%;
  box-sizing: border-box;
}
.vaccination .vaccination_link a .color_btn {
  font-size: 1.4rem;
}
@media print, screen and (min-width: 768px) {
  .vaccination .vaccination_link a {
    text-decoration: none;
    margin-top: 3rem;
    width: fit-content;
  }
  .vaccination .vaccination_link a .color_btn {
    width: auto;
    height: 60px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border-bottom: 4px #009999 solid;
    font-size: 2rem;
    line-height: 1.2;
    text-align: center;
    padding-right: 3.6rem;
  }
}

.mail_denenchofu {
  display: inline-block;
  margin: 0 0.2em;
  width: 320px;
  max-width: 100%;
  height: auto;
}/*# sourceMappingURL=style.css.map */