@charset "utf-8";

body {
	background-color: #8db;
	background-color: #A6E6CC;
	background-color: #B3E6CC;
	color: red;
}
.body_contents {
	background-color: #fff;
	color: #444;
	overflow: hidden;
	padding-bottom: 10px;
}
.body_contents.noPadding {
	padding-bottom: 0;
}
.body_contents.body_gray .frow-container {
	margin-top: 40px;
}
.body_contents.body_gray {
	background-color: #f0f0f0;
}
.body_contents:after {
	content: "";
	display: block;
	clear: both;
}
h1, h2, h3, h4, dt, strong, em {
	font-weight: bold;
	color: #000;
}
h1, h2, h3, h4 {
	font-family: "Rounded Mplus 1c";
	font-weight: 700;
}
h2, h3, h4 { font-weight: 600; }
@media (min-width:768px) {
	h2 { font-weight: 600; }
	h3 { font-weight: 500; }
	h4 { font-weight: 400; }
}
a {
	text-decoration: none;
	transition: .3s;
	color: #33f;
}
a:link, a:visited, a:active, a:focus {
	text-decoration: none;
	color: #33f;
}
.table td a {
	text-decoration: none;
	transition: .3s;
}
.table td a:hover {
	color: #f63;
}
p a:hover, li a:hover, dd a:hover {
	text-decoration: none;
	color: #f63;
}
p {
	padding-bottom: 0.6em;
	padding-bottom: 1.0em;
}
article,
section,
aside {
	margin-bottom: 30px;
}
article p:last-child,
section p:last-child,
aside p:last-child {
	padding-bottom: 0;
}
dl dt {
	color: #000;
}
dl dd {
	padding-left: 2.0em;
	margin-bottom: 1.0em;
}
section > h2 {
	background: linear-gradient(transparent 60%, #ffff66 60%);
	display: inline-block;
}
section > h2 + p {
	margin-top: 0.3em;
}
img.img-round {
	border-radius: 6px;
}
q {
	padding: 0 0.5em;
}
q:before {
	font-family: 'FontAwesome';
	content: "\f10d";
	font-size: 0.5em;
	position: relative;
	top: -1em;
	left: -0.2em;
	}
q:after {
	font-family: 'FontAwesome';
	content: "\f10e";
	font-size: 0.5em;
	position: relative;
	top: -1em;
	right: -0.2em;
	}
/* ------------------
------------------ */
header {
	background-color: #cef;
	color: #000;
	text-align: center;
	padding: 1.0em 0;
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0.88, #fff), color-stop(0.00, #8CD9B3));
	background: -webkit-linear-gradient(top, #8CD9B3 0%, #fff 88%);
	background: -moz-linear-gradient(top, #8CD9B3 0%, #fff 88%);
	background: -o-linear-gradient(top, #8CD9B3 0%, #fff 88%);
	background: -ms-linear-gradient(top, #8CD9B3 0%, #fff 88%);
	background: linear-gradient(to bottom, #8CD9B3 0%, #fff 88%);
}
header .frow-container {
	padding-bottom: 20px;
}
header h1 {
	margin-bottom: 10px;
}
header h1 img {
	width: 60px;
	height: 60px;
}
header h1 .h1_small {
	font-size: 0.7em;
	padding-right: 0.5em;
}
header h1 a * {
	transition: .3s;
	color: black;
}
header h1 a:hover * {
	filter: alpha(opacity=50);
	-moz-opacity:0.5;
	opacity:0.5;
}
@media (min-width:768px) {
	header { text-align: left;}
}
@media (max-width:399px) {	/* 旧スマホ */
	header h1 span::before {
		content: "\A";
		white-space: pre;
	}
	header h1 .h1_small { padding: 0; }
}
#nav_main li a {
	display: block;
	padding: 8px 0;
	width: 100%;
	height: 100%;
	text-align: center;
	background-color: #8CD9B3;
	color: #063;
	font-weight: bold;
	text-shadow :
	1px 1px 0 rgba(255,255,255,0.6), 1px -1px 0 rgba(255,255,255,0.6), -1px 1px 0 rgba(255,255,255,0.6), -1px -1px 0 rgba(255,255,255,0.6);
	border: 1px solid #9eb;
	border-radius: 6px;
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0.88, #8CD9B3), color-stop(0.15, #fff));
	background: -webkit-linear-gradient(top, #fff 15%, #8CD9B3 88%);
	background: -moz-linear-gradient(top, #fff 15%, #8CD9B3 88%);
	background: -o-linear-gradient(top, #fff 15%, #8CD9B3 88%);
	background: -ms-linear-gradient(top, #fff 15%, #8CD9B3 88%);
	background: linear-gradient(to bottom, #fff 15%, #8CD9B3 88%);
}
#nav_main li a:hover,
#nav_main li.active a,
#nav_main li.active a:hover {
	background-color: #8cd9b3;
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0.88, #fff), color-stop(0.15, #8cd9b3));
	background: -webkit-linear-gradient(top, #8cd9b3 15%, #fff 88%);
	background: -moz-linear-gradient(top, #8cd9b3 15%, #fff 88%);
	background: -o-linear-gradient(top, #8cd9b3 15%, #fff 88%);
	background: -ms-linear-gradient(top, #8cd9b3 15%, #fff 88%);
	background: linear-gradient(to bottom, #8cd9b3 15%, #fff 88%);
}
#nav_main li.active a,
#nav_main li.active a:hover {	
	color: black;
}
#nav_main li a i {
	display: none;
}
@media (min-width: 1200px) {
	#nav_main li a i {
		display: inline-block;
	}
}

/* ------------------
------------------ */
footer {
	padding: 30px 0;
	color: #000;
	text-align: center;
}
footer .areaQrCode {
	display: none;
}
#nav_footer ul {
	margin-bottom: 20px;
}
#nav_footer li {
	display: inline-block;
	padding: 0 1.0em 0.5em 0;
}
#nav_footer li:first-child {
	padding-left: 0;
}
#nav_footer li i {
	display: none;
}
#nav_footer li a {
	display: inline-block;
	width: 100%;
	height: 100%;
	color: #00c;
}
#nav_footer li a:hover {
	text-decoration: none;
	color: #c00;
}
#nav_footer li.active a,
#nav_footer li.active a:hover {
	font-weight: bold;
	color: #c00;
}
@media (min-width: 768px) {
	footer { text-align: left;}
	footer .areaQrCode {
		display: block;
		float: right;
	}
	footer .areaQrCode img {
		border-radius: 6px;
	}
}
#GoTop {
	position: fixed;
	right: 20px;
	bottom: 20px;
	width: 80px;
	height: 80px;
	line-height: 84px;
	text-align: center;
	border-radius: 40px;
	background-color: rgba(102,102,102,0.5);
	color: #fff;
	transition: .3s;
}
#GoTop:hover {
	background-color: #39f;
}
address {
	font-style: normal;
	margin-bottom: 0.6em;
}

/* ------------------
トップページ専用
------------------ */
.area_hero {
	position: relative;
}
.area_hero img {
	border-radius: 6px;
	margin-bottom: 30px;
}
.area_hero h2 {
	position: absolute;
	top: 20px;
	width: 100%;
	text-align: center;
	text-shadow:
			1px 1px 0 #fff, -1px 1px 0 #fff, 1px -1px 0 #fff, -1px -1px 0 #fff,
			0 0 2px rgba(255, 255, 255, .8), 0 0 4px rgba(255, 255, 255, .6);
}
.section_intro {
	text-align: center;
	position: relative;
	border-radius: 6px;
	background: url(../img/pic_none.png) no-repeat center center;
	background-size: cover;
	margin-bottom: 30px;
}
.section_intro h3 {
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	background-color: rgba(255,255,255,0.6);
	padding: 8px 0;
	transition: .3s;
}
.section_intro p {
	position: absolute;
	bottom: 0px;
	left: 0px;
	width: 100%;
	background-color: rgba(255,255,255,0.7);
	color: black;
	font-weight: bold;
	padding: 6px 0;
}
.section_intro:hover {
	background-size: 105%;
}
.section_intro:hover h3 {
	background-color: rgba(255,255,255,0.8);
	color: #f33;
}
.section_intro.service01 {
	background-image: url(../img/pic_service01.jpg);
}
.section_intro.service11 {
	background-image: url(../img/pic_service11.jpg);
}
.section_intro.service12 {
	background-image: url(../img/pic_service12.jpg);
}
.section_intro.service13 {
	background-image: url(../img/pic_service13.jpg);
}
.section_intro.item02 {
	background-image: url(../img/pic_item02.jpg);
}
.pagelink-line {
	text-align: right;
}
.pagelink-line button {
	display: inline-block;
	width: 12em;
}
.pagelink-line button:before {
	
}
/* ------------------
------------------ */
.LinkLine {
	margin-top: -0.8em;
	text-decoration: underline;
}
.LinkLine a {
	text-decoration: none;
	position: relative;
	margin-left: 1.5em;
	line-height: 1.0em;
}
.LinkLine a:before {
	font-family: 'FontAwesome';
	content: "\f08e";
	position: absolute;
	left: -1.5em;
	top: 50%;
	margin-top: -0.4em;
	speak: none;
}
.article_default {
	background-color: #fff;
	color: black;
	border: 1px solid #e3e3e3;
	border-radius: 6px;
	padding-bottom: 0.6em;
}
.article_default h3 {
	padding: 6px 0;
	border-bottom: 1px solid #e9e9e9;
	text-align: center;
}
.article_default dl,
.article_default p,
.article_description p {
	padding-left: 0.4em;
	padding-right: 0.25em;
}
.article_default h3+p {
	padding-top: 0.5em;
}
.article_default p.noPadding {
	padding: 0;
}
.article_default dl dt {
	font-weight: normal;
}
.article_default dl dd {
	margin-bottom: 0.6em;
}
.article_description {
	border-radius: 6px;
	padding: 0.8em 0.5em;
	margin-bottom: 30px;
	background-color: #66aadd;
	background-color: #D9F2E6;
	border: 1px solid #66CC99;
	color: black;
}
.article_description strong {
	color: #f33;
	font-weight: normal;
}
.description_title {
	height: 0.92em;
	line-height: 0.92em;
	overflow: hidden;
	text-align: right;
	letter-spacing: -.1em;
	color: #66aadd;
	color: #66cc99;
	padding-right: .1em;
}
.map iframe {
	border: 0;
	width: 100%;
	height: 450px;
	vertical-align: bottom;
}

.self_camp {
	border: 1px solid green;
	border-radius: 10px;
	background-color: #f0fff0;
	color: black;
	position: relative;
	padding: 8px;
}
.self_camp h2 {
	text-align: center;
	color: #006600;
}
.self_camp_flag {
	position: absolute;
	right: 10px;
	top: 10px;
	display: inline-block;
	transform: rotate(20deg);
	font-size: 1.2em;
	color: red;
	background-color: #fff;
	border: 2px solid red;
	border-radius: 6px;
	padding: 5px;
}

