 @charset "utf-8";

/* ============================================================
 init
============================================================ */
body {
	width: 100%;
	min-width: 1000px;
	color: #333333;
	line-height: 1.7;
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro","Meiryo","メイリオ", "ＭＳ Ｐゴシック", "MS P Gothic", Osaka, sans-serif;
}

#wrap {
	width: 100%;
}
@media screen and (max-width: 737px) {
	body {
		min-width: inherit;
	}
}


/* tag
------------------------------------------------------------ */
img {
	border: 0;
	vertical-align: bottom;
}
p,
li,
th,
td,
dt,
dd {
	font-size: 16px;
}


/* link
------------------------------------------------------------ */
a {
	color:#000;
	overflow: hidden;
	outline:none; /* for FF*/
}
a:link,
a:visited {
	text-decoration:none;
}
a:hover,
a:active,
a:focus {
	text-decoration:none;
}
a.link {
	text-decoration: underline;
}
a.link:hover {
	text-decoration: none;
}
	
/* class
------------------------------------------------------------ */
.spElement {
	display: none !important;
}
@media screen and (max-width: 737px) {
	.pcElement {
		display: none !important;
	}
	.spElement {
		display: block !important;
	}
}

.clearfix { zoom:1;}
.clearfix:after {
	content:"";
	display:block;
	height:0;
	clear:both;
	visibility:hidden;
}

.hgroup,
.block,
.outer,
.inner,
.row,
.box,
.cell {
	position:relative;
	zoom:1;}
	
div:after,
section:after,
nav:after,
.hgroup:after,
.block:after,
.outer:after,
.inner:after,
.row:after,
.box:after,
.cell:after,
ul:after  {
	content:"";
	display:block;
	clear:both;
}

.box,
.cell { float:left;}

.box.right,
.cell.right { float:right;}

.mt40 { margin-top: 40px;}
.mt30 { margin-top: 30px;}
.mt20 { margin-top: 20px;}
.mt10 { margin-top: 10px;}

.fz-small	{ font-size: 12px; }


/* font
------------------------------------------------------------ */
.roboto {
    font-family: 'Roboto', sans-serif;
}
.lato {
    font-family: 'Lato', sans-serif;
}

/*titleDeco*/
.titleDeco {
	position: relative;
	padding-top: 54px;
	text-align: center;
	font-size: 40px;
}
.titleDeco:after {
	display: block;
	position: absolute;
	top: 0;
	left: 50%;
	width: 1px;
	height: 24px;
	background: #005aa8;
	content: "";
}
.titleDeco:before {
	display: block;
	position: absolute;
	top: 35px;
	left: 50%;
	width: 15px;
	height: 15px;
	border: 5px solid #005aa8;
	margin-left: -7px;
	border-radius: 50%;
	box-sizing: border-box;
	content: "";
}

/*titleDeco01*/
.titleDeco01:after {
	background: #005aa8;
}
.titleDeco01:before {
	border: 5px solid #005aa8;
}

/*titleDeco02*/
.titleDeco02 {
	color: #fff;
}
.titleDeco02:after {
	background: #fff;
}
.titleDeco02:before {
	border: 5px solid #fff;
}

/*titleDeco03*/
.titleDeco03 {
	position: relative;
	padding-bottom: 20px;
	font-size: 32px;
	color: #005aa8;
	text-align: center;
}
.titleDeco03:after {
	display: block;
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 40px;
	height: 2px;
	margin-left: -20px;
	background: #005aa8;
	content: "";
}
.titleDeco03 span.subDeco {
	display: block;
	width: 120px;
	text-align: center;
	line-height: 44px;
	font-size: 24px;
	font-weight: bold;
	background-color: #005aa8;
	color: #fff;
	margin: 0 auto 15px;
}
.titleDeco03 span.subDeco b {
	font-weight: normal;
	font-size: 28px;
}

/*titleDeco04*/
.titleDeco04 {
	font-size: 24px;
	color: #005aa8;
	font-weight: bold;
	text-align: center;
}
.titleDeco04 span {
	position: relative;
}
.titleDeco04 span:after {
	display: block;
	position: absolute;
	top: 50%;
	left: -40px;
	width: 20px;
	height: 1px;
	border-radius: 0;
	background: #005aa8;
	content: "";
}
.titleDeco04 span:before {
	display: block;
	position: absolute;
	top: 50%;
	right: -40px;
	width: 20px;
	height: 1px;
	border-radius: 0;
	background: #005aa8;
	content: "";
}

/*titleDeco05*/
.titleDeco05 {
	font-size: 24px;
	color: #005aa8;
	border-bottom: 2px solid #005aa8;
	font-weight: bold;
}

/*titleDeco06*/
.titleDeco06 {
	color: #fff;
	background-color: #999;
	font-weight: bold;
	font-size: 16px;
	padding-left: 10px;
	line-height: 36px;
}


/*btnDeco01*/
.btnDeco01 {
	position: relative;
	width: 360px;
	margin: 0 auto;
}
.btnDeco01:after {
	display: block;
	position: absolute;
	top: 50%;
	right: 15px;
	content: "";
	font-weight: bold;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background-color: #000;
	margin-top: -1px;
}
.btnDeco01:before {
	display: block;
	content: "\e906";
	font-family: 'icomoon';
	position: absolute;
	right: -27px;
	top: 50%;
	font-size: 44px;
	margin-top: -36px;
    transition-delay: 0s;
    transition-duration: 0.3s;
    transition-property: all;
    transition-timing-function: ease;
	z-index: 1;
}
.btnDeco01:hover:before {
	right: -34px;
	transform: scaleX(1.3);
}
.btnDeco01 a {
	position: relative;
	display: block;
	padding: 20px 0;
	border: 1px solid #ccc;
	overflow: hidden;
	text-align: center;
	font-size: 16px;
	font-weight: bold;
	overflow: hidden;
	transition: 0.3s;
}
.btnDeco01 a span {
	/*z-index: 999;*/
	position: relative;
}
.btnDeco01 a:before {
	content: "";
	display: block;
	position: absolute;
	top: -100%;
	width: 100%;
	height: 100%;
	transition: 0.3s;
}
.btnDeco01 a:hover:before {
	top: 0;
}
.btnDeco01 a:hover {
	border: 1px solid #808080;
}

/*btnDeco01 left*/
.btnDeco01.left:after {
	right: inherit;
	left: 15px;
}
.btnDeco01.left:before {
	content: "\e905";
	right: inherit;
	left: -27px;
}
.btnDeco01.left:hover:before {
	right: inherit;
	left: -34px;
}


/*btnDeco02*/
.btnDeco02 {
	position: relative;
	float: left;
	width: 255px;
}
.btnDeco02 a {
	display: block;
	padding: 10px;
}
.btnDeco02 a:before {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	transition: 0.3s;
	content: "";
}
.btnDeco02 a:hover:before {
	background: #006dcc;
}
.btnDeco02 a span {
	position: relative;
	display: table;
	width: 100%;
	padding: 10px 0;
	border-top: 1px solid #333;
	background: #333;
	color: #fff;
	text-align: center;
	font-weight: bold;
	z-index: 1;
	transition: 0.3s;
}
.btnDeco02 a span b {
	display: table-cell;
	vertical-align: middle;
	text-align: center;
}
.btnDeco02 a:hover span {
	background: #fff;
	border-top: 1px solid #ddd;
	color: #006dcc;
}
.btnDeco02 a strong {
	position: relative;
	display: block;
	padding: 10px 0 0;
	text-align: center;
	font-weight: bold;
	z-index: 1;
	transition: 0.3s;
	opacity: 0;
}
.btnDeco02 a img {
	position: relative;
	width: 100%;
	height: auto;
	z-index: 1;
}
.btnDeco02 a:hover strong {
	color: #fff;
	opacity: 1;
}

.btnDeco02.noLink {
	opacity: 0.5;
	cursor: auto;
}
.btnDeco02.noLink a {
	cursor: auto;
}
.btnDeco02.noLink a:hover:before {
	background: inherit;
}
.btnDeco02.noLink a:hover span {
	background: #333;
	border-top: 1px solid #333;
	color: #fff;
}
.btnDeco02.noLink a:hover strong {
	opacity: 0;
}

@media screen and (max-width: 737px) {
	.titleDeco {
		font-size: 28px;
		padding: 40px 20px 0;
		line-height: 1.5;
	}
	.titleDeco:before {
		top: 25px;
	}
	.titleDeco:after {
		height: 18px;
		top: 4px;
	}

	/*titleDeco03*/
	.titleDeco03 {
		font-size: 24px;
	}
	.titleDeco03 span.subDeco {
		font-size: 16px;
		width: 83px;
		line-height: 40px;
		margin-bottom: 5px;
	}
	.titleDeco03 span.subDeco b {
		font-size: 20px;
	}

	/*titleDeco05*/
	.titleDeco05 {
		font-size: 20px;
		padding: 0 10px;
		margin: 0 -10px;
	}

	.btnDeco01 {
		width: auto;
		box-sizing: border-box;
	}
	.btnDeco01 a {
		padding: 12px 0;
	}
	.btnDeco01:after {
		right: 12px;
		margin-top: -2px;
	}
	.btnDeco01:before {
		font-size: 34px;
		margin-top: -28px;
		right: -18px;
	}
	.btnDeco01:hover:before {
		transform: none;
		right: -18px;
	}
	/*btnDeco01 left*/
	.btnDeco01.left:after {
		left: 12px;
	}
	.btnDeco01.left:before {
		left: -18px;
	}
	.btnDeco01.left:hover:before {
		left: -18px;
	}
	
	/*btnDeco02*/
	.btnDeco02 {
		width: 46%;
		margin: 2%;
	}
	.btnDeco02 a {
		padding: 0;
	}
	.btnDeco02 a:hover:before {
		background: none;
	}
	.btnDeco02 a span {
		padding: 5px 0;
		font-size: 14px;
		border: none;
	}
	.btnDeco02 a:hover {
		margin: 0;
		border: none;
	}
	.btnDeco02 a:hover span {
		border-top: none;
		background: #333;
		color: #fff;
	}
	.btnDeco02 a strong {
		display: none;
	}
	.btnDeco02.noLink a:hover span {
		border-top: none;
	}

	/*anchorDeco*/
	.anchorDeco {
		margin-top: -24px;
		padding-top: 24px;
	}
}


/* #header
============================================================ */
header.drawer-navbar {
	height: inherit;
}
header .inner {
	width: 1000px;
	margin: 0 auto;
}
header .inner .menuBtn {
	display: none;
}
header .inner .logo {
	float: left;
	padding: 9px 0;
}
header .inner .logo img {
	width: 185px;
	height: auto;
}
header .inner .pcElement nav {
	float: right;
}
header .inner .pcElement nav ul {
	clear: both;
}
header .inner .pcElement nav li {
	position: relative;
	float: left;
}
header .inner .pcElement nav li span.noLink {
	opacity: 0.3;
}
header .inner .pcElement nav li .subTit span.noLink {
	padding: 0 15px;
}
header .inner .pcElement nav .nav02 {
	*zoom: 1;
	list-style-type: none;
}
header .inner .pcElement nav .nav02:before,
header .inner .pcElement nav .nav02:after{
	content: "";
	display: table;
}
header .inner .pcElement nav .nav02:after{
	clear: both;
}
header .inner .pcElement nav .nav02 li {
	position: relative;
}
header .inner .pcElement nav .nav02 li span,
header .inner .pcElement nav .nav02 li a {
	display: block;
	margin: 0;
	font-size: 14px;
	text-decoration: none;
}

/*tit*/
header .inner .pcElement nav .nav02 .tit span,
header .inner .pcElement nav .nav02 .tit a {
	position: relative;
	padding: 0 1em;
	line-height: 74px;
	font-weight: bold;
}
header .inner .pcElement nav .nav02 .down .tit a:after {
	position: absolute;
	bottom: -23px;
	left: 50%;
	display: block;
	margin-left: -5px;
	content: "\e903";
	font-family: icomoon;
	font-weight: normal;
	transform: rotate(-90deg);
}
header .inner .pcElement nav .nav02 .tit.cr a {
	background: #dfecf8;
	color: #005aa8;
}
header .inner .pcElement nav .nav02 .down .tit.cr a:after {
	display: none;
}
.f_message header .inner .pcElement nav .nav02 .tit.en {
	display: none;
}
header .inner .pcElement nav .nav02 .tit.en span {
	background: #ccc;
	color: #fff;
}

/*innerNav*/
header .inner .pcElement nav .nav02 li .innerNav {
	list-style: none;
	position: absolute;
	z-index: 9999;
	top: 100%;
	left: 0;
	padding: 0;
	opacity: 0;
	top: 80%;
	visibility: hidden;
	transition: 0.5s;
}
header .inner .pcElement nav .nav02 li .innerNav li {
	width: 100%;
	border-top: 1px solid #444;
	background: rgba(25,25,25,0.9);
}
header .inner .pcElement nav .nav02 li .innerNav li span,
header .inner .pcElement nav .nav02 li .innerNav li a {
	padding: 0 15px;
	line-height: 34px;
	transition: 0.2s;
}
header .inner .pcElement nav .nav02 li .innerNav li.noLink {
	line-height: 34px;
}

header .inner .pcElement nav .nav02 li:hover {
	background: #006dcc;
}
header .inner .pcElement nav .nav02 li:hover span,
header .inner .pcElement nav .nav02 li:hover a {
	color: #fff;
}
header .inner .pcElement nav .nav02 li:hover .innerNav {
	top: 100%;
	right: -126%;
	visibility: visible;
	opacity: 1;
}
header .inner .pcElement nav .nav02 li:hover .innerNav a:hover {
	background: #006dcc;
}

/*product*/
header .inner .pcElement nav .nav02 li.product .innerNav {
	right: -328%;
}
header .inner .pcElement nav .nav02 li.product .innerNav .box {
	width: 50%;
}
header .inner .pcElement nav .nav02 li.product .innerNav .box + .box {
	border-left: 1px solid #444;
	box-sizing: border-box;
}
header .inner .pcElement nav .nav02 li.product .innerNav .box p {
	color: #fff;
	font-size: 14px;
}
header .inner .pcElement nav .nav02 li.product .innerNav .box .subTit {
	background: rgba(25,25,25,0.9);
	line-height: 34px;
	font-weight: bold;
}
header .inner .pcElement nav .nav02 li.product .innerNav .box .subTit a {
	padding: 0 15px;
	transition: 0.2s;
}
header .inner .pcElement nav .nav02 li.product .innerNav .box .subNavTit a {
	display: block;
	padding: 0 15px;
	line-height: 34px;
	border-top: 1px solid #444;
}
header .inner .pcElement nav .nav02 li.product .innerNav .box .subNavTit a:hover {
	background: #006dcc;
}
header .inner .pcElement nav .nav02 li.product .innerNav .box .subNavTit {
	padding: 0 15px;
	line-height: 34px;
	background: rgba(68,68,68,0.9);
}
header .inner .pcElement nav .nav02 li.product .innerNav .box li .noLink,
header .inner .pcElement nav .nav02 li.product .innerNav .box li a {
	position: relative;
	padding-left: 38px;
}
header .inner .pcElement nav .nav02 li.product .innerNav .box li.line2 .noLink,
header .inner .pcElement nav .nav02 li.product .innerNav .box li.line2 a {
	line-height: 1.5;
	padding: 10px 10px 10px 38px;
}
header .inner .pcElement nav .nav02 li.product .innerNav .box li .noLink:after,
header .inner .pcElement nav .nav02 li.product .innerNav .box li a:after {
	display: block;
	position: absolute;
	top: 50%;
	left: 20px;
	width: 8px;
	height: 1px;
	background: #006dcc;
	content: "";
	transition: 0.2s;
}
header .inner .pcElement nav .nav02 li.product .innerNav .box li a:hover:after {
	background: #fff;
}

/*about*/
header .inner .pcElement nav .nav02 li.about .innerNav {
	right: inherit;
}
header .inner .pcElement .drawer-hamburger {
	display: none;
}
@media screen and (max-width: 737px) {
	header.drawer-navbar {
		position: fixed;
		top: 0;
		z-index: 9999;
		width: 100%;
		height: 44px;
		background: #fff;
	}
	header .inner {
		width: auto;
	}
	header .inner .logo {
		padding: 5px 0 0 10px;
	}
	header .inner .logo img {
		width: 115px;
		height: auto;
	}
	header .hd {
		background: none;
		border: none;
	}
	header .hd .inner .h1Txt {
		padding: 13px 0 0 140px;
		line-height: 1.4;
		font-size: 8px;
	}
	header .inner .drawer-hamburger {
		display: block;
		background: #005aa8;
		width: 44px;
		height: 44px;
		padding: 10px;
		box-sizing: border-box;
	}
	.drawer--right.drawer-open header .inner .drawer-hamburger {
		right: 16.25rem;
	}
	header .inner .drawer-hamburger span {
		top: -6px;
		background: #fff;
	}
	header .inner .drawer-hamburger-icon,
	header .inner .drawer-hamburger-icon:after,
	header .inner .drawer-hamburger-icon:before {
		background: #fff;
	}
	header .inner .drawer-hamburger-icon:after,
	header .inner .drawer-hamburger-icon:before {
		top: -8px;
	}
	header .inner .drawer-hamburger-icon:after {
		top: 8px;
	}
	.drawer-open header .inner .drawer-hamburger-icon:after,
	.drawer-open header .inner .drawer-hamburger-icon:before {
		top: 0;
	}
	.drawer-open header .inner .drawer-hamburger span {
		background: #005aa8;
	}

	header .inner nav {
		background: #000;
	}
	header .inner nav a:hover {
		text-decoration: none;
	}
	header.drawer-navbar .drawer-nav {
		padding: 0;
	}
	header .inner nav ul {
		float: none;
	}
	header .inner nav .nav02 {
		border-top: 1px solid #444;
	}
	header .inner nav .nav02 li.en {
		padding: 10px;
	}
	header .inner nav .nav02 li.en a {
		display: block;
		background: #333;
		text-align: center;
		color: #fff;
		opacity: 0.7;
	}
	header .inner nav li {
		float: none;
		margin: 0;
	}
	header .inner nav li + li {
		margin: 0;
		border-top: 1px solid #444;
	}
	header .inner nav li a,
	header .inner nav li.noLink span {
		display: block;
		padding: 0 10px;
		color: #fff;
		line-height: 44px;
	}
	header .inner nav li.noLink span {
		opacity: 0.3;
	}
	header .inner nav .nav02 .hdTit {
		position: relative;
		padding: 0 10px;
		color: #fff;
		line-height: 44px;
		cursor: pointer;
	}
	header .inner nav .nav02 .drawer-menu-item:after {
		display: block;
		position: absolute;
		top: 50%;
		right: 10px;
		width: 16px;
		height: 2px;
		margin-top: -2px;
		background: #005aa8;
		content: "";
	}
	header .inner nav .nav02 .drawer-menu-item:before {
		display: block;
		position: absolute;
		top: 13px;
		right: 17px;
		width: 2px;
		height: 16px;
		background: #005aa8;
		transition: 0.2s;
		content: "";
	}
	header .inner nav .nav02 .open .drawer-menu-item:before {
		transform: rotate(90deg);
	}
	header .inner nav .nav02 .hdTit a {
		display: block;
		padding: 0 10px;
	}
	header .inner nav .nav02 li {
		border-left: none;
	}
	header .inner nav .nav02 li .innerNav {
		position: inherit;
		top: inherit;
		left: inherit;
		background: #2c2c2c;
		opacity: 1;
		visibility: inherit;
		transition: none;
	}
	header .inner nav .nav02 li .innerNav a,
	header .inner nav .nav02 li .innerNav span {
		padding: 0 1.7em;
	}
	header .inner nav .nav02 li .innerNav span.noLink {
		line-height: 44px;
		color: #fff;
		opacity: 0.3;
	}
	header .inner nav .nav02 li:hover .innerNav {
		top: inherit;
		right: inherit;
		visibility: inherit;
	}
	header .inner nav .nav02 li .innerNav li {
		border-bottom: 1px solid #333;
	}

	/*product*/
	header .inner nav .nav02 li.product .innerNav .tit {
		padding: 0 1.7em;
		background: #000;
		cursor: pointer;
		border-top: 1px solid #444;
	}
	header .inner nav .nav02 li.product .innerNav .subTit b {
		display: inline-block !important;
		font-weight: normal;
	}
	header .inner nav .nav02 li.product .innerNav .subNavTit {
		background: #444;
		color: #fff;
		line-height: 44px;
	}
	header .inner nav .nav02 li.product .innerNav .box {
		float: none;
	}
	header .inner nav .nav02 li.product .innerNav .box + .box {
		border-left: 1px solid #444;
		box-sizing: border-box;
	}
	header .inner nav .nav02 .box .subNav li .noLink {
		opacity: 0.3;
	}
	header .inner nav .nav02 .box .subNav li .noLink,
	header .inner nav .nav02 .box .subNav li a {
		position: relative;
		padding: 0 2.7em;
		line-height: 44px;
		color: #fff;
	}
	header .inner nav .nav02 .box .subNav li.line2 .noLink,
	header .inner nav .nav02 .box .subNav li.line2 a {
		padding: 10px 2.7em;
    line-height: 1.5;
	}
	header .inner nav .nav02 .box .subNav li .noLink:after,
	header .inner nav .nav02 .box .subNav li a:after {
		display: block;
		position: absolute;
		top: 50%;
		left: 30px;
		width: 8px;
		height: 1px;
		background: #bbb;
		content: "";
	}
	header .inner nav .nav02 .drawer-dropdown-menu {
		background: #2c2c2c;
	}
	.drawer .drawer-overlay {
		background-color: rgba(0,0,0,0.6);
/*		z-index: 1000;
*/	}
}

/* #contents
============================================================ */
#contents {
	position: relative;
}
@media screen and (max-width: 737px) {
	#contents {
		margin-top: 44px;
	}
}


/* bread nav
------------------------------------------------------------ */
#breadNav {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	padding: 5px 0;
	background: rgba(51,51,51,0.8);
}
#breadNav ul {
	width: 1000px;
	margin: 0 auto;
}
#breadNav li {
	float: left;
	color: #fff;
	font-size: 14px;
}
#breadNav li .gt {
	margin: 0 0.5em;
	color: #999;
}
#breadNav li a {
	color: #fff;
	font-size: 14px;
}
@media screen and (max-width: 737px) {
	#breadNav {
		overflow: scroll;
		padding: 5px 5px 5px 10px;
		box-sizing: border-box;
	}
	#breadNav ul {
	}
	#breadNav li {
		font-size: 12px;
	}
	#breadNav li a {
		font-size: 12px;
	}
}



/* .g_details
------------------------------------------------------------ */
.g_details #contents .mainPh {
	display: table;
	height: 280px;
	width: 100%;
}
.g_details #contents .mainPh .tit {
	display: table-cell;
	padding-top: 10px;
	background-size: cover;
	background-position: center;
	color: #fff;
	font-size: 48px;
	text-align: center;
	vertical-align: middle;
}
.g_details #contents .mainPh .tit span {
	position: relative;
	display: block;
	margin-top: 10px;
	padding-top: 10px;
	font-size: 24px;
	letter-spacing: 0.2em;
    font-family: 'Roboto', sans-serif;
	font-weight: 100;
}
.g_details #contents .mainPh .tit span:after {
	display: block;
	position: absolute;
	top: 0;
	left: 50%;
	width: 40px;
	height: 3px;
	margin-left: -20px;
	background: #005aa8;
	content: "";
}

/*product*/
.g_details #contents .block.topContents {
	padding-top: 60px;
}
.g_details #contents .block.topContents dl {
	position: relative;
	padding-left: 240px;
}
.g_details #contents .block.topContents dl dt {
	text-align: left;
	padding-bottom: 5px;
}
.g_details #contents .block.topContents dl dt:after {
	content: none;
}
.g_details #contents .block.topContents dl dd.img {
	position: absolute;
	left: 0;
	top: 0;
}
.g_details #contents .block.topContents dl dd.img img {
	width: 200px;
	height: auto;
}

@media screen and (max-width: 737px) {
	.g_details #contents .mainPh {
		height: 200px;
	}
	.g_details #contents .mainPh .tit {
		padding-top: 10px;
		font-size: 34px;
	}
	.g_details #contents .mainPh .tit span {
		margin-top: 0;
		font-size: 16px;
	}
	
	/*product*/
	.g_details #contents .block.topContents {
		padding-top: 30px;
	}
	.g_details #contents .block.topContents dl {
		padding-left: 0;
	}
	.g_details #contents .block.topContents dl dt {
		text-align: center;
	}
	.g_details #contents .block.topContents dl dt:after {
		content: "";
	}
	.g_details #contents .block.topContents dl dd.img {
		position: static;
		margin-top: 20px;
		text-align: center;
	}
	.g_details #contents .block.topContents dl dd + dd {
		margin-top: 15px;
	}
}


/* footer
============================================================ */
.ftLinkArea {
	border-top: 1px solid #ddd;
	margin-top: 80px;
}
.ftLinkArea .inner {
	width: 100%;
	margin: 0 auto;
	padding: 10px 0 0;
}
.ftLinkArea ul {
	margin: 0 auto;
}
.ftLinkArea ul li {
	position: relative;
	float: left;
	width: 33.333%;
	box-sizing: border-box;
}
.ftLinkArea ul li + li:after {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	height: 162px;
	width: 1px;
	margin-top: -81px;
	background-color: #ddd;
}
.ftLinkArea ul li a {
	display: block;
	text-align: center;
	padding: 62px 0;
	margin: 0 20px;
    transition-delay: 0s;
    transition-duration: 0.3s;
    transition-property: all;
    transition-timing-function: ease;
}
.ftLinkArea ul li a span {
	position: relative;
	display: inline-block;
	font-size: 24px;
	padding-top: 90px;
}
.ftLinkArea ul li a span:after {
	content: "";
	font-family: icomoon;
	position: absolute;
	top: 0;
	left: 50%;
	margin-left: -35px;
	font-size: 84px;
	color: #005aa8;
	line-height: 1;
}
.ftLinkArea ul li a span:before {
	content: "\e906";
	font-family: icomoon;
	position: absolute;
	right: -46px;
	bottom: 5px;
	font-size: 28px;
	color: #333;
	line-height: 1;
    transition-delay: 0s;
    transition-duration: 0.3s;
    transition-property: all;
    transition-timing-function: ease;	
}
.ftLinkArea ul li.icon01 a span:after {
	content: "\e902";
}
.ftLinkArea ul li.icon02 a span:after {
	content: "\e901";
}
.ftLinkArea ul li.icon03 a span:after {
	content: "\e900";
}
.ftLinkArea ul li a {
	position: relative;
	z-index: 2;
}
.ftLinkArea ul li a:before,
.ftLinkArea ul li a:after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
}
.ftLinkArea ul li a,
.ftLinkArea ul li a:before,
.ftLinkArea ul li a:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}
.ftLinkArea ul li a:after {
	top: -100%;
	width: 100%;
	height: 100%;
}
.ftLinkArea ul li a:hover:after {
	top: 0;
	background-color: #338ad6;
}
.ftLinkArea ul li a:hover span {
	color: #fff;
}

.ftLinkArea ul li a:hover span:before {
	color: #fff;
	transform: scaleX(1.3);
	transform-origin: 0;
}
.ftLinkArea ul li a:hover span:after {
	color: #fff;
}
@media screen and (max-width: 737px) {
	.ftLinkArea {
		border-top: 1px solid #ccc;
		margin-top: 40px;
	}
	.f_root .ftLinkArea {
		border-top: none;
	}
	.ftLinkArea .inner {
		width: auto;
		padding-top: 5px;
	}
	.ftLinkArea ul {
		border-bottom: 1px solid #ccc;
		width: 100%;
		margin-top: 20px;
	}
	.ftLinkArea ul li {
		float: none;
		width: auto;
		border-top: 1px solid #ccc;
	}
	.ftLinkArea ul li + li {
		border-left: none;
	}
	.ftLinkArea ul li + li:after {
		content: none;
	}
	.ftLinkArea ul li a {
		padding: 0;
		margin: 0;
	}
	.ftLinkArea ul li a span {
		display: block;
		padding: 23px 0 23px 20px;
		font-size: 20px;
	}
	.ftLinkArea ul li a span:before {
		right: 10px;
		top: 25px;
		bottom: auto;
	}
	.ftLinkArea ul li a span:after {
		font-size: 42px;
		left: 16px;
		margin: 0;
		top: 19px;
	}
}


/*footer*/
footer {
	margin-top: 20px;
}
footer .inner {
	background: #999;
}
footer a,
footer span {
	color: #fff;
	font-size: 14px;
}
footer .noLink span {
	opacity: 0.3;
}
footer a:hover {
	text-decoration: underline;
}
footer nav {
	width: 1000px;
	margin: 0 auto;
	padding: 30px 0;
}
footer nav li.box {
	width: 185px;
	margin-right: 40px;
}
footer nav li.box .innerNav {
	margin-top: 5px;
}
footer nav li.box .innerNav li {
	line-height: 1.5;
}
@media screen and (max-width: 737px) {
	footer {
		margin-top: 40px;
	}
	footer a,
	footer span {
		padding: 0 10px;
		line-height: 44px;
		font-size: 16px;
	}
	footer a:hover {
		text-decoration: none;
	}
	footer nav {
		width: auto;
		padding: 0;
	}
	footer nav li.box {
		float: none;
		width: auto;
		margin-right: 0;
	}
	footer nav li.box .acoNone {
		display: none;
	}
	footer nav li.box .innerNav {
		margin-top: 0;
		background: #888;
	}
	footer nav li.solution .innerNav,
	footer nav li.support .innerNav,
	footer nav li.about .innerNav {
		border-bottom: 1px solid #bbb;
	}
	footer nav li.product .innerNav .row .subRow {
		border-bottom: 1px solid #bbb;
	}
	footer nav li.box .innerNav li + li {
		border-top: 1px solid #bbb;
	}
	footer nav li.box .innerNav li a,
	footer nav li.box .innerNav li span {
		display: block;
		padding: 0 0 0 1.7em;
	}
	footer nav li.box .aco {
		position: relative;
		cursor: pointer;
	}
	footer nav li.box .aco:after {
		display: block;
		position: absolute;
		top: 50%;
		right: 10px;
		width: 16px;
		height: 1px;
		margin-top: -1px;
		background: #fff;
		content: "";
	}
	footer nav li.box .aco:before {
		display: block;
		position: absolute;
		top: 13px;
		right: 17px;
		width: 1px;
		height: 16px;
		background: #fff;
		transition: 0.2s;
		content: "";
	}
	footer nav li.box .aco.open:before {
		transform: rotate(90deg);
	}
}

/*product*/
footer nav li.product {
	width: 550px;
}
footer nav li.product .row + .row {
	margin-top: 20px;
}
footer nav li.product .row .subTit {
	padding-bottom: 5px;
	border-bottom: 1px dotted #777;
}
footer nav li.product .row .subTit .noLink {
	opacity: 0.3;
}
footer nav li.product .row .subTit a {
	color: #fff;
	font-weight: bold;
}
footer nav li.product .row ul li {
	position: relative;
	padding-left: 1em;
}
footer nav li.product .row ul li:after {
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
	width: 8px;
	height: 1px;
	background: #bbb;
	content: "";
}
footer nav li.box .innerNav li .noLink,
footer nav li.product .row ul li .noLink {
	opacity: 0.3;
}
footer nav li.product .row .box {
	float: left;
	width: 33.333%;
}
@media screen and (max-width: 737px) {
	/*product*/
	footer nav li.product {
		width: auto;
	}
	footer nav li.product .row + .row {
		margin-top: 0;
	}
	footer nav li.product .row .subTit {
		padding: 0;
		border-bottom: 1px solid #bbb;
	}
	footer nav li.product .row .subTit b {
		display: inline-block !important;
		font-weight: normal;
	}
	footer nav li.product .innerNav .aco {
		padding: 0 1.7em;
		background: #999;
	}
	footer nav li.product .row .subTit a {
		display: block;
		padding: 0 1.7em;
		background: #888;
		color: #fff;
		font-weight: normal;
	}
	footer nav li.product .row .subNavTit {
		padding: 0 1em;
		border-bottom: 1px solid #aaa;
		background: #777;
	}
	footer nav li.product .row .box + .box .subNavTit {
		border-top: 1px solid #aaa;
	}
	footer nav li.product .row .subNavTit a {
		display: block;
	}
	footer nav li.product .row .subNav {
		background: #888;
	}
	footer nav li.product .row .box {
		float: none;
		width: auto;
	}
	footer nav li.product .row ul li:after {
		left: 26px;
	}
}

/*about*/
footer nav li.support,
footer nav li.about,
footer nav li.box.tit {
	margin-right: 0;
}
footer nav li.about,
footer nav li.box.tit {
	margin-top: 1em;
}
footer nav li.box.tit + li.box.tit {
	margin-top: 0.6em;
}
footer nav li.box.tit a {
	border-bottom: 0;
}


footer nav p {
	color: #fff;
	line-height: 1.7;
}
footer nav .hdTit {
	border-bottom: 1px solid #777;
	font-weight: bold;
	color: #444;
	font-size: 14px;
}
footer nav .tit a {
	display: block;
	font-weight: bold;
}
@media screen and (max-width: 737px) {
	/*about*/
	footer nav li.about,
	footer nav li.box.tit {
		margin-top: 0;
	}
	footer nav li.box.tit + li.box.tit {
		margin-top: 0;
		border-top: 1px solid #bbb;
	}
	footer nav .tit a {
		color: #fff;
		font-weight: normal;
	}
	footer nav .hdTit {
		padding: 0 10px;
		color: #fff;
		border-bottom: 1px solid #bbb;
		font-weight: normal;
		line-height: 44px;
		font-size: 16px;
	}
}

/*copyArea*/
footer .copyArea {
	position: relative;
	padding: 16px 0;
	background: rgba(51, 51, 51, 0.8);
	color: #fff;
}
footer .copyArea div.pagetop {
	position: fixed;
	bottom: 52px;
	right: 20px;
	z-index: 100;
}
footer .copyArea div.pagetop a {
	display: block;
	width: 60px;
	height: 60px;
	background: rgba(51, 51, 51, 0.6);
}
footer .copyArea div.pagetop a:after {
	display: block;
	position: absolute;
	top: -13px;
	left: 4px;
	width: 52px;
	height: 52px;
	color: #fff;
	font-size: 52px;
	content: "\e907";
	font-family: 'icomoon';
    transition-delay: 0s;
    transition-duration: 0.3s;
    transition-property: all;
    transition-timing-function: ease;
}
footer .copyArea div.pagetop:hover {
}
footer .copyArea .copy {
	font-size: 12px;
	text-align: center;
}
@media screen and (max-width: 737px) {
	/*copyArea*/
	footer .copyArea {
		height: 44px;
		padding: 13px 0;
		text-align: center;
		box-sizing: border-box;
	}
	footer .copyArea div.pagetop {
		bottom: 0;
		right: 0;
		z-index: 1;
	}
	footer .copyArea div.pagetop a {
		width: 44px;
		height: 44px;
		box-sizing: border-box;
	}
	footer .copyArea div.pagetop a:after {
		top: 0px;
		left: 1px;
		width: 44px;
		height: 44px;
		font-size: 44px;
	}
	footer .copyArea div.pagetop:hover {
	}

	footer .copyArea .copy {
		font-size: 12px;
	}
}


/* err
============================================================ */
.g_err #contents .inner {
	padding-top: 90px;
	text-align: center;
}
.g_err #contents .inner h2 {
	font-size: 48px;
	color: #005aa8;
}
.g_err #contents .inner h2 + p {
	font-weight: bold;
	font-size: 24px;
}
.g_err #contents .inner p + p {
	margin-top: 50px;
}
.g_err .ftLinkArea {
	display: none;
}
.g_err footer {
	margin-top: 80px;
}
@media screen and (max-width: 737px) {
	.g_err #contents .inner {
		margin: 0 10px;
		padding-top: 50px;
	}
	.g_err #contents .inner h2 {
		font-size: 34px;
	}
	.g_err #contents .inner h2 + p {
		font-size: 20px;
	}
	.g_err #contents .inner p + p {
		margin-top: 20px;
	}
}
