@charset "utf-8";
/* -----------------------------------------------------------
　見出し
----------------------------------------------------------- */
h1 {
  font-size: 70%;
  border-bottom: 1px solid #e2e2e2;
  padding: 0 0 5px;
  margin: 0 0 15px;
  height: 28px;
  line-height: 100%;
}
h2 {
  margin: 0px;
  padding: 0px;
}
h2.h2under {
  background: url(../images/key_visual02.png) no-repeat;
  width: 790px;
  height: 212px;
  line-height: 212px;
  color: #FFFFFF;
  padding-left: 30px;
  letter-spacing: 2px;
  text-shadow: 1px 1px 3px #000;
  font-size: 180%;
}
h3 {
  overflow: hidden;
  text-align: center;
  font-weight: normal;
  font-size: 160%;
  color: #273674;
  margin: 0 0 30px;
}
h3 span {
  display: inline-block;
  padding: 0 20px;
  position: relative;
  line-height: 30px;
}
h3 span:before, h3 span:after {
  border-top: 1px solid #273674;
  content: "";
  position: absolute;
  top: 50%;
  width: 99em;
}
h3 span:before {
  right: 100%;
}
h3 span:after {
  left: 100%;
}
h4 {
  font-size: 130%;
  color: #b83f7d;
  font-weight: normal;
  margin-bottom: 20px;
  border-bottom: 3px solid #fae5f1;
}
h4 span {
  display: block;
  line-height: 30px;
  height: 30px;
  width: 765px;
  padding-left: 16px;
  border-left: 9px solid #f4a2cb;
}
h5 {
  display: inline-block;
  background-color: #829dcb;
  margin-bottom: 15px;
  color: #FFFFFF;
  border-radius: 20px;
  padding: 5px 20px;
  font-size: 110%;
  font-weight: normal;
}
h6 {}
h7 {}
.h4box:not(:last-child) {
  margin-bottom: 50px;
}
.h4pg {
  margin-bottom: 40px;
}
.h5box:not(:last-child) {
  margin-bottom: 40px;
}
.h5subbox {
  border-radius: 10px;
  border: 2px solid #c5d6ea;
  background-color: #FFFFFF;
  padding: 20px;
  margin-bottom: 15px;
}
/* -----------------------------------------------------------
　リスト
----------------------------------------------------------- */
ol {}
ol li {}
ul {}
ul li {}
dl {}
dl dt {}
dl dd {}
/* :::::::::: テーブル :::::::::: */
table {}
table tr th, table tr td {}
table tr th {}
table tr td {}
/* =======================================================================

   全体
   
======================================================================= */
body {
  font-family: Meiryo, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  background: url(../images/head-bg.png) repeat-x;
  font-size: 16px;
  color: #3d3d3d;
}
/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#ffffff+25,e3f7ff+100 */
p:not(:last-child) {
  margin: 0 0 15px;
}
.fc_pink {
  color: #ef57a0;
}
.fc_red {
  color: #ff0000;
}
.mt10 {
  margin: 0 auto 1rem;
}
/* -----------------------------------------------------------
　ラッパー
----------------------------------------------------------- */
#wrapper {
  padding: 15px 0 0;
  width: 100%;
  text-align: left;
  margin: 0;
  background: #ffffff; /* Old browsers */
  background: -moz-linear-gradient(top, #ffffff 25%, #e3f7ff 100%); /* FF3.6+ */
  background: -webkit-gradient(linear, left top, left bottom, color-stop(25%, #ffffff), color-stop(100%, #e3f7ff)); /* Chrome,Safari4+ */
  background: -webkit-linear-gradient(top, #ffffff 25%, #e3f7ff 100%); /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(top, #ffffff 25%, #e3f7ff 100%); /* Opera 11.10+ */
  background: -ms-linear-gradient(top, #ffffff 25%, #e3f7ff 100%); /* IE10+ */
  background: linear-gradient(to bottom, #ffffff 25%, #e3f7ff 100%); /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e3f7ff', GradientType=0); /* IE6-9 */
}
/* -----------------------------------------------------------
　ヘッダ
----------------------------------------------------------- */
#header {
  margin-bottom: 20px;
}
/* :::::::::: cookie+CSS切り替え :::::::::: */
#header #font-buttons {}
#header #logo {
  margin: 0px;
  padding: 0px;
  height: 140px;
  width: 1100px;
}
#header #logo #marl {
  float: left;
  margin: 0px;
  padding: 0px;
  height: 140px;
  width: 531px;
}
#header #logo #telephones {
  margin: 20px 0 0;
  padding: 0px;
  float: right;
  width: 474px;
}
#header #logo #telephones .tel {
  background: url(../images/head-tel-bg.png) no-repeat;
  padding: 0 0 0 30px;
  font-size: 140%;
  margin: 0 0 5px;
}
#header #logo #telephones .tel span {
  font-size: 60%;
}
#header #logo #telephones .add {
  background: url(../images/head-add-bg.png) no-repeat;
  padding: 2px 0 5px 30px;
}
/* :::::::::: メインナビ :::::::::: */
#main_nav-bg {
  background-color: #f0f9ff;
  padding: 15px;
  border-radius: 15px;
  margin: 0 0 50px;
}
#main_nav-bg .contname {
  color: #435295;
  font-size: 150%;
  border-bottom: 1px solid #435295;
  padding: 10px 0 20px;
  font-weight: bold;
}
ul#main_nav {
  margin-bottom: 20px;
  height: 65px;
}
ul#main_nav li {
  float: left;
  margin: 0px;
  padding: 0px;
  height: 65px;
  width: 177px;
}
ul#main_nav li.home {
  float: left;
  margin: 0px;
  padding: 0px;
  height: 65px;
  width: 82px;
}
ul#main_nav li a {}
/* :::::::::: キービジュアル :::::::::: */
#key_visual {
  margin-bottom: 60px;
}
/* -----------------------------------------------------------
　コンテンツラッパー
----------------------------------------------------------- */
#contents_wrapper {
  width: 1100px;
  margin: 0 auto;
}
/* :::::::::: パンくずリスト :::::::::: */
ol.bredcrumbs {
  height: 20px;
  margin-bottom: 10px;
}
ol.bredcrumbs li {
  display: inline;
  list-style-type: none;
}
ol.bredcrumbs li:after {
  content: " >> ";
}
ol.bredcrumbs li:last-child:after {
  content: "";
}
/* -----------------------------------------------------------
　メインコンテンツ
----------------------------------------------------------- */
#main_contents {
  width: 790px;
  float: right;
  margin-bottom: 40px;
}
#main_contents .box {
  height: auto;
  margin: 0 0 40px;
  padding: 0 0 10px;
  word-wrap: break-word;
}
#main_contents #featurebox {
  width: 758px;
  height: auto;
  margin-top: 0px;
  margin-right: 0px;
  margin-bottom: 40px;
  margin-left: 0px;
  padding-top: 20px;
  padding-right: 0px;
  padding-bottom: 10px;
  padding-left: 0px;
  background-color: #fdfcf7;
  border: 1px solid #f8f3de;
  border-radius: 8px;
}
.align_right {
  text-align: right;
}
#main_contents .accessbox #map_canvas {
  width: 760px;
  height: 340px;
  padding-right: 0px;
  margin-right: auto;
  margin-left: auto;
  border-radius: 8px;
}
#main_contents .accessbox #map_canvas iframe {
  width: 760px;
  height: 340px;
  border: none;
}
/* :::::::::: お知らせ欄 :::::::::: */
#information {
  margin: 0 0 60px;
  padding: 0 30px 30px;
  height: 250px;
  overflow-y: scroll;
}
#information dl {}
#information dt {
  color: #ef61a6;
  font-size: 120%;
}
#information dd {
  margin: 0 15px 40px;
  font-size: 100%;
  line-height: 120%;
}
#main_contents #clinic_info {
  height: auto;
  margin: 0 0 20px;
  padding: 0 0 10px;
  word-wrap: break-word;
}
#main_contents #clinic_info-right {
  width: 300px;
  float: right;
  text-align: right;
}
#main_contents #clinic_info-left {
  width: 450px;
  float: left;
}
#main_contents #clinic_info-left table.addinfo {
  margin: 0 0 10px;
  padding: 0;
}
#main_contents #clinic_info-left table.addinfo th {
  color: #ef57a0;
  text-align: left;
  vertical-align: top;
  padding: 0 15px 0 0;
  font-weight: normal;
}
#main_contents #clinic_info-left table.addinfo td {
  text-align: left;
  vertical-align: top;
  padding: 0 0 20px;
}
#main_contents #clinic_info #timetable {
  padding: 0px;
  vertical-align: middle;
  margin-right: 0px;
  margin-bottom: 15px;
  margin-left: 0px;
  background-color: #FFF;
  border-collapse: collapse;
}
#main_contents #clinic_info #telnumber {
  font-size: 22px;
}
#main_contents #clinic_info #telnumber a {
  text-decoration: none;
}
#main_contents #clinic_info #clinicname {
  font-size: 18px;
  margin-bottom: 10px;
  margin-right: 20px;
  margin-left: 0px;
}
#main_contents #clinic_info #timetable tr {
  margin: 0px;
  padding: 0px;
}
#main_contents #clinic_info #timetable tr td {
  margin: 0px;
  padding: 8px 5px;
  text-align: center;
  border: 1px solid #ddd7ca;
  font-weight: bold;
  vertical-align: middle;
  font-size: 150%;
}
#main_contents #clinic_info table#timetable tr th {
  margin: 0px;
  padding: 7px 5px;
  background-color: #435295;
  text-align: center;
  border: 1px solid #ddd7ca;
  vertical-align: middle;
  color: #ffffff;
}
#main_contents #clinic_info table#timetable tr .head {
  width: 110px;
  height: 30px;
  margin: 0px;
  background-color: #ECECEC;
  text-align: center;
  padding-top: 0px;
  padding-right: 0px;
  padding-bottom: 0px;
  padding-left: 0px;
  border: 1px solid #ddd7ca;
}
#main_contents #clinic_info table#timetable tr .time {
  margin: 0px;
  border: 1px solid #ddd7ca;
  font-weight: normal;
  background-color: #ffdced;
  font-size: 95%;
}
#main_contents #clinic_info table#timetable tr .day {
  background-color: #FCFAF2;
  color: #FFF;
  border: 1px solid #ddd7ca;
}
#main_contents #clinic_info table#timetable tr .orange {
  color: #F90;
  font-weight: normal;
}
#main_contents #clinic_info #clinic_info-right #map_canvas {
  height: 270px;
  border-radius: 8px;
  margin: 0 0 10px;
}
#main_contents #clinic_info #clinic_info-right #map_canvas iframe {
  border: none;
  height: 270px;
}
#main_contents #clinic_info .time_info p {
  font-size: 12px;
  margin-top: -10px;
}
/* -----------------------------------------------------------
　医師
----------------------------------------------------------- */
#main_contents .doctor {
  word-wrap: break-word;
}
#main_contents .doctor p {
  margin-right: 20px;
  margin-left: 20px;
  margin-bottom: 20px;
}
#main_contents .doctor p a {
  color: #F90;
}
#main_contents .doctor h3 {
  height: 33px;
  width: 760px;
  background-color: #fefefe;
  text-align: center;
  font-size: 20px;
  padding-top: 17px;
  border: 1px solid #cccccc;
  border-radius: 8px;
  font-weight: normal;
}
/* -----------------------------------------------------------
　サブコンテンツ
----------------------------------------------------------- */
#sub_contents {
  width: 280px;
  float: left;
  height: auto;
}
a.rvs {
	display: flex;
    justify-content: space-between;
    align-items: center;
	text-align: center;
	text-decoration: none;
	width: 240px;
	margin: auto;
	padding: 1rem;
	background-image: linear-gradient(to right, #b9ecff 0%, #ffadd0 100%);
    font-weight: bold;
	color: #435295;
	border-radius: 100vh;
	position: relative;
	transition: 0.5s;
}
a.rvs::before {
	content: '';
	position: absolute;
	top: calc(50% - 2px);
	right: 1em;
	transform: translateY(calc(-50% - 2px)) rotate(45deg);
	width: 10px;
	height: 1px;
	background: #435295;
}
a.rvs::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 1em;
	transform: translateY(-50%);
	width: 50px;
	height: 1px;
	background-color: #435295;
}
a.rvs:hover {
	background: #d4eef7;
	color: #27acd9;
}
/* :::::::::: サブナビ :::::::::: */
ul#sub_nav {
  width: 250px;
  text-align: center;
  border-radius: 8px;
  padding: 0;
  margin: 0;
}
#sub_nav li {
  list-style: none;
  border-bottom: 1px solid #bccdd9;
  text-align: left;
  font-size: 100%;
}
ul#sub_nav li a {
  display: block;
  padding: 15px 10px;
  background: url(../images/sub_nav-icon.png) no-repeat right top;
}
ul#sub_nav li a:hover {
  display: block;
  padding: 15px 10px 15px 15px;
  color: #435295;
  background: url(../images/sub_nav-icon_on.png) no-repeat right top;
}
#main_contents #topic {
  margin-bottom: 40px;
  height: auto;
}
#main_contents #topic p {
  float: left;
  margin-right: 20px;
  padding: 0px;
  margin-top: 0px;
  margin-bottom: 0px;
  margin-left: 0px;
}
#main_contents #topic .r0 {
  margin: 0px;
  padding: 0px;
}
#footer_area {
  height: auto;
  width: 100%;
}
/* -----------------------------------------------------------
　フッタ
----------------------------------------------------------- */
#footer {
  margin: 0 auto;
  background-color: #fff3f9;
  width: 100%;
  padding: 15px 0;
}
#footer a:link, #footer a:visited {
  color: #c24882;
  text-decoration: underline;
}
#footer a:hover, #footer a:active {
  color: #e26da5;
  text-decoration: underline;
}
/* :::::::::: フッターナビ :::::::::: */
/*↓フッターナビ左寄せ*/
ul.footer_nav {
  margin: 0 0 10px;
  padding: 0;
}
.footer_nav li {
  float: left;
  margin: 0;
  padding: 0;
  line-height: 100%;
}
#footer .copyright {
  text-align: left;
  margin: 20px 0 0;
  font-size: 80%;
}
#footer-add {
  width: 100%;
  background-color: #d4dbf9;
  border-top: 1px solid #435295;
  border-bottom: 1px solid #435295;
}
.footer-add-area {
  width: 1100px;
  margin: 0 auto;
}
.footer-add-box {
  width: 600px;
  float: left;
  text-align: left;
  padding: 10px 0;
}
.smoothScrolls {
  background-color: #435295;
  float: right;
  padding: 14px 18px;
}
.footer_waku {
  width: 1100px;
  margin: 0 auto;
}
.subbox {
  padding: 0 30px;
}
.subbox p, .subbox li, .subbox dt, .subbox dd {
  font-size: 16px;
  color: #3d3d3d;
}
.liststyle1 {
  margin-left: 20px;
}
.liststyle1 li {
  list-style-type: disc;
}
.liststyle1 li:not(:last-child) {
  margin-bottom: 5px;
}
.liststyle2 {
  margin-left: 20px;
}
.liststyle2 li {
  list-style-type: circle;
}
.liststyle3 {
  padding-left: 20px;
  background: url(../images/doctor-bg.png) no-repeat bottom right;
  height: 387px;
}
.liststyle3 li {
  list-style-type: square;
  font-size: 18px;
  margin-bottom: 25px;
}
.liststyle3 li:first-child {
  padding-top: 110px;
}
.note {
  text-indent: -1em;
  padding-left: 1em;
}
.timetable_acs {
  padding: 0px;
  vertical-align: middle;
  margin: 0 0 5px 0;
  background-color: #FFF;
  border-collapse: collapse;
}
.timetable_acs tr {
  margin: 0px;
  padding: 0px;
}
.timetable_acs tr td {
  margin: 0px;
  padding: 8px 5px;
  text-align: center;
  border: 1px solid #ddd7ca;
  font-weight: bold;
  vertical-align: middle;
  font-size: 150%;
}
.timetable_acs tr th {
  margin: 0px;
  padding: 7px 5px;
  background-color: #435295;
  text-align: center;
  border: 1px solid #ddd7ca;
  vertical-align: middle;
  color: #ffffff;
}
.timetable_acs tr .head {
  width: 110px;
  height: 30px;
  margin: 0px;
  background-color: #ECECEC;
  text-align: center;
  padding-top: 0px;
  padding-right: 0px;
  padding-bottom: 0px;
  padding-left: 0px;
  border: 1px solid #ddd7ca;
}
.timetable_acs tr .time {
  margin: 0px;
  border: 1px solid #ddd7ca;
  font-weight: normal;
  background-color: #ffdced;
  font-size: 95%;
}
.timetable_acs tr .day {
  background-color: #FCFAF2;
  color: #FFF;
  border: 1px solid #ddd7ca;
}
.timetable_acs .name {
  font-size: 50%;
  font-weight: normal;
  line-height: 120%;
}
.timetable_acs .def {
  font-size: 100%;
  font-weight: normal;
}
table.addinfo_acs {
  margin: 0 0 10px;
  padding: 0;
}
table.addinfo_acs th {
  color: #ef57a0;
  text-align: left;
  vertical-align: top;
  padding: 0 15px 0 0;
  font-weight: normal;
}
table.addinfo_acs td {
  text-align: left;
  vertical-align: top;
  padding: 0 0 20px;
}
#map_canvas.acs {
  width: 730px;
  height: 480px;
  margin-right: auto;
  margin-left: auto;
  margin-bottom: 30px;
  border-radius: 8px;
}
#map_canvas.acs iframe {
  border: none;
  width: 730px;
  height: 480px;
}
p.txtstyle1 {
  font-size: 20px;
}
.txt_c {
  text-align: center;
}