@charset "utf-8";
*{
	outline: none;
	margin: 0;
	padding: 0;
}
body{
	position: relative;
	border-bottom: #543f32 20px solid;
	color: #666;
	font-size: 16px;
	font-family:'メイリオ',Meiryo,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro',MS PGothic,sans-serif;
	line-height: 20px;
}
a{
	color: #78304d;
	text-decoration: none;
}
a:hover{
	color: #a8607d;
	text-decoration: underline;
}
img{
	border: none;
	text-decoration: none;
	vertical-align: bottom;
}
section{
	clear: both;
	width: 100%;
	padding: 30px 0;
}
h2{
	position: relative;
	width: 100%;
	height: 38px;
	margin: 0 auto 40px auto;
	border-bottom: #666666 1px solid
}
h2 > img{
	float: left;
	width: 100%;
	max-width: 320px;
}
h2 span.h2sub{
	font-size: 16px;
	font-weight: 300;
}
#gheader{
	width: 100%;
}
#mv{
	width: 100%;
	background-image: url(../images/mv.jpg);
	background-repeat: no-repeat;
	background-position: center top;
}
#mv.mv220616{
  background-image: url(../images/mv220616.jpg);
}

.bg-en{
	background-color: #fdf5e6;
}
.works-camera{
	display: inline-block;
	padding: 0 4px;
}
#company-table{
	border-collapse: collapse;
}
#company-table th{
	padding: 8px 12px 18px 0;
	border-right: #666 1px solid;
	text-align: left;
	vertical-align: top;
	font-weight: 300;
}
#company-table td{
	padding: 8px 0 18px 12px;
	vertical-align: top;
}
#history{}
#history-mes{
	border: #666 1px dotted;
	margin-bottom: 48px;
	padding: 36px 64px 28px 64px;
	font-size: 16px;
	line-height: 35px;
}
/*-----+ media queries +-----*/
@media (max-width: 480px) {
	.md-br{
		display: none;
	}
	#gototop{
		display: none;
	}
	#gheader-in{
		height: 66px;
		padding: 8px 0 10px 0;
	}
	#header-ttl{
		float: left;
		max-width: 310px;
		width: calc(100% - 52px);
	}
	#header-ttl img{
		max-width: 310px;
		width: 100%;
		height: auto;
	}
	#gnav-btn{
		display: block;
		float: right;
		width: 48px;
		height: 48px;
		margin-top: 18px;
		font-size: 36px;
		line-height: 38px;
	}
	#gnav-btn a{
		text-decoration: none;
	}
	#gnav{
		display: none;
		position: absolute;
		top: 66px;
		left: 0;
		z-index: 30;
		width: 100%;
		height: auto;
		background-image: url(../images/bk_w80.png);
		background-repeat: repeat;
	}
	#gnav ul{
		padding-bottom: 12px;
	}
	#gnav li{
		display: block;
		padding: 0 12px;
	}
	#gnav a{
		display: block;
		padding: 12px 8px 10px 8px;
		border-bottom: #999 1px dotted;
		color: #333;
	}
	#mv{
		clear: both;
		height: 170px;
		background-size: cover;
	}
	h2 img{
		margin-left: -24px;
	}
	h2 span.h2sub{
		position: absolute;
		left: 0px;
		top: 48px;
		width: calc(100% - 48px);
		padding-left: 48px;
	}
	#works h2{
		margin-bottom: 60px;
	}
	.section-in{
		width: 90%;
		height: auto;
		margin: 0 auto;
	}
	.works-type{
		position: static;
		height: auto;
		margin-bottom: 30px;
		padding-left: 0px;
	}
	.works-type h3{
		position: static;
		width: 100%;
		height: 28px;
		padding: 10px 0 0 0;
		border: #999 1px solid;
		text-align: center;
		font-size: 16px;
	}
	.works-type ul{
		padding-top: 6px;
		list-style: none;
	}
	.works-type li{
		display: block;
		margin-bottom: 4px;
		padding-left: 24px;
	}
	.works-type .item-etc{
		padding-left: 40px;
	}
	#company-img{
		position: relative;
		width: 100%;
		height: 240px;
		overflow: hidden;
		margin-bottom: 12px;
	}
	#company-img img{
		position: absolute;
		top: -45%;
		left: 0;
		width: 100%;
		max-width: 380px;
		height: auto;
	}
	#history-mes{
		padding: 22px 24px 18px 24px;
	}
	#history-table{
		width: 100%;
		height: auto;
		margin: 0 auto;
		border-top: #999 1px solid;
		vertical-align: top;
	}
	#history-table th{
		display: block;
		border-bottom: #999 1px dotted;
		padding: 12px 0 8px 0;
		text-align: left;
		font-weight: 300;
		vertical-align: top;
	}
	#history-table td{
		display: block;
		padding: 12px 0 12px 16px;
		border-bottom: #999 1px solid;
		vertical-align: top;
	}
	#access-map{
		width: 100%;
		height: 300px;
		margin-bottom: 24px;
		overflow: hidden;
	}
	#access-map iframe{
		width: 100%;
		height: 100%;
	}
	#access-address{
		height: auto;
		overflow: hidden;
	}
	#access-address p{
		margin-bottom: 24px;
	}
}/* end 480 */
@media (min-width: 480px) {
	#gototop{
		display: none;
	}
	#gheader-in{
		padding: 8px 0 10px 0;
	}
	#header-ttl{
		float: left;
		max-width: 310px;
		width: calc(100% - 52px);
		height: 60px;
	}
	#header-ttl img{
		max-width: 310px;
		width: 100%;
		height: auto;
	}
	#gnav-btn{
		display: block;
		float: right;
		width: 48px;
		height: 48px;
		margin-top: 18px;
		font-size: 36px;
		line-height: 38px;
	}
	#gnav-btn a{
		text-decoration: none;
	}
	#gnav{
		display: none;
		position: absolute;
		top: 66px;
		left: 0;
		z-index: 30;
		width: 100%;
		height: auto;
		background-image: url(../images/bk_w80.png);
		background-repeat: repeat;
	}
	#gnav ul{
		padding-bottom: 12px;
	}
	#gnav li{
		display: block;
		padding: 0 12px;
	}
	#gnav a{
		display: block;
		padding: 12px 8px 10px 8px;
		border-bottom: #999 1px dotted;
		color: #333;
	}
	#mv{
		clear: both;
		height: 250px;
		background-size: cover;
	}
	h2 span.h2sub{
		position: absolute;
		left: 0px;
		top: 48px;
		width: calc(100% - 48px);
		padding-left: 48px;
	}
	#works h2{
		margin-bottom: 60px;
	}
	.section-in{
		width: 90%;
		height: auto;
		margin: 0 auto;
	}
	.works-type{
		position: static;
		height: auto;
		margin-bottom: 30px;
		padding-left: 0px;
	}
	.works-type h3{
		position: static;
		width: 100%;
		height: 28px;
		padding: 10px 0 0 0;
		border: #999 1px solid;
		text-align: center;
		font-size: 16px;
	}
	.works-type ul{
		padding-top: 6px;
		list-style: none;
	}
	.works-type li{
		display: inline-block;
		margin-right: 16px;
		padding-left: 24px;
		background-image: url(../images/gnav_dot.gif);
		background-position: 0 50%;
		background-repeat: no-repeat;
	}
	.works-type li:first-child{
		padding-left: 0;
		background-image: none;
	}
	.works-type .item-etc{
		padding-left: 0;
		background-image: none;
	}
	#company-img{
		position: relative;
		width: 100%;
		height: 240px;
		overflow: hidden;
		margin-bottom: 12px;
	}
	#company-img img{
		position: absolute;
		top: -45%;
		left: 0;
		width: 100%;
		max-width: 380px;
		height: auto;
	}
	#history-table{
		width: 100%;
		max-width: 710px;
		height: auto;
		margin: 0 auto;
		vertical-align: top;
	}
	#history-table th{
		padding: 0 24px 18px 0;
		text-align: left;
		font-weight: 300;
		vertical-align: top;
	}
	#history-table td{
		padding: 0 0 18px 0;
		vertical-align: top;
	}
	#access-map{
		width: 100%;
		height: 300px;
		margin-bottom: 24px;
		overflow: hidden;
	}
	#access-map iframe{
		width: 100%;
		height: 100%;
	}
	#access-address{
		height: auto;
		overflow: hidden;
	}
	#access-address p{
		margin-bottom: 24px;
	}
}/* end 768 */
@media (min-width: 992px) {
	#gototop{
		display: block;
		position: fixed;
		right: 0px;
		bottom: 120px;
		width: 44px;
		height: 70px;
		z-index: 100;
	}
	section{
		padding: 60px 0;
	}
	#gheader{
		height: 600px;
		overflow: hidden;
	}
	#header-in{
		width: 960px;
		height: 60px;
		margin: 0 auto;
		padding: 20px 0;
	}
	#header-ttl{
		width: 310px;
		height: 60px;
		float: left;
		padding-left: 15px;
	}
	#gnav-btn{
		display: none;
	}

	#gnav li{
		display: block;
		padding: 0 12px;
	}

	#gnav{
		display: block;
		position: static;
		width: 590px;
		height: 60px;
		float: right;
		border-left: #cccccc 1px solid;
		background-image: none;
		text-align: right;
	}
	#gnav ul{
		padding: 0;
		list-style: none;
		font-size: 0px;
	}
	#gnav li{
		display: inline-block;
		padding: 0 5px 0 10px;
		font-size: 16px;
		background-image: url(../images/gnav_dot.gif);
		background-position: 100% 50%;
		background-repeat: no-repeat;
	}
	#gnav li:last-child{
		padding-right: 0;
		background-image: none;
	}
	#gnav li a{
		display: block;
		height: 60px;
		padding: 0;
		overflow: hidden;
		background-repeat: no-repeat;
		background-position: center top;
		border: none;
		text-indent: 100%;
		white-space: nowrap;
		opacity: 1.0;
	}
	#gnav li a:hover{
		opacity: 0.6;
	}
	#gnav01 a{
		width: 110px;
		background-image: url(../images/gnav01.gif);
	}
	#gnav02 a{
		width: 154px;
		background-image: url(../images/gnav02.gif);
	}
	#gnav03 a{
		width: 147px;
		background-image: url(../images/gnav03.gif);
	}
	#gnav04 a{
		width: 107px;
		background-image: url(../images/gnav04.gif);
	}
	#mv{
		height: 500px;
		background-size: 1000px 500px;
	}
	h2{
		width: 992px;
	}
	h2 span.h2sub{
		position: static;
		display: inline-block;
		float: right;
		width: 430px;
		padding: 8px 24px 0 0;
		text-align: right;
	}
	.section-in{
		width: 900px;
		height: auto;
		overflow: hidden;
		margin: 0 auto;
	}
	#works h2{
		margin-bottom: 40px;
	}
	.works-type{
		position: relative;
		height: auto;
		margin-bottom: 30px;
		padding-left: 200px;
	}
	.works-type h3{
		position: absolute;
		left: 0px;
		top: 0px;
		width: 158px;
		height: 28px;
		padding: 10px 0 0 0;
		border: #999 1px solid;
		text-align: center;
		font-size: 16px;
	}
	#company{}
	#company-img{
		float: right;
		width: 380px;
		height: 500px;
		margin: 0;
		overflow: hidden;
	}
	#company-img img{
		position: static;
		top: 0;
		left: 0;
	}
	#company-body{
		float: left;
		width: 490px;
		height: auto;
		overflow: hidden;
	}
	#history{
		height: auto;
		overflow: hidden;
	}
	#history-mes{
		font-size: 18px;
	}
	#access-map{
		height: auto;
		overflow: hidden;
	}
	#access-map{
		float: right;
		width: 550px;
		height: 445px;
		margin-bottom: 24px;
		overflow: hidden;
	}
	#access-map iframe{
		width: 100%;
		height: 100%;
	}
	#access-address{
		float: left;
		width: 340px;
		height: auto;
		overflow: hidden;
	}
	#access-address p{
		margin-bottom: 24px;
	}
}/* end 992 */
@media (min-width: 1200px) {
	#header-in{
		width: 1000px;
	}
	#header-ttl{
		padding-left: 49px;
	}
	h2{
		width: 1000px;
	}
}/* end 1200 */