@charset "utf-8";
body {
  margin: 0px auto;
  text-align: center;
  behavior: url("../csshover.htc");
}
body.fontL .main_box {
  font-size: 131%;
}
body.fontM .main_box {
  font-size: 116%;
}
body.fontS .main_box {
  font-size: 100%;
}
#box {
  color: #4C4C4C;
  margin: 0px auto;
  padding: 0px;
  text-align: center;
  width: 800px;
}
h1 {
  font-size: 77%;
  text-align: right;
}
p {
  padding: 5px 15px 5px 20px;
  margin: 7px 15px;
}
p.last {
  padding-bottom: 25px;
}
a {}
a:hover {
  text-decoration: none;
}
.right {
  text-align: right;
  clear: both;
}
strong {
  background: #EDBEAA;
}
.strongA {
  font-size: 1.1em;
  color: #D60B21;
}
.strongB {
  font-size: 1.1em;
}
.strongC {
  font-weight: bold;
  background: #fff;
  background: linear-gradient(transparent 80%, yellow 80%);
  font-size: 1.1em;
}
a img {
  margin: 5px auto 15px;
  text-align: center;
}
#head {
  color: #B5B5B5;
  font-size: 85%;
  text-align: left;
  padding: 3px 15px 0px 0px;
}
#head a {
  color: #B5B5B5;
  text-decoration: none;
}
#top {
  float: left;
  width: 200px;
}
#m_bar {
  float: right;
  border-bottom: 1px solid #ECE9D8;
  margin-top: 51px;
  margin-right: 0px;
  margin-bottom: 0px;
  margin-left: 5px;
}
#m_bar ul {
  text-align: center;
}
#m_bar li {
  display: inline;
  float: left;
}
#m_bar a img {
  margin: 0;
}
.pan {
  font-size: 77%;
  text-align: right;
  margin: 0px;
  padding: 5px 15px 0px 5px;
  clear: both;
}
.pan a {
  text-decoration: none;
  color: #D60B21;
}
.pan a:hover {
  text-decoration: underline;
  color: #D20C25;
}
.main_box {
  float: right;
  width: 580px;
  margin: 7px 0px 10px;
  padding: 0px 7px 10px;
  clear: both;
}
.side_box {
  width: 200px;
  float: left;
}
.side {
  width: 200px;
  text-align: center;
  background: #B5B5B5;
  margin: 7px 0px;
  padding: 3px 0px;
  float: left;
}
.side h2 {
  text-align: center;
}
.side_bnr img {
  margin-top: 0px;
  margin-bottom: 0px;
}
.s_box {
  width: 194px;
  text-align: center;
  background: #FFFFFF;
  margin: 0px auto;
  padding: 15px 0;
}
.s_box_font {
  width: 194px;
  text-align: center;
  background: #FFFFFF;
  margin: 3px auto 0px;
  padding: 10px 0px;
}
div.s_box h2 {
  height: 40px;
  width: 180px;
  padding: 7px 0px 0px 5px;
}
div.s_box h3 {
  padding: 7px 0px 0px 10px;
}
div.s_box p {
  padding: 7px 0px 0px 15px;
}
div.s_box ul {
  list-style-type: none;
  margin: 0px 10px 20px;
  text-align: left;
}
div.s_box li {
  border-bottom: #d5d5d5 dotted 1px;
  margin: 0px 0px 6px;
  padding: 0px 0px 0px 20px;
  text-align: left;
  background: url(../../img/list.gif) no-repeat 1px 7px;
}
div.s_box a {
  color: #666666;
  text-decoration: none;
}
div.s_box a:hover {
  text-decoration: underline;
}
.s_box_font a {
  text-decoration: none;
}
div.s_box a.current {}
.main_box h2 {
  margin: 0px 7px 7px;
  text-indent: 15px;
  text-align: left;
  padding: 2px;
  background: #D7D7D7;
  font-size: 116%;
  clear: both;
}
.main_box h3 {
  color: #5A5A5A;
  font-weight: bold;
  margin: 7px 7px 7px 15px;
  text-indent: 10px;
  padding: 2px;
  border-bottom: 1px solid #B5B5B5;
}
.main_box h4 {
  color: #5A5A5A;
  font-weight: bold;
  margin: 7px 7px 7px 20px;
  text-indent: 10px;
  padding: 0px;
  border-left: 10px solid #D60B21;
}
.main_box h5 {
  font-weight: bold;
  margin: 7px;
  padding: 0px 0px 0px 40px;
}
.main_box ul {
  margin: 10px 10px 20px 5px;
  padding-left: 40px;
}
.main_box ol {
  margin: 10px 10px 20px 5px;
  padding-left: 50px;
  list-style: decimal;
}
.main_box table ol {
  padding-left: 20px;
}
.main_box .txtRed {
  color: #D60B21;
}
.main_box .txtYellow {
  background: linear-gradient(transparent 80%, yellow 80%);
}
/* point */
div.main_box div.point {
  margin: 0px auto 25px;
  text-align: center;
  padding: 10px 0px;
  border: 2px solid #B9AB86;
  background: #F3F1EB;
  width: 90%;
  line-height: 140%;
}
div.main_box div.point h3 {
  color: #5A5A5A;
  font-weight: bold;
  margin: 7px 7px 7px 20px;
  text-indent: 10px;
  padding: 0px;
  border-left: 10px solid #D60B21;
  border-bottom: none;
}
div.main_box div.point ul {
  padding-left: 45px;
}
div.main_box div.point table.tblPoint {
  border-collapse: collapse;
  width: 85%;
  border: 1px solid #B5B5B5;
  margin: 10px auto 20px;
}
div.main_box div.point table.tblPoint th {
  padding: 10px;
  border: 1px solid #B5B5B5;
  font-weight: normal;
  background: #E1DBCB;
  text-align: center;
}
div.main_box div.point table.tblPoint td {
  vertical-align: middle;
  padding: 7px;
  border: 1px solid #B5B5B5;
  background-color: #FCFBFA;
}
/* point_caution */
div.main_box div.point_caution {
  margin: 0px auto 25px;
  text-align: center;
  padding: 10px 0px;
  border: 3px solid #D60B21;
  width: 90%;
  line-height: 140%;
}
div.main_box div.point_caution p.right {
  padding-top: 0px;
}
div.main_box div.point_caution strong {
  font-weight: bold;
  background: #fff;
  background: linear-gradient(transparent 80%, yellow 80%);
  font-size: 1.1em;
}
div.point_notice strong {
  font-weight: bold;
  background: #fff;
  background: linear-gradient(transparent 80%, yellow 80%);
  font-size: 1.1em;
}
div.main_box div.decBox1 {
  margin: 0 30px 20px;
  padding: 5px 0;
  background-color: #FFF4F5;
}
img.r {
  float: right;
  margin: 10px 15px;
  padding: 2px;
}
img.l {
  float: left;
  margin: 10px 10px 10px 0px;
  padding: 2px;
}
img.hard {
  margin: 2px;
  border: 5px solid #666;
}
table.info {
  border-collapse: collapse;
  width: 95%;
  border: 1px solid #B5B5B5;
  margin: 10px auto 20px;
}
table.info th {
  padding: 10px;
  border: 1px solid #B5B5B5;
  font-weight: normal;
  background: #F0F0F0;
  text-align: center;
}
table.info td.left {
  text-align: left;
}
table.info td {
  vertical-align: middle;
  padding: 7px;
  border: 1px solid #B5B5B5;
  line-height: 160%;
  text-align: left;
}
table.info colgroup.summary {
  text-align: center;
  width: 120px;
  background: #F0F0F0;
}
table.info colgroup.left {
  text-align: left;
}
table.price {
  border-collapse: collapse;
  width: 75%;
  border: 1px solid #B5B5B5;
  margin: 10px auto;
}
table.price th {
  padding: 7px;
  border: 1px solid #B5B5B5;
  font-weight: normal;
  background: #F0F0F0;
  text-align: center;
}
table.price td {
  vertical-align: middle;
  padding: 7px;
  border: 1px solid #B5B5B5;
  line-height: 140%;
}
table.price tr.kei {
  background: #F0F0F0;
  border-top: 3px double #B5B5B5
}
table.price colgroup.right {
  text-align: right;
}
table.timetable {
  border-collapse: collapse;
  width: 90%;
  border: 1px solid #B5B5B5;
  margin: 15px auto;
  table-layout: fixed;
}
table th:first-of-type {
  width: 120px;
}
table.timetable th {
  padding: 5px;
  border: 1px solid #B5B5B5;
  font-weight: normal;
  text-align: center;
  background-color: #DAD2BE;
}
table.timetable td {
  vertical-align: middle;
  font-size: 1.1em;
  padding: 7px;
  border: 1px solid #B5B5B5;
  line-height: 140%;
  text-align: center;
  background-color: #FFF;
}
table.timetable em {
  font-size: 120%;
  font-weight: bold;
  color: #D60B21;
  padding: 3px;
}
.harf_box {
  float: left;
  margin: 10px 5px 10px 0px;
  text-align: center;
  width: 46%;
}
.top_box {
  float: left;
  margin: 10px 0px 10px 15px;
  width: 30%;
}
.top_box ul {
  list-style-type: none;
  margin: 5px;
  padding: 0px 0px 7px;
}
dl.info {
  padding: 10px;
  margin: 10px;
}
dl.info dt {
  color: #666666;
  font-weight: bold;
  margin: 0px 10px;
  padding: 0px 5px;
  text-align: left;
}
dl.info dd {
  border-bottom: 1px dotted #B5B5B5;
  margin: 0px 10px 7px;
  padding: 5px;
  text-align: left;
}
dl.point {
  padding: 0px;
  margin: 0px;
}
dl.point dt {
  padding: 0px 5px;
  margin: 0px 0px 0px 20px;
  text-align: left;
}
dl.point dd {
  margin: -21px 0px 7px;
  text-align: left;
  line-height: 140%;
  padding: 0px 20px 12px 130px;
}
.f_wrapped {
  margin: 10px 0px 0px;
  padding: 0px;
}
#f_box {
  padding: 5px 10px;
  clear: both;
  text-align: center;
  background: #EDBEAA;
  width: 780px;
}
#f_box a {
  text-align: center;
  text-decoration: none;
  color: #4F4E4A;
  padding: 7px;
  margin: 0px;
  font-size: 11px;
}
#f_box a:hover {
  text-decoration: underline;
}
#l_ad {
  font-size: 10px;
  color: #3C261A;
  float: left;
  line-height: 160%;
  margin: 7px;
  padding: 5px 5px 5px 10px;
  text-align: left;
  width: 400px;
}
#l_ad a {
  text-decoration: none;
  color: #3C261A;
  font-size: 10px;
}
#r_ad {
  color: #9E9373;
  margin: 7px 15px;
  float: right;
  width: 310px;
  padding: 5px;
}
#r_ad h2 {
  text-align: right;
  font-size: 10px;
  color: #3C261A;
}
#r_ad a {
  text-decoration: none;
  font-size: 10px;
  color: #3C261A;
}
#footer {
  margin: 0px;
  padding: 0px;
  clear: both;
  border-top: 1px solid #8D8674;
  background: #525252;
}
#footer p {
  font-size: 12px;
  text-align: center;
  padding: 5px;
  color: #B5B5B5;
}
.mmp {
  font-size: 9px;
  text-align: center;
}
.mmp a {
  font: 9px normal;
  text-align: center;
  text-decoration: none;
  color: #B5B5B5;
}
/*
10px = 77%
11px = 85%
12px = 93%
13px = 100%
14px = 108%
15px = 116%
16px = 123.1%
17px = 131%
18px = 138.5%
19px = 146.5%
20px = 153.9%
21px = 161.6%
22px = 167%
23px = 174%
24px = 182%
25px = 189%
26px = 197%
*/
/* 休診案内 ----------------------------------------------------------- */
table.schedule {
  border-collapse: collapse;
  width: 90%;
  border: 1px solid #B5B5B5;
  margin: 15px auto;
}
table.schedule th {
  padding: 5px;
  border: 1px solid #B5B5B5;
  font-weight: normal;
  text-align: center;
  background-color: #DAD2BE;
}
table.schedule td {
  vertical-align: middle;
  padding: 7px;
  border: 1px solid #B5B5B5;
  line-height: 140%;
  text-align: center;
  background-color: #FFF;
}
table.schedule td.red {
  background-color: #FCC;
}
table.schedule th.red, table.schedule span.red, span.red {
  color: #F00;
}
table.schedule th.sat, table.schedule span.sat, span.sat {
  color: #00f;
}
/*日付統合時の調整*/
table.schedule thead th.merge span {
  display: inline-block;
}
table.schedule thead th.merge span.btw {
  padding: 0 0.5em;
  vertical-align: 50%;
}
/* 季節の写真 ----------------------------------------------------------- */
.photo_box {
  background: none repeat scroll 0 0 #FFFFFF;
  text-align: center;
  width: 194px;
  margin: 3px auto 0;
}
.photo_box h3 {
  text-align: right;
  font-family: "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
  font-size: 110%;
  font-weight: bold;
  padding: 15px 20px 4px 10px;
}
.photo_box p {
  margin: 0;
  padding: 0;
}
.photo_box p.photo_text {
  margin: 0;
  padding: 5px;
  font-size: 85%;
}
.photo_box p.photo_img {
  margin-top: 8px;
}
/* 研修会の写真 ----------------------------------------------------------- */
div.kenshu_halfbox {
  width: 48%;
  float: left;
  margin-bottom: 10px;
  margin-left: 10px;
  overflow: hidden;
}
/* WEB予約 box ---------------------------------------------------------- */
div.main_box div.reserveBox {
  margin: 0px auto 25px;
  text-align: center;
  padding: 10px 0px;
  border: 3px solid #DDDDDD;
  width: 90%;
  line-height: 140%;
}
div.main_box div.reserveBox h4 {
  border-left: 10px solid #039FEA;
}
div.main_box div.reserveBox a {
  color: #039FEA;
  font-size: 1.2em;
}
/* margin-bottom */
.mb00 {
  margin-bottom: 0px !important;
}
.mb05 {
  margin-bottom: 5px !important;
}
.mb10 {
  margin-bottom: 10px !important;
}
.mb15 {
  margin-bottom: 15px !important;
}
.mb20 {
  margin-bottom: 20px !important;
}
.mb25 {
  margin-bottom: 25px !important;
}
.mb30 {
  margin-bottom: 30px !important;
}
.mb35 {
  margin-bottom: 35px !important;
}
.mb40 {
  margin-bottom: 40px !important;
}
.mb45 {
  margin-bottom: 45px !important;
}
.mb50 {
  margin-bottom: 50px !important;
}
.mb55 {
  margin-bottom: 55px !important;
}
.mb60 {
  margin-bottom: 60px !important;
}
.mb65 {
  margin-bottom: 65px !important;
}
/* margin-top */
.mt00 {
  margin-top: 0px !important;
}
.mt05 {
  margin-top: 5px !important;
}
.mt10 {
  margin-top: 10px !important;
}
.mt15 {
  margin-top: 15px !important;
}
.mt20 {
  margin-top: 20px !important;
}
.mt25 {
  margin-top: 25px !important;
}
.mt30 {
  margin-top: 30px !important;
}
.mt35 {
  margin-top: 35px !important;
}
.mt40 {
  margin-top: 40px !important;
}
.mt45 {
  margin-top: 45px !important;
}
.mt50 {
  margin-top: 50px !important;
}
.mt55 {
  margin-top: 55px !important;
}
/* align */
.alignC {
  text-align: center !important;
}
.alignR {
  text-align: right !important;
}
.alignL {
  text-align: left !important;
}
.bnrShadow {
  box-shadow: 1px 1px 4px rgb(0 0 0 / 10%);
}
/* 医師紹介 ----------------------------------------------------------- */
div.wrapDr {
  margin: 25px 0;
}
div.wrapDr h3 {
  font-size: 14px;
}
div.wrapDr h4 {
  margin-left: 40px;
}
div.wrapDr ul {
  margin-left: 15px;
}
/*influenza 2025*/
#flu .hA {
  margin: 0px 7px 7px !important;
  text-indent: 15px !important;
  text-align: left !important;
  padding: 2px !important;
  background: #D7D7D7 !important;
  font-size: 116% !important;
  clear: both !important;
}
#flu .hB {
  background: #edbeaa !important;
  font-weight: bold !important;
  font-size: 14px !important;
  padding: 5px !important;
  border-radius: 5px;
  margin-bottom: 10px !important;
}
#flu .hC {
  color: #5A5A5A !important;
  font-weight: bold !important;
  margin: 7px 7px 10px 15px !important;
  text-indent: 10px !important;
  padding: 2px !important;
  border-bottom: 1px solid #B5B5B5 !important;
  font-size: 14px;
}
#flu .hD {
  color: #5A5A5A !important;
  font-weight: bold !important;
  margin: 15px 7px 10px 20px !important;
  text-indent: 10px !important;
  padding: 0px !important;
  border-left: 10px solid #D60B21 !important;
  background: none !important;
  font-size: 13px !important;
  border-bottom: 0 !important;
}
#flu .flu_btn a {
  display: inline-block;
  padding: 1rem 5rem;
  text-decoration: none;
  color: #fff;
  background-color: #D60B21;
  transition: .4s;
  margin: 10px 0;
  position: relative;
  font-weight: bold;
}
#flu .flu_btn a::before {
  content: '';
  position: absolute;
  top: 45%;
  right: 2rem;
  transform: rotate(45deg) translateY(-50%);
  width: 8px;
  height: 8px;
  border-width: 2px 2px 0 0;
  border-style: solid;
  border-color: #fff;
}
#flu .flu_point {
  margin: 0px auto 25px;
  text-align: center;
  padding: 10px 0px;
  border: 2px solid #B9AB86;
  background: #F3F1EB;
  width: 90%;
  line-height: 140%;
}
#flu .decBox02 {
  margin: 0px auto 10px;
  text-align: center;
  padding: 5px;
  border: 2px solid #ccc;
  width: 90%;
  line-height: 140%;
}
#flu .decBox02 .hD {
  border: none !important;
  font-weight: bold;
  font-size: 14px;
  margin: 10px 0 15px 5px !important;
  padding: 0 !important;
}
#flu .decBox02 p {
  padding: 0px !important;
}
#flu .tblA {
  border-collapse: collapse;
  width: 90%;
  border: 1px solid #B5B5B5;
  margin: 10px auto 20px;
}
#flu .tblA th {
  padding: 10px;
  border: 1px solid #B5B5B5;
  font-weight: normal;
  background: #F0F0F0;
  text-align: center;
  width: auto;
}
#flu .tblA td {
  vertical-align: middle;
  padding: 7px;
  border: 1px solid #B5B5B5;
  line-height: 160%;
  text-align: left;
}
/*
#flu ul {
  margin-bottom: 0;
}
*/
/*リンクボタン*/
.linkBtn a {
  background: #eee;
  border-radius: 3px;
  position: relative;
  display: flex;
  justify-content: space-around;
  align-items: center;
  margin: 0 auto;
  max-width: 280px;
  padding: 10px 25px;
  color: #313131;
  transition: 0.3s ease-in-out;
  font-weight: 500;
}
.linkBtn a:hover {
  background: #525252;
  color: #FFF;
}
.linkBtn a:after {
  content: '';
  width: 5px;
  height: 5px;
  border-top: 3px solid #313131;
  border-right: 3px solid #313131;
  transform: rotate(45deg) translateY(-50%);
  position: absolute;
  top: 50%;
  right: 20px;
  border-radius: 1px;
  transition: 0.3s ease-in-out;
}
.linkBtn a:hover:after {
  border-color: #FFF;
}