@charset "utf-8";
html,body	{
	height: 100%;
	min-height: 100%;
	color: #362E2B;
	font-family: "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 14px;
}
img	{	border-radius: 3px;	}
#wrap	{
	background: rgba(255, 255, 255, 0.9);
	box-shadow: 0 0 5px 5px rgba(0, 0, 0, 0.1);
	width: 850px;
	margin: 0 auto;
	padding: 0 50px 50px;
	overflow: hidden;
}
#content	{
	position: relative;
	overflow: hidden;
	clear: both;
}

/* ---------------------------------------------- page anchor link */

p.hash{
	text-align: right;
	font-size: 12px;
}
p.hash a:link,
p.hash a:visited	{	color: #6E905D;	text-decoration: underline;	}
p.hash a:hover	{	color: #9FB28F;	text-decoration: none;	}

@media screen and (max-width: 500px){
	#wrap{
		width: calc(100% - 40px);
		padding: 0 20px 20px;
	}
}

/* ---------------------------------------------- hidden */
.show_mb	{	display: none;	}
.show_pc	{	display: block;	}

@media screen and (max-width: 500px){
	.show_mb	{	display: block;	}
	.show_pc	{	display: none;	}
}

/* ---------------------------------------------- headline */
h2	{
	background-color: #F4EBE2;
	margin-bottom: 20px;
	padding: 2px 22px 0 9px;
	font-size: 24px;
	font-weight: bold;
	border-left: #362E2B 15px solid;
	border-bottom: #362E2B 2px solid;
	display: inline-block;
}
h3	{
	display: inline-block;
	font-size: 18px;
	border-bottom: #362E2B double;
	margin: 0px 20px 5px 0;
	padding: 0 15px 0 2px;
}

/* ---------------------------------------------- text */
p	{	margin-bottom: 5px;	}
.tx_smr	{	font-size: 0.8em;	}
.tx_idt	{	margin-left: 10px;	}
.tx_btm	{	margin-bottom: 15px;	}
.tx_r	{	text-align: right;	}

/* ---------------------------------------------- layout */
.fl_r	{	float: right;	}
.fl_l	{	float: left;	}
.fl_c	{	clear: both;	}

/************************************************** header */
div#header	{
	width: 100%;
	background: url("../images/common/bg_header.png") 0 100% repeat-x scroll;
	height: 115px;
	padding: 0 50px;
	margin-left: -50px;
	margin-bottom: 30px;
	position: relative;
}
h1	{
	width: 140px;
	height: 82px;
	position: absolute;
	left: 50px;
	top: 5px;
}
p.tx_header	{
	width: 400px;
	font-size: 12px;
	text-align: right;
	position: absolute;
	right: 50px;
	bottom: 30px;
}
p.tx_header_s	{
	display: none;
}
div.btn_menu	{
	background-color: #FFF;
	width: 24px;
	height: 24px;
	padding: 8px;
	border-radius: 2px;
	box-shadow: 0 1px 1px 2px rgba(0, 0, 0, 0.05);
	position: fixed;
	right: 20px;
	top: 20px;
	display: none;
}
@media screen and (max-width: 500px){
	div#header	{
		padding: 0 20px;
		margin-left: -20px;
		margin-bottom: 20px;
	}
	h1	{
		position: absolute;
		left: 20px;
		top: 10px;
	}
	p.tx_header	{
		display: none;
	}
	p.tx_header_s	{
		width: auto;
		margin: 0 auto 20px;
		font-size: 12px;
		line-height: 1.5em;
		display: block;
	}
	div.btn_menu	{
		display: block;
		z-index: 5;
	}
}
/************************************************** navigation */
nav	{
	width: 100%;
	margin-bottom: 20px;
}
nav ul li	{
	width: 205px;
	height: 77px;
	display: inline-block;
	margin-right: 5px;
}
nav ul li:last-child	{
	margin-right: 0;
}

/************************************************** navigation(sidebar) */
nav.side	{
	width: 205px;
	margin-left: 30px;
	float: right;
}
nav.side ul li		{
	margin-bottom: 10px;
}


/************************************************** navigation for smartphone */
@media screen and (max-width: 500px){
	nav	{
		background-color: rgba(255, 255, 255, 0.9);
		width: 205px;
		position: fixed;
		right: -230px;
		top: 10px;
		padding: 10px;
		border-radius: 10px 0 0 10px;
		float: none;
		z-index: 10;
	}
	nav.side	{
		padding: 10px 14px 20px 24px;
		position: fixed;
		right: -230px;
	}
	nav ul li	{
		display: block;
		margin-bottom: 10px;
	}
	nav.openMenu	{
		background-color: #ddc;
		box-shadow: 2px 0 5px 5px rgba(0, 0, 0, 0.1);
	}
	div#bgOverlay	{
		background-color: rgba(0, 0, 0, 0.6);
		width: 100%;
		height: 100%;
		display: none;
		z-index: 8;
		position: fixed;
		top: 0;
		left: 0;
		overflow: hidden;
	}
	div#bgOverlay.overlay	{
		display: block;
	}
}

/************************************************** footer */
footer	{
	background: #6E905D url("../images/common/bg_footer.jpg") 100% 0 no-repeat scroll;
	width: 100%;
	height: 75px;
	padding: 15px 0 0;
}
p.tx_footer_title,
p.tx_footer_address	{
	width: 850px;
	padding: 0 50px;
	margin: 0 auto;
}
p.tx_footer_title	{
	font-size: 14px;
	color: #FFF;
	font-weight: bold;
}
p.tx_footer_address	{
	font-size: 11px;
	color: #EED;
}
@media screen and (max-width: 500px){
	p.tx_footer_title,
	p.tx_footer_address	{
		width: calc(100% - 40px);
		padding: 0;
	}
}
/************************************************** copyright */
#copyright	{
	background: #362E2B;
	width: 100%;
	height: 25px;
	font-size: 11px;
	color: #EED;
	text-align: center;
	line-height: 25px;
}

/************************************************** slideshow */
#slideshow	{
}
#slideshow2	{
	width: 100%;
	max-height: 200px;
}
.show_large	{
	width: 850px;
	height: 230px;
	margin-bottom: 30px;
}
.show_small	{
	width: 180px;
	height: 120px;
	margin: 10px 0;
}

#slideshow2 ul,
#slideshow ul	{
	position: relative;
}
#slideshow2 ul li,
#slideshow ul li	{
	position: absolute;
	top: 0;
	left: 0;
}
.active	{	z-index: 1;	}
.next	{	z-index: 2;	}



/* ////////////////////////////////////////////////////////////////////////// index / access */
body#index	{
	background: #F4EBE2 url("../images/bg_common.png") 0 100% repeat-x  fixed;
}
.con_map	{
	width: 440px;
	height: 360px;
	border: #FFF double;
	margin-right: 20px;
	float: left;
}
.con_right	{
	width: 380px;
	line-height: 1.4em;
	float: right;
	margin-bottom: 18px;
}

@media screen and (max-width: 500px){
	.con_map,
	.con_tx_access	{
		width: 100%;
		max-width: 440px;
		height: auto;
		margin: 0 auto 10px;
		float: none;
	}
}


/* ////////////////////////////////////////////////////////////////////////// hitokoto */

#hitokoto	{
	width: 100%;
	margin-top: 5px;
	margin-bottom: 30px;
	position: relative;
}
.hitokoto	{
	background-color: #fff;
	width: calc(100% - 55px);
	height: 100px;	
	padding: 10px 20px;
	border: solid 5px #EADDCE;
	border-radius: 10px;
	overflow-x: inherit;
	overflow-y: scroll;
}
.decoration	{
	position: absolute;
	right: 0;
	top: -5px;
}

.hitokoto>p	{
	margin-bottom: 20px;
}
.hitokoto>p::last-of-type	{
	margin-bottom: 0;
}

.hitokoto>p b	{
	font-size: 1.1em;
}
.hitokoto>p .red	{	color: #f21;	}
.hitokoto>p .blue	{	color: #12A;	}




/* ////////////////////////////////////////////////////////////////////////// contents */

div.con_left	{
	width: 615px;
	float: left;
}

.menu	{
	background-color: rgba(205, 194, 189, 0.3);
	width: calc(100% - 60px);
	padding: 18px 30px 30px 30px;
	margin: 15px auto;
	border-radius: 10px;
	overflow: hidden;
}

.textbox	{
	width: 398px;
	margin: 10px 0;
}


@media screen and (max-width: 500px){
	.fl_r,
	.fl_l	{
		float: none;
	}
	div.con_left,
	div.con_right	{
		width: calc(100% - 20px);
		margin: 0 auto;
		float: none;
	}
	.textbox	{
		width: 100%;
	}
}



/************************************************** background */
body#cafe	{	background: url("../images/bg_cafe.gif") repeat  fixed;	}
body#chiro	{	background: #F4EBE2 url("../images/bg_chiro3.png") repeat  fixed;	}
body#schedule	{	background: #F4EBE2 url("../images/bg_common.png") 0 100% repeat-x  fixed;	}

/************************************************** table for chiropractic */
table.price	{
	width: 658px;
	margin: 5px auto 25px;
}
table.price tr th	{
	background-color: #362E2B;
	border-right: #D7D5D5 1px solid;
	border-bottom: #D7D5D5 1px solid;;
	color: #FFF;
	font-size: 90%;
	font-weight: bold;
	line-height: 1.2em;
}
table.price tr td	{
	border-right: #362E2B 1px solid;
	border-bottom: #362E2B 1px solid;;
}
table.price tr th,
table.price tr td	{
	text-align: center;
	vertical-align: middle;
	padding: 8px 3px;
}
table.price tr td:first-child	{
	font-weight: bold;
}
table.price tr th:last-child,
table.price tr td:last-child	{
	border-right: none;
}
table.price tr:nth-child(2n)	{
	background-color: #E0DFD9;
}
.osusume	{
	background-color: #FFFDD1;
}
@media screen and (max-width: 500px){
	table.price	{
		width: 100%;
	}
}
/************************************************** table for schedule */
table.schedule	{
	width: 100%;
	height: auto;
	margin: 10px auto 25px;
	border: #9F7F66 2px solid;
	font-size: 18px;
	color: #3B2715;
}

table.schedule tr th,
table.schedule tr td	{
	width: calc(100% / 7);
	border: #9F7F66 1px solid;
	text-align: center;
	vertical-align: middle;
}
table.schedule tr th	{	height: 40px;	background-color: rgba(205, 194, 189, 0.9);	}
table.schedule tr td	{	height: 60px;	}

table.schedule tr th:first-child,　table.schedule tr td:first-child	{
	border-left-width: 2px;
}
table.schedule tr:first-child th	{	border-top-width: 2px;	}
table.schedule tr:last-child td	{	border-bottom-width: 2px;	}


@media screen and (max-width: 500px){
	table.schedule	{	font-size: 14px;	}
	table.schedule tr th	{	height: 30px;	}
	table.schedule tr td	{	height: 40px;	}
}

/* ---------------------------------------------- cell color */


.open	{	background-color: #ced;	}
.open1	{	background-color: #fe9;	}
.open2	{	background-color: #ced;	}
.close	{	background: #FBD9E8;	}
.day_none	{
	background: transparent;
	color: #8D6055;
}
.sunday	{	color: #CC2211;	}
.saturday	{	color: #1122AA;	}

span.open, span.open1, span.open2, span.close	{
	width: 20px;
	margin: 1px 3px 2px 15px;
	display: inline-block;
}