@charset "utf-8";

/*page_image
************************************************************************************/
.page_image article.article .text{
	border-bottom: 1px dotted #999;
	padding-bottom: 30px;
	margin-bottom: 30px;
}

.page_image article.article .text:last-child{
	border: 0;
	padding: 10px;
	margin: 0;
}


/*page_care
************************************************************************************/
.page_care .senshin th{
	width: 150px;
}

.page_care .giba table.normal td{
	text-align: right;
}


@media screen and (max-width: 480px){
.page_care .senshin th{
	width: auto;
}
.page_care .giba table.normal td{
	text-align: left;
}
}



/*page_flow
************************************************************************************/
.page_flow .important{
	font-size: 110%;
	font-weight: bold;
	color: #0d3a85;
}

.page_flow .titleFrame{
	width: 780px;
	height: 367px;
	position: relative;
	margin: 0 0 10px 0;
}

.page_flow .titleFrame .photo{
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
}

.page_flow .titleFrame h2{
	background: none;
	background-color: rgba( 0, 0, 0, 0.55 );
	color: #FFF;
	font-size: 35px;
	text-align: center;
	padding: 10px 0;
	margin: 0;
	position: absolute;
	top: 150px;
	left: 0;
	z-index: 30;
	width: 100%;
}


.page_flow .lineUp{
	border-top: 2px solid #163986;
	padding-top: 20px;
	margin-top: 20px;
}

.page_flow .frameShindan{
	border: 1px solid #999;
	padding: 15px;
	margin: 5px;
}
.page_flow .frameShindan h2 span{
	/*text-decoration: underline;*/
	color: #fff689;
}
.page_flow .frameShindan ul.inlineBox{
	margin: 10px 0;
}
.page_flow .frameShindan .title{
	font-weight: bold;
	margin: 0 0 25px 0;
	background: url(../../img/common/ar_blue_l.png) no-repeat left 0.1em;
	padding: 0 0 0 30px;
}
.page_flow .frameShindan .title span{
	text-decoration: underline;
	background: #fffe96;
	color: #df0000;
}

.page_flow .frameShindan .image{
	text-align: center;
}

.page_flow .frameShindan .image img{
	max-width: 100%;
	height: auto;
}

.frameShindan.half{
	width: 380px;
	min-height: 27em;
	float: left;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
.page_flow .frameShindan .inframe{
	border-bottom: 2px solid #163986;
	padding: 0 0 10px 0;
	margin: 0 0 10px 0;
}
.page_flow .frameShindan .inframe:last-child{
	border: 0;
}

.page_flow #shinryou3 th{
	width: 180px;
}

.page_flow ul.inlineBox li{
	border: 1px solid #cbcbcb;
	background: #eff5f6;
	font-weight: bold;
}
.page_flow .caution_bgBlue{	
	color: #FFF;
	background: #154e7e;
	font-weight: bold;
	margin: 10px 0;
	padding: 5px;
	font-size: 130%;
}

@media screen and (max-width: 979px) {
.page_flow .titleFrame{
	width: 100%;
	height: 367px;
	position: relative;
	margin: 0 0 10px 0;
}

.page_flow .titleFrame .photo{
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
}
.page_flow .titleFrame .photo img{
	max-width: 100%;
	height: auto;
}

.page_flow .titleFrame h2{
	background: none;
	background-color: rgba( 0, 0, 0, 0.55 );
	color: #FFF;
	font-size: 35px;
	text-align: center;
	padding: 10px 0;
	margin: 0;
	position: absolute;
	top: 150px;
	left: 0;
	z-index: 30;
	width: 100%;
}


.page_flow .frameShindan{
	border: 1px solid #999;
	padding: 15px;
	margin: 5px 0.5%;
}
.page_flow .frameShindan ul.inlineBox{
	margin: 10px 0;
}
.page_flow .frameShindan .title{
	font-weight: bold;
	margin: 0 0 25px 0;
	background: url(../../img/common/ar_blue_l.png) no-repeat left 0.1em;
	padding: 0 0 0 30px;
}
.page_flow .frameShindan .title span{
	text-decoration: underline;
	background: #fffe96;
	color: #df0000;
}

.page_flow .frameShindan .image{
	text-align: center;
}

.page_flow .frameShindan .image img{
	max-width: 100%;
	height: auto;
}

.frameShindan.half{
	width: 49%;
	min-height: 30em;
	float: left;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
.page_flow .frameShindan .inframe{
	border-bottom: 2px solid #999;
	padding: 0 0 10px 0;
	margin: 0 0 10px 0;
}
.page_flow .frameShindan .inframe:last-child{
	border: 0;
}
}

@media screen and (max-width: 768px){
.page_flow .titleFrame{
	width: 100%;
	height: auto;
	position: relative;
	margin: 0 0 10px 0;
}

.page_flow .titleFrame .photo{
	z-index: 10;
	height: 100%;
	width: auto;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
	margin: auto;
}
.page_flow .titleFrame:before {
	content:"";
	display: block;
	padding-top: 50%;
}
.page_flow .titleFrame .photo img{
}

.page_flow .titleFrame h2{
	background: none;
	background-color: rgba( 0, 0, 0, 0.55 );
	color: #FFF;
	font-size: 35px;
	text-align: center;
	padding: 10px 0;
	margin: 0;
	position: absolute;
	top: 40%;
	left: 0;
	z-index: 30;
	width: 100%;
}


.page_flow .frameShindan{
	border: 1px solid #999;
	padding: 15px;
	margin: 5px 0.5%;
}
.page_flow .frameShindan ul.inlineBox{
	margin: 10px 0;
}
.page_flow .frameShindan .title{
	font-weight: bold;
	margin: 0 0 25px 0;
	background: url(../../img/common/ar_blue_l.png) no-repeat left 0.1em;
	padding: 0 0 0 30px;
}
.page_flow .frameShindan .title span{
	text-decoration: underline;
	background: #fffe96;
	color: #df0000;
}

.page_flow .frameShindan .image{
	text-align: center;
}

.page_flow .frameShindan .image img{
	max-width: 100%;
	height: auto;
}

.frameShindan.half{
	width: auto;
	min-height: auto;
	float: none;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
.page_flow .frameShindan .inframe{
	border-bottom: 2px solid #999;
	padding: 0 0 10px 0;
	margin: 0 0 10px 0;
}
.page_flow .frameShindan .inframe:last-child{
	border: 0;
}

.page_flow #first_flow .textCenter img{
	max-width: 40%;
	height: auto;
	display: inline-block;
}


.page_flow #shinryou3 th{
	width: auto;
}

}
@media screen and (max-width: 480px){
.page_flow .titleFrame h2{
	background: none;
	background-color: rgba( 0, 0, 0, 0.55 );
	color: #FFF;
	font-size: 25px;
	text-align: center;
	padding: 10px 0;
	margin: 0;
	position: absolute;
	top: 30%;
	left: 0;
	z-index: 30;
	width: 100%;
}

.page_flow #shinryou2 table.normal tbody td:nth-of-type(1):before {
	content: "【予約先電話番号】";
	font-weight: bold;
}
.page_flow #shinryou2 table.normal tbody td:nth-of-type(2):before {
	content: "【診療日】";
	font-weight: bold;
}

}


/*page_5s(2021/08/01)
************************************************************************************/
.page_5s .ml20{
	margin-left: 20px;
}

.page_5s .p20{
	padding: 40px;
}

.heading {
	font-size: 200%;
	font-weight:bold;
	margin-left: 20px;
}
.bold-sub{
	font-weight: bold;
	font-size: 150%;
	color:#cd6133;
	margin-bottom: 10px;
}
/*吹き出し風*/
.fukidashi {
  position: relative;
  padding: 1.5rem 2rem;
  border-bottom: 3px solid #666;
  border-radius: 0 0 0 20px;
}

.fukidashi::before {
  position: absolute;
  right: 50px;
  bottom: -21px;
  width: 0;
  height: 0;
  content: '';
  border-width: 21px 21px 0 0;
  border-style: solid;
  border-color: #666 transparent transparent transparent;
}

.fukidashi::after {
  position: absolute;
  right: 54px;
  bottom: -14px;
  width: 0;
  height: 0;
  content: '';
  border-width: 14px 14px 0 0;
  border-style: solid;
  border-color: #fff transparent transparent transparent;
}
.fukidashi span {
　font-weight: 600;
	font-size: 120%;
	}
	
.flexbox-qa {
	width:98%;
	margin:10px auto;
    flex-wrap: wrap; /* 画面幅に合わせてカラム落ちさせる */
    display: flex;
    justify-content: space-between;
    align-items: top;	
}
.flexbox .box {
    width: 25%;  /* お好みの幅で指定 */
    padding:5px auto;  /* お好みの幅で指定 */
    margin:5px auto;  /* お好みの幅で指定 */
    /* paddingと合わせてbox-sizingも指定 */
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
	background:#9FC;
}

/* 最後のコンテンツを左寄せにする指定 */
.flexbox-qa:after {
    content: "";
    display: block;
    width:25%;  /* .boxに指定したwidthと同じ幅を指定する */
    height: 0;
}
.flexbox-qa:before {
    content: "";
    display: block;
    width: 25%;  /* .boxに指定したwidthと同じ幅を指定する */
    height: 0;
    order: 1;  /* 疑似要素beforeの順番を必ず指定する*/
}

/*table
----------------------------------------------------------------------*/
table.hyou-qa{
	width: 100%;
	font-size:80%;
	margin: 5px auto 5px auto;
	border-collapse:collapse;
	border: 0;
	border-top: 1px solid #cbcbcb;
}

table.hyou-qa caption{
	padding: 5px 0;
	text-align: left;
	display: block;
	font-weight: bold;
}
table.hyou-qa caption:before{
	content: "■";
}

table.hyou-qa th{
	padding: 5px 10px;
	text-align: left;
	border-bottom: 1px solid #cbcbcb;
	background-color: #eff5f6;
}

table.hyou-qa td{
	padding: 5px 10px;
	border-left: 1px dotted #cbcbcb;
	border-right: 1px dotted #cbcbcb;
	border-bottom: 1px solid #cbcbcb;
}
table.hyou-qa tr td:last-child{
	border-right: 0;
}

table.hyou-qa thead th{
	background: #485693;
	color: #FFF;
	border-left: 1px dotted #cbcbcb;
	border-right: 1px dotted #cbcbcb;
	border-bottom: 1px solid #cbcbcb;
}
table.hyou-qa thead tr th:last-child{
	border-right: 0;
}
table.normal th span{
	font-size: 80%;
	font-weight: normal;
}

table.widenone{
	width: auto !important;
	margin: 5px 0 15px 0;
}

/*施設*/
table.hyou2{
	width: 100%;
	font-size:80%;
	margin: 5px auto 5px auto;
	border-collapse:collapse;
	border: 0;
	border-top: 1px solid #cbcbcb;
}

table.hyou2 caption{
	padding: 5px 0;
	text-align: left;
	display: block;
	font-weight: bold;
}
table.hyou2 caption:before{
	content: "■";
}

table.hyou2 th{
	padding: 5px 10px;
	text-align: left;
	border-bottom: 1px solid #cbcbcb;
	background-color: #eff5f6;
}

table.hyou2 td{
	padding: 5px 10px;
	border-left: 1px dotted #cbcbcb;
	border-right: 1px dotted #cbcbcb;
	border-bottom: 1px solid #cbcbcb;
}
table.hyou2 tr td:last-child{
	border-right: 0;
}

table.hyou2 thead th{
	background: #485693;
	color: #FFF;
	border-left: 1px dotted #cbcbcb;
	border-right: 1px dotted #cbcbcb;
	border-bottom: 1px solid #cbcbcb;
}
table.hyou2 thead tr th:last-child{
	border-right: 0;
}
table.hyou2 th span{
	font-size: 80%;
	font-weight: normal;
}

table.widenone{
	width: auto !important;
	margin: 5px 0 15px 0;
}
