@charset "UTF-8";
* {
     margin: 0;
     padding: 0;
}
img, a img {
     border: none;
     vertical-align: bottom;
}
a:focus,
area:focus {
     outline:none;
}
body {
	font: 13px/150% "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	color: #525252;
	letter-spacing: 0.05em;
}

header.sp {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	overflow: hidden;
	z-index: 999;
	background: #FFF;
}
#sp-logo-box {
	overflow: hidden;
	padding: 14px 15px;
}
#sp-logo-box h1 img {
	height: 32px;
	width: auto;
}
#trigger-box {
	float: right;
	padding: 8px 0 0 0;
	overflow: hidden;
	height: 18px;
}
.menu-trigger,
.menu-trigger span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
}
.menu-trigger {
	position: relative;
	width: 25px;
	height: 18px;
	cursor: pointer;
}
.menu-trigger span {
	position: absolute;
	left: 0;
	width: 100%;
	height: 2px;
	background-color: #7ABB26;
	border-radius: 2px;
}
.menu-trigger span:nth-of-type(1) {
	top: 0;
}
.menu-trigger span:nth-of-type(2) {
	top: 8px;
}
.menu-trigger span:nth-of-type(3) {
	bottom: 0;
}
.menu-trigger.active span:nth-of-type(1) {
	-webkit-transform: translateY(8px) rotate(-315deg);
	transform: translateY(8px) rotate(-315deg);
}
.menu-trigger.active span:nth-of-type(2) {
	opacity: 0;
}
.menu-trigger.active span:nth-of-type(3) {
	-webkit-transform: translateY(-8px) rotate(315deg);
	transform: translateY(-8px) rotate(315deg);
}

header.sp nav {
	overflow: hidden;
	text-align: center;
	background: #FFF url(img/base/nav-sp-bg.png) repeat-x left bottom;
	padding: 0 20px 20px;
}
header.sp nav ul {
	list-style: none;
	border-top: 1px dotted #999;
}
header.sp nav ul li {
	font-size: 15px;
	padding: 10px;
	border-bottom: 1px dotted #999;
}
header.sp nav ul li a {
	color: #525252;
	text-decoration: none;
	display: block;
}
header.sp nav ul li.tel a {
	font-size: 15px;
	color: #79BA26;
	font-weight: bold;
}

header.pc .inner {
	width: 978px;
	margin: 30px auto 0;
	overflow: hidden;
}
header.pc .inner h1 {
	float: left;
}
header.pc .inner #h-tel {
	float: right;
}
header.pc #gnavi {
	width: 978px;
	height: 46px;
	overflow: hidden;
	margin: 20px auto 0;
	background: url(img/base/gnavi-bg.jpg) no-repeat left top;
}
header.pc #gnavi ul {
	list-style: none;
	}
header.pc #gnavi ul li {
	display: inline;
	float: left;
	margin: 0 12px 0 0;
}
header.pc #gnavi ul li.edge {
	margin: 0;
}

.sp-top {
	overflow: hidden;
	margin-top: 60px;
}
.sp-top img {
	width: 100%;
	height: auto;
}

#f-wrap {
	overflow: hidden;
	margin: 30px 0 0;
	padding: 20px 0 40px;
	background: url(img/base/bg02.jpg) repeat-x left top;
}
#footer {
	overflow: hidden;
	width: 978px;
	margin: 0 auto;
}
#footer .fnavi {
	float: left;
}
#footer .fnavi a {
	color: #8CAA53;
	text-decoration: none;
}
#footer .fnavi a:hover {
	text-decoration: underline;
}
#footer .flogo {
	float: right;
	text-align: right;
}
#footer .flogo img {
	margin: 0 0 8px;
}
#pagetop {
	position: fixed;
	bottom: 40px;
	right: 10px;
	cursor: pointer;
}

#top {
	overflow: hidden;
	width: 978px;
	margin: 0 auto;
}

#side {
	width: 222px;
	overflow: hidden;
	float: left;
}
#calendar {
	overflow: hidden;
	padding: 10px 10px 0;
	margin: 0;
	background: url(img/base/calendar-bg.jpg) no-repeat left top;
	height: 253px;
}
#calendar h3 {
	font-size: 13px;
	font-weight: bold;
}
#calendar img {
	margin: 10px 0;
}
#side .bn {
	margin: 15px 0 0;
}

h2::before {
	content: url(img/base/h2-bar.png);
	margin-right: 10px;
    vertical-align: sub;
}
h2::after {
	content: '';
	position: absolute;
	bottom: -5px;
	left: 0;
	width: 100%;
	height: 1px;
	border-bottom: 1px dotted #999;
}
#greetings h3,
#introduction h3,
#guidance h3,
#access h3,
#clean h3 {
	font-size: 15px;
	font-weight: normal;
	color: #666;
	background: url(img/base/bg-h3.jpg) no-repeat left top;
	margin: 30px 0 20px;
	padding: 0 0 0 25px;
	height: 28px;
}

#pagetop-sp {
	width: 53px;
	margin: 20px auto 0;
}

footer.sp {
	text-align: center;
	background: url(img/base/sp-footer-bg.png) repeat-x left top;
	margin-top: 20px;
	padding: 30px 0;
}
footer.sp h3 {
	font-size: 13px;
	font-weight: bold;
	margin-bottom: 10px;
}
footer.sp p.time {
	font-size: 13px;
	margin: 10px 0 0;
}
footer.sp p.flogo {
	margin-top: 30px;
}
footer.sp p.flogo img {
	width: 160px;
	height: auto;
}
footer.sp p.add {
	margin-top: 20px;
}
footer.sp p.copy {
	margin-top: 20px;
	font-size: 11px;
}


/*--home--*/
#home {
	overflow: hidden;
}

#home .box02 {
	overflow: hidden;
	margin: 20px 0 0;
	padding: 0 0 20px;
	border-bottom: 1px dotted #999;
}
#home .box02 img {
	float: left;
	margin: 0 30px 0 0;
}
#home .box02 h3 {
	font-size: 15px;
	font-weight: normal;
	color: #8DAA54;
	margin-bottom: 6px;
}




















