@charset "utf-8";
/* CSS Document */
.bg_green {
  background: #d5ecdb;
  padding: 1em 1em 0.1em;
  margin: 1em 0;
}
.dl_style {
  margin: 2em 0;
}
.dl_style dt {
  background: #ac9480;
  border-radius: 8px;
  padding: 0.2em 1em;
  display: inline-block;
  color: #fff;
  font-weight: bold;
  margin-bottom: 0.5em;
}
.dl_style dd {
  margin-bottom: 1em;
}
/* 共通
--------------------------------------------------------------------------*/
section {
  margin: 0 auto 4em auto;
  width: 98%;
}
section section {
  margin: 0 auto 2em auto;
}
section .textBk {
  padding: 0 1em;
}
section p {
  margin-bottom: 1em;
}
h3 {
  background: url(../images/common/h3_bg_bd.png) repeat-x left bottom, url(../images/common/h3_bg.png) no-repeat left center;
  color: #3a9a54;
  font-size: 24px;
  padding: 0.7em 0 0.7em 1.5em;
  margin-bottom: 1em;
}
h4 {
  background: #3a9a54;
  color: #fff;
  font-size: 18px;
  padding: 0.2em 1em;
  margin-bottom: 0.5em;
}
h5 {
  color: #3a9a54;
  border-bottom: 1px dashed #3a9a54;
}
/* アンダーライン付きテキスト */
.text_g_b {
  color: #3a9a54;
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 180%;
  background: linear-gradient(transparent 60%, #fff288 60%);
}
.pc-no {
  display: none;
}
/* header Area -----------------------------------------------------*/
header {
  width: 100%;
  background: #d5ecdb;
}
header .inner {
  background: #fff;
}
nav {
  width: 100%;
  margin-bottom: 30px;
  background: #3a9a54;
}
nav li a {
  padding: 20px 0;
  display: block;
}
nav li a:hover {
  background: #d5ecdb;
}
/* FOOTER -----------------------------------------------------*/
footer {
  background: #3a9a54;
  padding: 30px 0 0 0;
}
footer .f_logo p {
  margin: 1em 0;
}
footer .f_nav ul {
  padding: 0 1em;
}
footer .f_nav ul li a {
  display: inline-block;
  color: #fff;
}
.copyright {
  text-align: center;
  color: #fff;
  font-size: 12px;
  padding: 0.4em 0;
  border-top: 1px solid #fff;
  margin-top: 30px;
}
/* main -----------------------------------------------------*/
#index main {
  flex-direction: column-reverse;
  -webkit-flex-direction: column-reverse;
  display: flex;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
}
/* content -----------------------------------------------------*/
#index article {
  width: 100%;
}
/* sideNavi -----------------------------------------------------*/
#index aside {
  width: 100%;
  margin-bottom: 30px;
}
#index aside li {
  margin: 0 0 0 1%;
  width: 18.974%;
}
/*TOPページ 
------------------------------------------------------------*/
#index header .head_info {
  width: 40%;
  margin: 0 auto;
  padding: 0 5%;
}
.head_info {
	display: flex;
    align-items: center;
    flex-direction: column;
}
#index header .mainvisual {
  width: 50%;
}
#index header .head_info h1 {
  margin-bottom: 2em;
}
#index header .head_info p {
  margin-bottom: 2em;
}
#index header .head_info div {
	display: inline-block;
	margin: 0 auto;
}
#index header .head_info div .timetable {
	margin: 0;
}
.head_info .timetable {
	margin: 10px ;
}

#index h2 {
  text-align: center;
  background: url(../images/top_h2_bg.gif) repeat-x center center;
  margin-bottom: 2em;
}
#index .greetingIn {
  padding: 2em;
  background: #fffeed;
}
#index .greetingIn p {
  color: #3a9a54;
  font-size: 18px;
  font-weight: 700;
}
/* キービジュアル下・お知らせ */
.kv-oshirase {
  border-bottom: solid 1px #efefef;
  padding-bottom: 25px;
  margin-bottom: 20px;
  text-align: center;
  font-size: 18px;
}
.kv-oshirase strong {
  color: #FF4700;
  font-size: 20px;
  line-height: 2em;
}
/*お知らせ欄
------------------------------------------------------------*/
.topinfo {
  width: 75%;
  max-height: 480px;
  margin: 0 auto;
  overflow: auto;
  padding: 0 1em;
}
.topinfo dt {
  font-size: 17px;
  margin-bottom: 0.3em;
  color: #c7c535;
  font-weight: bold;
  padding: 0 1em;
}
.topinfo dd {
  font-size: 15px;
  margin-bottom: 0.8em;
  padding: 0 2em 0.8em;
  border-bottom: 1px dashed #c7c535;
  color: #737373;
}
.topinfo dd:last-child {
  margin-bottom: 0;
  border-bottom: none;
}
/*下層ページ
------------------------------------------------------------*/
#detail .tbl_01 {
  border-collapse: collapse;
  border: 1px solid #ac9480;
  margin: 1em auto;
  width: 100%;
}
#detail .tbl_01 thead th {
  border: 1px solid #ac9480;
  background: #ac9480;
  vertical-align: middle;
  color: #f9f3ed;
  font-weight: bold;
  text-align: center;
}
#detail .tbl_01 th {
  border-collapse: collapse;
  border: 1px solid #ac9480;
  padding: 0.5em 2em;
  background: #f9f3ed;
  width: 45%;
  vertical-align: middle;
  color: #ac9480;
  font-weight: bold;
}
#detail .tbl_01 th.thead_s {
  background: #d5ecdb;
  color: #3a9a54;
}
#detail .tbl_01 td {
  border-collapse: collapse;
  border: 1px solid #ac9480;
  padding: 0.5em 2em;
}
#detail header .head_in {
  display: flex;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  align-items: center;
  -webkit-align-items: center;
  width: 100%;
  max-width: 1170px;
  margin: 0 auto;
  padding-bottom: 1em;
}
#detail main {
  display: flex;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  flex-direction: row-reverse;
  -webkit-flex-direction: row-reverse;
  margin-bottom: 2em;
}
#detail article {
  width: 70%;
}
#detail aside {
  width: 28%;
}
#detail aside ul {
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
}
#detail aside li {
  width: 48%;
}
#detail h2 {
  text-align: center;
  background: url(../images/top_h2_bg.gif) repeat-x center center;
  font-size: 30px;
  font-weight: bold;
  color: #63524b;
  letter-spacing: 10px;
}
#detail h2 span {
  display: inline-block;
  padding: 1.2em 1em;
  background: #fff url(../images/common/h2_bg.png) no-repeat center center;
}
#detail .greeting dl dt {
  float: left;
}
#detail .greeting dl dd {
  padding-left: 5.5em;
  margin-bottom: 0.5em;
}
#detail .greeting .greeting_bk {
  background: url(../images/bg_logo.png) no-repeat center 70%;
  padding: 6%;
  width: 80%;
  margin: 0 auto;
  border: 3px solid #d5ecdb;
  font-size: 17px;
}
#detail .greeting .greeting_bk .name {
  text-align: right;
}
#detail .greeting .greeting_bk .name span {
  font-size: 20px;
}
#detail .flex_list {
  margin-right: 1.5em;
}
#detail .list_center li {
  font-size: 18px;
  margin-right: 1em;
}
/*クリニック紹介
------------------------------------------------------------*/
#detail .clinic_photo ul {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 1em 0;
}
#detail .clinic_photo li {
  width: 32%;
  margin: 0 0 1em 1%;
}
#detail .clinic_photo li span {
  display: block;
  text-align: center;
  font-size: 14px;
}
.lightbox .lb-image {
  max-width: none !important;
}
/*検査について
------------------------------------------------------------*/
#detail .ce_list li {
  width: 48%;
  margin-bottom: 2em;
  text-align: center;
}
#detail .ce_list li dt {
  text-align: center;
  font-weight: bold;
  margin-bottom: 0.8em;
}
#detail .ce_list li dd {
  text-align: left;
}
/* ColoredBox
-------------------------------*/
.colorbox {
  background-color: #FFF3DB;
  padding: 2rem;
  margin-bottom: 2rem;
}
.colorbox .title {
  font-size: 2rem;
  margin-bottom: 1rem;
  color: #68472C;
}
/* PCで左→右に配置／SPで上→下に配置 */
.flex_LRTB {
  display: flex;
  display: -webkit-flex;
  flex-direction: row;
  -webkit-flex-direction: row;
}
/* PCで右→左に配置／SPで上→下に配置 */
.flex_RLTB {
  display: flex;
  display: -webkit-flex;
  flex-direction: row-reverse;
  -webkit-flex-direction: row-reverse;
}
.list_dot li {
  list-style-type: disc;
  margin-left: 1.5em;
}
.gmap {
  width: 100%;
}
.gmap iframe {
  width: 100%;
  height: 300px;
  margin: 1rem 0;
  border: none;
}
.timetable {
	margin: 0 20px;
	text-align: center;
	border-collapse: collapse;
}
.timetable caption, .timetable tbody {
	width: 355px;
}
.timetable caption{
    caption-side: bottom; /* 下に */
	color: #7d7158;
	font-weight: 600;
	font-size: 80%
}
.timetable tbody {
	border: 1px solid #7d7158;
	border-radius: 8px;
	overflow: hidden;
}
.timetable tbody tr th, 
.timetable tbody tr td {
	padding: 4px 6px;
	border: 1px solid #7d7158;
}

.timetable tbody tr th {
	background: #3a9a54;
	color: #fff;
	font-weight: 600;
	letter-spacing: 2px;
}
.timetable tbody tr td {
	background: #fffcde;
	color: #7d7158;
  vertical-align: middle;
}
.timetable tbody tr td.time2 {
	text-align: left;
	font-weight: 600;
}
.timetable tbody tr td.time2 span {
	font-size: 80%;
}
/*------------------------------------------------------------------*/
/*■■■TABLET■■■------------------------------------------------*/
/*------------------------------------------------------------------*/
@media only screen and (max-device-width: 1169px) {
  body {
    width: 100%;
    margin: 0;
    padding: 0;
  }
  header {
    width: 100%;
  }
  #pageTop {
    bottom: 10px;
    right: 10px;
  }
}
/* --------------------------------------------------------------------------*/
/* ■■■SP■■■ -----------------------------------------------------------*/
/* --------------------------------------------------------------------------*/
@media only screen and (max-width: 767px) {
  /* 共通style
------------------------------------------------------------*/
  section {
    margin: 0 auto 2em auto;
    width: 100%;
  }
  /* アンダーライン付きテキスト */
  .text_g_b {
    font-size: 1.2rem;
  }
  .pc-no {
    display: block;
  }
  /* header Area -----------------------------------------------------*/
  header .inner {
    width: 100%;
    background: #fff;
    padding: 1em 0 0 0;
  }
  header h1 {
    width: 80%;
    margin: 0 auto 1em;
  }
  header .tel {
    margin: 0 auto;
    padding: 0;
    text-align: center;
  }
  /*-----Gnavi-----*/
  nav {
    margin: 0 0 1em 0;
  }
  nav ul {
    -webkit-flex-wrap: wrap;
    -webkit-justify-content: center !important;
    flex-wrap: wrap;
    justify-content: center !important;
  }
  nav ul li {
    width: 31.5%;
    flex: none;
    -webkit-flex: none;
    padding: 0;
    text-align: center;
    margin-bottom: 0.2em;
  }
  nav ul li img {
    width: 100%;
  }
  nav ul li a {
    padding: 0.5em 0 0.3em 0;
  }
  /* content Area -----------------------------------------------------*/
  article {
    width: 100%;
    margin: 0 0 1em 0;
  }
  aside {
    margin: 0 0 0.5em 0;
  }
  aside li {
    width: 31%;
  }
  aside li img {
    width: 100%;
  }
  aside ul.side_bnr li {
    width: 60%;
    margin: 0 auto;
  }
  /* FOOTER -----------------------------------------------------*/
  footer {
    padding: 1em 0 3rem;
  }
  footer .f_logo {
    width: 50%;
    margin: 0 auto;
  }
  footer .f_logo p {
    margin: 1em 0;
  }
  .copyright {
    text-align: center;
    color: #fff;
    font-size: 12px;
    padding: 0.4em 0;
    border-top: 1px solid #fff;
    margin-top: 1em;
  }
  #pageTop {
    width: 16%;
    height: auto;
    padding: 0 0 3rem
  }
  .bottomlink {
    position: fixed;
    width: 100%;
    padding: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 998;
    font-size: 1.0rem;
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
  }
  .bottomlink .telephone { /* width: 32%;*/ width: 50%;
    cursor: pointer;
  }
  .bottomlink .telephone a {
    display: block;
    width: 100%;
    text-align: center;
    text-decoration: none;
    color: #fff;
    background: #136429;
    padding: .5rem 0;
  }
   .bottomlink .telephone a i {
    display: inline-block;
    margin: 0.2rem 0;
  }
  .bottomlink .telephone a:hover {
    opacity: .5;
  }
  .bottomlink .reserve { /*width: 32%;*/ width: 50%;
    cursor: pointer;
  }
  .bottomlink .reserve a {
    display: block;
    width: 100%;
    text-align: center;
    text-decoration: none;
    color: #fff;
    background: #bbcf30;
    padding: .5rem 0;
  }
  .bottomlink .reserve a i {
    display: inline-block;
    margin: 0.2rem 0;
  }
  .bottomlink .reserve a:hover {
    opacity: .5;
  }
  /*TOPページ 
	------------------------------------------------------------*/
  #index header .head_info {
	width: 100%;
    padding: 0;
  }
	.head_info {
	width: 100%;
	display: flex;
    align-items: center;
    flex-direction: column;
	margin: 0 auto;
}
  #index header .mainvisual {
    width: 100%;
    margin: 0 auto;
  }
  #index header .head_info h1 {
    width: 40%;
    margin-bottom: 1em;
  }
  #index header .head_info p {
    margin-bottom: 1em;
  }

  /* キービジュアル下・お知らせ */
  .kv-oshirase {
    padding: 0px 15px 15px 15px;
  }
  .kv-oshirase strong {
    line-height: 1.7em;
  }
  /*お知らせ欄
	------------------------------------------------------------*/
  .topinfo {
    width: 95%;
    max-height: 680px;
    ;
    padding: 0;
  }
  .topinfo dt {
    padding: 0;
    line-height: 1.3em;
  }
  .topinfo dd {
    margin-bottom: 0.8em;
    padding: 0 0 0.8em;
  }
  .topinfo p {
    margin-bottom: 0 !important;
  }
  /*下層ページ 
	------------------------------------------------------------*/
  #detail .tbl_01 th {
    display: block;
    width: 100%;
    text-align: center;
    padding: 0.2em 0;
  }
  #detail .tbl_01 td {
    display: block;
    width: 100%;
    text-align: center;
    padding: 0.2em 0;
  }
  #detail header .head_in {
    width: 100%;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: 0;
  }
  #detail header h1 {
    width: 100%;
    padding: 0.5em 0;
    background: #fff;
    text-align: center;
    margin: 0;
  }
  #detail header h1 img {
    width: 50%;
    margin: 0 auto;
  }
  #detail main {
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    flex-direction: row;
    -webkit-flex-direction: row;
  }
  #detail article {
    width: 98%;
    margin: 0 auto 3em;
  }
  #detail aside {
    width: 98%;
    margin: 0 auto 1em;
  }
  #detail aside li {
    width: 25%;
  }
  #detail h2 {
    margin-bottom: 0.5em;
    font-size: 20px;
    letter-spacing: 4px;
  }
  #detail h2 span {
    background-size: auto 100%;
  }
  #detail .greeting .greeting_bk {
    padding: 3%;
    width: 92%;
    margin: 0 auto;
    font-size: 16px;
  }
  #detail .greeting .greeting_bk .name {
    text-align: left;
  }
  #detail .greeting .greeting_bk .name span {
    font-size: 18px;
  }
  /*クリニック紹介
	------------------------------------------------------------*/
  #detail article .clinic_photo ul {
    -webkit-justify-content: space-between;
    justify-content: space-between;
  }
  #detail article .clinic_facility ul {
    -webkit-justify-content: space-between;
    justify-content: space-between;
  }
  #detail article .clinic_photo li {
    width: 48%;
    margin: 0 0 1em 1%;
  }
  /*検査について
	------------------------------------------------------------*/
  #detail .ce_list li {
    width: 100%;
  }
  /*	flex setting
-------------------------------*/
  .flex_LRTB, .flex_RLTB {
    flex-direction: column;
    -webkit-flex-direction: column;
  }
	
  .timetable {
	margin: 0 auto;
  }
.timetable caption, .timetable tbody {
	width: 100%;
}
}