@charset "Shift_JIS";
/**
 * 4dfocus.css
 * modified : 2014.08.28
 */

/*--------------------------------------------------------------------------------
	Reset
--------------------------------------------------------------------------------*/
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{margin:0;padding:0;}table{border-collapse:collapse;border-spacing:0;}fieldset,img{border:0;vertical-align:top;}address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal;}li{list-style:none;}caption,th{text-align:left;}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}q:before,q:after{content:'';}abbr,acronym{border:0;font-variant:normal;}sup{vertical-align:text-top;}sub{vertical-align:text-bottom;}input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit;}input,textarea,select{*font-size:100%;}legend{color:#000;}del,ins{text-decoration:none;}a{text-decoration:none;outline:none;}nav{display:block;}section{display:block}

/*--------------------------------------------------------------------------------
	body
--------------------------------------------------------------------------------*/
body {
	position: relative;
	margin: 0;
	padding: 0;
	font-family: YuGothic,"ŸàƒSƒVƒbƒN","\30D2\30E9\30AE\30CE\89D2\30B4\20\50\72\6F\20\57\33","Hiragino Kaku Gothic Pro",
	"\30E1\30A4\30EA\30AA",Meiryo,"\FF2D\FF33\20\FF30\30B4\30B7\30C3\30AF",'Droid Sans',sans-serif;
	color: #fff;
	background-color: #000;
	border-top: 6px solid #c83b18;
	-webkit-text-size-adjust: none;
	-webkit-font-smoothing: antialiased;
}
sub {
	position: relative;
	top: 2px;
	font-size: 68.8%;
}
.clearfix {
	*zoom: 1;
}
.clearfix:after {
	clear: both;
	display: block;
	content: "";
}

a img.hover {
	transition: opacity 0.2s;
	-webkit-transition: opacity 0.2s;
	-moz-transition: opacity 0.2s;
	-ms-transition: opacity 0.2s;
}
a:hover img.hover {
	opacity: 0.8;
}
.ielegacy a:hover img.hover {
	filter: alpha(opacity=80);
}

@media(max-width:640px) {
	body {
		min-width: 320px;
		border-top: 4px solid #c83b18;
	}
}

/*--------------------------------------------------------------------------------
	.container
--------------------------------------------------------------------------------*/
html.ielegacy .container {
	min-width: 930px;
}
.container a,
.container img {
	vertical-align: top;
}

@media(max-width:640px) {
	.container {
		min-width: 320px;
		overflow: hidden;
	}
}

/*--------------------------------------------------------------------------------
	header
--------------------------------------------------------------------------------*/
header {
	margin: 0 auto;
	width: 100%;
	max-width: 1240px;
	min-width: 320px;
	line-height: 0.9;
	*zoom: 1;
}
header:after {
	clear: both;
	display: block;
	content: "";
}
header h1 {
	float: left;
	margin: 0 0 0 27px;
	padding: 27px 0;
	width: 111px;
}
header h1 img {
	width: 111px;
	height: auto;
}
header strong {
	float: right;
	display: block;
	margin: 0 24px 0 0;
	padding: 20px 0 24px;
	width: 42px;
}
header strong img {
	width: 40px;
	height: auto;
}

@media(max-width:940px) {
	header h1 {
		margin: 0 0 0 2.8723%;
		padding: 2.8723% 0;
		width: 11.8085%;
	}
	header h1 img {
		width: 100%;
	}
	header strong {
		margin: 0 2.55319% 0 0;
		padding: 2.12765% 0 2.55319%;
		width: 4.468%;
	}
	header strong img {
		width: 100%;
	}
}
@media(max-width:479px) {
	header h1 {
		margin: 0 0 0 15px;
		padding: 20px 0;
		width: 20%;
	}
	header h1 img {
		width: 100%;
	}
	header strong {
		margin: 0 15px 0 0;
		padding: 16px 0 0;
		width: 8%;
	}
	header strong img {
		width: 100%;
	}
}

/*--------------------------------------------------------------------------------
	footer
--------------------------------------------------------------------------------*/
footer {
	padding: 100px 0 20px;
	width: 100%;
	line-height: 1.0;
	text-align: center;
}
footer small {
	padding: 0 15px;
	font-size: 62.5%;
	letter-spacing: 0.01em;
	color: #fff;
}
footer .pagetop {
	position: relative;
	top: 40px;
	margin: 0 auto;
	width: auto;
	height: 1px;
}
footer .pagetop .floater {
	position: static;
	padding-right: 2%;
	width: 98%;
	text-align: right;
}
footer .pagetop .floater.fixed {
	position: fixed;
	bottom: 0;
	z-index: 1000;
}
footer .pagetop .floater a {
	position: relative;
	margin-top: -37px;
	display: block;
	float: right;
	width: 60px;
	height: 38px;
}
footer .pagetop .floater.fixed a {
	top: 0;
}
footer .pagetop .target {
	position: fixed;
	left: 0;
	bottom: 0px;
	width: 100%;
	height: 0px;
	zoom: 1;
}

@media(max-width:640px) {
	footer {
		margin-top: 20px;
		padding: 60px 0 10px;
	}
	footer small {
		display: block;
		text-align:left;
	}
	footer .pagetop {
		top: -5px;
		width: auto;
	}
	footer .pagetop .floater {
		width: 95%;
	}
	footer .pagetop .floater a {
		float: none;
		display: inline-block;
		margin-top: 0;
		zoom: 0.7;
	}
}
}
@media(max-width:320px) {
	footer small {
		font-size: 50%;
	}
}


/*--------------------------------------------------------------------------------
	.intro
--------------------------------------------------------------------------------*/
.intro {
	margin: 0 auto;
	max-width: 1240px;
	/*opacity: 0.0;*/
}
.intro .mainvisual {
	background:#000;
}
.intro .mainvisual img {
	width: 100%;
	height: auto;
	max-width: 1240px;
}
.intro .copy {
	margin: 100px 0 0;
	padding: 0 30px;
	text-align: center;
}
.intro .copy img {
	width: 100%;
	width: auto\9;
	height: auto;
	height: 179px\9;
	max-width: 865px;
}
.intro .about {
	margin: 140px 0 0;
	padding: 0 0px;
	text-align: center;
}
.intro .banner {
	margin: 90px 0 0;
}
.intro .banner img {
	width: 100%;
	height: auto;
	max-width: 1240px;
}

@media(max-width:900px) {
	.intro .mainvisual img {
		width: 110%;
		margin-left:-6%;
	}
	.intro .copy {
		margin: 11% 0 0;
	}
	.intro .about {
		margin: 11% 0 0;
	}
	.intro .copy img{
		width: 85%;
	}
	.intro .about img{
		width: 50%;
	}
	.intro .banner {
		margin: 11% 0 0;
	}
}
@media(max-width:479px) {
	.intro .mainvisual img {
		width: 120%;
		margin-left:-12%;
	}
	.intro .copy img {
		margin-left: -3%;
		width: 106%;
	}
}

/*--------------------------------------------------------------------------------
	section
--------------------------------------------------------------------------------*/
section {
	margin: 140px auto 0;
	padding: 0 0 60px;
	max-width: 1240px;
	background: url("../img/sec_bg.gif") repeat-x 0 0;
}
section#WIDE {
	margin: 40px auto 0;
}
section h2 {
	padding: 74px 0 0;
	text-align: center;
}
section h2 img {
	max-width: 620px;
	height: auto;
}
section .inner {
	margin: 0 auto;
	max-width: 950px;
	text-align: center;
}
section .main-img {
	position: relative;
	z-index: 0;
	margin-bottom:60px;
}
section#WIDE .main-img {
	position: relative;
	z-index: 0;
	margin-bottom:0px;
}
section .img-txt-box {
	position: relative;
	z-index: 1;
	margin: 0 auto;
	text-align: left;
	*zoom: 1;
}
section .img-txt-box:after {
	clear: both;
	display: block;
	content: "";
}
section .img-box img {
	width: 100%;
	height: auto;
}
section .txt-box {
	overflow: hidden;
}
section .gallery {
	*zoom: 1;
}
section .gallery:after {
	clear: both;
	display: block;
	content: "";
}
section p {
	font-size: 87.5%;
	line-height: 2.2;
}
section p.note {
	margin-top: 7px;
	font-size: 75%;
	line-height: 1.5;
}

section p.note2 {
	margin-top: 7px;
	font-size: 75%;
	line-height: 1.5;
	text-align:right;
}

.under section {
	margin: 11.29% auto 0;
	padding: 0 40px 4.8387%;
}
.under section .main-img img {
	width: 100%;
	height: auto;
}

@media(max-width:900px) {
	section h2 img {
		width: 75%;
	}
}
@media(max-width:640px) {
	.under section {
		margin-top: 20%;
		padding: 0 30px;
	}
	section h2 {
		padding: 8.222% 0 0;
	}
	section .gallery {
		
	}
	section p {
		line-height: 2.0;
	}
	section p.note {
		margin-top: 10px;
		font-size: 68.8%;
		line-height: 1.4;
	}
	section p.note2 {
		margin-top: 10px;
		font-size: 68.8%;
		line-height: 1.4;
		text-align:left;
	}
}
@media(max-width:479px) {
	.under section {
		padding: 0 20px;
	}
	section h2 img {
		margin-left: 0%;
		width: 100%;
	}
	section .gallery {
		margin-top: 40px;
	}
	section p.note {
		font-size: 62.5%;
	}
}

/* #WIDE
--------------------------------------------------------------------------------*/
section#WIDE h2 {
	padding: 57px 0 57px;
	float: left;
	width: 34%;
	margin-top: 60px;
}
section#WIDE h2 img {
	max-width: 620px;
	height: auto;
	margin-left: -20px;
	width: 115%;
}
section#WIDE .img-txt-box {
	float:left;
	width: 50%;
	border-left: 2px solid #333;
	padding-left: 90px;
}

#WIDE .inner {
	/*margin-top: 53px;*/
}
#WIDE .main-img img {
	max-width: 811px;
	margin-top:25px;
}
#WIDE .img-txt-box {
	max-width: 808px;
	margin-top: 80px;
}
#WIDE .img-box {
	float: right;
	margin-left: 40px;
	max-width: 180px;
}
#WIDE .gallery li {
	float: left;
	width: 20%;
}
#WIDE .gallery li img {
	width: 100%;
	height: auto;
}

@media(max-width:950px) {
	section#WIDE h2 {
	padding: 74px 0 0;
	text-align: center;
	float: none;
	width: auto;
	margin-top: 0px;
	margin-right: 0px;
	}
	section#WIDE h2 img {
		max-width: 620px;
		height: auto;
		margin-left: 0px;
		width: 100%;
	}
	section#WIDE .img-txt-box {
		float: none;
		width: auto;
		border-left: none;
		padding-left: 0px;
	}
	#WIDE .img-box {
		float: left;
		margin-right: 40px;
		margin-left: 0px;
		max-width: 180px;
	}
}

@media(max-width:640px) {
	#WIDE .inner {
		
	}
}
@media(max-width:479px) {
	#WIDE .img-box {
		float: none;
		margin-right: 0;
		max-width: 100%;
		text-align: center;
	}
	#WIDE .img-box img {
		width: 70%;
		max-width: 209px;
	}
	#WIDE .txt-box {
		margin-top: 20px;
	}
	#WIDE .gallery li {
		width: 33.333%;
	}
}

/* #FAST
--------------------------------------------------------------------------------*/
section#FAST h2 {
	padding: 57px 0 57px;
	float: left;
	width: 27%;
	margin-top: 70px;
}
section#FAST h2 img {
	max-width: 620px;
	height: auto;
	margin-left: -70px;
	width: 145%;
}
section#FAST .img-txt-box {
	float:left;
	width: 62%;
	border-left: 2px solid #333;
	padding-left:70px;
}

#FAST .inner {
	margin-top: 60px;
}
#FAST .main-img img {
	max-width: 946px;
	margin-top:35px;
}
#FAST .img-txt-box {
	margin: 5.78947% 0 0 0px;
	max-width: 885px;
}
#FAST .img-box {
	float: right;
	margin-left: 0px;
	max-width: 360px;
}
#FAST .carousel-viewport {
	width: 75.7894736%;
}
#FAST .carousel-thum {
	width: 75.7894736%;
}
#FAST .carousel-prev,
#FAST .carousel-next {
	width: 12.10526%;
}

@media(max-width:950px) {
	section#FAST h2 {
	padding: 74px 0 0;
	text-align: center;
	float: none;
	width: auto;
	margin-top: 0px;
	margin-right: 0px;
	}
	section#FAST h2 img {
		max-width: 620px;
		height: auto;
		margin-left: 0px;
		width: 100%;
	}
	section#FAST .img-txt-box {
		float: none;
		width: auto;
		border-left: none;
		padding-left:0px;
	}
	#FAST .img-box {
		float: left;
		margin-left: 0px;
		max-width: 360px;
	}
}

@media(max-width:885px) {
	#FAST .img-txt-box {
		margin: 3.78947% 0 0 0;
	}
	#FAST .img-box {
		margin-right: 10px;
		max-width: 340px;
	}
	#FAST .img-box img {
		margin-left: -10%;
	}
	#FAST .inner {
		margin-top: 0px;
	}
}
@media(max-width:640px) {
	#FAST .inner {
		margin-top: 10%;
	}
	#FAST .img-box {
		float: none;
		margin: 10% 0 0 0;
		max-width: 100%;
		text-align: center;
	}
	#FAST .img-box img {
		width: 70%;
	}
	#FAST .txt-box {
		margin-top: 30px;
	}
}
@media(max-width:479px) {
	#FAST .img-box img {
		width: 92%;
	}
	#FAST .txt-box {
		margin-top: 20px;
	}
	#FAST .carousel-viewport {
		width: 100%;
	}
	#FAST .carousel-thum {
		width: 100%;
	}
}

/* #STEADFAST
--------------------------------------------------------------------------------*/
section#STEADFAST h2 {
	padding: 57px 0 57px;
	float: left;
	width: 49%;
	margin-top: 70px;
	
}
section#STEADFAST h2 img {
	max-width: 620px;
	height: auto;
	margin-left: 0px;
	width: 85%;
}
section#STEADFAST .img-txt-box {
	float:left;
	width: 40%;
	border-left: 2px solid #333;
	padding-left: 60px;
}

#STEADFAST .inner {
	margin-top: 40px;
}
#STEADFAST .inner .main-img img {
	margin-top: 80px;
}
#STEADFAST .img-txt-box {
	margin-top: 6%;
	max-width: 843px;
}
#STEADFAST .img-box {
	float: right;
	margin-left: 20px;
	max-width: 200px;
}
#STEADFAST .carousel-viewport {
	margin: 0 auto;
	width: 88.421%;
}
#STEADFAST .carousel-bulltes {
	margin: 30px auto 0;
	width: 88.421%;
}
#STEADFAST .carousel-prev,
#STEADFAST .carousel-next {
	width: 5.78947%;
}
@media(max-width:950px) {
	section#STEADFAST h2 {
	padding: 74px 0 0;
	text-align: center;
	float: none;
	width: auto;
	margin-top: 0px;
	margin-right: 0px;
	}
	section#STEADFAST h2 img {
		max-width: 620px;
		height: auto;
		margin-left: 0px;
		width: 100%;
	}
	section#STEADFAST .img-txt-box {
		float: none;
		width: auto;
		border-left: none;
		padding-left: 0px;
	}
	#STEADFAST .img-box {
		float: left;
		margin-right: 40px;
		max-width: 200px;
		margin-left: 0px;
	}
}

@media(max-width:950px) {
	#STEADFAST .inner .main-img img {
	margin-top: 0px;
	}
}
@media(max-width:640px) {
	#STEADFAST .inner {
		margin-top: 10%;
	}
	#STEADFAST .img-box {
		margin-right: 50px;
	}
}
@media(max-width:479px) {
	#STEADFAST .img-box {
		float: none;
		margin-right: 0;
		max-width: 100%;
		text-align: center;
	}
	#STEADFAST .img-box img {
		width: 75%;
	}
	#STEADFAST .txt-box {
		margin-top: 20px;
	}
	#STEADFAST .carousel-viewport {
		width: 100%;
	}
	#STEADFAST .carousel-bulltes {
		margin: 20px auto 0;
		width: 100%;
	}
}

/*--------------------------------------------------------------------------------
	carousel
--------------------------------------------------------------------------------*/
.carousel-viewport {
	position: relative;
	margin: 0 auto;
	overflow: hidden;
}
.carousel-inner {
	position: relative;
}
.carousel-slider {
	position: relative;
	width: 20000px;
	*zoom: 1;
}
.carousel-slider:after {
	clear: both;
	display: block;
	content: "";
}
.carousel-slider .item {
	position: relative;
	float: left;
}
.carousel-slider .item a {
	display: block;
}
.carousel-slider .item img {
	width: 100%;
	height: auto;
}
.carousel-slider .item .zoom {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 16px;
	height: 16px;
	background: url("../img/icn_zoom.png") no-repeat 0 0;
}

#STEADFAST .carousel-slider .item .zoom {
	position: absolute;
	right: 58px;
	bottom: 0;
	width: 16px;
	height: 16px;
	background: url("../img/icn_zoom.png") no-repeat 0 0;
}

/* .carousel-thum
--------------------------------------------------------------------------------*/
.carousel-thum {
	margin: 30px auto 0;
}
.carousel-thum ul {
	margin-left: 0px;
}
.carousel-thum li {
	position: relative;
	float: left;
	margin: 2px 0 0 0px;
	width: 11.11111%;
	border: 2px solid transparent;
	box-sizing: border-box;
	cursor: pointer;
	transition: border-color 0.2s;
	-ms-transition: border-color 0.2s;
	-moz-transition: border-color 0.2s;
	-webkit-transition: border-color 0.2s;
}
.carousel-thum li.current,
.pc .carousel-thum li:hover {
	border-color: #fff;
}
.carousel-thum li img {
	width: 100%;
	height: 100%;
}

.ie7 .carousel-thum li {
	width: 10.4%;
}

@media(max-width:479px) {
	.carousel-thum {
		margin-top: 20px;
	}
	.carousel-thum li {
		width: 20%;
	}
}

/* .carousel-bullets
--------------------------------------------------------------------------------*/
.carousel-bullets {
	margin: 30px auto 0;
	text-align: center;
}
.carousel-bullets ul {
	display: inline-block;
	*display: inline;
	*zoom: 1;
}
.carousel-bullets li {
	float: left;
	margin: 0 4px;
	width: 10px;
	height: 10px;
	background: #707070;
	border-radius: 50%;
	cursor: pointer;
	transition: background 0.2s;
	-ms-transition: background 0.2s;
	-moz-transition: background 0.2s;
	-webkit-transition: background 0.2s;
}
.carousel-bullets li.current,
.pc .carousel-bullets li:hover {
	background: #fff;
}

@media(max-width:900px) {
	.carousel-bullets li {
		margin: 0 6px;
		width: 12px;
		height: 12px;
	}
}

/* .carousel-prev, .carousel-next
--------------------------------------------------------------------------------*/
.carousel-prev,
.carousel-next {
	position: absolute;
	top: 50%;
}
.carousel-prev em,
.carousel-next em {
	position: absolute;
	top: -20px;
	display: block;
	width: 40px;
	height: 40px;
	cursor: pointer;
	transition: opacity 0.2s;
	-ms-transition: opacity 0.2s;
	-moz-transition: opacity 0.2s;
	-webkit-transition: opacity 0.2s;
}
.carousel-prev em:hover,
.carousel-next em:hover {
	opacity: 0.6;
}
.carousel-prev {
	left: 0;
}
.carousel-prev em {
	left: 0;
	background: url("../img/carouse_prev.png") no-repeat left center;
}

.carousel-next {
	right: 0;
}
.carousel-next em {
	right: 0;
	background: url("../img/carouse_next.png") no-repeat right center;
}

@media(max-width:479px) {
	.carousel-prev,
	.carousel-next {
		display: none !important;
	}
}

/*--------------------------------------------------------------------------------
	section.auto-focus
--------------------------------------------------------------------------------*/
section.auto-focus {
	margin: 100px auto 0;
	max-width: 1240px;
	background: url("../img/af_bg.gif") repeat-x 0 0;
	overflow: hidden;
}
section.auto-focus h2 {
	padding: 45px 0 40px;
	text-align: center;
}
section.auto-focus .img-box {
	text-align: center;
}
section.auto-focus .img-box img {
	padding-right: 10.4838%; /*130px;*/
	max-width: 786px;
	max-height: 270px;
}
section.auto-focus .txt-box {
	margin: 50px auto 0;
	max-width: 670px;
}

@media(max-width:900px) {
	section.auto-focus h2 img {
		width: 100%;
		height: auto;
	}
}
@media(max-width:640px) {
	section.auto-focus .txt-box {
		margin-top: 7.8125%;
	}
}

/*--------------------------------------------------------------------------------
	.banner
--------------------------------------------------------------------------------*/
.banner {
	margin: 170px auto 0;
	max-width: 1240px;
}
.under .banner {
	margin-top: 8.7096%;
	padding: 0 40px;
}
.under .banner img {
	width: 100%;
	height: auto;
}

@media(max-width:640px) {
	.under .banner {
		padding: 0 30px;
	}
}
@media(max-width:479px) {
	.under .banner {
		padding: 0 20px;
	}
}

/*--------------------------------------------------------------------------------
	.products
--------------------------------------------------------------------------------*/
.products {
	margin: 100px auto 0;
	max-width: 1240px;
	overflow: hidden;
}
.products h2 {
	text-align: center;
}
.products h2 img {
	padding: 6px 0 39px 0;
}
.products .inner {
	margin: 20px auto 0;
	text-align:center\9;
}
.products .inner:after {
	clear: both;
	display: block;
	content: "";
}
.products .item {
	float: left;
	width: 30%;
	text-align: center;
}
.products .item .logo img {
	width: 35.2%;
	height: auto;
}
.products .item .txt {
	margin-top: 12.9824%; /*37px;*/
}
.products .item .txt img {
	max-width: 192px;
}
.products .item .txt span {
	display: none;
}
.products .item .btn {
	margin-top: 12%;
}
.products .item .btn img {
	width: 92.9824%; /*265px;*/
	height: auto;
	max-width: 265px;
	max-height: 50px;
}
.under .products .inner {
	margin: 20px 30px 0;
}
.under .products .item .txt img {
	width: 60%;
	height: auto;
}


@media(max-width:900px) {
	.under .products h2 img {
		width: 76%;
		height: auto;
	}
}
@media(max-width:479px) {
	.under .products h2 img {
		margin-left: 5%;
		padding: 5px 0 15px 0;
		width: 90%;
		height: auto;
	}
	.under .products .inner {
		margin: 20px 15px 0;
	}
	.under .products .item {
		float: none;
		margin: 30px 0 0 0 !important;
		padding-bottom: 20px;
		width: auto;
		border-bottom: 1px solid #333;
	}
	.under .products .item .img {
		margin-top: 0 !important;
	}
	.under .products .item .txt {
		margin-top: 12.9824%; /*37px;*/
	}
	.under .products .item .txt img {
		display: none;
	}
	.under .products .item .txt span {
		display: block;
		color: #c3c3c3;
	}
	.under .products .item .btn img {
		width: 80%;
	}
}

/* .a6000
--------------------------------------------------------------------------------*/
.products .item.a6000 .img {
	margin-top: 18.2795698%;
}
.products .item.a6000 .img img {
	width: 60.7526881%;
	height: auto;
	max-width: 226px;
}
.products .item.a6000 .logo {
	margin-top: -4.5614%; /*-13px;*/
}

/* .a5100
--------------------------------------------------------------------------------*/
.products .item.a5100 {
	margin-left: 5%;
}
.products .item.a5100 .img {
	margin-top: 19.8924731%;
}
.products .item.a5100 .img img {
	width: 54.8387096%;
	height: auto;
	max-width: 204px;
}
.products .item.a5100 .logo {
	margin-top: -18.7052%; /*-63px;*/
}

/* .a77
--------------------------------------------------------------------------------*/
.products .item.a77 {
	margin-left: 5%;
}
.products .item.a77 .img img {
	width: 75%;
	height: auto;
	max-width: 279px;
}
.products .item.a77 .logo {
	margin-top: -6.4%; /*-15px;*/
}