@charset "utf-8";
/*==========================================
 下層ページ
===========================================*/
/*アクセス診療時間
----------------------------------------------*/
/*医院情報*/
table.tb_access th,
table.tb_access td {
	border: 1px solid #ddd;
}
table.tb_access td {
	padding: 10px;
}
/*診療時間*/
table.access_hours thead th {
	font-weight: bold;
	background: #f3f3f3;
	border-bottom: none;
}
table.access_hours thead th:first-child {
	width: 25%;
}
table.access_hours th,
table.access_hours td {
	color: #333;
	font-size: 16px;
	text-align:center;
	vertical-align:middle;
	border-bottom: 1px solid #ddd;
	background: #fff;
	padding: 10px 0;
}
/*交通手段*/
#access .access_train {
	background: url(../img/low/ico-train.png) no-repeat left center;
    padding: 24px 0 16px 90px;
}
#access .access_car {
    background: url(../img/low/ico-car.png) no-repeat left center;
    padding: 24px 0 16px 90px;
}
@media screen and (min-width: 0px) and (max-width:768px) {
table.access_hours th,
table.access_hours td {
	font-size: 14px;
	padding: 10px 0;
}
}

/*料金表
----------------------------------------------*/
table.tb_price img{max-width: 200px;}
table.tb_price th, table.tb_price tr{border: 1px solid #ddd;}
table.tb_price th, table.tb_price td{padding: 10px;}
table.tb_price td .price{padding-left: 1em;}
/*==========================================
料金
===========================================*/
.price01,.price-outline{
	display: flex;
	flex-wrap: wrap;
    width: 100%;
}
.price01{
	border-bottom: 1px solid #ddd;
    border-top: 1px solid #ddd;
    align-items: center;
}
.price-outline{
	border-bottom: 1px solid #ddd;
	align-items: center;
	padding: 5px 0;
}
li.price_ttl{
    font-weight: 700;
    position: relative;
    padding: 5px;
    background:#f3f3f3;
}
.price_ttlW70{
	width:70%;
}
.price_ttlW30{
	width:30%;
	min-height: 55px;
}
.price_ttlW100{
	width:100%;
}
.price_line{
	margin-top: -1px;
}
li.fee{
	margin-left: auto;
	text-align: right;
	font-weight: 700;
}
li.price_img{
	width: 11%;
	padding: 5px;
}
li.price_img img{
	filter: drop-shadow(2px 2px 2px rgba(160, 160, 160, 0.8));
}
/*li.outline-txt{
	font-weight: 500;
}*/
.outline-txtW150{
	width: 150px;
}
.outline-txtW300{
	width: 300px;
}
.outline-txtW500{
	width: 500px;
}
@media screen and (min-width: 0px) and (max-width:480px) {
li.price_ttl{
	font-size: 16px;
}
li.outline-txt{
	font-size:14px;
	padding: 5px;
}
li.price_img{
	width: 20%;
}
.price_ttlW50,.price_ttlW30 {
	width:100%;
	border-bottom: 1px solid rgba(174,147,115,0.7);
	min-height: 30px;
}
.outline-txtW300{
	width:100%;
}
}

/*院内設備
----------------------------------------------*/
.grid2.barrier-free>li{padding: 0 2%;}

/*よくある質問
----------------------------------------------*/
.qa_list li{
	margin: 12px auto;
	padding-left:1.3em;
	text-indent:-1.3em;
}
.qa_list li:before, .qa_area li:before, .qa_area h3:before{
	content: "Q.";
	color: #00b1da;
	font-weight: bold;
	margin-right: .3em;
}
.qa_area h3+p:before{
	content: "A.";
	color: #d94568;
	font-weight: bold;
	margin-right: .3em;
}

/*院長プロフィールなど
----------------------------------------------*/
.kome1, .kome1 {display: block; overflow: hidden;}
.kome1>.dt {width: 1em;}
.kome1>dt, .kome1>.dt,.kome1>.dt{display:block;float:left;}
.kome1>.dd, .kome1>.dd {display: block;overflow: hidden;}
.kome3, .kome3 {display: block; overflow: hidden;}
.kome3>.dt {width: 5em;}
.kome3>dt, .kome3>.dt,.kome3>.dt{display:block;float:left;}
.kome3>.dd, .kome3>.dd {display: block;overflow: hidden;}
.kome5, .kome5 {display: block; overflow: hidden;}
.kome5>.dt {width: 8em;}
.kome5>dt, .kome5>.dt,.kome5>.dt{display:block;float:left;}
.kome5>.dd, .kome5>.dd {display: block;overflow: hidden;}
.careerlist dt {
	float: left;
	width: 70px;
	padding: 0 0 3px 0;
}
.careerlist dd {
	margin-left: 70px;
	padding: 0 0 3px 0;
	background-color: #fff;
}
.careerlist2 dt {
	float: left;
	width: 113px;
	padding: 0 0 3px 0;
}
.careerlist2 dd {
	margin-left: 113px;
	padding: 0 0 3px 0;
	background-color: #fff;
}
@media screen and (min-width: 0px) and (max-width:768px) {
.careerlist dt {
	width: 70px;
}
.careerlist dd {
	margin-left: 70px;
}
.careerlist2 dt {
	width: 113px;
}
.careerlist2 dd {
	margin-left: 113px;
}
}

.tu{
	text-decoration: underline 1px;
}

/*===アコーディオンメニュー===*/
.cp_actab {
	position: relative;
	overflow: hidden;
	width: 100%;
	margin: 0 auto;
	color: #6a6a6a;
	padding:3px 0;
}
.cp_actab input {
	position: absolute;
	z-index: -1;
	opacity: 0;
}
.cp_actab label {
	font-weight: bold;
	line-height: 1.5;
	position: relative;
	display: block;	padding: 10px 2em 10px 1em;
	cursor: pointer;
	margin: 0;
	background:#faebe9;
}
.cp_actab .cp_actab-content {
	overflow: hidden;
	max-height: 0;
	-webkit-transition: max-height 0.35s;
	transition: max-height 0.35s;
	color: #6a6a6a;
	background:#fcf5f4;
}
.cp_actab .cp_actab-content p {
	margin: 1em;
}
/* :checked */
.cp_actab input:checked ~ .cp_actab-content {
	max-height: 40em;
	border-left:1px solid #faebe9;
	border-right:1px solid #faebe9;
	border-bottom:1px solid #faebe9;
}
/* Icon */
.cp_actab label::after {
	line-height: 2.6;
	position: absolute;
	top: 0;	right: 0;
	display: block;
	width: 3em;
	height: 3em;
	-webkit-transition: all 0.35s;
	transition: all 0.35s;
	text-align: center;
}
.cp_actab input[type=checkbox] + label::after {	content: '+';}.cp_actab input[type=checkbox]:checked + label::after {
	transform: rotate(315deg);
}
@media screen and (max-width: 640px) {.cp_actab label {
	line-height: 2;
	padding: .25em 2em .25em 1em;
}
.cp_actab label::after {
	line-height: 2;	width: 2em;
	height: 2em;
}
}

/*ステップフロー*/
ul.stepflow {
	border: none;
	margin: 1em 0.5em;
	padding: 0;
	list-style: none;
}
ul.stepflow > li:before, ol.stepflow > li:before {
	background-color:#ccc!important;
}
.stepflow li {
	position: relative;
	padding: 0 0 0 1.3em;
}
.stepflow>li:before {
	content: "";
	width: 2px;
	background: #ccc;
	display: block;
	position: absolute;
	top: 28px;
	bottom: 0;
	left: 5px;
}
.stepflow-white {
	content: '';
	display: inline-block;
	position: absolute;
	top: 5px;
	left: 0;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	border: solid 3px #fcc63d;
}
.stepflow-black {
	content: '';
	display: inline-block;
	position: absolute;
	top: 5px;
	left: 0;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	border: solid 3px #d3b99e;
	background-color: #fff;
}
.stepflow_label {
	color: #ccc;
	font-size: 14px;
	font-weight: bold;
	letter-spacing: .1rem;
	font-family:Century Gothic;
}
.stepflow_title {
	font-size: 16px;
	font-weight: bold;
	line-height: 1.5;
}
.stepflow_content {
	padding: 0 0 1.5em;
	border-bottom: dashed 1px #ccc;
}

/*===流れ===*/
ul.flow {
    margin: 30px 0;
    counter-reset: number;
}
ul.flow li {
	padding: 15px 10px 15px 80px;
    border-radius: 4px;
    background: #fbece9;
    margin-bottom: 10px;
    position: relative;
}
ul.flow li:before {
    counter-increment: number;
    content: counter(number);
    font-weight: 700;
    font-size: 27px;
    position: absolute;
    top: 50%;
    left: 32px;
    transform: translateY(-50%);
	color:#d3b99e;
	font-family: Century Gothic;
}
ul.flow li:not(:first-of-type):after {
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 15px 15px 0 15px;
    border-color: #e1b6ae transparent transparent transparent;
    position: absolute;
    top: 0;
    left: 40px;
    transform: translateX(-50%);
}
@media screen and (min-width: 0px) and (max-width:768px) {
ul.flow li {
	padding: 15px 10px 15px 60px;
}
ul.flow li:before {
	left: 23px;
}
ul.flow li:not(:first-of-type):after {
	left: 30px;
}
}

/*==========================================
 ボタン
===========================================*/
.btn_more {
	display: block;
	font-size: 14px;
	width: 100%;
	max-width: 230px;
	text-align: center;
	padding: 10px 0;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	margin:0 auto;
}
.btn_more i {
	margin-left: .5em;
}
@media screen and (min-width: 0px) and (max-width:768px) {
.btn_more {
	max-width: 65%;
	margin: 0 auto;
}
}

/*ボタン配色
------------------------------*/
/*===clr01===*/
.btn_clr01 {
	color: #fff;
	background:#d3b99e;
}
.btn_clr01:hover {
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha(opacity=70)";
}

/*===clr02===*/
.btn_clr02 {
	color: #fff;
	background:#d3b99e;
}
.btn_clr02 a {
	color: #fff;
}
.btn_clr02:hover {
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha(opacity=70)";
}