@charset "utf-8";
/**
 * base.css
 */

/* import
--------------------------------------------------*/
@import "init.css";


/* html, body
--------------------------------------------------*/
body {
	background: #fff;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-text-size-adjust: 100%;
}

@media only screen and (max-width:960px) {}
@media only screen and (max-width:768px) {}


/* siteCommonStyle
--------------------------------------------------*/
/* selection */
::-moz-selection {
	background: #b2d7fe;
}
::selection {
	background: #b2d7fe;
}

/* a */
a {
	color: #6666ff;
	text-decoration: underline;
	transition: 0.2s;
	-webkit-transition: 0.2s;
}
.noT a:hover {
	text-decoration: none;
}

/* cap */
.caption,
.cap {
	color: #999999;
	font-size: 83.4%;
}
.cap {
	padding-top: 5px;
}

/* formText */
.formText {
	padding: 3px 2px;
	border: #ccc solid 1px;
}

/* img */
img {
	max-width: 100%;
	height: auto;
}

/* sp pc */
.sp,
.sp_cont {
	display: none !important;
}
@media only screen and (max-width:768px) {
	.sp {
		display: block !important;
	}
	.sp_cont {
		display: inline-block !important;
	}
	.pc {
		display: none !important;
	}
}

/* fade */
@media only screen and (min-width:767px) {
	.btn01 a:hover,
	.fade:hover,
	.fadeArea a:hover {
		opacity: 0.7;
	}
}



/* layout
--------------------------------------------------*/
/* wrapper */
#wrapper {
	color: #333;
	font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
	font-size: 17px;
	line-height: 1.6;
	text-align: left;
}
@media only screen and (max-width:768px) {
	#wrapper {
		font-size: 10px;
	}
}
.wrap {
	position: relative;
	max-width: 980px;
	margin-right: auto;
	margin-left: auto;
	padding-left: 15px;
	padding-right: 15px;
}

/* container
--------------------------------------------------*/
#container {
	margin-right: auto;
	margin-left: auto;
}

/* header
--------------------------------------------------*/
#header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	padding: 18px 0 15px;
	background-color: rgba(88,112,3,0.9);
	z-index: 100;
}
#header a {
	display: inline-block;
}
@media only screen and (max-width:768px) {
	#header {
		padding: 11px 0 12px;
	}
	#siteTitle {
		width: 150px;
	}
}

/* gNav
--------------------------------------------------*/
#gNav {
	position: absolute;
	top: 13px;
	right: 15px;
}
#gNav li {
	float: left;
	margin-left: 30px;
}
#gNav a {
	display: block;
}
#gNav a span {
	display: none;
}
@media only screen and (max-width:768px) {
	#gNav {
		-webkit-box-sizing: border-box;
		   -moz-box-sizing: border-box;
		        box-sizing: border-box;
		position: fixed;
		top: 0;
		right: 0;
		display: none;
		width: 100%;
		height: 100%;
		padding: 60px 0;
		z-index: 150;
		background-color: rgba(88,112,3,0.9);
	}
	#gNav li {
		float: none;
		margin: 10px 0 0;
	}
	#gNav li.contact {
		margin-top: 20px;
	}
	#gNav a {
		font-size: 12px;
		text-align: center;
		color: #fff;
	}
	#gNav a span {
		display: inline-block;
	}
	#gNav a img {
		display: none;
	}
}

/* spMenu
--------------------------------------------------*/
#spMenu {
	position: fixed;
	top: 0;
	right: 0;
	width: 50px;
	height: 50px;
	z-index: 200;
	cursor: pointer;
}
#spMenu:before,
#spMenu:after,
#spMenu span {
	position: absolute;
	top: 50%;
	left: 11px;
	display: block;
	content: '';
	width: 28px;
	height: 1px;
	background-color: #fff;
	transition: 0.3s;
	-webkit-transition: 0.3s;
}
#spMenu:before {
	margin-top: -11px;
}
#spMenu:after {
	margin-top: 11px;
}

.sp_open #spMenu:before {
	margin-top: 0;
	transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
}
.sp_open #spMenu:after {
	margin-top: 0;
	transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
}
.sp_open #spMenu span {
	opacity: 0;
}


/* container
--------------------------------------------------*/
#container {
	position: relative;
	padding-top: 75px;
	z-index: 1;
}
@media only screen and (max-width:768px) {
	#container {
		padding-top: 50px;
	}
}

/* pagetop
--------------------------------------------------*/
#pagetop {
	position: fixed;
	bottom: 20px;
	right: 20px;
	opacity: 0;
	z-index: 50;
	transition: 0.2s;
	-webkit-transition: 0.2s;
}
#pagetop.on {
	opacity: 1;
}
#pagetop a {
	display: block;
}
@media only screen and (max-width:768px){
	#pagetop {
		bottom: 10px;
		right: 10px;
		width: 30px;
	}
}

/* footer
--------------------------------------------------*/
#footer {
	position: relative;
	padding: 15px 0;
	font-size: 11px;
	color: #fff;
	text-align: center;
	background-color: #7f7f7f;
	z-index: 5;
	letter-spacing: 0.05em;
	line-height: 1.4;
}
@media only screen and (max-width:768px) {
	#footer {
		font-size: 10px;
		letter-spacing: 0;
	}
}


/*--------------------------------------------------

 eachStyle

--------------------------------------------------*/

/* bdrEl
--------------------------------------------------*/
.bdrEl {
	padding-bottom: 80px;
	border-bottom: #3f3f3f solid 1px;
}
@media only screen and (max-width:768px) {
	.bdrEl {
		padding-bottom: 30px;
	}
}


/* workList
--------------------------------------------------*/
.workList {
	margin: -30px 0 0 -25px;
}
.workList li {
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
	float: left;
	width: 33.3333%;
	padding: 30px 0 0 25px;
}
.workList li a {
	display: block;
	text-decoration: none;
	color: #333;
	text-align: center;
}
.workList li a span {
	display: block;
}
.workList li .image {
	position: relative;
	margin-bottom: 20px;
}
.workList li .image:before {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	content: '';
	width: 100%;
	height: 100%;
	background: url(../imgs/ov.png);
	background-size: cover;
}
.workList li .image:after {
	position: absolute;
	top: 50%;
	left: 0;
	display: block;
	content: '詳しくはこちら';
	width: 100%;
	line-height: 1;
	color: #fff;
	font-size: 22px;
	margin-top: -11px;
}
.workList li .ttl {
	font-size: 22px;
}
.workList li .image:before,
.workList li .image:after {
	opacity: 0;
	transition: 0.2s;
	-webkit-transition: 0.2s;
}

.noT .workList li a:hover .image:before,
.noT .workList li a:hover .image:after {
	opacity: 1;
}
@media only screen and (max-width:768px) {
	.workList {
		margin: -15px 0 0 -10px;
	}
	.workList li {
		width: 50%;
		padding: 15px 0 0 10px;
	}
	.workList li .image {
		margin-bottom: 7px;
	}
	.workList li .image img {
		width: 100%;
	}
	.workList li .ttl {
		font-size: 10px;
	}
}


/* btn01
--------------------------------------------------*/
.btn01 {
	text-align: center;
}
.btn01 a {
	display: table;
	width: 274px;
	height: 50px;
	margin: 0 auto;
	text-decoration: none;
	color: #fff;
	background: url(../imgs/btn_bg.png) no-repeat center center;
}
.btn01 a span {
	display: table-cell;
	vertical-align: middle;
}
@media only screen and (max-width:768px) {
	.btn01 a {
		font-size: 18px;
	}
}



/* aboutArea
--------------------------------------------------*/
#aboutArea {
	padding: 110px 0;
	background-color: #fff;
}
#aboutArea .aboutTtl {
	margin-bottom: 65px;
	text-align: center;
}
#aboutArea .aboutBox01 {
	margin-bottom: 65px;
}
#aboutArea .aboutBox01 .text {
	float: left;
	width: 52%;
}
#aboutArea .aboutBox01 .text p + p,
#aboutArea .aboutText p + p {
	margin-top: 25px;
}
#aboutArea .aboutBox01 .image {
	float: right;
	width: 45.3%;
	text-align: center;
}
#aboutArea .aboutText {
	position: relative;
	margin-bottom: 80px;
	padding-bottom: 70px;
	text-align: center;
}
#aboutArea .aboutText:after {
	position: absolute;
	bottom: 0;
	left: 0;
	display: block;
	content: '';
	width: 100%;
	height: 1px;
	background-color: #3f3f3f;
}
#aboutArea .aboutText p span {
	display: inline-block;
}
#aboutArea .aboutBox02 {
	margin: 110px 0 20px;
	display: table;
	width: 100%;
}
#aboutArea .aboutBox02 > div {
	display: table-cell;
	vertical-align: middle;
}
#aboutArea .aboutBox02 .image {
	width: 180px;
	padding: 0 30px 0 40px;
}
#aboutArea .image01 {
	margin-bottom: 115px;
}
#aboutArea .image01 dt {
	margin-bottom: 5px;
}
@media only screen and (max-width:768px) {
	#aboutArea {
		padding: 35px 0 25px;
	}
	#aboutArea .aboutTtl {
		margin-bottom: 25px;
	}
	#aboutArea .aboutTtl img {
		max-width: 200px;
	}
	#aboutArea .aboutBox01 {
		margin-bottom: 20px;
	}
	#aboutArea .aboutBox01 .text {
		float: none;
		width: 100%;
		margin-bottom: 20px;
	}
	#aboutArea .aboutBox01 .text p + p,
	#aboutArea .aboutText p + p {
		margin-top: 10px;
	}
	#aboutArea .aboutBox01 .image {
		float: none;
		width: 100%;
	}
	#aboutArea .aboutText {
		margin-bottom: 20px;
		padding-bottom: 30px;
	}
	#aboutArea .aboutText:after {
		left: -15px;
		padding: 0 15px;
	}
	#aboutArea .aboutBox02 {
		margin: 45px 0 20px;
	}
	#aboutArea .aboutBox02 > div {
		display: table-cell;
		vertical-align: middle;
	}
	#aboutArea .aboutBox02 .image {
		width: 75px;
		padding: 0 0 0 10px;
	}
	#aboutArea .image01 {
		margin-bottom: 25px;
	}
}

