@charset "utf-8";

/* ----------↓ #MAIN ↓---------- */

/* ----------↓ COMMON ↓---------- */
#main .last {
  margin-bottom: 4em;
}

#main .bld {
  font-weight: bold;
}

#main .red {
  color: #DD0000;
}

#main td.nowrap {
  white-space: nowrap;
}

#main .mgn-B00 {
  margin-bottom: 0 !important;
}

#main .mgn-B10 {
  margin-bottom: 10px !important;
}

#main .mgn-B15 {
  margin-bottom: 15px !important;
}

#main .mgn-B20 {
  margin-bottom: 20px !important;
}

#main .mgn-B30 {
  margin-bottom: 30px !important;
}

#main .mgn-B40 {
  margin-bottom: 40px !important;
}

#main .mgn-B50 {
  margin-bottom: 50px !important;
}

#main .mgn-T00 {
  margin-top: 0 !important;
}

#main .mgn-T10 {
  margin-top: 10px !important;
}

#main .mgn-T15 {
  margin-top: 15px !important;
}

#main .mgn-T20 {
  margin-top: 20px !important;
}

#main .mgn-T30 {
  margin-top: 30px !important;
}

#main .mgn-T40 {
  margin-top: 40px !important;
}

#main .mgn-T50 {
  margin-top: 50px !important;
}

/* ----------↓ IMG(float) ↓---------- */
div.pic {
  float: right;
  width: 200px;
  margin-left: 16px;
}

div.txt {
  float: left;
  width: 447px;
  margin-bottom: 1.6em;
}

img.pht {
  display: block;
  margin-bottom: 0.5em;
}


/* ----------↓ #ANC ↓---------- */
#anc {
  padding-top: 1em;
  margin-bottom: 4em;
}

#anc ul,
#anc li {
  list-style-type: none;
}

#anc ul:after {
  content: "";
  clear: both;
  display: block;
}

#anc ul {
  margin-bottom: 8px !important;
}

#anc ul li {
  margin-bottom: 0.3em;
  width: 28.5%;
}

#anc ul li a {
  padding-left: 18px;
  background: url("../image/arw_anchor.gif") no-repeat;
  background-position: left 0% bottom 50%;
}

#anc ul li a:hover {
  background: url("../image/arw_anchor-on.gif") no-repeat;
  background-position: left 0% bottom 50%;
}

/* ----------↓ #INFORMATION↓---------- */
#information {
  margin-bottom: 4em;
}

#information h2 {
  padding: .8em .6em .5em .6em;
  border-bottom: 0px solid #425695;
  background-color: #FFF;
  font-size: 120%;
  font-weight: bold;
  line-height: 1em;
  margin-bottom: 20px;
  letter-spacing: .15em;
  color: #555555;
  text-align: center;
}

/* ----------↓ #OVERVIEW ↓---------- */
#overview {
  margin-bottom: 4em;
}

/* ----------↓ LIST ↓---------- */
#overview ul {
  margin-bottom: 2em;
}

#overview ul.dec {
  list-style-type: decimal;
}

#overview ul.dec li {
  margin-bottom: 1em;
}

#overview ul li {
  margin-left: 23px;
}



/* ----------↓ TABLE ↓---------- */
#overview table.treat {
  width: 100%;
  margin-bottom: 2em;
}

#overview table.treat th:first-child {
  width: 29%;
}

#overview table.treat tr {
  border-top: 1px solid #CCCCCC;
  border-left: 1px solid #CCCCCC;
}

#overview table.treat th {
  border-bottom: 1px solid #CCCCCC;
  border-right: 1px solid #FFFFFF;
}

#overview table.treat th:last-child {
  border-right: 1px solid #CCCCCC;
}

#overview table.treat td {
  border-bottom: 1px solid #CCCCCC;
  border-right: 1px solid #CCCCCC;
}

#overview table.treat th {
  background-color: #A1AFDD;
  padding: 8px 0;
  color: #FFFFFF;
  vertical-align: middle;
  white-space: nowrap;
}

#overview table.treat td.cp {
  text-align: left;
  padding: 8px 8px 8px 15px;
  background-color: #EEEEEE;
}

#overview table.treat td.ope {
  text-align: left;
  padding: 8px 8px 8px 15px;
  background-color: #FFFFFF;
}

#overview table.treat td {
  text-align: center;
  vertical-align: middle;
  padding: 9px 7px 7px 7px;
  line-height: 1.3em;
  border-top: none;
}

/* ----------↓ img ↓---------- */
#overview ul li img {
  display: block;
  margin-bottom: 20px;
}


/* ----------↓ LIST ↓---------- */
#main ul,
#main ol {
  margin-bottom: 2em;
}

#main ul li,
#main ol li {
  margin-left: 30px;
  margin-bottom: 0.5em;
}

#schedule ul li {
  list-style-type: none;
  text-indent: 18px;
  margin-left: 10px;
}

#schedule ul li.circle {
  background: url("../image/icon_circle.gif") bottom 7px left 2px no-repeat;
}

#schedule ul li.circle_small {
  background: url("../image/icon_circle2_small.gif") bottom 7px left 4px no-repeat;
}

#schedule ul li.cross {
  background: url("../image/icon_cross.gif") bottom 7px left 2px no-repeat;
}

#schedule ul li.check {
  background: url("../image/icon_check.gif") bottom 6px left 0px no-repeat;
}

#schedule ul li.check_sp {
  background: url("../image/icon_check_sp.gif") bottom 7px left 2px no-repeat;
}

#schedule ul li.tri {
  background: url("../image/icon_tri.gif") bottom 7px left 2px no-repeat;
}

#schedule ul li.attention {
  background: url("../image/icon_attention.gif") bottom 7px left 2px no-repeat;
}

#schedule li.indent {
  margin-left: -8px;
}

/* ----------↓ #CONTACT ↓---------- */

/* ----------↓ TABLE ↓---------- */
#contact table {
  width: 100%;
  margin-bottom: 4em;
}

#contact table tr {
  border-top: 1px solid #CCCCCC;
}

#contact table tr:last-child {
  border-bottom: 1px solid #CCCCCC;
}

#contact table th,
table td {
  line-height: 1.3em;
  vertical-align: middle;
  padding: 13px;
}

#contact table th {
  white-space: nowrap;
  font-weight: normal;
  background-color: #F6F6F6;
  punctuation-trim: adjacent;
  text-align: left;
  width: 30%;
}

/* ----------↓ #COST ↓---------- */

/* ----------↓ TABLE ↓---------- */
#cost table {
  width: 100%;
  margin-bottom: 2em;
}

#cost table tr {
  border-top: 1px solid #CCCCCC;
}

#cost table tr:last-child {
  border-bottom: 1px solid #CCCCCC;
}

#cost table th,
table td {
  line-height: 1.3em;
  vertical-align: middle;
  padding: 13px;
}

#cost table th {
  white-space: break-spaces;
  font-weight: normal;
  background-color: #F6F6F6;
  punctuation-trim: adjacent;
  text-align: left;
}

#cost table tr.sub th,
table tr.sub td {
  border-top: 2px solid #FFFFFF;
  line-height: 2em;
}

#cost.sub2 {
  padding: 5em;
}


/* ----------↓ SPAN ↓---------- */
#cost span.cost-lft {
  width: 300px;
  float: left;
}

/* ----------↓ TABLE（成人歯科 自費料金表）  ↓---------- */
#cost_adult table {
    font-size: 14px;
    width: 100%;
    margin-bottom: 4em;
}

#cost_adult table tr {
  border-top: 2px solid #CCCCCC;
}

#cost_adult table tr:last-child {
  border-bottom: 1px solid #CCCCCC;
}

#cost_adult table td:last-child {
   width: 25%;
}

#cost_adult table th,table td {
  line-height: 1.3em;
  vertical-align: middle;
  padding: 7px 15px;
}

#cost_adult table th {
  white-space: break-spaces;
  font-weight: normal;
  background-color: #F6F6F6;
  punctuation-trim: adjacent;
  text-align: left;
}

#cost_adult table tr.sub th,
table tr.sub td {
  border-top: 2px solid #FFFFFF;
}

#cost_adult  .rgt {
  text-align: right !important;
}


/* ----------↓ #SCHEDULE ↓---------- */
/* ----------↓ TABLE ↓---------- */
#schedule table {
  width: 100%;
  margin-bottom: 0.5em;
}

#schedule tr {
  border-top: 1px solid #CCCCCC;
  border-left: 1px solid #CCCCCC;
}

#schedule th {
  border-bottom: 1px solid #CCCCCC;
  border-right: 1px solid #FFFFFF;
}

#schedule th:last-child {
  border-right: 1px solid #CCCCCC;
}

#schedule td {
  border-bottom: 1px solid #CCCCCC;
  border-right: 1px solid #CCCCCC;
}

#schedule th:first-child {
  width: 29%;
}

#schedule th.internal:first-child {
  width: 20%;
}

#schedule th {
  background-color: #A1AFDD;
  padding: 8px 0;
  color: #FFFFFF;
  vertical-align: middle;
  white-space: nowrap;
}

#schedule td:first-child {
  text-align: left;
  padding: 8px 8px 8px 15px;
  background-color: #EEEEEE;
}

#schedule td {
  text-align: center;
  vertical-align: middle;
  padding: 9px 7px 7px 7px;
  line-height: 1.3em;
  border-top: none;
}

#schedule td.circle {
  background: url("../image/icon_circle.gif") no-repeat 50% center;
}

#schedule td.circle_small {
  background: url("../image/icon_circle2_small.gif") no-repeat 50% center;
}

#schedule td.cross {
  background: url("../image/icon_cross.gif") no-repeat 50% center;
}

#schedule td.check {
  background: url("../image/icon_check.gif") no-repeat 50% center;
}

#schedule td.check_sp {
  background: url("../image/icon_check_sp.gif") no-repeat 50% center;
}

#schedule td.tri {
  background: url("../image/icon_tri.gif") no-repeat 50% center;
}

#schedule td.attention {
  background: url("../image/icon_attention.gif") no-repeat 50% center;
}

/* ----------↓ #STAFF （旧スタッフ） ↓---------- */
/* ----------↓ TABLE ↓---------- */
#staff table {
  width: 100%;
  margin-bottom: 4em;
}

#staff th:first-child {
  width: 20%;
}

#staff th:last-child {
  width: 65%;
}

#staff tr {
  border-top: 1px solid #CCCCCC;
  border-left: 1px solid #CCCCCC;
}

#staff th {
  border-bottom: 1px solid #CCCCCC;
  border-right: 1px solid #FFFFFF;
}

#staff th:last-child {
  border-right: 1px solid #CCCCCC;
}

#staff td {
  border-bottom: 1px solid #CCCCCC;
  border-right: 1px solid #CCCCCC;
}

#staff th {
  background-color: #A1AFDD;
  padding: 8px 0;
  color: #FFFFFF;
  vertical-align: middle;
  white-space: nowrap;
}

#staff td {
  text-align: center;
  vertical-align: middle;
  padding: 9px 7px 7px 7px;
  line-height: 1.3em;
  border-top: none;
}

#staff td:first-child {
  background-color: #EEEEEE;
}

#staff td:last-child {
  text-align: left;
  padding: 8px 8px 8px 15px;
}

#staff td.wt {
  background-color: #FFFFFF;
}


/* ----------↓ #STAFF2（新スタッフ　ボックス） ↓---------- */
#staff2 {
  margin-bottom: 4em;
}

/* ----------↓ TABLE ↓---------- */
#staff2 table {
  width: 100%;
}

#staff2 td {
  text-align: left;
  vertical-align: top;
  padding: 1px;
  line-height: 1.7em;
}

#staff2 .doctor {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-color: #f0f0f0;
  margin-bottom: 3em;
}

#staff2 .doctor img {
  max-width: 300px;
  width: 50%;
}

#staff2 .box {
  border: 2px solid #CCCCCC;
  padding: 20px 15px;
  margin-bottom: 5px;
}

#staff2 .title {
  text-align: right;
  width: 12%;
  white-space: nowrap;
  padding: 0 10px;
  font-size: 16px;
}

#staff2 .title2 {
  text-align: right;
  white-space: nowrap;
  padding: 0 10px;
  font-size: 85%;
  line-height: 110%;
}

/* ----------↓ #staff3（内科・耳鼻いんこう科・眼科　スタッフエリア）↓---------- */

#staff3 .department {
  color: #FFF;
  background: #425695;
  padding: 8px;
}

#staff3 .name {
  color: #333;
  background: #DDD;
  padding: 8px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

#staff3 .af{
  font-size: 85%;
  text-align: right;
}

#staff3  .sp{
  font-size: 85%;
  padding: 0 8px;
  margin: 0;
}

#staff3 .note {
  font-size: 85%;
  line-height: 150%;
  padding: 0 8px;
}

#staff3 .container {
  display: flex;
  align-items: flex-start;
  margin: 0 auto;
  padding: 0 8px;
}

#staff3 .image-container {
  width: 25%;
  padding-top: 10px;
}

#staff3 .image-container img {
  height: auto;
  margin-bottom: 15px;
}

#staff3 .text-container {
  padding-top: 5px;
}

#staff3 .text-container ul {
  list-style: none;
  font-size: 85%;
}

#staff3 .text-container li {
  margin-top: 0;
  margin-bottom: 0;
}

@media screen and (max-width: 980px) {
#staff3 .af{
  text-align: left;
}
}

/* ----------↓ STAFF_DOCTOR（診療科長エリア） ↓---------- */

#staff_doctor {
  margin-bottom: 4em;
}

#staff_doctor .container{
  display: flex;
  align-items: center;
  background-color: #f0f0f0;
  margin-bottom: 1em;
}

#staff_doctor img {
  max-width: 250px;
  margin: 0 0 0 auto;
}

#staff_doctor .item01{
  width: 170px;
  font-size: 120%;
  white-space: nowrap;
  text-align: center;
}

#staff_doctor .item02{
  width: 400px;
}

#staff_doctor .item02 ul{
  list-style: none;
  font-size: 85%;
  padding: 0;
  margin: 0;
}

#staff_doctor .item02 li{
  padding: 0;
  margin: 0;
}

#staff_doctor  .item03 ul {
  list-style: none;
  font-size: 85%;
  line-height: 120%;
}

#staff_doctor  .text-indent{
text-indent: 4.1em;
}

@media screen and (max-width: 980px) {
  #staff_doctor  .container{
    display: block;
    text-align: center;
    padding: 10px;
  }

  #staff_doctor  .item01{
    width: 100%;
    padding: 10px;
  }

  #staff_doctor  .item02{
    width: 100%;
    padding: 10px;
  }
}

/* ----------↓ #MAP ↓---------- */
#map {
  margin-bottom: 4em;
}