@charset "utf-8";
/* :::::::::: ● :::::::::: */
/* =======================================================================

   基本
   
======================================================================= */
/* -----------------------------------------------------------
色・フォント
----------------------------------------------------------- */
.red {
  color: #db2023;
}
.pink {
  color: #FB36A3;
}
.rosso {
  color: #ff0004;
}
.rose {
  color: #991a59;
}
.orange {
  color: #ff4500;
}
.brown {
  color: #7A3909;
}
.white {
  color: #ffffff;
}
.bg_wh{
	background-color: rgba(255,255,255,0.5);
	padding: 2px;
}
.bg-gray {
background: #f1f1f1 !important;
}

.reservation a {
  color: #ff0004;
}
.font-bold {
  font-weight: 700;
}
.font120 {
  font-size: 120%;
}
.font100 {
  font-size: 100%;
}
.font80 {
  font-size: 80% !important;
}
.txt_left {
  text-align: left;
}
.txt_center {
  text-align: center !important;
}
.txt_right {
  text-align: right;
}
.pl18{
  padding-left: 1.8rem;
}
.ml14{
  margin-left: 1.4rem;
}

.inline-block{
  display: inline-block;
}

.w25 {
width: 25%;
}

.w45 {
width: 45%;
}

.img-fluid {
  max-width: 100%;
  height: auto;
}


/* -----------------------------------------------------------
見出し
----------------------------------------------------------- */
h1 {
  color: #000000;
  height: 15px;
  font-size: 10px;
  font-weight: normal;
  text-align: center;
  line-height: 15px;
}
h2 {
  margin: 0px;
  padding: 0px;
}
h3 {
  margin-bottom: 20px;
}
h4 {
  color: #991a59;
  font-size: 14px;
  font-weight: bold;
  margin: 20px 20px 10px;
  padding: 0 0 10px;
  border-bottom: 1px dotted #4c4c4c;
}
h5 {
  font-size: 0.8rem;
  margin-bottom: 10px;
}
h6 {}
h7 {}
/* -----------------------------------------------------------
　リスト
----------------------------------------------------------- */
ol {}
ol li {}
ul {}
ul li {}
dl {}
dl dt {}
dl dd {}
/* :::::::::: テーブル :::::::::: */
table {}
table tr th, table tr td {
  border: 1px solid #ccc;
  padding: 10px;
}
/* =======================================================================
全体   
======================================================================= */
body {
  font-family: Meiryo, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background-image: url(../images/bg.png);
  background-repeat: repeat-x;
  text-align: center;
}
/* -----------------------------------------------------------
　ラッパー
----------------------------------------------------------- */
#wrapper {
  padding: 0;
  width: 1020px;
  text-align: left;
  margin-top: 0;
  margin-right: auto;
  margin-bottom: 0;
  margin-left: auto;
  *position: relative;
  *height: auto !important;
}
/* -----------------------------------------------------------
　flexbox
----------------------------------------------------------- */
.flexbox_area {
  margin: 0 auto;
  padding: .5rem 0;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-flex-direction: row;
  flex-direction: row;
  width: 100%;
}
.flexbox_L, .flexbox_R {
  width: 50%;
  margin: 0;
}
.flexbox_L img, .flexbox_R img {
  width: 95%;
  margin: 0 1rem;
}

#online .flexbox_L img, #online .flexbox_R img {
  width: auto;
  margin: 1rem 0;
}



.flexcon {
  width: 750px;
  margin: 0 auto;
  padding: .5rem 0;
  display: -webkit-flex;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;

}
.fcols2 {
  width: 30% !important;
  margin: 0 0.7rem 0.7rem;
    flex-wrap: wrap;
}

/* -----------------------------------------------------------
　Button
----------------------------------------------------------- */
.btnshadow {
	padding: 20px 10px 15px;
	display: block;
	color: #991A59 !important;
    text-decoration: none !important;
	text-align: center;
	background: #FFC0CB;
	transition: .4s;
	
	/*--水平方向 垂直方向 影のぼかし 色--*/
	box-shadow: 6px 6px 6px rgba(0,0,0,0.3);  
	
	/*--角丸指定--*/
	border-radius: 12px;
}

.btnshadow hr {
color: #ddd;
border-bottom: 0;
}

/* -----------------------------------------------------------
　ヘッダ
----------------------------------------------------------- */
#header {
  margin-bottom: 20px;
}
.h1s {
  text-align: left;
  margin-top: 7px;
  margin-bottom: 7px;
}
/* :::::::::: ヘッダー上部 :::::::::: */
#header #font-buttons {}
#header #logo {
  margin: 0px;
  padding: 0px;
  height: 130px;
  width: 1002px;
}
#header #logo #marl {
  float: left;
  margin: 0px;
  padding: 0px;
  height: 130px;
}
#header #logo #telephones {
  margin: 0px;
  padding: 0px;
  float: left;
  height: 130px;
}
/* :::::::::: メインナビ :::::::::: */
.main_nav_waku {
  padding-left: 2px;
}
ul#main_nav {
  width: 860px;
  margin: 0 auto 5px;
  height: 53px;
}
ul#main_nav li {
  float: left;
  margin: 0px;
  padding: 0px;
  height: 53px;
}
ul#main_nav li a {}
/* :::::::::: キービジュアル :::::::::: */
#key_visual {
  margin-bottom: 10px;
}
/* -----------------------------------------------------------
　コンテンツラッパー
----------------------------------------------------------- */
#contents_wrapper {
  height: 20px;
}
/* -----------------------------------------------------------
　メインコンテンツ
----------------------------------------------------------- */
#main_contents {
  width: 760px;
  float: right;
  margin-bottom: 40px;
  margin-right: 16px;
}
#main_contents .box {
  width: 750px;
  height: auto;
  margin-top: 0px;
  margin-right: 0px;
  margin-bottom: 20px;
  margin-left: 10px;
  padding-top: 0px;
  padding-right: 0px;
  padding-bottom: 0px;
  padding-left: 0px;
  word-wrap: break-word;
}
#main_contents .box h3 {
  font-size: 22px;
  font-weight: normal;
  letter-spacing: 0.2em;
  line-height: 40px;
  padding-left: 10px;
  border-bottom: 1px solid #000000;
}
#main_contents .box h4 {
  color: #ad497b;
  font-weight: bold;
  font-size: 16px;
  margin-bottom: 10px;
}
#main_contents .box p {
  margin-right: 20px;
  margin-left: 20px;
  margin-bottom: 20px;
  overflow: auto
}
#main_contents .box .medical_guide {
  width: 710px;
  margin: 0 auto;
  overflow: hidden;
}
#main_contents .box .medical_guide .block {
 /*  width: 340px; */
  margin: 0 0 15px;
}
/* #main_contents .box .medical_guide .block:nth-child(odd) {
  float: left;
} */
/* #main_contents .box .medical_guide .block:nth-child(even) {
  float: right;
} */
#main_contents .box .medical_guide .block h4 {
  width: 320px;
  background-color: #CC8CAC;
  font-size: 22px;
  font-weight: bold;
  letter-spacing: 0.2em;
  text-align: center;
  color: #4c4c4c;
  padding: 10px 0 8px;
  margin: 0 auto;
  border-radius: 3px;
  z-index: 100;
  position: relative;
}
#main_contents .box .medical_guide .block .bg {
  background-color: #FEF2D3;
  margin: -20px 0 0 0;
  padding: 35px 20px 20px;
  height: 320px; /*診療案内*/
  box-sizing: border-box;
  z-index: 50;
}

#main_contents .box .medical_guide .block .height {
  height:auto;
}

#main_contents .box .medical_guide .block .marker-none li::marker  {
	content: none;
}

.font-initial .purple3{
  font-size: inherit;
}

#main_contents .box .medical_guide .block li {
  font-size: 12px;
  /*white-space: nowrap;*/
  padding: 0;
}
#main_contents .box .medical_guide .block p {
  margin: 10px 0 20px;
  text-align: center;
}

.treatlist {}
.treatlist li {
  list-style-type: disc !important;
  list-style-position: outside;
  color: #e5bfbf;
  margin-left: 15px;
}
li span {
  color: #333;
}
.inline li {
  display: inline-block;
}
#main_contents .box .board {
  width: 340px;
  height: 250px;
  background-image: url(../images/board.png);
  background-repeat: no-repeat;
  float: left;
  margin-left: 15px;
  margin-right: 15px;
}
#main_contents .box .board .board_title {
  font-size: 22px;
  font-weight: bold;
  letter-spacing: 0.2em;
  text-align: center;
  padding-top: 7px;
}
#main_contents .box .board .board_text {
  font-size: 12px;
  margin-top: -16px;
}
#main_contents .box .board .board_btm1 {
  text-align: center;
  padding-top: 38px;
}
#main_contents .box .board .board_btm2 {
  text-align: center;
  padding-top: 110px;
}
#main_contents .box .board .board_btm3 {
  text-align: center;
  padding-top: 74px;
}
#main_contents .box .board .board_btm4 {
  text-align: center;
  padding-top: 20px;
}
#main_contents .box #timetable {
  text-align: center;
}
#main_contents .box #timetable th {
  background-color: #cc8dac;
  color: #ffffff;
}
.time_notice {
  margin-top: 5px;
  padding-bottom: 10px;
}
.purple {
  color: #e5bfbf;
  font-weight: bold;
  margin-right: 8px;
}
.purple2 {
  color: #ad497b;
  font-weight: bold;
  font-size: 16px;
}
.purple3 {
  color: #ad497b;
  font-weight: bold;
  font-size: 16px;
  line-height: 1.5;
}
#main_contents #topic {
  margin-bottom: 40px;
  height: auto;
}
#main_contents #topic h3 {
  margin-top: 15px;
  font-size: 22px;
  letter-spacing: 0.2em;
  line-height: 40px;
  border-bottom: 1px solid #000000;
  ;
}
#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;
}
#main_contents #topic .board {
  background-image: url(../images/board.png);
  background-repeat: no-repeat;
}
#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;
}
#main_contents #featurebox h3 {
  height: 33px;
  width: 760px;
  background-color: #ECECEC;
  text-align: center;
  font-size: 20px;
  padding-top: 17px;
  font-weight: normal;
}
#main_contents #featurebox p {
  margin-right: 20px;
  margin-left: 20px;
  margin-bottom: 20px;
}
#main_contents .box2 {
  width: 760px;
  height: auto;
  margin-top: 0px;
  margin-right: 0px;
  margin-bottom: 20px;
  margin-left: 0px;
  padding-top: 0px;
  padding-right: 0px;
  padding-bottom: 10px;
  padding-left: 0px;
  word-wrap: break-word;
  clear: both;
}
#main_contents .box2 p {
  margin-right: 20px;
  margin-left: 20px;
  margin-bottom: 20px;
  overflow: auto
}
#main_contents .box2 .lists {
  margin-left: 45px;
  margin-bottom: 20px;
  margin-top: 10px;
}
#main_contents .box2 .lists li {
  padding: 0px;
  list-style-type: circle;
  margin-top: 0px;
  margin-right: 10px;
  margin-bottom: 10px;
  margin-left: 0px;
}
.align_right {
  text-align: right;
}
#main_contents .treatmentbox {
  width: 760px;
  height: auto;
  margin-top: 0px;
  margin-right: 0px;
  margin-bottom: 20px;
  margin-left: 0px;
  padding-top: 0px;
  padding-right: 0px;
  padding-bottom: 30px;
  padding-left: 0px;
  word-wrap: break-word;
}
#main_contents .treatmentbox h3 {
  height: 33px;
  width: 758px;
  background-color: #fefefe;
  text-align: center;
  font-size: 20px;
  padding-top: 17px;
  border: 1px solid #cccccc;
  border-radius: 8px;
  font-weight: normal;
}
#main_contents .treatmentbox p {
  margin-right: 20px;
  margin-left: 20px;
  margin-bottom: 20px;
  overflow: auto
}
#main_contents .accessbox {
  width: 760px;
  height: auto;
  margin-top: 0px;
  margin-right: 0px;
  margin-bottom: 20px;
  margin-left: 0px;
  padding-top: 0px;
  padding-right: 0px;
  padding-bottom: 30px;
  padding-left: 0px;
  word-wrap: break-word;
}
#main_contents .accessbox h3 {
  height: 33px;
  width: 758px;
  background-color: #fefefe;
  text-align: center;
  font-size: 20px;
  padding-top: 17px;
  border: 1px solid #cccccc;
  border-radius: 8px;
  font-weight: normal;
}
#main_contents .accessbox p {
  margin-right: 20px;
  margin-left: 20px;
  margin-bottom: 20px;
  overflow: auto
}
.consultation_hours {
  margin-top: 10px;
  text-align: center;
}
/* :::::::::: コンテンツ :::::::::: */
.contents {
  background-color: #fff2d2;
/*margin-left: 10px;*/
/*padding: 0 40px;*/	
}
.contents.border {
  border: 1px solid #CCC;
}
.contents h3 {
  color: #991a59;
  font-weight: bold;
  padding-top: 20px;
  padding-left:20px;
	position: relative;
}
.contents h3::before { content: '◇'; margin-right: .4rem;position: absolute; top:20px;left:0px;}


/*
.contents h4.reservation {
  color: #000000;
  font-size: 16px;
  ;
  font-weight: bold;
  padding-top: 20px;
  padding-left: 20px;
  margin-bottom: 10px;
}
*/


.contents p {
  padding-left: 0px;
  padding-right:0px;
}
.contents .list {
  padding-left: 0px;
}
.contents .list li {
  list-style-type: disc;
}
.contents .list2 {
  padding-left: 0px;
}
.contents .list2 li {
  list-style-type: disc;
  font-weight: bold;
}
.contents .list2 li ul li {
  list-style-type: none;
  font-weight: normal;
  padding-left: 0px;
}
.contents .list3 {
  padding-left: 0px;
}
.contents .list3 li {
  list-style-type: disc;
}
.lst_kome{
	padding-left: 0px;
}
.lst_kome li {padding-left: 1rem;line-height: 1.4; position: relative;}
.lst_kome li::before { content: '※'; margin-right: .4rem;position: absolute; top:0;left:0; color: #db2023;}
.lst_kome.black li::before { color: #000;}
.lst_01 li {padding-left: 1rem;line-height: 1.4; position: relative;}
.lst_01 li::before { content: '●'; margin-right: .4rem;position: absolute; top:0;left:0;}

.lst_ol {
  counter-reset: number 0;
  margin: 1.0rem 0;
}
.lst_ol > li {
    counter-increment: number 1;
    padding: 0 0 0 1.5rem;
    position: relative;
}
.lst_ol > li::before {
      display: inline-block;
      content: counter(number)".";
      color: #ad497b;
      font-weight: bold;
      position: absolute;
      left: 0;
      text-align: right;
}

.content_box01{
	padding: 0 40px;
	
}


/* :::::::::: お知らせ欄 :::::::::: */
.infomation {
  background-color: #fff2d2;
  margin-left: 10px;
  padding: 18px 20px;
  margin-bottom: 30px;
}
.infomation h3 {
  margin-top: 15px;
  font-size: 22px;
  font-weight: normal;
  letter-spacing: 0.2em;
  line-height: 40px;
  border-bottom: 1px solid #000000;
  padding-left: 10px;
  padding-top: 10px;
}
/*.infomation .info_box {
}
.infomation dl {}
.infomation .info_box dt {
  color: #ab4779;
  font-weight: bold;
	cursor: pointer;
}
.infomation .info_box dt span {
	position: relative;
  display: inline-block;
  padding-left: 16px;
  background: url(../images/info_arrow_right.png) no-repeat 2px 4px;
}
.infomation .info_box dt.active span {
  background: url(../images/info_arrow_down.png) no-repeat left 5px;
}
.infomation .info_box dt:not(:first-of-type) {
	border-top: 1px dotted #4c4c4c;
	margin: 8px 0 0;
	padding: 10px 0 0;
}*/
.infomation dd {
  padding: 0 0 0 0px;
}
#main_contents #clinic_info {
  width: 760px;
  height: auto;
  margin-top: 0px;
  margin-right: 0px;
  margin-bottom: 20px;
  margin-left: 0px;
  padding-top: 0px;
  padding-right: 0px;
  padding-bottom: 20px;
  padding-left: 0px;
}
#main_contents #clinic_info h3 {
  height: 33px;
  width: 758px;
  background-color: #fefefe;
  text-align: center;
  font-size: 20px;
  padding-top: 17px;
  border: 1px solid #cccccc;
  border-radius: 8px;
  font-weight: normal;
}
#main_contents #clinic_info p {
  line-height: 20px;
  margin-bottom: 10px;
  margin-right: 20px;
  margin-left: 20px;
}
#main_contents #clinic_info #timetable {
  padding: 0px;
  vertical-align: middle;
  font-size: 14px;
  width: 350px;
  height: 80px;
  margin-top: 20px;
  margin-right: 0px;
  margin-bottom: 15px;
  margin-left: 20px;
  background-color: #FFF;
  border-collapse: collapse;
}
#main_contents #clinic_info #telnumber {
  font-size: 18px;
}
#main_contents #clinic_info #clinicname {
  font-size: 18px;
  margin-bottom: 10px;
  margin-right: 20px;
  margin-left: 20px;
}
#main_contents #clinic_info .text14 {
  font-size: 14px;
  line-height: 14px;
}
#main_contents #clinic_info #timetable tr {
  margin: 0px;
  padding: 0px;
}
#main_contents #clinic_info #timetable tr td {
  margin: 0px;
  padding: 0px;
  text-align: center;
  border: 1px solid #ddd7ca;
  font-weight: bold;
  vertical-align: middle;
}
#main_contents #clinic_info #timetable tr th {
  margin: 0px;
  padding: 0px;
  background-color: #f8f3df;
  text-align: center;
  border: 1px solid #ddd7ca;
  font-weight: normal;
  vertical-align: middle;
}
#main_contents #clinic_info #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 #timetable tr .time {
  width: 110px;
  height: 30px;
  margin: 0px;
  text-align: right;
  padding-top: 0px;
  padding-right: 10px;
  padding-bottom: 0px;
  padding-left: 9px;
  border: 1px solid #ddd7ca;
  font-weight: normal;
  background-color: #F8F3DF;
}
#main_contents #clinic_info #timetable tr .day {
  background-color: #FCFAF2;
  color: #FFF;
  border: 1px solid #ddd7ca;
}
#main_contents #clinic_info #timetable tr .orange {
  color: #F90;
  font-weight: normal;
}
#main_contents #clinic_info #map_canvas iframe {
  width: 370px;
  height: 340px;
  float: right;
  padding-right: 0px;
  margin-right: auto;
  margin-left: auto;
  border-radius: 8px;
  border: none;
}
#main_contents #clinic_info #map_canvas {
  width: 370px;
  height: 340px;
  float: right;
  padding-right: 0px;
  margin-right: auto;
  margin-left: auto;
  border-radius: 8px;
}
/* -----------------------------------------------------------
　医師
----------------------------------------------------------- */
#doctor {
  padding-top: 20px;
  background-color: #fff2d2;
  margin-left: 10px;
}
#doctor h3 {
  font-size: 22px;
  font-weight: normal;
  letter-spacing: 0.2em;
  line-height: 40px;
  border-bottom: 1px solid #000000;
  padding-left: 10px;
  padding-top: 10px;
}
.kiyosato {
  background-color: #fff2d2;
  width: 740px;
  margin-left: 10px;
  text-align: right;
  padding-right: 10px;
  padding-bottom: 10px;
}
.kiyosato img {
  padding-right: 10px;
}
.kiyosato p {
  padding-right: 8px;
}
/* -----------------------------------------------------------
　費用
----------------------------------------------------------- */
.hiyou {
  padding-top: 20px;
  background-color: #fff2d2;
  margin-left: 10px;
}
.hiyou h3 {
  font-size: 22px;
  font-weight: normal;
  letter-spacing: 0.2em;
  line-height: 40px;
  border-bottom: 1px solid #000000;
  padding-left: 10px;
  padding-top: 10px;
}
/* -----------------------------------------------------------
　初めての方へ
----------------------------------------------------------- */
.first {
  padding-top: 20px;
  background-color: #fff2d2;
  margin-left: 10px;
  padding-bottom: 10px;
}
/* -----------------------------------------------------------
　よくある質問
----------------------------------------------------------- */
.faqbox {
  background-color: #F8E8BD;
  border-radius: 8px;
  -webkit-border-radius: 8px;
  padding: 10px;
  border: 1px solid #CCC;
}
.faqbox p:last-child {
  margin-bottom: 0;
}
.faqbox p a {
  text-decoration: none;
  color: #333;
}
.faqbox p a:hover {
  color: #00F;
}
.q {
  list-style-type: none;
  background-image: url(../images/q.png);
  background-repeat: no-repeat;
  background-position: 0 3px;
  padding-top: 5px;
  padding-bottom: 5px;
  padding-left: 40px;
}
.a {
  list-style-type: none;
  background-image: url(../images/a.png);
  background-repeat: no-repeat;
  background-position: 0 3px;
  padding-top: 5px;
  padding-bottom: 5px;
  padding-left: 40px;
}
.faqwrap {
  padding: 0 20px;
}
.faqwrap ul:not(:first-of-type) {
  border-top: 1px dotted #4c4c4c;
  margin: 15px 0 0;
  padding: 15px 0 0;
}
/* -----------------------------------------------------------
　アクセス診療時間
----------------------------------------------------------- */
.route_map {
  text-align: center;
  padding-bottom: 20px;
}
.route {
  text-align: center;
}
.route_text {
  margin-top: 10px;
  text-align: center;
}
.arrow {
  margin-top: 20px;
  margin-bottom: 20px;
  text-align: center;
}
.map_spell {
  color: #ff8201;
}
/* -----------------------------------------------------------
　ピル
----------------------------------------------------------- */
/*.pill .contents h3{
	color: #FB36A3;
}*/
h3.pill_tit_01 {
  padding-top: 30px;
  font-size: 22px;
}
h3.pill_tit_02 {
  background: #FFF;
  font-size: 20px;
  padding: 10px;
  margin: 10px;
}
h3.pill_tit_02::before{
	content: '';
} 


.pill_box {
  margin: 20px;
}
.pill_box dt {
  color: #ab4779;
  border-bottom: dotted 1px #ab4779;
  font-weight: bold;
}
.pill_waku {
  border-radius: 10px;
  padding: 10px;
  background: #ffe699;
  margin: 0 10px 20px 10px;
}
.pill_pic {
  text-align: center;
}
.pb_10 {
  padding-bottom: 10px;
}
.gray_wrap {
  background-color: #eee;
  border-radius: 5px;
  padding: 10px;
  margin: 0 20px 20px;
}
.white_wrap {
  background-color: #fff;
  border-radius: 5px;
  padding: 10px;
  margin: 0 20px 20px;
}
.pink_wrap {
  background-color: #ffeff6;
  border-radius: 5px;
  padding: 10px;
  margin: 0 20px 20px;
}
.border_wrap {
  border-radius: 10px;
  border: 3px solid #991a59;
  padding:10px;
  margin: 0 10px 20px;
}
h4.plane {
  color: #000;
  font-size: 14px;
  font-weight: bold;
  margin: 5px 0px 10px;
  padding: 0 0 0px;
  border-bottom: none;
}
h4.dec_01 {
  text-align: center;
  font-size: 16px;
  background: url("../images/bg_dec_01.png") 0 0px repeat-x;
  margin: 0 20px 20px;
  border-bottom: none;
}
h4.dec_01 span {
  background-color: #FDA108;
  padding: 5px 15px;
  border-radius: 5px;
  color: #fff;
  letter-spacing: 0.2em;
}
h4.dec_02{
	margin-bottom: 20px;
	border-bottom: none;
}
h4.dec_02 span{
	background-color: #991a59;
	padding: 5px 15px;
	border-radius: 5px;
	color: #fff;
	letter-spacing: 0.2em;
}
h5.purple {
  display: inline-block;
  background: #CC8CAC;
  color: #fff;
  font-weight: bold;
  text-align: center;
  border-radius: 3px;
  width: 260px;
  text-align: center;
  padding: 5px;
  margin-left: 20px;
  line-height: 150%;
}
h5.maru:before{
	content: "●";
	color: #991a59;
	margin-right: 5px;
}
table.price_table {
  margin: 0 20px 20px !important;
  border-collapse: collapse;
  width: calc(100% - 40px);
}
table.price_table th, table.price_table td {
  border: 1px solid #ddd;
  padding: 10px;
  font-size: 14px;
}
table.price_table th {
  background-color: #fff;
  font-weight: normal;
}
table.price_table td {
  text-align: right;
  background-color: #ffe699;
}

table.transmit_table {
  margin: 0 20px 20px !important;
  border-collapse: collapse;
  width: auto;
}
table.transmit_table th, table.transmit_table td {
  border: none;
  padding: 10px;
  font-size: 14px;
}
table.transmit_table th {
  font-weight: normal;
}
table.transmit_table td {
  text-align: right;
}
/* -----------------------------------------------------------
　サブコンテンツ
----------------------------------------------------------- */
#sub_contents {
  width: 240px;
  float: left;
  height: auto;
}
/* :::::::::: サブナビ :::::::::: */
ul#sub_nav {
  width: 230px;
  text-align: center;
  padding-top: 0px;
  padding-bottom: 0px;
}
#sub_nav li {
  margin-bottom: 5px;
}
ul#sub_nav li a {}
ul#sub_nav li hr {
  border: 1px #deb4c9 dotted;
}
ul#sub_nav li .map_waku {
  background-color: #edd6e0;
  width: 230px;
  height: 260px;
  padding-top: 10px;
  border: 1px solid #b25483;
}
ul#sub_nav li .map_waku #map_canvas {
  width: 210px;
  height: 210px;
  margin-right: auto;
  margin-left: auto;
}
ul#sub_nav li .map_waku #map_canvas iframe {
  width: 210px;
  height: 210px;
  margin-right: auto;
  margin-left: auto;
  border: none;
}
ul#sub_nav li .sub_title {
  margin-top: 15px;
  font-size: 18px;
  line-height: 30px;
  border-bottom: 1px solid #000000;
}
/* -----------------------------------------------------------
　フッタ
----------------------------------------------------------- */
.footer_waku {
  float: left;
  background-color: red;
}
#footer_area {
  background-image: url(../images/footer_bg.png);
  background-repeat: repeat-x;
  height: 80px;
  width: 100%;
  float: left;
  text-align: center;
  padding-bottom: 30px;
  padding-top: 20px;
}
#ph_index #footer_area {
  /*IE7ハック*/
  *position: absolute;
  *bottom: 0;
  *left: 0;
  *top: 2200px;
}
#ph_short #footer_area {
  /*IE7ハック*/
  *position: absolute;
  *bottom: 0;
  *left: 0;
  *top: 1440px;
}
#ph_expense #footer_area {
  /*IE7ハック*/
  *position: absolute;
  *bottom: 0;
  *left: 0;
  *top: 1700px;
}
#ph_access #footer_area {
  /*IE7ハック*/
  *position: absolute;
  *bottom: 0;
  *left: 0;
  *top: 2400px;
}
#ph_question #footer_area {
  /*IE7ハック*/
  *position: absolute;
  *bottom: 0;
  *left: 0;
  *top: 1680px;
}
#footer {
  width: 1020px;
  clear: both;
  margin-top: 0;
  margin-right: auto;
  margin-bottom: 0;
  margin-left: auto;
  padding-top: 0px;
  height: auto;
}
#footer .smoothScrolls {
  text-align: right;
  width: 1020px;
  margin-right: auto;
  margin-left: auto;
}
#footer .smoothScrolls a {
  font-size: 14px;
}
/* :::::::::: フッターナビ :::::::::: */
/*↓フッターナビ左寄せ*/
ul.footer_nav {
  text-align: center;
  width: 600px;
  height: auto;
  margin-right: auto;
  margin-left: auto;
  margin-bottom: 10px;
  padding-left: 20px;
}
.footer_nav li {
  float: left;
  font-size: 12px;
}
ul.footer_nav li a {
  color: #981c58;
  text-decoration: none;
}
/*↑フッターナビ左寄せ*/
.orange {
  color: #F90;
}
.navy {
  color: #0A164A;
}
.footer_left {
  float: left;
  width: 300px;
}
.footer_info {
  text-align: left;
}
.cpyright {
  font-size: 10px;
}
.copyright a {
  text-decoration: none;
}
/*フッター固定バナー*/
#btm_info {
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 101;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 10px 0;
  margin: 0 auto;
  width: 100%;
	min-width: 1100px;
  background: rgba(153, 26, 89, 0.5);
}
#btm_info.close {
  display: none !important;
}
#btm_info ul {
  width: 795px;
  /*width: 371px;*/
  /*margin: 0 auto;*/
}
#btm_info li {
  display: inline-block;
  width: 371px;
  margin: 0;
  padding: 0;
  text-align: center;
}
#btm_info li:first-child {
  /*margin-right: 25px;*/
}
#btm_info li a {}
.hgt {
  height: 500px;
}
/*費用*/
.expense {
  padding-bottom: 20px;
}
table.expense {
  box-sizing: border-box;
  min-width: 95%;
  border-collapse: collapse;
  border: solid 1px #999;
  margin: 0 auto;
}
table.expense:first-child {
  margin-bottom: 10px;
}
table.expense tr th {
  white-space: nowrap;
  border: solid 1px #999;
  vertical-align: middle;
  padding: 10px 5px 8px;
  line-height: 1.2;
  font-weight: normal;
  background: #edd6e0;
  text-align: center;
}
table.expense tr th img {
margin: 5px auto;
}
table.expense tr td {
  white-space: nowrap;
  border: solid 1px #999;
  vertical-align: middle;
  padding: 10px 5px 8px;
  background: #fff;
  line-height: 1.2;
  font-size: 120%;
  font-weight: 600;
}
table.expense tr td span {
  font-weight: 500;
}
table.expense tr td.nobT {
  border-top: none;
  text-align: right !important;
}
table.expense tr td.nobB {
  border-bottom: none;
  text-align: right !important;
}
table.expense tr td.nobR {
  border-right: none;
}
table.expense tr td.nobL {
  border-left: none;
}

table.expense tr th.bg_pk {
  background: #edd6e0;
}

table.expense tr td.bg_wh{
  background: #ffffff;
}



table.expense2 tr td.nobC {
  text-align: center;
}
table.expense:first-child tr td:last-child {
  text-align: left;
}
table.expense2 {
  box-sizing: border-box;
  min-width: 95%;
  border-collapse: collapse;
  border: solid 1px #999;
  margin: 0 auto;
}
table.expense2 tr td {
  white-space: nowrap;
  border: solid 1px #999;
  vertical-align: middle;
  padding: 5px 1px;
  padding-left: 5px;
  padding-right: 5px;
  line-height: 140%;
}
table.expense2 tr td:last-child {
  text-align: right;
}
table.expense2 tr:last-child td {}
/*特別外来*/
.b_link a {
  text-decoration: none;
}
.nobtext {
  margin-right: 240px;
}
.info_corona {
  background-color: #edd6e0;
  margin: 0 0 30px !important;
  padding: 15px 20px 20px !important;
  box-sizing: border-box;
  border-radius: 5px;
}
.info_corona h3 {
  margin: 0 !important;
  font-size: 18px !important;
  color: #991A59;
  border-bottom: 1px solid #991A59 !important;
  cursor: pointer;
}
.info_corona p {
  margin: 0 !important;
  padding: 15px 0 0;
}
.info_corona p:last-of-type {
  /*text-align: right;*/
}
.info_corona p strong {
  color: #991A59;
  font-weight: normal;
}
/* :::::::::: 点滅 :::::::::: */
.blinking {
  -webkit-animation: blink 1.5s ease-in-out infinite alternate;
  -moz-animation: blink 1.5s ease-in-out infinite alternate;
  animation: blink 1.5s ease-in-out infinite alternate;
}
@-webkit-keyframes blink {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-moz-keyframes blink {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes blink {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.dl-list {
  padding: 0 20px 20px;
}
.dl-list dt {
  display: block;
  background-color: #edd6e0;
  color: #991a59;
  font-weight: bold;
  padding: 10px 15px;
}
.dl-list dd {
  background-color: #fff;
  padding: 15px;
  position: relative;
}
.dl-list.flow dd:not(:last-of-type) {
  margin: 0 0 40px;
}
.dl-list.flow dd:not(:last-of-type)::before {
  display: block;
  width: 100%;
  height: 40px;
  position: absolute;
  bottom: -40px;
  left: 0;
}
.dl-list.flow dd:not(:last-of-type)::after {
  content: '';
  width: 14px;
  height: 14px;
  border: 0px;
  border-top: solid 4px #991a59;
  border-right: solid 4px #991a59;
  -ms-transform: rotate(135deg);
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
  position: absolute;
  bottom: -24px;
  left: 50%;
  margin-left: -12px;
}
.online_flow_download {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0 0 15px;
}
.online_flow_download li.logo {
  width: 24%;
}
.online_flow_download li.logo img {
  max-width: 100%;
}
.online_flow_download li.btn {
  padding-left: 15px;
}
.online_flow_download li.btn a {
  display: block;
  text-decoration: none;
  color: #fff;
  background-color: #991a59;
  border: 1px solid #991a59;
  padding: 5px 12px;
}
.online_flow_download li.btn a:hover {
  color: #991a59;
  background-color: #fff;
}
.online_flow_step {
  display: flex;
  justify-content: space-between;
  margin: 15px 0 0;
}
.online_flow_step li {
  width: 30%;
  width: -webkit-calc(33% - 7.5px);
  width: calc(33% - 7.5px);
}
.online_flow_step li img {
  max-width: 100%;
}
.online_flow_step_wid {
  padding: 0 20px 20px;
}
.online_flow_download_pc li {
  width: 94.5%;
  margin: 0 0 25px 5px
}
div.online_qrcode-img {
  display: flex;
  justify-content: center;
}
div.online_qrcode-img figcaption {
  text-align: center;
  margin-top: 5px;
}
div.online_cap {
  padding: 1rem 2rem;
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  grid-template-rows: repeat(2, 1fr);
  gap: 15px;
}
div.online_cap .div1 {
  grid-column: span 4 / span 4;
  grid-row: span 2 / span 2;
  font-size: 18px;
}
div.online_cap .div2 {
  grid-column: span 2 / span 2;
  grid-column-start: 6;
  background: #b2e9b2;
  border-radius: 10px;
  text-align: center;
  padding: 1rem 0;
  line-height: 1.2;
}
div.online_cap .div2 span {
  display: block;
  font-size: 22px;
  font-weight: bold;
}
div.online_cap .div3 {
  grid-column: span 2 / span 2;
  grid-column-start: 6;
  grid-row-start: 2;
}
/* div.online_cap .div4 {
  grid-row: span 2 / span 2;
  grid-column-start: 7;
  grid-row-start: 1;
  margin: 0;
} */
/* :::::::::: 閉じるボタン :::::::::: */
.close_btn {
  padding: 0 1.5rem;
  cursor: pointer;
  color: #fff;
}
.list_treatment {
  margin: 0 20px 10px;
}
.list_treatment li {
  padding-left: 1.5em;
  text-indent: -1.5em;
  margin-bottom: 10px;
}
/* :::::::::: 診療時間表 :::::::::: */
.schedule_tbl {
  width: 555px;
  margin: 0 auto;
}
.schedule_tbl th {
  border: 1px solid #991A59;
  background: #fff;
  color: #991A59;
  text-align: center;
  line-height: 1.3;
  width: 120px;
  box-sizing: border-box;
}
.schedule_tbl td {
  text-align: center;
  line-height: 1.3;
}
.schedule_tbl td br.sp {
  display: none;
}
.schedule_tbl .high td {
  padding: 0 5px 7px;
  border: none;
/*   border-bottom: 1px solid #505050; */
}
.schedule_tbl .row td {
  padding: 7px 5px 0;
  border: none;
}
.schedule_tbl .row td .last {
  color: #FF4500;
  display: inline-block;
  padding: 0.3em 0 0;
}
.sat_medical_treatment {
  width: 555px;
  line-height: 140%;
  margin: 0px;
  text-align: left;
  font-size: 14px;
}
.box_2line {
  display: flex;
  justify-content: space-between;
  margin: 25px 20px 0;
}
.box_2line dl {
  width: 340px;
  padding: 30px 20px 20px;
  box-sizing: border-box;
  background: #fff;
  position: relative;
}
.box_2line dl dt {
  display: block;
  position: absolute;
  background: #CC8CAC;
  color: #4c4c4c;
  font-weight: bold;
  top: -0.8em;
  text-align: center;
  left: 20px;
  width: 300px;
  padding: 0.3em;
  box-sizing: border-box;
  border-radius: 3px;
}
.box_2line dl dd .treatlist {
  padding-left: 5px;
}
.box_2line.pill dl {
  width: 340px;
  padding: 20px 20px 20px;
  background: #fff;
  position: relative;
  margin-bottom: 10px;
}
.box_2line.pill dl dt {
  display: block;
  position: relative;
  background: #CC8CAC;
  color: #fff;
  font-weight: bold;
  text-align: center;
  padding: 0.3em;
  border-radius: 3px;
  top: 0;
  left: 0;
  margin-bottom: 10px;
}
/*cancer_screening*/
.cancer h4 {
  background-color: #CC8CAC;
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 0.2em;
  text-align: center;
  color: #FFF;
  padding: 8px 10px 8px;
  margin: 0 150px;
  border-radius: 3px;
  z-index: 100;
  position: relative;
  display: block
}
.cancer .bg {
  background-color: #FEF2D3;
  margin: -20px 0 30px 10px;
  box-sizing: border-box;
  z-index: 50;
  border: 1px solid #CCC;
}
.cancer li {
  font-size: 12px;
  /*white-space: nowrap;*/
  padding: 0;
}
.cancer p {
  padding: 50px 10px 10px 10px;
}
.mb_0 {
  margin-bottom: 0px !important;
}
.mb_10 {
  margin-bottom: 10px;
}
.mb_40 {
  margin-bottom: 40px!important;
}
.sp_no {
  display: none;
}
/*診療時間表*/
table.timeshedule {
  border-collapse: collapse;
  margin: 0 20px;
  background-color: #fff;
  width: calc(100% - 42px);
}
table.timeshedule th, table.timeshedule td {
  border: 1px solid #ddd;
  padding: 10px;
}
table.timeshedule th {
  background-color: #991a59;
  text-align: center;
  color: #fff;
  font-weight: normal;
}
table.timeshedule td {
  text-align: center;
  color: #991a59;
  font-weight: normal;
  font-size: 120%;
}
table.timeshedule caption {
  caption-side: bottom;
  padding-top: 5px;
  text-align: left;
}
/*ul.page_nav{
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    list-style: none;
    margin: 0 auto 40px;
    padding: 0;	
    justify-content: space-between;
    align-items: top;
}
ul.page_nav li{
	width: 32%;
	background-color: #991a59;
	text-align: center;
	border-radius: 5px;
}
ul.page_nav li a{
	color: #fff;
	padding: 10px;
	display: inline-block;
	text-decoration: none;
	
}
ul.page_nav li:hover{
	background-color: #CC8CAC;
}*/
ul.page_nav {
  display: block;
  margin-left: 20px;
  margin-bottom: 50px;
}
ul.page_nav li {
  width: 100%;
  font-size: 140%;
  margin-bottom: 15px;
}
ul.page_nav li a {
  text-decoration: none;
  display: inline-block;
  background: #fff2d2;
  padding: .5rem 1.5rem;
  border-radius: .6rem;
  color: #FB36A3;
}
ul.page_nav li a::before {
  color: #000;
  content: "＞";
}
table.trl_online {
  margin: 0 0 20px 40px;
  padding: 0;
  width: 60%;
  border: 1px solid #000;
  background: #fff;
}
table.trl_online th {
  text-align: center;
}
table.trl_online td {
  text-align: center;
  font-size: 110%;
  color: #991a59;
}

.urgent_info{
  width: 555px;
  padding-top: 20px;
  margin-left: auto;
  margin-right: auto;
  border: 2px solid #ad497b;
}


.cancer_table{
	margin-left: 20px;
}
.cancer_table th{
	font-weight: normal;
	font-size: 14px;
	line-height: 150%;
	color: #4c4c4c;
	border:none;
	padding: 0 10px 0 0;
}
.cancer_table td{
	border:none;
	font-size: 14px;
	line-height: 150%;
	color: #4c4c4c;	
	padding: 0;
}

.treatment_wrap {
  
}
.treatment_wrap h4 {
	margin: 0 5px 10px;
  padding: 8px 10px 8px;
  background-color: #CC8CAC;
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 0.2em;
  color: #FFF !important;
  text-align: center;
  border-radius: 3px;
}
.treatment_wrap .block {
	margin: 0 5px 20px;
	padding: 20px 15px;
	border: 1px solid #991a59;
}
.treatment_wrap .block .treatlist_sub {
	margin: 0;
	padding: 0;
}
.treatment_wrap .block .treatlist_sub dt {
	margin: 0 0 3px;
	padding: 0;
	color: #4c4c4c;
  font-weight: bold;
}
.treatment_wrap .block .treatlist_sub dt::before {
	content: '●';
	color: #AC4679;
}
.treatment_wrap .block .treatlist_sub dd {
	margin: 0 0 10px;
	padding: 0 0 0 1em;
}
.treatment_wrap .block .treatlist {
	margin: 0 0 10px 10px;
}
.treatment_wrap .block .treatlist li::marker {
  color: #e5bfbf;
}
.treatment_wrap .block .treatlist li {
  color: #4c4c4c;
}
.treatment_wrap .block .link {
	margin: 15px 0 0 !important;
	text-align: center;
}
.treatment_wrap .block .link a {
  display: inline-block;
  padding: 5px 2em;
  text-align: center;
  background-color: #991a59;
  color: #fff;
  text-decoration: none;
}

/* -----------------------------------------------------------
　費用
----------------------------------------------------------- */
.ex_r {
  text-align: right;
}

