@charset "utf-8";
* { font-family:"メイリオ","Meiryo",verdana,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,Sans-Serif; }
html { overflow:auto; }
body, h1, h2, h3, h4, dl, dd, ul, figure, form, textarea  { margin:0; padding:0; font-size:100%; }
body { overflow:hidden; color:#000; font-size:14px; line-height:1.6; background: url(../img/bg_footer.png) no-repeat #FFF center bottom; }

img, input[type="image"] { font-size:0; line-height:0; vertical-align:bottom; }
ul { list-style-type:none; }
fieldset { border:none; }
strong { font-size:1.2em; }
em { font-style:normal; font-weight:bold; }
label { display:inline-block; }
/*table { border-collapse:collapse; border-spacing:0; }*/

article, aside, dialog, figure, footer, header, hgroup, nav, section { display:block; }

/*回り込み解除clearfix*/
.clearfix:after { content:"."; display:block; height:0; clear:both; visibility:hidden; }
.clearfix {display:inline-block;}
/* Hides from IE-mac \*/
* html .clearfix {height:1%;}
.clearfix {display:block;}
/* End hide from IE-mac */

/* 共通 ------------------------ */
a { color:#333; text-decoration:none; }
a:active, a:hover { text-decoration:underline; }
a img { border-width:0px; }

.serif { font-family: "ヒラギノ明朝 Pro W6","Hiragino Mincho Pro","HGS明朝E","ＭＳ Ｐ明朝",serif; }
.left   { text-align:left; }
.center { text-align:center; }
.right  { text-align:right; }
.small  { font-size:0.85em; }
.bold { font-weight:bold; }
.indent{ text-indent: -1em; padding-left: 1em; }
.attention{ color:#B20000; }
.clear { clear:both; }
.hide { display:none; }

ul.disc, ul.square { margin-left:1.3em; }
.disc li { list-style-type:disc; }
.square li { list-style-type:square; }

img.middle { vertical-align:middle; }

.red { color:#B20000; }

.fleft { float:left; }
.fright { float:right; }

#fontsize a, .anime {
	-ms-transition: all .5s;
	transition: all .5s;
}

.mt50 { margin-top:50px; }

@media screen {
  .fw { margin-left:-500%; margin-right:-500%; padding-left:500%; padding-right:500%; /*Full Width*/ }
}
.shadow {
	box-shadow:8px 8px 2px 0 rgba(153, 153, 153, 0.13);
	-webkit-box-shadow:rgba(153, 153, 153, 0.13) 8px 8px 2px 0;
	-moz-box-shadow:rgba(153, 153, 153, 0.13) 8px 8px 2px 0;
}
a.shadow { display:block; }

header .btn_box, footer .btn_box {
	width:220px;
}
header .btn_box li, footer .btn_box li {
	margin-bottom:6px;
}

/* header------------------------ */
header {
	position:relative; width:1000px; margin:0 auto; padding-top:10px; z-index:100;
}
#top header { height: auto; }
header p { margin:0; }
header .box_l { width:48%; float:left; margin-left: 10px; }
header h1 { margin-bottom:10px; font-size: 0.9em; font-weight:normal; }
header .box_r { width:50%; float:right; }
 header .box_r > div { margin-bottom:8px; }
header .snav { width:300px; float:left; font-size:13px; margin-top:3px; }
header .snav li { float:left; margin-right:15px; } 
header .snav li:before { content:"●"; color:#BB8C00; font-size:11px; margin-right:2px; }

#fontsize { width:184px; overflow:hidden; float:right; }
#fontsize p,
#fontsize ul,
#fontsize li { float:left; font-size:13px; }
#fontsize p { margin:0 5px 0 0; line-height:26px; }
#fontsize a {
	display:block; width:25px; line-height:25px; text-align:center; margin-left:6px;
	color:#000; background:#FFF; border-radius:50%; border:1px solid #BB8C00;
	}
#fontsize a:hover, #fontsize a.textresizer-active	{ text-decoration:none; color:#FFF; background:#BB8C00; }

header .bnr li { float:left; }
header .bnr li.rec { width:204px; margin-right:15px; }
header .bnr li.tel { width:280px; }
header .bnr li.rec img { box-shadow: 0 0 15px rgba(0,0,0,0.15); }

/* gnav------------------------*/
#gnav ul { width:988px; margin:0 auto; }
#gnav li { margin:0 6px; float:left;}
#gnav li a {
	display:block; width:152px; height:57px; overflow: hidden; position:relative; }
#gnav li a img{ box-shadow: 0 0 4px rgba(0,0,0,0.2); }

#gnav li img { display: block; top:5px; position: absolute; }

#gnav li.home a img  	{ left:0; }
#gnav li.products a img { left:-164px; }
#gnav li.works a img 	{ left:-328px; }
#gnav li.special a img 	{ left:-493px; }
#gnav li.recruit a img 	{ left:-658px; }
#gnav li.contact a img 	{ left:-823px; }

#gnav li a:hover img, #gnav li.current img { top:0px; }

/* contents------------------------*/
.arrow{ margin-bottom: 10px; padding-left: 12px; background: url(../img/arrow.png) no-repeat 0 4px; }
.icon_circle li{ margin-bottom: 4px; }
.icon_circle li:before { content:"● "; color:#BB8C00; font-size:11px; } 

.btn_type a{ position: relative; width: 266px;height: 45px; padding-top: 10px; box-sizing: border-box; font-size: 1.2em; letter-spacing: 1px; color: white; text-align: center; display: block;}
.btn_type a:before { content: ""; position: absolute; width: 20px; height: 20px; top: 17px; right: 10px; background: url(../img/arrow_w.png) no-repeat; }
.btn_type a:hover {text-decoration: none;}

/* products　ボタン */
#btnPro h2, #btnPro p{ margin: auto auto 30px; text-align: center; }
#btnPro p{ width: 860px; }
#btnPro ul{ width: 996px; margin: 0 auto; padding: 10px 7px 0px 7px; background-color: #FFF; box-shadow: 0 0 15px rgba(0,0,0,0.15); }
#btnPro ul li{ float: left; margin: 0 5px 10px 5px; }

/* footer------------------------*/
#pagetop { position:fixed; bottom: 0; right:35px; height:94px; margin:0; z-index: 400; }
footer{ padding: 12px 0 20px; background-color:rgba(255,255,255,0.3); }
.f_con{ padding-bottom: 15px; background-color: #FFF; }
footer .inner{ width: 940px; margin: 0 auto; padding: 40px 0 0; }
.f_info{ width: 250px; float: left; }
.f_link{ width: 635px; float: right; }
.f_link div{ width: 210px; float: left; margin-bottom: 10px; }
footer .arrow{ font-weight: normal; }
footer .icon_circle{ margin: 0 0 25px 12px; }
footer .icon_circle li{ font-size: 0.9em; }
.btn_recruit{ box-shadow: 0 0 6px rgba(0,0,0,0.2); }
.address{ margin: 10px 0; text-align: center; font-size: 1.1em; }
.copyright{ margin: 20px 0; text-align: center; font-size: 0.85em; }


/* サイトマップ */

.sitemap_link{ width: 635px; float: right; }
.sitemap_link div{ width: 500px; margin-bottom: 10px; }


/* その他の特集を見る */

#btnSp h2, #btnSp p {
    margin: auto auto 30px;
    text-align: center;
}

#btnSp ul li {
    float: left;
    margin: 0 5px 20px;
	box-shadow: 0 0 15px rgba(0, 0, 0, 0.15);
	border: 8px solid #fff;
}
.sp_w { margin-right: 20px!important;}
.sp_s { margin-right: 15px!important;}
