@charset "utf-8";


/* layout
=========================================== */

html {
	overflow: auto;
	font-size: 62.5%;
}

body {
	min-width: 1040px;
	line-height: 1.6;
	overflow: hidden;
	color: #4c4c4c;
	font-size: 14px;
	font-size: 1.4rem;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	border-top: 4px solid #741819;
	position: relative;
}

@media screen and (max-width: 640px) { 
	body {
		width: 100%;
		min-width: 320px;
		font-size: 12px;
		font-size: 1.2rem;
		border-top: none;
	}
}

#wrapper { position: relative; }

#contents {
	width: 1040px;
	margin: 0 auto 50px;
}

#main {
	float: left;
	width: 750px;
}

@media screen and (max-width: 640px) { 
	#contents {
		width: 100%;
		margin: 0;
		overflow: hidden;
	}
	
	#wrapper { overflow: hidden; }
	
	#main {
		float: none;
		width: auto;
	}
}



/* Elements
=========================================== */

a {
	color: #725c49;
	text-decoration: none;
}

@media screen and (max-width: 640px) {
	a, input[type="button"], button {
		outline: none;
		-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	}
}

em { font-style: normal; }


/* Common
=========================================== */

.cf:before,
.cf:after {
	content: ' ';
	display: table;
}

.cf:after {
	clear: both;
}

.cf {
	*zoom: 1;
}


/* Header
=========================================== */

#header {
	width: 1040px;
	height: 116px;
	margin: 0 auto;
}

#header h1 {
	float: left;
	width: 316px;
	height: 70px;
	margin: 23px 0 0;
	overflow: hidden;
	background: url(img/common/header/logo01.png) left top no-repeat;
}

#header h1 a {
	display: block;
	width: 316px;
	height: 70px;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
}

@media screen and (max-width: 640px) {
	#header {
		width: 100%;
		height: 52px;
		border-bottom: 4px solid #741819;
	}
	#home #header { border: none; }
		
	#header h1 {
		float: none;
		width: 200px;
		height: 44px;
		margin: 8px 0 0 11px;
		background: url(img/common/header/logo_sp01.png) left top no-repeat;
		background-size: cover;
	}
	
	#header h1 a {
		width: 100%;
		height: 44px;
	}
}


/* #gNav
-------------------------- */
nav#gNav {
	float: right;
	width: 650px;
	height: 116px;
	padding: 0 0 0 2px;
	font-size: 12px;
	background: url(img/common/header/bg_gNav01.png) left center no-repeat;
}

#gNav button { display: none; }

#gNav .navIn { display: block; }

#gNav .navIn > ul {
	display: block;
	background: none;
	position: static;
}

#gNav .navIn > ul > li {
	float: left;
	width: 128px;
	height: 116px;
	padding: 0 2px 0 0;
	position: relative;
	background: url(img/common/header/bg_gNav01.png) right center no-repeat;
}

#gNav .navIn > ul > li > a,
#gNav .navIn > ul > li > p {
	display: block;
	width: 128px;
	height: 38px;
	padding: 78px 0 0;
	overflow: hidden;
	line-height: 1.0;
	color: #4c2223;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
	white-space: nowrap;
	position: relative;
	background-image: url(img/common/header/gNav01.png);
	background-repeat: no-repeat; 
}

#gNav .navIn > ul > li.nav01 > a:hover { background-position: left bottom; }

#gNav .navIn > ul > li.nav02 > p { background-position: -130px top;; }
#gNav .navIn > ul > li.nav02 > p:hover { background-position: -130px bottom; }

#gNav .navIn > ul > li.nav03 > a { background-position: -260px top;; }
#gNav .navIn > ul > li.nav03 > a:hover { background-position: -260px bottom; }

#gNav .navIn > ul > li.nav04 > a { background-position: -390px top;; }
#gNav .navIn > ul > li.nav04 > a:hover { background-position: -390px bottom; }

#gNav .navIn > ul > li.nav05 > a { background-position: -520px top;; }
#gNav .navIn > ul > li.nav05 > a:hover { background-position: -520px bottom; }

#gNav ul ul {
	display: none;
	margin: -14px 0 0;
	position: absolute;
	z-index: 53;
	background: #c13b3d;
	box-shadow: 5px 5px 0 0 rgba(0, 0, 0, 0.3);
}
#gNav ul ul:before {
	content: url(img/common/header/ico_gNav01.png);
	position: absolute;
	top: -13px;
	left: 59px;
}

#gNav ul ul li { border-bottom: 1px solid #8f292b; }

#gNav ul ul li a {
	display: block;
	width: 140px;
	height: 44px;
	padding: 0 0 0 28px;
	overflow: hidden;
	line-height: 44px;
	color: #fff;
	background: url(img/common/header/ico_gNav02.png) 15px center no-repeat;
}
#gNav ul ul li a:hover { text-decoration: underline; }

@media screen and (max-width: 640px) {
	nav#gNav {
		float: none;
		width: 100%;
		height: auto;
		padding: 0;
		background: none;
	}
	
	#gNav > button {
		display: block;
		width: 39px;
		height: 39px;
		overflow: hidden;
		text-indent: 100%;
		white-space: nowrap;
		cursor: pointer;
		position: absolute;
		top: 9px;
		right: 10px;
		outline: none;
		border: none;
		border-radius: 3px;
		background: #741819 url(img/common/header/ico_menu01.png) center center no-repeat;
		background-size: 50% 50%;
		box-shadow: 0px 3px 0 0 #380405;
		-webkit-appearance: none;
	}
	
	#gNav .navIn {
		display: none;
		width: 100%;
		height: 100%;
		position: absolute;
		top: 64px;
		z-index: 60;
	}
	#gNav .navIn.active { background: rgba(0, 0, 0, 0.7); }
	
	#gNav .navIn > ul {
		width: 100%;
		height: auto;
		margin: 0 0 16px;
	}
	
	#gNav .navIn > ul > li {
		float: none;
		width: 100%;
		height: auto;
		padding: 0;
		border-bottom: 2px solid #b98b8c;
		background: #f1ede6;
	}
	
	#gNav .navIn > ul > li > a,
	#gNav .navIn > ul > li > p {
		width: auto;
		height: 49px;
		padding: 0 0 0 15px;
		overflow: hidden;
		line-height: 49px;
		text-align: left;
		color: #741819;
		font-size: 1.4rem;
		background-image: url(img/common/ico_arrow_sp02.png);
		background-position: 95% center !important;
		background-size: 15px 15px;
	}
	#gNav .navIn > ul > li.nav02 > p,
	#gNav .navIn > ul > li.nav03 > a,
	#gNav .navIn > ul > li.nav04 > a {
		background-image: url(img/common/side/ico_slide01.png);
		background-size: 15px 15px;
	}
	#gNav .navIn > ul > li.nav02 > p.on,
	#gNav .navIn > ul > li.nav03 > a.on,
	#gNav .navIn > ul > li.nav04 > a.on {
		background-image: url(img/common/side/ico_slide02.png);
		background-size: 15px 15px;
	}
	
	#gNav ul ul {
		display: none;
		margin: 0;
		position: inherit;
		background: none;
		box-shadow: none;
	}
	#gNav ul ul:before { content: ''; }
	
	#gNav ul ul li {
		border-top: 1px dashed #a8a5a1;
		border-bottom: none;
	}
	
	#gNav ul ul li a {
		width: auto;
		height: 49px;
		padding: 0 0 0 40px;
		line-height: 49px;
		color: #4c4c4c;
		font-size: 1.3rem;
		background: url(img/common/ico_arrow_sp03.png) 28px center no-repeat;
		background-size: 4px 5px;
	}
	#gNav ul ul li a:hover { text-decoration: none; }
	
	#gNav .navIn button {
		display: block;
		width: 70%;
		height: 40px;
		margin: 0 auto;
		overflow: hidden;
		line-height: 40px;
		text-align: center;
		color: #fff;
		font-size: 1.3rem;
		font-weight: bold;
		cursor: pointer;
		border: none;
		border-radius: 3px;
		background: #8d2b2c;
		box-shadow: 0 3px 0 #560607;
		-webkit-appearance: none;
	}
}


/* MainArea
=========================================== */

/* main h1
-------------------------- */

main > h1:first-child {
	height: 62px;
	margin: 0 0 30px;
	padding: 0 0 0 63px;
	overflow: hidden;
	line-height: 48px;
	color: #333;
	font-size: 25px;
	font-size: 2.5rem;
	position: relative;
	border-bottom: 4px solid #c13b3d;
}
main > h1:first-child:before {
	content: '';
	width: 48px;
	height: 48px;
	position: absolute;
	left: 0;
	top: 0;
	background-size: cover;
}
#library main > h1:first-child:before { background-image: url(img/library/ico_library01.png); }
#clinic main > h1:first-child:before { background-image: url(img/clinic/ico_clinic01.png); }
#check main > h1:first-child:before { background-image: url(img/check/ico_check01.png); }
#search main > h1:first-child:before { background-image: url(img/search/ico_search01.png); }
#terms main > h1:first-child:before { background-image: url(img/terms/ico_terms01.png); }
#privacy main > h1:first-child:before { background-image: url(img/privacy/ico_privacy01.png); }
#inquiry main > h1:first-child:before { background-image: url(img/inquiry/ico_inquiry01.png); }

main > h1:first-child span {
	padding: 0 0 0 10px;
	color: #dbd0c6;
	font-size: 11px;
	font-size: 1.1rem;
}

@media screen and (max-width: 640px) {
	main > h1:first-child {
		height: 50px;
		margin: 0 0 20px;
		padding: 0 0 0 50px;
		overflow: hidden;
		line-height: 50px;
		color: #333;
		font-size: 1.8rem;
		border: none;
		background-color: #eae3d8;
	}
	main > h1:first-child:before {
		content: '';
		margin: auto;
		width: 32px;
		height: 32px;
		top: 0;
		bottom: 0;
		left: 10px;
	}
	
	main > h1:first-child span { display: none; }
}


/* #breadcrumb
-------------------------- */

#breadcrumb {
	width: 1040px;
	height: 30px;
	margin: 0 -200% 30px;
	padding: 0 200%;
	overflow: hidden;
	line-height: 30px;
	font-size: 11px;
	font-size: 1.1rem;
	border-top: 2px solid #dadada;
	background: #f6f2ec;
}

#breadcrumb a,
#breadcrumb span { padding: 0 1em; }
#breadcrumb a > span { padding: 0; }

#breadcrumb p a:first-child { padding: 0 1em 0 0; }
#breadcrumb a:hover { text-decoration: underline; }

@media screen and (max-width: 640px) {
	#breadcrumb { display: none; }
}


/* #pageNav PAGENATION
-------------------------- */

#pageNav {
	margin: 30px 0;
	text-align: center;
}

#pageNav li {
	display: inline-block;
	margin: 0 2px;
}

#pageNav li.current { padding: 2px 0 0; }

#pageNav li.previous {
	margin: 0 10px 0 0;
	padding: 0 20px 0 0;
	border-right: 2px #d6d6d6 dotted;
}

#pageNav li.next {
	margin: 0 0 0 10px;
	padding: 0 0 0 20px;
	border-left: 2px #d6d6d6 dotted;
}

#pageNav li a,
#pageNav li.current span {
	display: block;
	min-width: 10px;
	height: 34px;
	padding: 0 10px;
	overflow: hidden;
	line-height: 36px;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: bold;
	border-radius: 3px;
	border-radius: 3px;
}
#pageNav li a {
	color: #685341;
	border-bottom: 2px solid #c3bfb5;
	background: #ddd6cf;
}
#pageNav li a:hover { text-decoration: underline; }
	
#pageNav li.current span {
	color: #fff;
	border-bottom: none;
	background: #b6aea6;
}

@media screen and (max-width: 640px) {
	#pageNav { margin: 20px 0 25px; }
	
	#pageNav li { margin: 0 3px; }
	
	#pageNav li.previous {
		margin: 0 2px 0 3px;
		padding: 0 10px 0 0;
	}
	
	#pageNav li.next {
		margin: 0 3px 0 2px;
		padding: 0 0 0 10px;
	}
	
	#pageNav li a,
	#pageNav li.current span {
		height: 22px;
		min-width: 12px;
		padding: 0 4px;
		line-height: 22px;
		font-size: 0.9rem;
	}
}


/* entry Elements
-------------------------- */

#artPost {
	width: 730px;
	margin: 30px auto 40px;
	padding: 29px 29px 10px;
	outline: 10px solid #f5f2ed;
	border: 1px solid #e9e2d8;
	box-sizing: border-box;
}

#artPost h1 {
	margin: 0 0 16px;
	padding: 0 0 10px;
	line-height: 1.27;
	font-size: 25px;
	font-size: 2.5rem;
	border-bottom: 3px solid #eae3d8;
}

#artPost .entry h2 {
	clear: left;
	margin: 0 0 20px;
	padding: 13px 15px 13px 30px;
	line-height: 1.2;
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: bold;
	border-top: 2px #e3dccf solid;
	background: #f5f2ed;
}
#artPost .entry h2 span {
	position: relative;
	display: block;
}
#artPost .entry h2 span:before {
	content: '';
	display: block;
	width: 6px;
	height: 100%;
	position: absolute;
	top: 0;
	left: -17px;
	bottom: auto;
	border-top: 9px #b12f31 solid;
	background: #c13b3d;
	box-sizing: border-box;
}

#artPost .entry h3 {
  margin: 0 0 15px;
  padding: 11px 0 9px;
  line-height: 1.5;
  font-size: 16px;
  font-size: 1.6rem;
  border-top: 2px #ededed solid;
  border-bottom: 2px #ededed solid;
}

#artPost .entry h4 {
	margin: 0 0 15px;
	line-height: 1.5;
	font-size: 16px;
	font-size: 1.6rem;
}

#artPost .entry p { margin: 0 0 30px; }

#artPost .entry a {
	color: #c13b3d;
	font-weight: bold;
}
#artPost .entry a:hover { text-decoration: underline; }

#artPost .entry ul {
	list-style: disc outside;
	margin: 10px 0 20px 1.5em;
	padding: 0;
}

#artPost .entry ol {
	list-style: decimal-leading-zero outside;
	margin: 10px 0 20px 2.5em;
	padding: 0;
}

#artPost .entry li {
	margin: 0 0 20px;
	padding: 0;
	line-height: 1.5;
	color: #c13b3d;
	font-weight: bold;
}
#artPost .entry li span {
	color: #4c4c4c;
	font-weight: normal;
}

#artPost .entry blockquote {
	margin: 0 0 20px;
	padding: 16px;
	line-height: 1.6;
	font-size: 13px;
	font-size: 1.3rem;
	position: relative;
	border: 5px solid #f5f2ed;
}
#artPost .entry blockquote:before {
	content:'“';
	font-size: 100px;
	font-size: 10.0rem;
	line-height: 1.0;
	color: #eee;
	position: absolute;
	top: 0;
	left: 4px;
	z-index: 1;
}

#artPost .entry blockquote p {
	margin: 0;
	text-indent: 2em;
	position: relative;
	z-index: 2;
}

#artPost .entry blockquote cite {
	display: block;
	margin: 5px 0 0;
	text-align: right;
	color: #1dafa3;
	font-size: 11px;
	font-size: 1.1rem;
	font-weight: bold;
	font-style: normal;
}

#artPost .entry ins {
	display: block;
	margin: 0 0 20px;
	padding: 1em;
	border: 1px solid #f5f2ed;
	background: none;
}

#artPost .entry b,
#artPost .entry em,
#artPost .entry strong { font-weight: bold; }

@media screen and (max-width: 640px) {
	#artPost {
		width: auto;
		margin: 20px 4px 28px;
		padding: 15px 10px 5px;
		outline: 4px solid #f5f2ed;
		border: 2px solid #e9e2d8;
	}
	
	#artPost h1 {
		margin: 0 0 10px;
		padding: 0 0 13px;
		font-size: 1.8rem;
	}
	
	#artPost .entry h2 {
		margin: 0 0 10px;
		padding: 8px 10px 8px 20px;
		font-size: 1.4rem;
	}
	
	#artPost .entry h2 span:before {
		width: 5px;
		left: -12px;
		border-top: 6px #b12f31 solid;
	}
	
	#artPost .entry h3 {
	  margin: 0 0 15px;
	  padding: 11px 0 9px;
	  line-height: 1.5;
	  font-size: 16px;
	  font-size: 1.6rem;
	  border-top: 2px #ededed solid;
	  border-bottom: 2px #ededed solid;
	}
	
	#artPost .entry h4 {
		margin: 0 0 15px;
		line-height: 1.5;
		font-size: 16px;
		font-size: 1.6rem;
	}
	
	#artPost .entry p { margin: 0 0 15px; }
	
	#artPost .entry a {
		color: #c13b3d;
		font-weight: bold;
	}
	#artPost .entry a:hover { text-decoration: underline; }
	
	#artPost .entry ul {
		list-style: disc outside;
		margin: 10px 0 20px 1.5em;
		padding: 0;
	}
	
	#artPost .entry ol {
		list-style: decimal-leading-zero outside;
		margin: 10px 0 20px 2.5em;
		padding: 0;
	}
	
	#artPost .entry li {
		margin: 0 0 20px;
		padding: 0;
		line-height: 1.5;
		color: #c13b3d;
		font-weight: bold;
	}
	#artPost .entry li span {
		color: #4c4c4c;
		font-weight: normal;
	}
	
	#artPost .entry blockquote {
		margin: 0 0 20px;
		padding: 16px;
		line-height: 1.6;
		font-size: 13px;
		font-size: 1.3rem;
		border: 5px solid #f5f2ed;
	}
	#artPost .entry blockquote:before { left: 2px; }
}


/* sns
-------------------------- */

ul#artSns {
	margin: 30px 0;
	text-align: center;
}

ul#artSns li {
	display: inline-block;
	margin: 0 10px;
}

@media screen and (max-width: 640px) {
	ul#artSns { margin: 20px 0; }
}


/* Side
=========================================== */

aside#side {
	float: right;
	width: 250px;
}

#side .sideAd a:hover { opacity: 0.7; }

@media screen and (max-width: 640px) {
	aside#side {
		float: none;
		width: auto;
	}

	#side .sideAd { display: none; }
}


/* #side search box
-------------------------- */

#side #sideSearch {
	margin: 0 0 20px;
	padding: 6px;
	border-radius: 6px;
	background: #dda3a4;
}

#side #sideSearch h2 {
	height: 46px;
	padding: 0 0 0 46px;
	overflow: hidden;
	line-height: 46px;
	color: #fff;
	font-size: 15px;
	font-size: 1.5rem;
	border-radius: 3px 3px 0 0; 
	background: #c13b3d url(img/common/side/ico_search01.png) 14px 11px no-repeat;
}

#side #sideSearch form {
	display: block;
	padding: 8px;
	border-radius: 0 0 3px 3px;
	background: #fff;
}

#side #sideSearch form input[type="text"] {
	width: 168px;
	height: 32px;
	padding: 0 10px;
	font-size: 11px;
	font-size: 1.1rem;
	border: 1px solid #a9a9a9;
	border-radius: 3px;
	box-sizing: border-box;
}

#side #sideSearch form input[type="submit"] {
	float: right;
	width: 50px;
	height: 30px;
	overflow: hidden;
	line-height: 30px;
	text-align: center;
	color: #fff;
	font-size: 13px;
	font-size: 1.3rem;
	cursor: pointer;
	outline: none;
	border: none;
	border-radius: 3px;
	background: #4d4d4d;
	box-shadow: 0 2px 0 0 #292929;
	-webkit-appearance: none;
}
#side #sideSearch form input[type="button"]:hover { background: #6d6d6d; }

@media screen and (max-width: 640px) {
	#side #sideSearch {
		margin: 0;
		padding: 0;
		border-radius: 0;
		background: none;
	}
	
	#side #sideSearch h2 {
		padding: 0;
		text-align: center; 
		border-radius: 0;
		background: #c13b3d;
	}
	#side #sideSearch h2:before {
		content: '';
		display: inline-block;
		width: 24px;
		height: 24px;
		vertical-align: middle;
		margin: -2px 10px 0 0;
		background: url(img/common/side/ico_search01.png);
		background-size: contain;
	}
	
	#side #sideSearch form {
		padding: 15px 10px;
		border-radius: 0;
	}
	
	#side #sideSearch form input[type="text"] {
		width: 75%;
		height: 42px;
		padding: 0 14px;
		font-size: 1.4rem;
		-webkit-appearance: none;
	}
	
	#side #sideSearch form input[type="button"] {
		width: 22.5%;
		height: 39px;
		line-height: 39px;
		font-size: 1.5rem;
		font-weight: bold;
		box-shadow: 0 3px 0 0 #292929;
	}
}


/* #side lNav
-------------------------- */

#side #lNav {
	margin: 0 0 20px;
	padding: 1px 1px 0;
	border: 1px solid #eae3d8;
	
}

#side #lNav h2 {
	height: 58px;
	padding: 0 0 0 55px;
	line-height: 58px;
	overflow: hidden;
	color: #333;
	font-size: 16px;
	font-size: 1.6rem;
	background: #eae3d8 url(img/common/side/ico_library01.png) 10px center no-repeat;
}

#side #lNav ul li {
	padding: 1px 0;
	border-top: 1px dotted #d7c6b8;
	position: relative;
}
#side #lNav ul li:first-child { border: none; }

#side #lNav a {
	display: block;
	height: 44px;
	padding: 0 0 0 34px;
	overflow: hidden;
	line-height: 44px;
	background-image: url(img/common/side/ico_arrow01.png);
	background-repeat: no-repeat;
	background-position: 18px center;
}
#library.symptom #side #lNav li.lNav01 a,
#library.kind #side #lNav li.lNav02 a,
#library.therapy #side #lNav li.lNav03 a,
#library.cause #side #lNav li.lNav04 a,
#library.contact #side #lNav li.lNav05 a,
#side #lNav a:hover { background-color: #f4f1ec; }

@media screen and (max-width: 640px) {
	#side #lNav { display: none; }
}


/* #side recommend
-------------------------- */

#side #sideRecommend {
	margin: 0 0 20px;
	padding: 0 6px 6px;
	background: url(img/common/side/bg_recommend01.png) left top repeat;
}

#side #sideRecommend h2 {
	height: 40px;
	padding: 0 0 0 64px;
	line-height: 42px;
	color: #333;
	font-size: 12px;
	font-size: 1.2rem;
	position: relative;
}
#side #sideRecommend h2:before {
	content: url(img/common/side/ico_recommend01.png);
	position: absolute;
	top: -9px;
	left: -6px;
}

#side #sideRecommend h2 em {
	color: #c03b3d;
	font-size: 16px;
	font-size: 1.6rem;
}

#side #sideRecommend .artWrap {
	border-radius: 3px;
	background: #fff;
}

#side #sideRecommend article {
	position: relative;
	border-top: 1px dotted #d7c6b8;
}
#side #sideRecommend article:first-child { border: none; }

#side #sideRecommend article a {
	display: block;
	padding: 12px 15px 15px 105px;
	min-height: 80px;
	overflow: hidden;
}
#side #sideRecommend article:first-child a { padding: 15px 15px 15px 105px; }
#side #sideRecommend article a:hover { background: #f4f1ec; }

#side #sideRecommend article h1 {
	margin: 0 0 4px;
	line-height: 1.36;
	font-size: 14px;
	font-size: 1.4rem;
}

#side #sideRecommend article p.cat {
	display: inline-block;
	height: 20px;
	padding: 0 10px;
	background: #ccc;
	overflow: hidden;
	line-height: 20px;
	color: #fff;
	font-size: 10px;
	font-size: 1.0rem;
}
#side #sideRecommend article p.cat.topics { background: #ce6135; }
#side #sideRecommend article p.cat.mental { background: #a8a62a; }
#side #sideRecommend article p.cat.life { background: #1d638e; }

#side #sideRecommend article .pic {
	width: 80px;
	height: 80px;
	position: absolute;
	top: 15px;
	left: 15px;
}
#side #sideRecommend article:first-child .pic { top: 18px; }

#side #sideRecommend article .pic img {
	width: 100%;
	height: 100%;
}

@media screen and (max-width: 640px) {
	#side #sideRecommend {
		margin: 0;
		padding: 0 10px 10px;
		border-top: 3px solid #c9bead;
	}
	
	#side #sideRecommend h2 {
		height: 52px;
		padding: 0 10px;
		line-height: 52px;
		text-align: center;
		font-size: 1.8rem;
	}
	#side #sideRecommend h2:before {
		content: '';
		display: inline-block;
		width: 55px;
		height: 52px;
		vertical-align: bottom;
		position: relative;
		top: auto;
		left: -6px;
		background: url(img/common/side/ico_recommend_sp01.png);
		background-size: contain;
	}
	
	#side #sideRecommend h2 em { font-size: 1.8rem; }
	
	#side #sideRecommend .artWrap { border-radius: 0; }
	
	#side #sideRecommend article:first-child { border: none; }
	
	#side #sideRecommend article a,
	#side #sideRecommend article:first-child a { padding: 10px 10px 10px 80px; }
	
	#side #sideRecommend article h1 {
		display: table-cell;
		height: 60px;
		line-height: 1.28;
		vertical-align: middle;
		font-size: 1.4rem;
		font-weight: normal;
	}
	
	#side #sideRecommend article p.cat { display: none; }
	
	#side #sideRecommend article .pic,
	#side #sideRecommend article:first-child .pic {
		width: 60px;
		height: 60px;
		top: 10px;
		left: 10px;
	}
}


/* #side ranking
-------------------------- */

#side #sideRank {
	margin: 0 0 20px;
	padding: 1px;
	border: 1px solid #eae3d8;
}

#side #sideRank h2 {
	height: 38px;
	padding: 0 0 0 45px;
	line-height: 38px;
	color: #333;
	font-size: 16px;
	font-size: 1.6rem;
	background: #eae3d8;
	position: relative;
}
#side #sideRank h2:before {
	content: url(img/common/side/ico_rank01.png);
	position: absolute;
	top: -6px;
	left: 5px;
}

#side #sideRank h2 em { color: #c03b3d; }

#side #sideRank .artWrap { background: #fff; }

#side #sideRank ol li {
	border-top: 1px dotted #d7c6b8;
	position: relative;
}
#side #sideRank ol li:first-child { border: none; }
#side #sideRank ol li:before {
	position: absolute;
	top: 8px;
	left: 11px;
	z-index: 1;
}
#side #sideRank ol li.rank01:before { content: url(img/common/side/ico_side_rank01.png); }
#side #sideRank ol li.rank02:before { content: url(img/common/side/ico_side_rank02.png); }
#side #sideRank ol li.rank03:before { content: url(img/common/side/ico_side_rank03.png); }
#side #sideRank ol li.rank04:before {
	content: url(img/common/side/ico_side_rank04.png);
	top: 15px;
	left: 15px;
}
#side #sideRank ol li.rank05:before {
	content: url(img/common/side/ico_side_rank05.png);
	top: 15px;
	left: 15px;
}

#side #sideRank article { position: relative; }

#side #sideRank article a {
	display: block;
	padding: 13px 15px 15px 84px;
	overflow: hidden;
}
#side #sideRank article a:hover { background: #f4f1ec; }

#side #sideRank article h1 {
	margin: 0 0 4px;
	line-height: 1.4;
	font-size: 13px;
	font-size: 1.3rem;
	font-weight: normal;
}

#side #sideRank article p.cat {
	display: inline-block;
	height: 20px;
	padding: 0 10px;
	background: #ccc;
	overflow: hidden;
	line-height: 20px;
	color: #fff;
	font-size: 10px;
	font-size: 1.0rem;
}
#side #sideRank article p.cat.topics { background: #ce6135; }
#side #sideRank article p.cat.mental { background: #a8a62a; }
#side #sideRank article p.cat.life { background: #1d638e; }

#side #sideRank article .pic {
	width: 60px;
	height: 60px;
	position: absolute;
	top: 15px;
	left: 14px;
}

#side #sideRank article .pic img {
	width: 100%;
	height: 100%;
}

@media screen and (max-width: 640px) {
	#side #sideRank {
		margin: 0;
		padding: 0;
		border: none;
		border-top: 3px solid #c13b3d;
	}
	
	#side #sideRank h2 {
		height: 52px;
		padding: 0 30px;
		line-height: 52px;
		text-align: center;
		color: #333;
		font-size: 1.8rem;
	}
	#side #sideRank h2:before {
		content: '';
		display: inline-block;
		width: 41px;
		height: 39px;
		vertical-align: top;
		position: relative;
		top: 0;
		left: -2px;
		background: url(img/common/side/ico_rank_sp01.png) left top no-repeat;
		background-size: contain;
	}
	
	#side #sideRank .artWrap { border-radius: 0; }
	
	#side #sideRank ol li:first-child { border: none; }
	#side #sideRank ol li:before {
		content: '' !important;
		display: block;
		width: 37px;
		height: 32px;
		margin: auto;
		background-size: contain;
		top: 0 !important;
		bottom: 0 !important;
		left: 14px;
	}
	#side #sideRank ol li.rank01:before { background-image: url(img/common/side/ico_side_rank_sp01.png); }
	#side #sideRank ol li.rank02:before { background-image: url(img/common/side/ico_side_rank_sp02.png); }
	#side #sideRank ol li.rank03:before { background-image: url(img/common/side/ico_side_rank_sp03.png); }
	#side #sideRank ol li.rank04:before {
		width: 25px;
		height: 25px;
		background-image: url(img/common/side/ico_side_rank_sp04.png);
		left: 20px;
	}
	#side #sideRank ol li.rank05:before {
		width: 25px;
		height: 25px;
		background-image: url(img/common/side/ico_side_rank_sp05.png);
		left: 20px;
	}
	
	#side #sideRank article a { padding: 10px 10px 10px 58px; }
	
	#side #sideRank article h1 {
		display: table-cell;
		height: 38px;
		vertical-align: middle;
		line-height: 1.28;
		font-size: 13px;
		font-size: 1.3rem;
		font-weight: normal;
	}
	
	#side #sideRank article p.cat,
	#side #sideRank article .pic { display: none; }
}


/* Footer
=========================================== */

footer#footer {
	width: 1040px;
	margin: 0 auto;
	position: relative;
}

#footer a:hover { text-decoration: underline; }

@media screen and (max-width: 640px) {
	footer#footer {
		width: auto;
		margin: 0;
		position: static;
		border-top: 3px solid #59191a;
	}
}


/* #footer pagetop
-------------------------- */

#footer #pageTop {
	width: 41px;
	height: 41px;
	overflow: hidden;
	position: absolute;
	top: -132px;
	right: -106px;
}
#footer #pageTop a {
	display: block;
	width: 41px;
	height: 41px;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
	background: url(img/common/footer/btn_pagetop01.png) left top no-repeat;
}

@media screen and (max-width: 640px) {
	#footer #pageTop {
		width: auto;
		height: 38px;
		position: static;
	}
	#footer #pageTop a {
		width: auto;
		height: 35px;
		line-height: 35px;
		text-align: center;
		text-indent: inherit;
		color: #fff;
		font-size: 1.2rem;
		background: #4b4b4b;
		box-shadow: 0 3px 0 0 #292929;
	}
	#footer #pageTop a:before {
		content: '';
		display: inline-block;
		width: 11px;
		height: 7px;
		margin: -2px 6px 0 0;
		background: url(img/common/footer/ico_pagetop_sp01.png);
		background-size: contain;
	}
}


/* #footer library
-------------------------- */

#footer #footerLibrary {
	width: 100%;
	margin: 0 -200%;
	padding: 20px 200% 30px;
	overflow: hidden;
	border-top: 1px solid #ddd6cf;
	background: #f1ede6;
	
}

#footer #footerLibrary header {
	margin: 0 0 20px;
	overflow: hidden;
}

#footer #footerLibrary header h2 {
	float: left;
	width: 180px;
	height: 40px;
	margin: 0 10px 0 0;
	padding: 0 0 0 50px;
	line-height: 40px;
	overflow: hidden;
	color: #333;
	font-size: 20px;
	white-space: nowrap;
	background: url(img/common/footer/ico_footer01.png) left top no-repeat;
}

#footer #footerLibrary header h2 + p {
	float: left;
	padding: 10px 0 0;
	color: #333;
}

#footer #footerLibrary > section {
	float: left;
	width: 192px;
	margin: 0 20px 0 0;
}
#footer #footerLibrary .lib05 { margin: 0; }

#footer #footerLibrary h3 {
	width: 192px;
	height: 126px;
	margin: 0 0 12px;
	overflow: hidden;
}
#footer #footerLibrary h3 a {
	display: block;
	width: 192px;
	height: 126px;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
	background-image: url(img/common/footer/bnr_footer01.png);
	background-repeat: no-repeat;
}
#footer #footerLibrary h3 a:hover { background-position: left bottom; }

#footer #footerLibrary .lib02 h3 a { background-image: url(img/common/footer/bnr_footer02.png); }
#footer #footerLibrary .lib03 h3 a { background-image: url(img/common/footer/bnr_footer03.png); }
#footer #footerLibrary .lib04 h3 a { background-image: url(img/common/footer/bnr_footer04.png); }
#footer #footerLibrary .lib05 h3 a { background-image: url(img/common/footer/bnr_footer05.png); }

#footer #footerLibrary section p {
	line-height: 1.43;
	margin: 0 0 16px;
}

#footer #footerLibrary h4 {
	margin: 0 0 2px;
	line-height: 1.0;
	color: #c13b3d;
	font-size: 13px;
	font-size: 1.3rem;
}

#footer #footerLibrary li {
	line-height: 1.5;
	font-size: 12px;
	font-size: 1.2rem;
	border-bottom: 1px dashed #b2827f;
}

#footer #footerLibrary li a {
	display: block;
	padding: 8px 0 6px 15px;
	color: #4c4c4c;
	background: url(img/common/ico_arrow01.png) left 12px no-repeat;
}
#footer #footerLibrary h4 + p {
	padding: 8px 0 6px;
	line-height: 1.5;
	font-size: 12px;
	font-size: 1.2rem;
}

@media screen and (max-width: 640px) {
	#footer #footerLibrary {
		width: 100%;
		margin: 0 0 15px;
		padding: 0;
		border: none;
		background: #fff;		
	}
	
	#footer #footerLibrary header { margin: 0; }
	
	#footer #footerLibrary header h2 {
		float: none;
		width: auto;
		height: 50px;
		margin: 0;
		padding: 0;
		line-height: 50px;
		text-align: center;
		color: #fff;
		font-size: 1.8rem;
		background: #b12f31;
	}
	
	#footer #footerLibrary header h2 + p { display: none; }
	
	#footer #footerLibrary > section {
		float: none;
		width: auto;
		margin: 0;
	}
	
	#footer #footerLibrary h3 {
		width: auto;
		height: 40px;
		margin: 0;
		padding: 0;
		border-top: 2px solid #bbb7ae;
		border-bottom: 2px solid #bbb7ae;
		background: #f1ede6;
	}
	#footer #footerLibrary h3 a {
		display: block;
		width: auto;
		height: 40px;
		padding: 0 0 0 35px;
		line-height: 40px;
		text-indent: inherit;
		color: #b12f31;
		font-size: 1.3rem;
		background-image: url(img/common/footer/ico_library_sp01.png) !important;
		background-repeat: no-repeat;
		background-position: 15px center;
		background-size: 16px 22px;
	}
	#footer #footerLibrary h3 a:hover { background-position: 15px center; }
	
	#footer #footerLibrary h3 a em { font-size: 1.6rem; }
	
	#footer #footerLibrary section p,
	#footer #footerLibrary h4 { display: none; }
	
	#footer #footerLibrary li {
		line-height: 1.28;
		font-size: 1.4rem;
		border-bottom: 1px dotted #b2827f;
	}
	#footer #footerLibrary ul li:last-child { border-bottom: none; }
	#footer #footerLibrary .lib05 li:last-child { border-bottom: 1px dotted #b2827f; }
	
	#footer #footerLibrary li a {
		display: block;
		padding: 12px 10px 10px 26px;
		background: url(img/common/ico_arrow_sp01.png) 15px 15px no-repeat;
		background-size: 6px 9px;
	}
	#footer #footerLibrary li a:hover { text-decoration: none; }
}


/* #footer sitemap
-------------------------- */

#footer #footerSitemap {
	width: 100%;
	margin: 0 -200%;
	padding: 38px 200%;
	overflow: hidden;
	border-top: 3px solid #8d2b2c;
}

#footer #footerSitemap h2 {
	float: left;
	width: 282px;
	height: 64px;
	margin: 46px 61px 0 0;
	overflow: hidden;
	background: url(img/common/footer/logo01.png) left top no-repeat;
	background-size: contain;
}

#footer #footerSitemap h2 a {
	display: block;
	width: 282px;
	height: 64px;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
}

#footer #footerSitemap > ul {
	float: left;
	height: 144px;
	padding: 12px 18px 0 15px;
	border-right: 1px dashed #b98b8c;
}
#footer #footerSitemap h2 + ul { border-left: 1px dashed #b98b8c; }

#footer #footerSitemap > ul > li:first-line { line-height: 1.0; }

#footer #footerSitemap > ul > li > a,
#footer #footerSitemap > ul > li > p {
	display: block;
	margin: 0 0 17px;
	padding: 0 0 0 20px;
	color: #741819;
	font-size: 13px;
	font-size: 1.3rem;
	font-weight: bold;
	white-space: nowrap;
	background: url(img/common/ico_arrow02.png) left center no-repeat;
}

#footer #footerSitemap ul ul {
	margin: -3px 0 0;
	font-size: 11px;
	font-size: 1.1rem;
}

#footer #footerSitemap ul ul li { margin: 0 0 5px; }
#footer #footerSitemap ul ul a {
	padding: 0 0 0 32px;
	color: #4c4c4c;
	background: url(img/common/ico_arrow03.png) 20px 5px no-repeat;
}

@media screen and (max-width: 640px) {
	#footer #footerSitemap {
		width: auto;
		margin: 0;
		padding: 0;
		border-top: none;
	}
	
	#footer #footerSitemap h2 { display: none; }
	
	#footer #footerSitemap > ul {
		float: none;
		height: auto;
		padding: 0;
		border-right: none;
	}
	#footer #footerSitemap h2 + ul { border-left: none; }
	
	#footer #footerSitemap > ul > li {
		float: none;
		width: auto;
		height: auto;
		padding: 0;
		border-bottom: 2px solid #b98b8c;
		background: #f1ede6;
	}
	#footer #footerSitemap > ul > li:first-line { line-height: 49px; }
	
	#footer #footerSitemap > ul > li > a,
	#footer #footerSitemap > ul > li > p {
		display: block;
		margin: 0;
		height: 49px;
		padding: 0 0 0 15px;
		overflow: hidden;
		line-height: 49px;
		text-align: left;
		color: #741819;
		font-size: 1.4rem;
		background-image: url(img/common/ico_arrow_sp02.png);
		background-position: 95% center !important;
		background-size: 15px 15px;
	}
	#footer #footerSitemap > ul > li.toggleBtn > a,
	#footer #footerSitemap > ul > li.toggleBtn > p {
		background-image: url(img/common/side/ico_slide01.png);
		background-size: 15px 15px;
	}
	#footer #footerSitemap > ul > li.toggleBtn > a.on,
	#footer #footerSitemap > ul > li.toggleBtn > p.on {
		background-image: url(img/common/side/ico_slide02.png);
		background-size: 15px 15px;
	}
	
	
	#footer #footerSitemap ul ul {
		display: none;
		margin: 0;
		margin: 0;
		font-size: 1.4rem;
	}
	#footer #footerSitemap ul ul:before { content: ''; }
	
	#footer #footerSitemap ul ul li {
		margin: 0;
		border-top: 1px dashed #a8a5a1;
		border-bottom: none;
	}
	
	#footer #footerSitemap ul ul a {
		display: block;
		width: auto;
		height: 49px;
		padding: 0 0 0 40px;
		line-height: 49px;
		color: #4c4c4c;
		font-size: 1.3rem;
		background: url(img/common/ico_arrow_sp03.png) 28px center no-repeat;
		background-size: 4px 5px;
	}
	#footer #footerSitemap ul ul a:hover { text-decoration: none; }
}


/* copyright
-------------------------- */

#footer .copyright {
	width: 100%;
	height: 40px;
	margin: 0 -200%;
	padding: 0 200%;
	overflow: hidden;
	line-height: 40px;
	text-align: center;
	background: #8d2b2c;
}

#footer .copyright small {
	color: #fff;
	font-size: 11px;
	font-size: 1.1rem;
}

@media screen and (max-width: 640px) {
	#footer .copyright {
		margin: 0;
		padding: 0;
	}
	
	#footer .copyright small { font-size: 0.9rem; }
}

