@charset "utf-8";
body {
	color: #4b4b4b;
	background: #fff;
	font-size: 12px;
	font-family: メイリオ, Meiryo, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'ＭＳ Ｐゴシック', sans-serif;
	-webkit-text-size-adjust: none;
}
img {
	border: none;
	vertical-align: top;
}
section {
	clear: both;
}
.sp_only {
	display: none;
}
.mincho {
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
#container {
	width: 100%;
}
#contents {
	width: 100%;
	position: relative;
}
footer {
	width: 100%;
	border-top: solid 1px #e8e8e8;
}
footer nav ul {
	padding: 40px 0;
	display: flex;
	justify-content: center;
}
footer nav li {
	float: left;
	margin-left: 25px;
}
footer nav li:first-child {
	margin-left: 0;
}
footer nav li a {
	color: #4b4b4b;
	text-decoration: none;
}
footer nav li a:hover {
	color: #4b4b4b;
	text-decoration: underline;
}
footer #copyright {
	border-top: solid 1px #e8e8e8;
	padding: 45px 0;
	background: #f1f1f1;
}
footer #copyright p {
	text-align: center;
}
footer #copyright p.cp {
	margin-top: 25px;
}
#btn_anc_top {
	position: fixed;
	bottom: -50px;
	right: 50px;
}
/* ---------- sp fixed navi ---------- */
#sp_nav {
	width: 100%;
	height: 48px;
	background: #fff;
	border-bottom: 1px solid #e8e8e8;
	position: fixed;
	top: 0;
	z-index: 10000;
	display: none;
}
#sp_nav p.btn {
	position: absolute;
	width: 48px;
	height: 48px;
	top: 0;
	left: 10px;
	cursor: pointer;
}
#sp_nav p.logo {
	width: 184px;
	margin: 16px auto 0;
}
/* ---------- sp slidebar ---------- */
.sb-slidebar {
	background: #fff;
}
.sb-menu {
	padding: 0;
	margin: 0;
	list-style-type: none;
}
.sb-menu li {
	width: 100%;
	padding: 0;
	margin: 0;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	border-bottom: 1px solid rgba(0, 0, 0, 0.1);
	font-size: 18px;
	font-family: 'Crimson Text', serif;
}
.sb-menu > li:first-child {
	border-top: none;
}
.sb-menu li a {
	width: 90%;
	display: inline-block;
	padding: 1em 5%;
	color: #4b4b4b !important;
	text-decoration: none;
}
.sb-menu li a.sub {
	width: 85%;
	padding: 1em 5% 1em 10%;
	color: #4b4b4b !important;
}
.sb-menu li .sb-open-right, .sb-menu li small {
	display: inline-block;
	padding: 14px;
}

/* ---------- Media Queries ---------- */

/* ----- pc ----- */
@media only screen and (max-width: 1116px) {
}

/* ----- sp ----- */
@media only screen and (max-width: 640px) {
html, body {
	overflow-x: hidden;
}
.pc_only {
	display: none !important;
}
.sp_only {
	display: block;
}
#sp_nav {
	display: block;
}
footer nav ul {
	padding: 20px 0;
	display: block;
}
footer nav ul li {
	float: none;
	margin: 0 0 10px;
	text-align: center
}
footer nav ul li:last-child {
	margin: 0;
}
footer #copyright {
	border-top: solid 1px #e8e8e8;
	padding: 25px 0;
}
footer #copyright p.cp {
	margin-top: 15px;
	padding: 0 5%;
}
#btn_anc_top {
	display: none;
}
}

/* ----- other ----- */
@media only screen and (max-width: 320px) {
#sp_nav p.logo {
	display: none;
}
footer #copyright p.logo {
	width: 30%;
	margin: 0 auto
}
footer #copyright p.logo img {
	width: 100%;
	height: 100%;
}
}
