@charset "utf-8";


/*
**
** outline
** common
** header
** contents
** main
** sidebar
** footer
**
**
**
**
**/



/* ----------------------------------------------------------------------
** outline
---------------------------------------------------------------------- */

body {
	min-width: 1010px;
	margin:0 auto;
	background:url(../image/common/back.jpg) repeat left top;
	color:#333333;
	position:relative;
	-webkit-text-size-adjust: 100%;
}
img { max-width:100%; height:auto; }
.wrap,
#header,
#contents,
#site_description h1 {
	width:990px;
	margin-right:auto;
	margin-left:auto;
	position: relative;
}
#header:after,
#contents:after,
#main_col:after,
#main_col_index:after,
#footer:after,
.clearfix:after,
.wrap:after,
ul:after,
ol:after {
	clear: both;
	content:'';
	display: block;
	height: 0;
}


/* ----------------------------------------------------------------------
** common
---------------------------------------------------------------------- */

/* a */
a, a:visited { outline:none; text-decoration:none;}
a:hover { text-decoration:underline; }
a img { transition:all 0.5s ease; }
a:hover img { opacity: 0.7; }
a.image {
	background:#000;
	display:block;
}
a.image img {
	display:block;
	opacity:1;
	transition: opacity .4s ease-in-out;
		-moz-transition: opacity .4s ease-in-out;
		-webkit-transition: opacity .4s ease-in-out;
	transform: rotate(0);
		-webkit-transform: rotate(0);
		-moz-transform: rotate(0);
}
a.image:hover img { opacity:0.5; }



/* form */

input[type="text"],
input[type="password"] {
	border: 1px solid #CCCCCC;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	border-radius: 5px;
	font-size:1.6rem;
	box-sizing: border-box;
}
input[type="text"]:focus,
input[type="password"]:focus,
input[type="number"]:focus {
   background-color: #FFFBE7;
   border: 1px solid #FCC03D;
}




/* ----------------------------------------------------------------------
** header
---------------------------------------------------------------------- */

#header_wrap {
	background: #FFF;
}
#header_wrap #site_description {
	background: #008a75;
	color: #fff;
}
#header_wrap #site_description h1 {
	font-size: 1.1rem;
	line-height: 40px;	
}
#header { padding: 20px 0 15px; }
#header #logo {
	float:left;
	display: inline;
}
#header .tel {
	float: right;
	display: inline;
}
#header #subnavi {
	position:absolute;
	top:-40px;
	right:0;
	display: inline-block;
}
#header #subnavi ul {
	display: inline-block;
}
#header #subnavi li {
	float:left;
	line-height: 40px;
	font-size: 1.1rem;color:#FFF;
}
#header #subnavi li+li {
	margin:0 0 0 20px;
}
#header #subnavi li:before {
	content:'\f0da';
	font-weight: normal;
	font-family: FontAwesome;
	color:#FFF;
	margin:0 10px 0 0;
}



/* ----------------------------------------------------------------------
** contents
---------------------------------------------------------------------- */

#contents {
	padding: 20px 0 0;
}
#pankuzu { font-size:1.1rem; margin-bottom:20px;}
#pankuzu a { color:#008a75; }



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

#main_col {
	background: #FFF;
	padding: 20px;
}

.main p {
	margin:20px 0 0;
}
.main p+p {
	margin:15px 0 0;
}
.main td > :first-child {margin:0;}



/* ----------------------------------------------------------------------
** pagetop
---------------------------------------------------------------------- */

#pagetop {
	position: fixed;
	right:20px;
	bottom:120px;
	display:block;
	width:44px;
	height:44px;
}
#pagetop a {
	display:block;
	width:44px;
	height:44px;	
}



/* ----------------------------------------------------------------------
** footer
---------------------------------------------------------------------- */

#footer {
	padding-top:120px;
	color:#fff;
	font-size:12px;
	background:url(../image/pc/template/footer_bg.png) repeat-x left bottom 30px;
}
#footer small {
	width:100%;
	display:block;
	background:#008a75;
	color:#FFF;
	text-align:center;
	font-size:1.0rem;
	line-height:30px;
}