@charset "utf-8";

body {
  color: #333;
  font-size: 100%; /*16px*/
  font-weight: 500;
  text-align: justify;
  min-width: 1300px;
}
main {
  display: block;
}
a {
  color: inherit;
  text-decoration: none;
}
[href^="tel"]:hover {
  cursor: default;
}
a:link, a:visited, a:active, a:hover {
  outline: none;
}
a.nolink {
  pointer-events: none;
  cursor: default;
}
iframe {
  border: none;
}

/*============================================================================

  $font

============================================================================*/
body {
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.font_shuei {
  font-family: "秀英角ゴシック金 L", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.font_shueiB {
  font-family: "秀英角ゴシック金 B", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: bold;
}
.font_cardo {
  font-family: "Cardo", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.font_allura {
  font-family: 'Allura', cursive;
}

/*============================================================================

  $wrapper

============================================================================*/
.inner {
  width: 1240px;
  margin: 0 auto;
}
.flex_wrapper {
  display: flex;
}


/*============================================================================

  $アンカーリンンク

============================================================================*/
*[id*="ank"], *[id*="nw"], *[id*="sec"], *[id*="access"], *[id*="news"] {
  margin-top: -143px !important;
  padding-top: 143px !important;
}

/*============================================================================

  $header

============================================================================*/
header .flex_wrapper {
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
}
header .header_copy {
  color: #888988;
  font-size: 87.5%; /*14px*/
  letter-spacing: 0.05em;
}
header .header_contact ul {
  display: flex;
}
header .header_contact li {
  display: table;
}
header .header_contact li+li {
  margin-left: 10px;
}
header .header_contact li a {
  color: #fff;
  display: table-cell;
  vertical-align: middle;
  height: 45px;
  border-radius: 0 0 6px 6px;
  padding: 0 25px;
  border-top: none;
  white-space: nowrap;
}
header .header_contact .contact_tel a {
  background-color: #f1ae4e;
  letter-spacing: 0.05em;
}
header .header_contact .contact_web a {
  background-color: #5ec1ef;
}
@media all and (-ms-high-contrast: none) { /* IE */
  header .header_contact .contact_web a {
    height: 40px;
    padding-top: 5px;
  }
}
.contact_web a .bnr_small {
	display: inline-block;
	margin-left: 5px;
	font-size: .8em;
	letter-spacing: 0.05em;
}
header .header_contact .contact_web a:hover {
  background-color: #f1ae4e;
  transition: 0.2s ease-out;
}
header .header_contact .contact_tel dl {
  display: flex;
  align-items: center;
}
header .header_contact .contact_tel dt {
  font-size: 81.25%; /*13px*/
  padding-right: 10px;
}
header .header_contact .contact_tel dd {
  font-size: 168.75%; /*27px*/
}
header .header_contact .contact_tel dd span,
header .header_contact .contact_web span {
  padding-right: 12px;
}
header .header_logo {
  float: left;
}
header .header_logo a:hover {
  opacity: 0.8;
}

/*============================================================================

  $nav

============================================================================*/
nav {
  float: right;
}
.nav_parent {
  display: flex;
}
.nav_parent > li+li {
  margin-left: 35px;
}
.nav_parent > li {
  position: relative;
}
.nav_parent > li > a {
  display: flex;
  flex-direction: column;
  line-height: 1;
  text-align: center;
  letter-spacing: 0.05em;
  padding: 15px 0 26px;
}
.nav_parent > li:hover:after {
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 6px 12px 6px;
  border-color: transparent transparent #5ec1ef transparent;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  transition: 0.2s ease-out;
}
.nav_parent > li .ja_title {
  color: #444;
  margin-bottom: 15px;
}
.nav_parent > li:hover .ja_title {
  color: #66c4f0;
  transition: 0.2s ease-out;
}
.nav_parent > li .en_title {
  color: #66c4f0;
}

/* 下層ナビ */
.nav_parent > li:hover > .nav_children {
  visibility: visible;
  opacity: 1;
  transition: 0.2s ease-out;
}
.nav_children {
  position: absolute;
  width: 180px;
  top: 88px;
  z-index: 100;
  visibility: hidden;
  opacity: 0;
  box-shadow: 0 2px 3px rgba(0,0,0,0.1);
  background-color: #5ec1ef;
}
.nav_children.medical {
  left: -50px;
}
.nav_children.information {
  right: -20px;
}
.nav_children li {
  display: table;
  width: 100%;
  height: 50px;
}
.nav_children li+li {
  border-top: 1px solid #fff;
}
.nav_children li a {
  color: #fff;
  letter-spacing: 0.1em;
  text-align: left;
  display: table-cell;
  vertical-align: middle;
  position: relative;
  padding-left: 15px;
}
.nav_children li a:after {
  position: absolute;
  content: "";
  top: 0;
  right: 15px;
  width: 9px;
  height: 100%;
  background: url("../images/ico_arrow_white.png") no-repeat center;
  background-size: 9px 9px;
}
.nav_children li a:hover {
  background-color: #f1ae4e;
  transition: 0.2s ease-out;
}
@media all and (-ms-high-contrast: none) { /* IE */
  .nav_children li a {
    padding-top: 5px;
  }
  .nav_children li a:after {
    top: 10px;
  }
}

/*============================================================================

  $header.fixed (PC)

============================================================================*/
@media screen and (min-width: 641px) {
  header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    min-width: 1300px;
    z-index: 100;
    background-color: rgba(255,255,255,0.9);
    box-shadow: 0px 1px 2px rgba(0,0,0,0.15);
    -webkit-box-shadow: 0px 1px 2px rgba(0,0,0,0.15);
    -moz-box-shadow: 0px 1px 2px rgba(0,0,0,0.15);
  }
  main {
    margin-top: 143px;
  }
}

/*============================================================================

  $breadcrumbs パンくず

============================================================================*/
.breadcrumbs {
  color: #555;
  font-size: 87.5%; /*14px*/
  font-weight: 600;
  line-height: 1;
  padding: 30px 0 50px;
}
.breadcrumbs a {
  text-decoration: none;
}
.breadcrumbs a:hover {
  text-decoration: underline;
}
.breadcrumbs li {
  display: inline;
}

/* ホーム */
.breadcrumbs li:first-child {
  position: inherit;
}
.breadcrumbs li:first-child a {
  padding-left: 25px;
  position: relative;
}
.breadcrumbs li:first-child a:before {
  position: absolute;
  content: "\f015";
  font-family: 'Font Awesome 5 free';
  font-weight: bold;
  font-size: 1em;
  left: 0;
}

/* 右矢印 */
.breadcrumbs li+li {
  position: relative;
  padding-left: 25px;
}
.breadcrumbs li+li:before {
  position: absolute;
  content: "\f105";
  font-family: 'Font Awesome 5 free';
  font-size: 1em;
  font-weight: bold;
  left: 6px;
}

/*============================================================================

  $title

============================================================================*/
/* h1 */
.h1_wrapper {
  color: #555;
  text-align: center;
  letter-spacing: 0.075em;
  width: 100%;
  background-color: #f7f7f7;
  border-bottom: 2px solid #eee;
  margin: 0 auto;
}
.h1_wrapper .inner {
  display: table;
  height: 112px;
}
.h1_wrapper h1 {
  display: table-cell;
  vertical-align: middle;
  font-size: 137.5%; /*22px*/
  line-height: 1;
}

/* h2 */
.h2_wrapper {
  line-height: 1;
  text-align: center;
  margin-bottom: 45px;
}
.h2_wrapper .en_title {
  color: #d7edf7;
  font-size: 500%; /*80px*/
  letter-spacing: 0.05em;
  margin-bottom: 10px;
  padding-top: 5px;
}
.h2_wrapper h2 {
  font-size: 125%; /*20px*/
  letter-spacing: 0.05em;
}
.h2_wrapper .layout_doubleline_border {
  display: flex;
  width: 80px;
  height: 3px;
  margin: 15px auto 0;
}
.h2_wrapper .layout_doubleline_border span:nth-child(1) {
  width: 40px;
  height: 3px;
  background-color: #e9e3d9;
}
.h2_wrapper .layout_doubleline_border span:nth-child(2) {
  width: 40px;
  height: 3px;
  background-color: #aedaef;
}

/* h3 */
.h3_wrapper {
  line-height: 1;
}
.h3_wrapper .layout_quattroline_border {
  display: flex;
  width: 160px;
  height: 3px;
  margin: 18px auto 0;
}
.h3_wrapper .layout_quattroline_border span:nth-of-type(odd) {
  width: 40px;
  height: 3px;
  background-color: #e9e3d9;
}
.h3_wrapper .layout_quattroline_border span:nth-of-type(even) {
  width: 40px;
  height: 3px;
  background-color: #aedaef;
}

/* かざま歯科の5つの特徴 */
.features_list .h3_wrapper {
  margin: 0 auto 15px !important;
}
.features_list .h3_wrapper h3 {
  font-size: inherit !important;
}
.features_list .h3_wrapper .layout_quattroline_border {
  width: 80px !important;
  margin: 12px auto 0 !important;
}
.features_list .h3_wrapper .layout_quattroline_border span:nth-of-type(odd),
.features_list .h3_wrapper .layout_quattroline_border span:nth-of-type(even) {
  width: 20px !important;
}

#contents .h3_wrapper {
  margin: 70px auto 45px;
}
#contents .h3_wrapper h3 {
  font-size: 125%; /*20px*/
  text-align: center;
}

h3.tit01 {
  font-size: 112.5%; /*18px*/
  background-color: #d7edf7;
  padding: 10px 2%;
  margin-bottom: 30px;
font-weight: bold;
}
/* h4 */
h4.tit01 {
  font-size: 112.5%; /*18px*/
  background-color: #d7edf7;
  padding: 10px 2%;
  margin-bottom: 30px;
}

/*============================================================================

  $btn

============================================================================*/
.btn_01 {
  color: #5ec1ef;
  display: table;
  width: 240px;
  margin: 0 auto;
}
.btn_01 a {
  display: table-cell;
  vertical-align: middle;
  height: 50px;
  text-align: center;
  border: 1px solid #5ec1ef;
  border-radius: 25px;
  box-sizing: border-box;
  position: relative;
}
.btn_01 a:after {
  position: absolute;
  content: "";
  width: 9px;
  height: 100%;
  background: url("../images/ico_arrow_cyan.png") no-repeat center;
  background-size: 9px 9px;
  right: 35px;
  top: 0;
}
@media all and (-ms-high-contrast: none) { /* IE */
  .btn_01 a {
    padding-top: 5px;
    background-position-y: 19px;
  }
  .btn_01 a:after {
    height: 50px;
  }
}
.btn_01 a:hover {
  color: #fff;
  background-color: #5ec1ef;
  transition: 0.2s ease-out;
}
.btn_01 a:hover:after {
  background-image: url("../images/ico_arrow_white.png") !important;
  transition: 0.2s ease-out;
}



/* color_gold */
.btn_01.btn_color_gold {
  color: #cfb683;
}
.btn_01.btn_color_gold a {
  border-color: #cfb683;
}
.btn_01.btn_color_gold a:after {
  background-image: url("../images/ico_arrow_gold.png");
}
.btn_01.btn_color_gold a:hover {
  background-color: #cfb683;
}

.btn02 a {
	display: inline-block;
	position: relative;
	padding: 10px 40px 10px 20px;
	border: 1px solid #5ec1ef;
	border-radius: 25px;
	box-sizing: border-box;
	color: #5ec1ef;
	text-align: center;
}
.btn02 a:after {
  position: absolute;
  content: "";
  width: 9px;
  height: 100%;
  background: url("../images/ico_arrow_cyan.png") no-repeat center;
  background-size: 9px 9px;
  right: 20px;
  top: 0;
}
.btn02 a:hover {
  color: #fff;
  background-color: #5ec1ef;
  transition: 0.2s ease-out;
}
.btn02 a:hover::after {
  background-image: url("../images/ico_arrow_white.png") !important;
  transition: 0.2s ease-out;
}
/*============================================================================

  $schedule

============================================================================*/
.schedule table {
  width: 100%;
  line-height: 1;
  text-align: center;
  margin-bottom: 20px;
}
.schedule table th,
.schedule table td {
  line-height: 1;
  text-align: center;
  height: 60px;
}
.schedule thead th {
  color: #fff;
  letter-spacing: 0.2em;
  background-color: #79c1e3;
}
.schedule tbody th,
.schedule tbody td {
  border-bottom: 1px solid #79c1e3;
}
.schedule tbody th {
  color: #444;
  letter-spacing: 0.075em;
  padding-right: 5px;
  text-align: right;
}
.schedule tbody td {
  color: #79c1e3;
  padding: 0 15px;
}
@media all and (-ms-high-contrast: none) { /* IE */
  .schedule table th,
  .schedule table td {
    height: 55px;
    padding-top: 5px;
  }
  .schedule tbody td {
    padding-top: 5px;
  }
}
.schedule_note {
  color: #444;
  display: flex;
  justify-content: center;
  letter-spacing: 0.075em;
}
.schedule_note li+li:before {
  content: "|";
  padding-right: 1em;
  margin-left: 1em;
}
.schedule_note span {
  color: #79c1e3;
}
.schedule_closure {
  color: #444;
  text-align: center;
  margin-top: 5px;
}

/*==================================================================

  $contents

==================================================================*/ 
main {
  border-bottom: 2px solid #eee;
  padding-bottom: 100px;
}
#contents section {
  margin-bottom: 80px;
}
#contents section:last-child {
  margin-bottom: 0;
}
#contents .text {
  line-height: 1.9;
  letter-spacing: 0.05em;
  margin-bottom: 50px;
}
#contents .text p+p {
  margin-top: 1em;
}
#contents_left {
  width: 950px;
  float: left;
}
#contents_left .sec_img {
  text-align: center;
  margin-bottom: 45px;
}
#contents_left .sec_img img {
  border-radius: 25px;
}
#contents_right {
  width: 220px;
  float: right;
  line-height: 1;
}
#contents_right a {
  color: #444;
  display: block;
  padding: 10px 15px;
}
#contents_right ul {
  background-color: #f6f5f3;
  border: 1px solid #ccc;
}
#contents_right ul li+li {
  border-top: 1px solid #ccc;
}
#contents_right ul li a {
  position: relative;
  padding: 17px 10px 17px 32px;
}
@media all and (-ms-high-contrast: none) { /* IE */
  #contents_right ul li a {
    padding: 20px 10px 14px 32px;
  }
}
#contents_right ul li a:after {
  position: absolute;
  content: "";
  top: 0;
  right: 15px;
  width: 9px;
  height: 100%;
  background: url("../images/ico_arrow_gray.png") no-repeat center;
  background-size: 9px 9px;
}
#contents_right ul li a:hover {
  background-color: #d7edf7;
  transition: 0.15s ease-out;
}

/*============================================================================

  $footer

============================================================================*/
footer .flex_wrapper {
  width: 100%;
  justify-content: flex-end;
  padding-top: 100px;
}
footer .footer_info {
  width: 480px;
  margin-right: 60px;
}
footer .footer_logo {
  display: table;
  margin: 0 auto 30px;
}
footer .footer_logo a {
  display: block;
}
footer .footer_logo a:hover {
  opacity: 0.8;
}
footer .contact_tel {
  color: #5ec1ef;
  line-height: 1;
  border-top: 2px solid #5ec1ef;
  border-bottom: 2px solid #5ec1ef;
  width: 100%;
  display: table;
  margin-bottom: 20px;
}
footer .contact_tel a {
  display: block;
  padding: 15px 0;
}
footer .contact_tel dt {
  display: table-cell;
  vertical-align: middle;
  font-size: 87.5%; /*14px*/
  line-height: 1.4;
  padding: 0 15px 0 30px;
}
footer .contact_tel dd {
  display: table-cell;
  vertical-align: middle;
  font-size: 212.5%; /*34px*/
  letter-spacing: 0.1em;
}
footer .contact_tel dd span {
  margin-right: 15px;
}
footer address {
  margin-bottom: 25px;
}
footer address dl {
  font-size: 93.75%; /*15px*/
  display: table;
  width: 100%;
}
footer address dl+dl {
  margin-top: 20px;
}
footer address dt {
  width: 120px;
  display: table-cell;
  vertical-align: middle;
  color: #fff;
  background-color: #cfb683;
}
footer address dt .dt_wrapper {
  width: 60px;
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
}
footer address dd {
  color: #444;
  line-height: 1.8;
  display: table-cell;
  vertical-align: middle;
  background-color: #f6f5f3;
  letter-spacing: 0.05em;
  padding: 12px 20px;
}
footer .footer_access {
  width: 620px;
}
footer .footer_map {
  height: 542px;
}
footer .footer_map iframe {
  width: 100%;
  height: 100%;
}
footer .access_info {
  width: 100%;
  background-color: #f6f5f3;
  padding: 25px 0;
  margin-top: 25px;
}
@media all and (-ms-high-contrast: none) { /* IE */
  footer .access_info {
    padding: 27px 0 23px;
  }
}
footer .access_info ul {
  line-height: 1;
  display: table;
  margin: 0 auto;
}
footer .access_info ul li+li {
  margin-top: 10px;
}
footer .access_info ul li {
  color: #444;
  letter-spacing: 0.075em;
  text-indent: -30px;
  margin-left: 30px;
  line-height: 1.5;
}
footer .access_info ul li span {
  color: #5ec1ef;
  width: 16px;
  text-align: center;
  margin-left: 14px;
}
footer .access_info a {
  color: #2a93d5;
}
footer .access_info a:hover {
  text-decoration: underline;
}

/* ページトップ */
.pagetop {
  position: fixed;
  right: 30px;
  bottom: 0;
  background-color: #5ec1ef;
  border-radius: 6px 6px 0 0;
  cursor: pointer;
  z-index: 999;
}
.pagetop:hover {
  background-color: #f1ae4e;
  transition: 0.2s ease-out;
}

/* コピーライト */
footer .copyright {
  color: #79c1e3;
  font-size: 87.5%; /*14px*/
  line-height: 1;
  letter-spacing: 0.075em;
  text-align: right;
  margin: 40px 0 60px;
}

/*============================================================================

  $doctor 医師紹介

============================================================================*/
/* ご挨拶 */
.doctor_greeting .flex_wrapper {
  align-items: center;
}
.doctor_greeting .doctor_img {
  order: 2;
  margin-left: 50px;
}
.doctor_greeting .doctor_img dd {
  margin-top: 1em;
  letter-spacing: 0.05em;
  text-align: center;
}
.doctor_greeting .text {
  font-size: 106.25%; /*17px*/
  margin-bottom: 0 !important;
}


/* プロフィール */
.doctor_carr .flex_wrapper {
  justify-content: space-between;
  margin: 0 75px;
}
.doctor_carr article {
  width: 540px;
  letter-spacing: 0.05em;
  background-color: #f6f3ed;
  padding: 0 40px 50px;
  box-sizing: border-box;
}
.doctor_carr article .h3_wrapper {
  margin: 50px auto 25px !important;
}
.doctor_biography dl {
  width: 100%;
  display: table;
  border-bottom: 1px dashed;
}
.doctor_biography dt,
.doctor_biography dd {
  display: table-cell;
  vertical-align: middle;
  padding: 15px;
}
.doctor_biography dt {
  width: 90px;
  white-space: nowrap;
}
.doctor_affiliation ul li {
  padding: 15px;
  border-bottom: 1px dashed;
}
@media all and (-ms-high-contrast: none) { /* IE */
  .doctor_biography dt,
  .doctor_biography dd,
  .doctor_affiliation ul li {
    padding: 17px 15px 13px;
  }
}

.doctors-file-img img{
	width : 300px;
}


/*============================================================================

  $clinkc クリニック紹介

============================================================================*/
/* 診療時間 */
.clinic_schedule .schedule tbody th {
  text-align: center;
}

/* クリニック概要 */
.page_clinic .clinic_summary {
  width: 800px;
  margin: 40px auto 0;
}
.page_clinic .clinic_summary .h2_wrapper {
  margin-bottom: 45px;
}
.page_clinic .clinic_summary li {
  letter-spacing: 0.05em;
  border-bottom: 1px dashed;
  padding: 15px;
}
@media all and (-ms-high-contrast: none) { /* IE */
  .page_clinic .clinic_summary li {
    padding: 17px 15px 13px;
  }
}
.page_clinic .clinic_summary dl {
  display: flex;
}
.page_clinic .clinic_summary dt {
  width: 30%;
  font-weight: 600;
}
.page_clinic .clinic_summary .fas {
  width: 1em;
  text-align: center;
  margin-right: 5px;
}

/* 院内スライド */
.clinic_slides1 .flexslider{
  position: relative;
  float: left;
  width: 82%;
}
.clinic_slides1 .flexslider li div{
  display: table;
  position: relative;
  margin-top: -60px;
  margin-left: 20px;
  background-color: rgba(255,255,255,0.9);
}
.clinic_slides1 .flexslider p{
  display: table-cell;
  padding: 8px 10px;
  vertical-align: middle;
  font-weight: 600;
}

.clinic_slides1 .flex-control-thumbs .flex-active img{
  border: 5px solid #aaa;
}
.clinic_slides1 .flex-control-nav.flex-control-thumbs{
  position: absolute;
  right: -22%;
  top: 0;
  width: 15%;
}
.clinic_slides1 .flex-control-thumbs li {
  position: relative;
  width: 96%;
  margin: 0 0 0 4%;
  background-color: #fff;
}

/* 設備紹介 */
.facilities_list {
  display: flex;
  flex-wrap: wrap;
}
.facilities_list dl {
  width: 392px;
  margin-left: 32px;
  background-color: #d7edf7;
}
.facilities_list dl:nth-child(3n+1) {
  margin-left: 0;
}
.facilities_list dl:nth-child(n+4) {
  margin-top: 32px;
}
.facilities_list dd {
  padding: 15px;
  /*line-height: 1;
  text-align: center;*/
  letter-spacing: 0.05em;
}
.facilities_list .tit {
	background-color: #555;
	color: #fff;
	font-weight: bold;
	padding: 15px 0;
	margin-bottom: 15px;
	text-align: center;
}
@media all and (-ms-high-contrast: none) { /* IE */
  .facilities_list dd {
    padding: 17px 15px 13px;
  }
}

/*============================================================================

  $feature 当院の特徴

============================================================================*/
.feature_concept .text {
  text-align: center;
  font-size: 106.25%; /*17px*/
  line-height: 2.3 !important;
}

/* かざま歯科の5つの特徴 (common) */
.features_list li {
  width: 380px;
  height: 398px;
  position: relative;
}
.features_list .text_box_wrapper {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 360px;
  height: 208px;
  text-align: center;
  display: table;
  background-color: #fff;
}
.features_list .text_box_inner {
  display: table-cell;
  vertical-align: middle;
  position: relative;
}
.features_list .text_box_inner .h3_wrapper {
  margin-bottom: 15px;
}
.features_list .text_box_inner .text {
  font-size: 93.75%; /*15px*/
  line-height: 2.2;
  margin-bottom: 0 !important;
}

/* かぎ括弧 */
.features_list .text_box_wrapper .layout_angle_brackets span {
  position: absolute;
  content: "";
  width: 10px;
  height: 10px;
}
.features_list .text_box_wrapper .layout_angle_brackets span:nth-child(1) {
  border-top: 1px solid #999;
  border-left: 1px solid #999;
  top: 0;
  left: 0;
}
.features_list .text_box_wrapper .layout_angle_brackets span:nth-child(2) {
  border-bottom: 1px solid #999;
  border-left: 1px solid #999;
  bottom: 0;
  left: 0;
}
.features_list .text_box_wrapper .layout_angle_brackets span:nth-child(3) {
  border-top: 1px solid #999;
  border-right: 1px solid #999;
  top: 0;
  right: 0;
}
.features_list .text_box_wrapper .layout_angle_brackets span:nth-child(4) {
  border-bottom: 1px solid #999;
  border-right: 1px solid #999;
  bottom: 0;
  right: 0;
}

/* 当院の特徴ページのみ */
.page_feature .bg_wrapper {
  background-color: #f6f5f3;
  padding: 60px 0 65px;
}
.page_feature .features_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.page_feature .features_list li:nth-child(2) {
  margin: 0 50px;
}
.page_feature .features_list li:nth-child(5) {
  margin-left: 50px;
}
.page_feature .features_list li:nth-child(n+4) {
  margin-top: 60px;
}

/*============================================================================

  $medical

============================================================================*/
/* 顎関節症 */
.page_medical04 .article_tmd .text .list08 {
  display: table;
  width: 670px;
  margin: 25px 0 0;
  padding-bottom: 30px;
  box-sizing: border-box;
}
.page_medical04 .article_tmd .text+.text {
  margin-top: 30px;
}

/* インプラント */
.page_medical04 #sec02 .list03 {
  background-color: #f6f5f3;
  padding: 30px;
}

/*==================================================================

  $information アクセス・お知らせ

==================================================================*/
#access .fa, #access .fas {
  margin-right: 7px;
}
#access .access_map {
  text-align: center;
  margin: 0 auto;
}
#access .access_map dt {
  margin-bottom: 15px;
}
#access .access_map dd img {
  border: 4px solid #555;
}
#access .btn_01 {
  width: 280px;
}
#access .btn_01.googlemap {
  margin: 40px auto;
}
#access .access_info {
  text-align: center;
  background-color: #f6f3ed;
  padding: 35px 30px;
}
#access .access_info dl {
  line-height: 1;
  padding-bottom: 25px;
  border-bottom: 1px dashed;
}
#access .access_info dl+dl {
  margin-top: 25px;
}
#access .access_info dt {
  margin-bottom: 25px;
}
#access .access_info .btn_01 {
  margin: 25px auto 5px;
}
#access .access_route ol {
  display: flex;
  flex-wrap: wrap;
}
#access .access_route ol li {
  width: 296px;
  background-color: #eee;
}
#access .access_route ol li:nth-child(3n-1) {
  margin: 0 31px;
}
#access .access_route ol li:nth-child(n+4) {
  margin-top: 31px;
}
#access .access_route ol li dt {
  margin-bottom: 10px;
}
#access .access_route ol li dd {
  padding: 0 0 15px 10px;
}
#access .access_route ol li dd span {
  display: inline-table;
  color: #fff;
  text-align: center;
  background-color: #175ba9;
  width: 0;
  line-height: 30px;
  padding-left: 30px;
  margin-right: 7px;
  margin-left: -7px;
}
@media all and (-ms-high-contrast: none) { /* IE */
  #access .access_route ol li dd span {
    padding-top: 5px;
    line-height: 25px;
  }
}
#access .access_route ol li dd {
  text-indent: -30px;
  margin-left: 37px;
}

/*==================================================================

  $共通

==================================================================*/
/*まる*/
.list03 li {
  position: relative;
  padding-left: 15px;
}
.list03 li+li {
  margin-top: 1.5em;
}
.list03 li:before {
  display: block;
  position: absolute;
  top: 12px;
  left: 0;
  width: 3px;
  height: 3px;
  background-color: #cfb683;
  border: 1px solid #cfb683;
  border-radius: 100%;
  content: '';
}
.list03 li i {
  margin-right: 8px;
}

/*チェック*/
.list08{
  margin-bottom: 50px;
  padding: 40px 10px 25px 45px;
  background-color: #f6f5f3;
}
.list08:after {
  display: block;
  clear: both;
  content: "";
}
.list08 li {
  position: relative;
  float: left;
  margin-right: 5%;
  margin-bottom :20px;
  margin-left: 28px;
  border-bottom: 1px dotted #cdcdcd;
}
.list08 li:before{
  display: block;
  position: absolute;
  top: 3px;
  left: -28px;
  width: 20px;
  height: 20px;
  background-image: url(../images/check.svg);
  background-repeat: no-repeat;
  background-position: left center;
  content: '';
}

/*院長略歴*/
.list01 {
	margin: 0 0 15px;
	padding: 0;
	border-width: 0 1px 1px;
}
.list01 dt {
	margin: 0;
	padding: 14px 3px 0px;
}
.list01 dd {
	margin: -38px 0 0;
	padding: 12px 4px 10px 100px;
	border-bottom: 1px dotted #ACACAC;
}

/*院長略歴　年月無し*/
.list02 {
	margin: 0 0 15px;
	border-width: 0 1px 1px;
}
.list02 li {
	margin: 0 0px 0px;
	padding: 6px 4px 6px 0;
	border-bottom: 1px dotted #ddd;
}


/*さんかく*/
.list04 li{
	position: relative;
	margin-bottom:15px;
	padding-left:22px;
	color:#223a70;
}
.list04 li:before{
	position:absolute;
	top:0.5em;
	left:7px;
	width: 0;
	height: 0;
	border:5px solid transparent;
	border-left: 5px solid #4A577F;
	content:"";
}

/*やじるし*/
.list05 li{
	position:relative;
	margin-bottom: 10px;
	line-height:1;
	padding-left:15px;
}
.list05 li:before{
	position:absolute;
	left:0;
	top:0.3em;
	height:5px;
	width:5px;
	transform:rotate(45deg);
	background-color: transparent;
	border-top:1px solid #333;
	border-right:1px solid #333;
	content:"";
}

/* まる & 背景 */
.list06{
	padding:35px 15px 25px 45px;
	background-color:#f7f7f7;
}
.list06:after {
	display: block;
	clear: both;
	content: "";
}
.list06 li{
	position:relative;
	float:left;
	margin-bottom:15px;
	padding-left:0.9em;
	padding-right:5%;
	
}
.list06 li:before{
	display: block;
	content: '';
	position: absolute;
	top: 10px;
	left: 0;
	width: 3px;
	height: 3px;
	background-color: #5ec1ef;
	border: 1px solid #5ec1ef;
	border-radius: 100%;
}

/*まる & 枠 */
.list07{
	border: 3px solid #eee;
	padding: 30px ;
	font-size:14.5px;
}
.list07 li{
	padding-left:0.9em;
	margin-bottom:10px;
	position:relative;
}
.list07 li:last-child{
	margin-bottom:0;
}
.list07 li:before{
	display: block;
	content: '';
	position: absolute;
	top: 10px;
	left: 0;
	width: 3px;
	height: 3px;
	background-color: #E0D0BF;
	border: 1px solid #E0D0BF;
	border-radius: 100%;
}
.list07 li i{
	margin-right:8px;
}



/* 画像を右寄せ　※画像サイズはhtmlで調整 */
.img_fr{
	display:block;
	position:relative;
	float:right;
	margin-left:30px;
	margin-bottom:0 !important;
	text-align:center;
}
.img_fr img{
	border-radius:3px;
	margin-bottom:7px;
	max-width: 300px;
	height: auto;
}
/* 画像に対して説明文がある場合は、dlで囲い、dtに画像を、ddにテキストを使う */
.img_fr dd{
	padding-left:20px;
	line-height:1.3;
	font-size:15px; 
	font-weight:bold;
	color: #1F2774;
	text-align:left;
}

/* 画像を右寄せ　※画像サイズはhtmlで調整 */
.img_fr {
  display: block;
  position: relative;
  float: right;
  margin-left: 30px;
  margin-bottom: 0 !important;
  text-align: center;
}
/* 画像を左寄せ　※画像サイズはhtmlで調整 */
.img_fl {
  display: block;
  position: relative;
  float: left;
  margin-right: 30px;
  margin-bottom: 0 !important;
  text-align: center;
}

/*==================================================================

  $layout

==================================================================*/
/* 1つ並びのレイアウト。画像は無し、左にタイトル、右に文章 */
.layout01 dl {
  display: table;
  position: relative;
  top: 5px;
  width: 100%;
  margin-bottom: 5px;
}
.layout01 dl:before {
  position: absolute;
  top: -3px;
  left: 0;
  width: 100%;
  border-top:  1px solid #ededed;
  content: "";
}
.layout01 dl:last-child:after {
  position: absolute;
  bottom: -3px;
  left: 0;
  width: 100%;
  border-top: 1px solid #f0f0f0;
  content: "";
}
.layout01 dt,
.layout01 dd {
  display: table-cell;
  box-sizing: border-box;
}
.layout01 dt {
  width: 200px;
  padding: 0 3%;
  background-color: #f7f7f7;
  letter-spacing: 0.1em;
  font-size: 112.5%; /*18px*/
  font-weight: 600;
  text-align: center;
  vertical-align: middle;
}
/* 数字 */
.layout01 dt em{
  display: block;
  line-height: 1;
  margin: 0 8px;
  font-family: "Times New Roman", Times, serif;
  font-size: 211%; /*38px*/
  font-weight: normal;
  color: #C3AF97;
}
.layout01 dd {
  padding: 3%;
}

/* 1つ並びのレイアウト。画像が左、右にタイトル、タイトル下に文章 */
.layout03 dl {
  display: table;
  position: relative;
  background-color: #f7f7f7;
  padding: 2%;
}
.layout03 dl+dl {
  margin-top: 25px;
}
.layout03 dt,
.layout03 dd {
  display: table-cell;
  box-sizing: border-box;
  vertical-align: middle;
}
.layout03 dt {
  width: 27%;
  padding: 3%;
  background-color: #fff;
  text-align: center;
}
.layout03 dt img {
  width: 100%;
  padding-bottom: 10px;
}
.layout03 dd {
  width: 73%;
  padding: 1% 3%;
}
.layout03 dd .title {
  color: #555;
  font-size: 112.5%; /*18px*/
  font-weight: 600;
}
.layout03 dd .title em{
  margin-right: 10px;
  color: #BDA087;
  font-family: "Times New Roman", Times, serif;
  font-size: 166%; /*30px*/
  font-weight: normal;
}

/* 1つ並びのレイアウト。画像が左、右にタイトル、タイトル下に文章、タイトルと文章のエリア(dd)は背景色が別の色 */
.layout04 dl {
  display: table;
  position: relative;
  background-color: #f7f7f7;
  padding: 2%;
}
.layout04 dl+dl {
  margin-top: 25px;
}
.layout04 dt,
.layout04 dd {
  display: table-cell;
  box-sizing: border-box;
}
.layout04 dt {
  width: 27%;
  padding-right: 2%;
  vertical-align: middle;
}
.layout04 dt img {
  width: 100%;
}
.layout04 dd {
  width: 73%;
  padding: 3%;
  background-color: #fff;
  vertical-align: middle;
}
.layout04 dd .title {
  color: #555;
  font-size: 112.5%; /*18px*/
  font-weight: 600;
}
.layout04 dd .title span {
  margin-right: 10px;
  color: #BDA087;
  font-family: "Times New Roman", Times, serif;
  font-size: 111%; /*30px*/
  font-weight: normal;
}

/* 1つ並びで3列に区切られたレイアウト。画像が左、画像の下にタイトル、右に文章 */
.layout05 dl {
  display: table;
  position: relative;
  background-color: #f7f7f7;
  padding: 2% 0 2% 2%;
  font-size: 93.75%; /*15px*/
}
.layout05 dl+dl {
  margin-top: 25px;
}
.layout05 dt,
.layout05 dd {
  display: table-cell;
  box-sizing: border-box;
}
.layout05 dt {
  width: 25%;
  background-color: #fff;
  text-align: center;
  vertical-align: middle;
}
.layout05 dt img {
  width: 100%;
  padding-bottom: 10px;
}
.layout05 dd {
  padding: 1% 3%;
  vertical-align: top;
}
.layout05 dd:nth-child(2) {
  width: 36.5%;
}
.layout05 dd:nth-child(3) {
  width: 38.5%;
  border-left: 1px solid #e2e2e2;
}
.layout05 dd .title em {
  margin-right: 10px;
  color: #BDA087;
  font-family: "Times New Roman", Times, serif;
  font-size: 187.5%; /*30px*/
  font-weight: normal;
}
.layout05 dd .title {
  font-size: 106%; /*16px*/
  font-weight: 600;
}
.layout05_text1 ul {
  margin-bottom: 15px;
}
.layout05_text1 ul:last-child {
  margin-bottom: 0;
}
.layout05_text1 ul li {
  text-indent: -1em;
  margin-left: 1em;
}
.layout05_text1 ul li:before {
  content: "・";
}
.layout05_facility dl{
  background: none;
	padding: 30px 0;
	border-bottom: 1px dashed;
}
.layout05_facility dl+dl {
	margin: 0;
}
.layout05_facility dt {
	width: 17%;
	padding-bottom: 10px;
    color: #fff;
    letter-spacing: 0.05em;
    background-color: #555;
}
.layout05_facility img {
	width: 100%;
	height: auto;
}
/* 1つ並びで3列に区切られたレイアウト。左がタイトル、真ん中と右に文章 */
.layout06 dl {
  display: table;
  position: relative;
  padding-bottom: 5px;
  font-size: 93.75%; /*15px*/
}
.layout06 dl:before {
  position: absolute;
  top: -3px;
  left: 0;
  width: 100%;
  border-top: 1px solid #ededed;
  content: "";
}
.layout06 dl:last-child:after {
  position: absolute;
  bottom: -3px;
  left: 0;
  width: 100%;
  border-top: 1px solid #f0f0f0;
  content: "";
}
.layout06 dt,
.layout06 dd {
  display: table-cell;
  box-sizing: border-box;
}
.layout06 dt {
  width: 28%;
  padding: 0 3%;
  background-color: #F7F7F7;
  letter-spacing: 0.1em;
  font-size: 112.5%; /*18px*/
  font-weight: 600;
  text-align: center;
  vertical-align: middle;
}
/* 数字 */
.layout06 dt em {
  display: block;
  line-height: 1;
  margin: 0 8px;
  font-family: "Times New Roman", Times, serif;
  font-size: 211%; /*38px*/
  font-weight: normal;
  color: #C3AF97;
}
.layout06 dd {
  width: 36%;
  padding: 2% 3%;
  vertical-align: top;
}
.layout06 dd:nth-child(3) {
  border-left: 1px solid #e2e2e2;
}
.layout06 dd .title {
  font-size: 106%; /*16px*/
  font-weight: 600;
}
.layout06_text1 ul li {
  text-indent: -1em;
  margin-left: 1em;
  margin-top: 0.5em;
}
.layout06_text1 ul li:before {
  content: "・";
}
.layout06_text1 ul li span {
  display: block;
  text-indent: 0;
}
.layout06_text1 p {
  background-color: #d7edf7;
  margin-top: 1em;
  padding: 1em;
}

/*==================================================================

　$news

==================================================================*/
.page_information .news_text {
  border-top: 1px solid #ccc;
}
.page_information .news_text li {
  padding: 0 35px 35px;
  border-bottom: 1px solid #ccc;
}
.page_information .news_text .date {
  color: #5ec1ef;
  line-height: 1;
  margin-bottom: 10px;
  padding-top: 35px;
}
.page_information .news_text .title {
  font-size: 112.5%; /*18px*/
  margin-bottom: 10px;
}
.page_information .news_text dd {
  color: #555;
}
/*本文中のテーブル*/
.tb03 {
  width: 100%;
  border-spacing: 1px;
  border-collapse: separate;
  background-color: #f0f0f0;
}

.tb03 td,
.tb03 th {
  padding: 8px 20px;
}

.tb03 th {
  font-weight: bold;
  text-align: left;
  background-color: #d7edf7;
}

.tb03 th span {
  font-size: 13px;
}

.tb03 td {
  background-color: #ffffff;
}
.color_blue02 {
	color: #5ec1ef;
}
.sp_inline {
	display: none;
}