/* clear fix */

.clearfix:after {
	content: "";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}
.clearfix {
	display: inline-table;
	min-height: 1%;
}


/* font */

html {
	height: 100%;
}

body {
	font:14px/1.231 "游ゴシック", YuGothic, Verdana, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
	line-height:1.38em;
	*font-size:small;
	*font:x-small;
	overflow-y: scroll;
	min-height: 100%;
	min-width: 1000px;
	position:relative;
	background-color: #fff;
}
 
select,input,button,textarea,button{
	font:99% arial,helvetica,clean,sans-serif;
}

ul,ol {
	list-style: none;
}

table {
	font-size:inherit;
	font:100%;
}
 
pre,code,kbd,samp,tt {
	font-family:monospace;
	*font-size:108%;
	line-height:99%;
}

.wrap {
	margin: 0 auto;
	overflow: hidden;
	position: relative;
	width: 920px;
	padding: 0 40px;
}

.sp {
	display: none;
}

a[href^="tel"]{
	color: #000;
	text-decoration: none!important;
	cursor: default;
}

body > article {
	padding-bottom: 200px;
}

header > .wrap {
	min-width: 1000px;
	width: auto;
	padding: 0;
	min-height: 459px;
	overflow: hidden;
}

header .logo {
	margin-left: 19px;
	margin-top: 20px;
	float: left;
}

#global-nav {
	float: right;
	padding-top: 33px;
}
#global-nav > ul > li {
	float: left;
	margin-right: 30px;
	position: relative;
	padding-bottom: 8px;
}
#global-nav > ul > li > a {
	color: #fff;
	font-size: 17px;
	padding-bottom: 8px;
	text-decoration: none;
	position: relative;
	display: block;
	font-family: "小塚ゴシック Pro", "游ゴシック", YuGothic, Verdana, "メイリオ", Meiryo,  "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
}
#global-nav > ul.reverse > li > a {
	color: #000;
}
#global-nav > ul > li > a:hover,
#global-nav > ul > li.service.open > a {
	border-bottom: 2px solid #fff;
}
#global-nav > ul.reverse > li > a:hover,
#global-nav > ul.reverse > li.service.open > a {
	border-bottom: 2px solid #000;
}
#global-nav > ul > li.service > a:hover:after,
#global-nav > ul > li.service.open > a:after {
	content: "";
	width: 8px;
	height: 7px;
	position: absolute;
	bottom: -9px;
	left: 29px;
	background: url("images/common/megamenu_arrow.png") bottom center no-repeat;
}
#global-nav > ul > li > div {
	position: absolute;
	width: 1000px;
	top: 35px;
	left: 0;
	opacity: 0;
	visibility: hidden;
	z-index: 1;
	transition-duration: 0.2s;
	transition-property: opacity,transform,visibility;
	transform: translateY(-10px);
}
#global-nav > ul > li.open div {
	opacity: 1;
	z-index: 9999;
	visibility: visible;
	transition-property: opacity,transform;
	transition-duration: 0.2s;
	transform: translateY(0);
}

#global-nav > ul > li > div > ul {
	background-color: rgba(40,19,13,0.7);
	margin: 0 auto;
	overflow: hidden;
	width: 950px;
	padding: 40px 0 40px 50px;
}

#global-nav > ul > li > div > ul li {
	float: left;
	width: 280px;
	margin-left: 30px;
	color: #fff;
	font-size: 17px;
	line-height: 1.5;
}

#global-nav > ul > li > div > ul li:first-child {
	margin-left: 0;
}
#global-nav > ul > li > div > ul li dl dt span {
	display: none;
}

article > .wrap {
	padding-top: 75px;
}

#to-top-btn {
	position: fixed;
	bottom: 83px;
	right: 40px;
	z-index: 9999;
	opacity: 0;
	visibility: hidden;
	transition: 1.0s;
}
#to-top-btn a:hover img {
	opacity: 0.8;
}
#to-top-btn img {
	display: block;
	transition: 0.5s;
}
#to-top-btn.on {
	opacity: 1;
	visibility: visible;
}

#bottom-info {
	position: absolute;
	background-color: #fff;
	bottom: 0;
	left: 0;
	width: 100%;
}

#bottom-nav {
	border-top: 1px solid #c8c8c8;
	padding: 5px 0;
}
#bottom-nav > a {
	display: none;
}
#bottom-nav ul {
	text-align: center;
}
#bottom-nav ul li {
	display: inline-block;
	margin: 0 15px;
}
#bottom-nav ul li a {
	color: #000;
	font-size: 13px;
	line-height: 1.0;
	text-decoration: none;
}
#bottom-nav ul li a:hover {
	text-decoration: underline;
}
#bottom-info footer {
	background-color: #2f2f2f;
	text-align: center;
	color: #fff;
	padding: 5px 0;
}
#bottom-info footer small {
	font-size: 11px;
	line-height: 1.0;
}

/* smart phone */

@media only screen and ( max-width: 768px ){

	html {
		font-size: 62.5%;
	}
	body {
		-webkit-text-size-adjust: 100%;
		word-break: break-all;
		font-size: 1.2rem;
		min-width: 0;
		min-height: 0;
		width: 100%;
		font-family: Verdana, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
	}
	input,textarea {
		-webkit-appearance: none;
		border-radius: 0;
		font-size: 1.6rem;
	}
	.sp {
		display: inline;
	}
	.pc {
		display: none;
	}
	#navi-btn.sp {
		display: block;
		position: absolute;
		top: 4.7%;
		left: 1.9%;
		z-index: 1000;
		width: 9.8507%;
		padding: 10px;
	}
	#navi-btn.sp img {
		width: 100%;
		display: block;
	}
	.wrap {
		width: 100%;
		padding: 0;
	}

	header {
		background-image: none!important;
	}
	header .wrap {
		min-width: 0;
		width: 100%;
		min-height: 0;
	}
	header .wrap > img {
		width: 100%;
		display: block!important;
	}
	header .logo {
		position: absolute;
		top: 9.2%;
		left: 37.5%;
		margin: 0;
		width: 24.9333%;
	}
	header .logo img {
		display: block;
		width: 100%;
	}

	#global-nav {
		display: block;
		position: fixed;
		top: 0;
		left: -100%;
		width: 100%;
		height: 100%;
		z-index: 9999;
		padding: 0;
		transition-duration: 0.5s;
	}
	#global-nav.open {
		transform: translateX(100%);
	}
	#global-nav a#navi-menu-close {
		display: block;
		position: absolute;
		top: 1.5333%;
		right: 16.4%;
		width: 7.0833%;
	}
	#global-nav > a img {
		display: block;
		width: 100%;
	}
	#global-nav > ul {
		background-color: #000;
		height: 100%;
		width: 71.4666%;
	}
	#global-nav ul li {
		float: none;
		margin: 0;
		padding: 0;
	}
	#global-nav ul li.fb {
		display: block;
		width: 100%;
		text-align: center;
		margin: 7.2% auto 0;
	}
	#global-nav ul li.fb a {
		padding: 0;
		display: inline-block;
		width: 15%;
		margin: 0 2%;
	}
	#global-nav ul li.fb img {
		display: block;
		width: 100%;
	}
	#global-nav ul li a {
		display: block;
		padding: 5.3333% 0 5.3333% 7.626%;
		line-height: 1.0;
		font-size: 1.8rem;
	}
	#global-nav > ul > li:nth-last-child(2) a {
		background-color: #beaa84;
		color: #000;
	}
	#global-nav ul li.service > a span {
		display: block;
		position: absolute;
		top: 44%;
		right: 8.0645%;
		width: 6.25%;
	}
	#global-nav ul li.service a span img {
		display: block;
		width: 100%;
	}
	#global-nav ul li a:hover:after {
		content: none!important;
	}
	#global-nav ul li a:hover {
		border: none;
	}
	#global-nav > ul > li > div {
		position: relative;
		opacity: 1;
		top: 0;
		visibility: visible;
		width: 100%;
		transform: translateY(0);
		display: none;
	}
	#global-nav > ul > li > div ul {
		width: auto;
		padding: 0;
		background-color: #181818;
	}
	#global-nav > ul > li > div ul li {
		float: none;
		margin: 0;
		width: 100%;
	}
	#global-nav > ul > li > div ul li dl dt a img {
		display: none;
	}
	#global-nav > ul > li > div ul li dl dt a {
		padding: 5.3333% 11.0074%;
		color: #fff;
		text-decoration: none;
	}
	#global-nav > ul > li > div ul li dl dt a span {
		position: relative!important;
		width: 100%;
		display: block;
	}
	#global-nav > ul > li > div ul li dl dd {
		display: none;
	}

	body > article {
		padding-bottom: 16%;
	}
	article > .wrap {
		width: 89.3334%;
		padding: 8.9552% 5.3333% 0;
	}

	#to-top-btn {
		width: 13.1343%;
		bottom: 2.5333%;
		right: 2.5333%;
		z-index: 9999;
	}
	#to-top-btn img {
		width: 100%;
	}

	#bottom-info {
		position: relative;;
	}

	#bottom-nav {
		padding: 0;
		border-top-width: 2px;
	}
	#bottom-nav a {
		display: block;
		color: #000;
		text-align: center;
		text-decoration: none;
		padding: 5.0746% 0;
		font-size: 1.2rem;
	}
	#bottom-nav > ul {
		overflow: hidden;
	}
	#bottom-nav > ul li {
		width: 50%;
		float: left;
		display: block;
		margin: 0;
	}
	#bottom-nav > ul li a {
		border-top: 2px solid #c8c8c8;
		border-bottom: none;
		border-right: 1px solid #c8c8c8;;
		border-left: 1px solid #c8c8c8;;
		padding: 11.8577% 0;
		font-size: 1.0rem;
	}
	#bottom-nav > ul li:nth-child(odd) a {
		border-left: none;
	}
	#bottom-nav > ul li:nth-child(even) a {
		border-right: none;
	}

	#bottom-info footer small {
		font-size: 1.0rem;
	}

}