@charset "utf-8";
/*
 * commons css 
 * pc width 1000px fixed
 */

@media (max-width: 599px) {
} /* end -599 */

@media (min-width: 600px) and (max-width:959px) {
} /* end 600-959 */

@media (min-width: 960px) { 
} /* 960- */

/* ---------------------------------------- non-sm,non-pc */

@media (min-width: 960px) {
	.non-pc {
		display:none !important;
	}
} /* end -599 */
	
@media (max-width: 959px) {
	.non-sm {
		display:none !important;
	}
} /* end -599 */

/* ---------------------------------------- common */

hr {
    display: block;
    height: 1px;
    border: 0;   
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}

ul.disc {
	list-style: outside disc;
	text-align: left;
	margin: 0 0 0 1.5em;
}

.shadowbt {
	display: inline-block;
	color: #fff;
	background: #12a4ae;
	line-height: 1;
	text-align: center;
	padding: 1.5em;
	-webkit-border-radius: 8px;
	border-radius: 8px;
	-webkit-box-shadow: 0 4px 0 -1px #2496a0;
	-moz-box-shadow: 0 4px 0 -1px #2496a0;
	box-shadow: 0 4px 0 -1px #2496a0;
}
.shadowbt.home { 
	background: #52a6c6;
	padding: 1em 2.5em;
	-webkit-box-shadow: 0 4px 0 -1px #4396b5;
	-moz-box-shadow: 0 4px 0 -1px #4396b5;
	box-shadow: 0 4px 0 -1px #4396b5;
}

.align-right { text-align: right; }
.align-center { text-align: center; }
.align-left { text-align: left; }

/* icon color */
.icon { color: #fff; text-align: center; }
.icon-closed { background: #24959f; }
.icon-news { background: #998878; }


@media (max-width: 599px) {

	.swipbox {
		position: relative;
		overflow-x:scroll;
		-webkit-overflow-scrolling:touch;
		margin: 0 0 20px;
	}
	.swipbox.locked { overflow: hidden; }
	.swipbox .overlay {
	    position: absolute;
	    top: 0;
	    left: 0;
	    right: 0;
	    bottom: 0;
	    background: rgba(0, 0, 0, .7 );
	    text-align: center;
	    line-height: 1;
	    margin: 0;
	}
	.swipbox .overlay span {
	    color: #fff;
	    font-size: 56px;
	    line-height: 1;
	    position: absolute;
	    top: 50%;
	    left: 50%;
	    -webkit-transform: translate(-50%, -50%);
	    transform: translate(-50%, -50%);
	}

} /* end -599 */

@media (min-width: 600px) and (max-width:959px) {

	.swipbox .overlay { display: none !important; }

} /* end 600-959 */

@media (min-width: 960px) { 
	
	.swipbox .overlay { display: none !important; }

} /* 960- */

/* ---------------------------------------- title deco */

.green-bar {
	color: #2496a2;
	background: #e2f2e6;
	padding: .8em 1em;
	position: relative;
}
.green-bar::before {
	content: "";
	display: block;
	width: .9em;
	height: .9em;
	background: url( images/green-bar-left.svg ) no-repeat left -1px bottom -1px;
	background-size: contain;
	position: absolute;
	bottom: 0;
	left: 0;
}
.green-bar::after {
	content: "";
	display: block;
	width: .9em;
	height: .9em;
	background: url( images/green-bar-right.svg ) no-repeat right -1px top -1px;
	background-size: contain;
	position: absolute;
	top: 0;
	right: 0;
}

.green-boxbar {
	color: #2496a2;
	border-top: 1px #24959f solid;
	border-right: 1px #24959f solid;
	border-bottom: 1px #24959f solid;
	border-left: 8px #24959f solid;
	padding: .6em 1em;
}

.green-before-dash {
	padding: 0 0 0 2em;
	position: relative;
}
.green-before-dash::before {
	content: "";
	display: block;
	width: 2em;
	height: 4px;
	background: #2496a2;
	font-size: 1.2rem;
	position: absolute;
	top: 50%;
	left: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

@media (max-width: 599px) {
} /* end -599 */

@media (min-width: 600px) and (max-width:959px) {
} /* end 600-959 */

@media (min-width: 960px) { 
} /* 960- */

/* ---------------------------------------- flexs */

@media (max-width: 599px) {


} /* end -599 */

@media (min-width: 600px) {

	.flexs {
		display: -webkit-box;
		display: -webkit-flexbox;
		display: -ms-flexbox;
		display: -webkit-flex;
		display: flex;
	}

	.flexs.wrap {
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	
	.flexs.nowrap {
		-webkit-flex-wrap: nowrap;
		-ms-flex-wrap: nowrap;
		flex-wrap: nowrap;
	}
	
	.flexs.justify {
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		-webkit-justify-content: space-between;
		justify-content: space-between;
	}
	
	.flexs.justify-center {
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		-webkit-justify-content: center;
		justify-content: center;
	}
	
	.flexs.justify-space-around {
		-ms-flex-pack: distribute;
		-webkit-justify-content: space-around;
		justify-content: space-around;
	}
	
	.flexs.align-items-center {
		-webkit-align-items: center;
		-ms-align-items: center;
		align-items: center;
	}
	
	.flexs.hz-reverse {
		-webkit-flex-direction: row-reverse;
		-ms-flex-direction: row-reverse;
		flex-direction:row-reverse;
	}

} /* over 600 */


/* ---------------------------------------- fields ( title, text, image block ) */
/* directly under figure, div (text) */

.fields figure { text-align: center; }

@media (max-width: 599px) {

	.fields figure { margin: 0 0 24px; }
	
} /* end -599 */

@media (min-width: 600px) and (max-width:959px) {

	.fields.flexs > figure { width: 43%; }
	.fields.flexs > figure > img { vertical-align: text-top; }
	.fields.flexs > div { width: 51.8%; }

} /* end 600-959 */

@media (min-width: 960px) { 

	.fields.flexs > figure { width: 43%; }
	.fields.flexs > figure > img { vertical-align: text-top; }
	.fields.flexs > div { width: 51.8%; }

} /* 960- */

/* -------------------------------------------------------------------- dl. list-table-wrpper */
/* 本日の休診情報 */

/* ---------- smartphone */
@media (max-width:768px) {

	.list-table-wrpper {
		border: 1px #ccc solid;
		padding: 0;
		margin: 0 0 6px;
	}
	.list-table {
		display: table;
		width: 100%;
	}
	.list-table > * {
		display: table-cell;
	}
	.list-table > dt,
	.list-table > dd {
		padding: 6px;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
	}
	.list-table > dt {
		width: 7em;
		background: #efefef;
	}
	.list-table-wrpper dl.list-table:not(:last-child) dd {
		border-bottom: 1px #ccc dotted;
	}

} /* end smartphone */
 
/* ---------- pc */
@media (min-width:769px) {

	.list-table-wrpper {
		display: table;
		table-layout: fixed;
		width: 100%;
		border-right: 1px #ccc solid;
		border-bottom: 1px #ccc solid;
		border-left: 1px #ccc solid;
		padding: 0;
		margin: 0;
	}
	.list-table {
		display: table-cell;
	}
	.list-table.w25 {
		width: 25%;
	}
	.list-table.w15 {
		width: 15%;
	}
	.list-table-wrpper > dl:not(:last-child) {
		border-right: 1px #ccc solid;
	}
	.list-table > dt,
	.list-table > dd {
		padding: 10px;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
	}
	.list-table > dt {
		display: none;
		background: #efefef;
	}
	p + .list-table-wrpper {
		border-top:  1px #ccc solid;
	}
	p + .list-table-wrpper dt {
		display: block;
		width: 100%;
		border-bottom:  1px #ccc solid;
	}

} /* end pc */

.header-tels{
	display: flex;
	font-size:14px;
	justify-content: center;
	padding-bottom:15px;
}
.header-tel{
	margin:0 8px;
	padding:0 8px;
	background-color:#888;
	color:#fff;
}
.header-tel span{
	font-size:14px;
	font-weight:bold;
}
.disppc{
	display:inline-block;
}
.dispsm{
	display:none;
}
@media (max-width:1199px) {
.header-tels{
	display: flex;
	font-size:12px;
	justify-content: center;
	flex-wrap:wrap;
	padding-bottom:15px;
}
.header-tel{
	margin:8px;
	padding:0 8px;
	background-color:#888;
	color:#fff;
}
.header-tel span{
	font-size:12px;
	font-weight:bold;
}
}

@media (max-width:640px) {
.header-tels{
	display: flex;
	font-size:11px;
	justify-content: left;
	flex-wrap:wrap;
	padding-bottom:10px;
	text-align: left;
}
.header-tel{
    margin: 0 8px;
    padding: 8px 8px;
    background-color: #888;
    color: #fff;
    width: 100%;
}
.header-tel span{
	font-size:12px;
	font-weight:bold;
}
	.disppc{
		display:none;
	}
	.dispsm{
		display:inline-block;
	}
}