@charset "utf-8";
/* CSS Document */

/*====================================================================

common.css

======================================================================

01.format
02.body
03.header
04.nav
05.main
06.footer
07.other
09.level2

=====================================================================*/


/*--------------------------------------------------------------------/
	01.format
/--------------------------------------------------------------------*/

/* html5reset-1.6.1.css */
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
	border-collapse: collapse; /* added */
	-webkit-text-size-adjust: none; /* added */
}
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {display: block;}

nav ul {list-style: none;}
ul li {list-style: none;} /* added */

blockquote, q {quotes: none;}

blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}

a {
	margin: 0;
	padding: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}

/* change colours to suit your needs */
ins {
	background-color: #ff9;
	color: #000;
	text-decoration: none;
}

/* change colours to suit your needs */
mark {
	background-color: #ff9;
	color: #000;
	font-style: italic;
	font-weight: bold;
}

del {text-decoration:  line-through;}

abbr[title], dfn[title] {
	border-bottom: 1px dotted;
	cursor: help;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

/* change border colour to suit your needs */
hr {
	display: block;
	height: 1px;
	border: 0;  
	border-top: 1px solid #cccccc;
	margin: 1em 0;
	padding: 0;
}

input, select {vertical-align: middle;}

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


/*--------------------------------------------------------------------/
	02.body
/--------------------------------------------------------------------*/
body {
	background: url(../img/body_bg.gif) repeat-x 0 0;
	line-height: 1;
	font-size: 86%;
	font-family: 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'Meiryo', 'メイリオ', 'ＭＳ Ｐゴシック', 'ＭＳ ゴシック', Osaka, Osaka-等幅, sans-serif;
	text-align: center;
	color: #000;
}

/* a
----------------------------------------------------------------*/
a { outline:none;}

a:link,
a:visited,
a:hover,
a:active{
	color:#0e5faf;
	outline:none;
}

a:link   {text-decoration: underline;}
a:visited{text-decoration: underline;}
a:hover  {text-decoration: none;}
a:active {text-decoration: none;}


/* wrapper
----------------------------------------------------------------*/
div#main,
nav#global,
header{
	margin-left: auto;
	margin-right: auto;
	text-align: left;
}


/*--------------------------------------------------------------------/
	04.nav global
/--------------------------------------------------------------------*/
.slicknav_menu {
	display:none;
}

@media screen and (max-width : 979px) {
	/* #menu is the original menu */
	#global {
		display:none;
	}
	
	.slicknav_menu {
		display:block;
	}
	.slicknav_menu li span {
		display:none;
	}
}


/*--------------------------------------------------------------------/
	05.main
/--------------------------------------------------------------------*/
div#main {
	margin-left: auto;
	margin-right: auto;
	zoom:1;
}
div#main:after {
	content: ".";
	display: block;
	visibility: hidden;
	height: 0.1px;
	font-size: 0.1em;
	line-height: 0;
	clear: both;
}
div#main img { display: block;}


/*--------------------------------------------------------------------/
	article, section
/--------------------------------------------------------------------*/
section:after,
article:after {
	content: ".";
	display: block;
	visibility: hidden;
	height: 0.1px;
	font-size: 0.1em;
	line-height: 0;
	clear: both;
}


/*--------------------------------------------------------------------/
	mail_btn
/--------------------------------------------------------------------*/
div.mail_btn a{
	display: block;
	padding-top: 14px;
	padding-left: 48px;
	width: 202px;
	height: 40px;
	background: #c80c0d url(../img/header_btn.png) no-repeat 0 0;
	color: #fff;
	letter-spacing: 1px;
	text-decoration: none;
	font-size: 13px;
	font-weight: bold;
	-webkit-transition: all 0.2s ease;
	-moz-transition: all 0.2s ease;
	-o-transition: all 0.2s ease;
	transition: all  0.2s ease;
	box-sizing: border-box;
}
div.mail_btn a:hover {
	background: #eb0e0f url(../img/header_btn.png) no-repeat 0 0;
}


/*--------------------------------------------------------------------/
	btm_bnr
/--------------------------------------------------------------------*/
#btm_bnr {
	padding: 25px 0;
	background: #c80c0d;
}
#btm_bnr li {
	margin-bottom: 20px;
	background: url(../img/common_bg_01.gif);
	-webkit-box-shadow:rgb(160, 0, 1) 7px 7px 0px -3px;
	-moz-box-shadow:rgb(160, 0, 1) 7px 7px 0px -3px;
	box-shadow:rgb(160, 0, 1) 7px 7px 0px -3px;
}
#btm_bnr li a{
	display: block;
	padding: 33px 40px 30px 0;
	color: #000000;
	text-align: right;
	text-decoration: none;
	font-size: 170%;
	font-weight: bold;
}
#btm_bnr li:first-child a {
	background: url(../img/bnr_factory_img.png) no-repeat 40px 18px, url(../img/icon_arrow_02.png) no-repeat 100% 100%;
}
#btm_bnr li:last-child a {
	background: url(../img/bnr_partner_img.png) no-repeat 36px 16px, url(../img/icon_arrow_02.png) no-repeat 100% 100%;
}


/*--------------------------------------------------------------------/
	btm_contact
/--------------------------------------------------------------------*/
#btm_contact {
	padding: 25px 0;
	background: #efefef;
	text-align: center;
	letter-spacing: 1px;
}
#btm_contact h3 {
	margin-bottom: 10px;
	padding-top: 40px;
	background: url(../img/icon_mail.png) no-repeat 50% 0;
	color: #0e5faf;
	line-height: 1.6;
	font-size: 22px;
}
#btm_contact p {
	font-size: 110%;
	line-height: 1.6;
}
#btm_contact p.tel {
	letter-spacing: 2px;
	font-size: 23px;
	font-weight: bold;
	font-family: Century Gothic, Verdana, Geneva, sans-serif;
}
#btm_contact p span {
	color: #0e5faf;
}
#btm_contact p.tel a:link,
#btm_contact p.tel a:visited {
	text-decoration: none;
}
#btm_contact div.mail_btn a{
	margin: 7px auto 0;
	padding-left: 37px;
	font-weight: normal;
	font-size: 14px;
}


/*--------------------------------------------------------------------/
	06.footer
/--------------------------------------------------------------------*/
footer {
	width: 100%;
}
footer div#footer {
	margin-left: auto;
	margin-right: auto;
	padding: 40px 0 30px;
	text-align: left;
}

/* list
--------------------------------------------------------------------*/
footer div#f_navi ul {
	float: left;
	margin-bottom: 10px;
	margin-right: 40px;
}
footer div#f_navi ul li {
	margin-bottom: 8px;
	padding-left: 15px;
	background: url(../img/icon_arrow_03.png) no-repeat 0 0;
	line-height: 1.2;
	letter-spacing: 1px;
	font-size: 12px;
}
footer div#f_navi ul li.li02 {
	padding-left: 25px;
	background: url(../img/icon_arrow_04.png) no-repeat 5px 50%;
}
footer div#f_navi ul a:link,
footer div#f_navi ul a:visited,
footer div#f_navi ul a:hover,
footer div#f_navi ul a:active {
	color: #000;
	text-decoration: none;
}
footer div#f_navi ul a:hover {
	color: #000;
	text-decoration: underline;
}

/* footer company
--------------------------------------------------------------------*/
footer article {
}
footer article figure img {
	margin: 0px auto 10px;
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha(opacity=70)";
}
footer article figure img {
	display: block;
	margin: 0px auto 10px;
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";
}

footer article h3 {
	margin-bottom: 15px;
	color: #0e5faf;
	letter-spacing: 1px;
	font-size: 17px;
}
footer article p {
	margin-bottom: 10px;
	line-height: 1.7;
	letter-spacing: 1px;
	font-size: 85%;
}
footer article p a:link,
footer article p a:visited {
	text-decoration: none;
}

footer article div a {
	padding: 3px 30px 3px;
	background: url(../img/icon_arrow_01.png) no-repeat 105% 105%;
	border: 1px solid #0e5faf;
	border-radius: 1px;
	text-decoration: none !important;
	letter-spacing: 1px;
	-webkit-transition: all 0.2s ease;
	-moz-transition: all 0.2s ease;
	-o-transition: all 0.2s ease;
	transition: all  0.2s ease;
}
footer article div a:hover {
	background: #0e5faf url(../img/icon_arrow_01.png) no-repeat 105% 105%;
	color: #fff;
}


/* copy
--------------------------------------------------------------------*/
footer p#copy {
	clear: both;
	line-height: 1;
	letter-spacing: 1px;
	text-align: left;
	color:#010101;
	font-size: 80%;
}


/*====================================================================/
	 smp & tablet Layout
/====================================================================*/

@media print, screen and (max-width: 979px) {

.smp_none {
	display: none !important;
}
	

/*--------------------------------------------------------------------/
	03.header
/--------------------------------------------------------------------*/
#header {
	position: relative;
	width: 100%;
	height: 90px;
}
header {
	background: #fff;
	width: 100%;
	height: 90px;
	z-index: 999;
}
header h1 {
	position: absolute;
	top: 60px;
	left: 10px;
	line-height: 1.3;
	color: #848484;
	font-size: 75%;
	font-weight: normal;
}
header div#logo {
	position: fixed;
	top: 0px;
	left: 0px;
	z-index: 9997;
}
header div#logo img {
	display: block;
	max-height: 55px;
}
header div.tel_smp {
	position: fixed;
	top: 8px;
	left: 105px;
	z-index: 9999;
}
header div.tel_smp img {
	display:block;
	margin: 0px auto;
	max-height: 30px;
}
header div.mail_smp {
	position: fixed;
	top: 8px;
	left: 155px;
	z-index: 9998;
}
header div.mail_smp img {
	display:block;
	margin: 0px auto;
	max-height: 30px;
}

header a:link,
header a:visited {
	text-decoration: none;
}


/*--------------------------------------------------------------------/
	04.nav global
/--------------------------------------------------------------------*/
nav#global {
	width: 100%;
}


/*--------------------------------------------------------------------/
	btm_bnr
/--------------------------------------------------------------------*/
#btm_bnr ul {
	margin: 0px auto;
	width: 90%;
}


/*--------------------------------------------------------------------/
	06.footer
/--------------------------------------------------------------------*/

/* list
--------------------------------------------------------------------*/
div#f_navi {
	padding-left: 10px;
}

/* footer company
--------------------------------------------------------------------*/
footer article {
	margin: 0px 3% 30px;
}
footer article figure {
	float: right;
	width: 45%;
}

/* pagetop
--------------------------------------------------------------------*/
div#pagetop {
	display: none;
}


/*--------------------------------------------------------------------/
	smp
/--------------------------------------------------------------------*/
.smp_none {
	display: none;
}
.smp_center,
.smp_center img {
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 3%;
}

}


/*====================================================================/
	 tablet Layout
/====================================================================*/

@media print, screen and (min-width: 580px) and (max-width: 979px) {


/* footer company
--------------------------------------------------------------------*/
footer article {
	margin: 0px auto 30px;
	width: 60%;
}

footer p#copy {
	text-align: center;
}

/*--------------------------------------------------------------------/
	pc
/--------------------------------------------------------------------*/
.pc_right {
	float: right;
}
.pc_left {
	float: left;
}
.pc_right img,
.pc_left img {
}

}

/*Safari*/
@media screen and (-webkit-min-device-pixel-ratio:0) {
header {
	/*height: 148px;*/
}
}


/*====================================================================/
	 PC Layout
/====================================================================*/

@media print, screen and (min-width: 980px) {


/*--------------------------------------------------------------------/
	03.header
/--------------------------------------------------------------------*/
header {
	position: relative;
	width: 1040px;
	height: 133px;
}
header h1 {
	position: absolute;
	top: 100px;
	width: 1040px;
	letter-spacing: 1px;
	color: #676767;
	text-align: center;
	font-size: 10px;
	font-weight: normal;
}
header div#logo {
	position: absolute;
	top: 0px;
	width: 1040px;
	height: 81px;
}
header div#logo a{
	display: block;
	margin:0px auto;
	width: 161px;
}

header p {
	position: absolute;
	top: 10px;
	right: 0px;
	letter-spacing: 2px;
	font-size: 21px;
	font-weight: bold;
	font-family: Century Gothic, Verdana, Geneva, sans-serif;
}
header p span {
	color: #0e5faf;
}

header div.mail_btn {
	position: absolute;
	top: 39px;
	right: 0px;
}


/*--------------------------------------------------------------------/
	04.nav global
/--------------------------------------------------------------------*/
nav#global {
	height: 35px;
}
nav#global >ul {
	margin: 0px auto;
	width: 1040px;
}
nav#global >ul >li {
	float: left;
	border-right: 1px solid #dcdcdc;
	width: 172px;
	letter-spacing: 2px;
	text-align: center;
	font-weight: bold;
	position: relative;
}
nav#global >ul >li:last-child {
	border: none;
}
nav#global >ul >li a {
	text-decoration: none;
	color: #0e5faf;
	font-size: 15px;
	height: 20px;
	-webkit-transition: all 0.2s ease;
	-moz-transition: all 0.2s ease;
	-o-transition: all 0.2s ease;
	transition: all  0.2s ease;
}
nav#global >ul >li a:hover {
	border-bottom: 1px solid #c80c0d;
}

#global .gnav_lv2:hover li{
	overflow: visible;
	height: 60px;
	display: block;
	box-sizing: border-box;
}

#global .gnav_lv2_item{
	list-style : none;
	position : absolute;
	z-index : 9999;
	top : 22px;
	left : 0;
	margin : 0;
	padding : 0;
	width : 100%;
}
#global .gnav_lv2_item li{
	display : block;
	overflow : hidden;
	height : 0;
	-webkit-transition : .2s;
	        transition : .2s;
}
#global .gnav_lv2_item li:not(:first-child) a{
	border-top : 1px dotted #bbb;
}
#global .gnav_lv2_item li a{
	position : relative;
	display : block;
	text-decoration : none;
	font-weight : normal;
	box-sizing: border-box;
	padding: 1.5rem;
	height : 100%;
	background : #fff;
	text-align : center;
	color : #0C5FAF;
}
#global .gnav_lv2 li a:hover{
	background-color : #fff;
	color : #C90505;
}

nav#global >ul >li a:not(:target){
	display: block\9;}

#global .gnav_lv2 li a:not(:target){
	padding : 20px 0 0\9;
	height : 100%\9;
}



/*--------------------------------------------------------------------/
	btm_bnr
/--------------------------------------------------------------------*/
#btm_bnr {
	float: left;
	width: 50%;
	height: 275px;
	box-sizing: border-box;
}
#btm_bnr ul {
	margin: 20px auto 0;
	width: 480px
}

/*--------------------------------------------------------------------/
	btm_contact
/--------------------------------------------------------------------*/
#btm_contact {
	float: right;
	width: 50%;
	height: 275px;
	box-sizing: border-box;
}

/*--------------------------------------------------------------------/
	06.footer
/--------------------------------------------------------------------*/
footer div#footer {
	margin: 0px auto;
	width: 1040px;
}

/* list
--------------------------------------------------------------------*/
div#f_navi {
	float: left;
}

/* pagetop
--------------------------------------------------------------------*/
div#pagetop {
	position: fixed;
	bottom: 200px;
	right: 15px;
}

/* footer company
--------------------------------------------------------------------*/
footer article {
	position: relative;
	float: right;
	width: 515px;
}
footer article figure {
	float: left;
	margin-right: 20px;
}
footer article div {
	position: absolute;
	top: 40px;
	right: 0px;
}
	
/*--------------------------------------------------------------------/
	pc
/--------------------------------------------------------------------*/
.pc_none {
	display: none !important;
}
.pc_right {
	float: right;
}
.pc_left {
	float: left;
}
.pc_right img,
.pc_left img {
}

}

@media all and (-ms-high-contrast: none){
	*::-ms-backdrop, #global .gnav_lv2 >li a{
		height : 100%;
	}
}


/*--------------------------------------------------------------------/
	link_btn
/--------------------------------------------------------------------*/
a.link_btn {
	padding: 3px 15px 3px;
	background: #444;
	color: #fff;
	text-decoration: none;
	-webkit-transition: all 0.2s ease;
	-moz-transition: all 0.2s ease;
	-o-transition: all 0.2s ease;
	transition: all  0.2s ease;
}
a.link_btn:hover {
	background: #555;
	text-decoration: none;
	color: #fff;
}


/*--------------------------------------------------------------------/
	07.others
/--------------------------------------------------------------------*/
.right {float: right;}
.left {float: left;}
.center {
	display: block;
	margin-left: auto;
	margin-right: auto;
}
.clear {clear: both;}
.clearfix:after {
	content: ".";
	display: block;
	visibility: hidden;
	height: 0.1px;
	font-size: 0.1em;
	line-height: 0;
	clear: both;
}
.clearfix {zoom: 1;}
.ws-n {white-space: nowrap;}

.red {	color: #b52228;}
.color01{ color: #e77404;}

.hover a {
	-webkit-transition: all 0.2s ease;
	-moz-transition: all 0.2s ease;
	-o-transition: all 0.2s ease;
	transition: all  0.2s ease;
}
.hover a:hover {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";
}

#contents a img,
aside a img{
	-webkit-transition: all 0.2s ease;
	-moz-transition: all 0.2s ease;
	-o-transition: all 0.2s ease;
	transition: all  0.2s ease;
}
#contents a:hover img,
aside a:hover img  {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";
}


/* txt
----------------------------------------------------------------*/
.txt_l {text-align: left !important;}
.txt_r {text-align: right !important;}
.txt_c {text-align: center !important;}

.st {font-weight: bold;}

/* size
----------------------------------------------------------------*/
.fs_s {
	font-size: 90% !important;
}
.fs_m {
	font-size: 115% !important;
}
.fs_l {
	font-size: 140% !important;
	line-height: 1.6 !important;
}
.msgoth-s {
	font-family: 'ＭＳ ゴシック',sans-serif;
	font-size: 10px;
}


/* letter spacing
----------------------------------------------------------------*/
.ls_s {letter-spacing: -1pt;}
.ls_m {letter-spacing: 0pt;}
.ls_l {letter-spacing: 1em;}


/* padding
----------------------------------------------------------------*/
.ps {padding: 10px;}
.ps_t {padding-top: 10px;}
.ps_b {padding-bottom: 10px;}
.ps_h {padding: 10px 0px;}
.ps_w {padding: 0px 10px;}
.ps_l {padding-left: 10px;}

.pm {padding: 15px;}
.pm_t {padding-top: 15px;}
.pm_b {padding-bottom: 15px;}
.pm_h {padding: 15px 0px;}
.pm_w {padding: 0px 15px;}


/* margin
----------------------------------------------------------------*/
.mss_t {margin-top: 8px;}

.ms {margin: 10px;}
.ms_t {margin-top: 10px;}
.ms_b {margin-bottom: 10px !important;}
.ms_l {margin-left: 10px;}
.ms_r {margin-right: 10px;}
.ms_h {margin: 10px 0px;}
.ms_w {margin: 0px 10px;}

.mm {margin: 20px;}
.mm_t {margin-top: 20px;}
.mm_b {margin-bottom: 20px;}
.mm_l {margin-left: 20px;}
.mm_r {margin-right: 20px;}
.mm_h {margin: 20px 0px;}
.mm_w {margin: 0px 20px;}

.ml {margin: 30px;}
.ml_t {margin-top: 30px;}
.ml_b {margin-bottom: 30px;}
.ml_l {margin-left: 30px;}
.ml_r {margin-right: 30px;}
.ml_h {margin: 30px 0px;}
.ml_w {margin: 0px 30px;}

.m_a {margin: 0px auto;}

.mt-10 { margin-top: -10px;}
.mt-20 { margin-top: -20px;}

.mll_l {margin-left: 40px;}
.mll_b {margin-bottom: 40px;}


/* print css
----------------------------------------------------------------*/
@media print {
	footer {display:none;}
}