@charset "utf-8";
@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);

/*====================================================================
 reset styles
====================================================================*/
body,div,pre,p,blockquote,
form,fieldset,input,textarea,select,option,
dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,
embed,object {
	padding: 0;
	vertical-align: baseline;
	font-size: 100%;
	margin: 0;
	/*font-family: 'Noto Sans JP';*/
	font-family: 'Lucida Grande', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif;
}
body { color: #000; 
}
table,th,td {
	padding: 0;
	font-size: 100%;
	margin: 0;
}
* {
	margin:0px;
	padding:0px;
}
h1, h2, h3, h4, h5, h6 {
	font-size: 100%;
	font-weight: normal;
}
address, caption, cite, code, dfn, em, th, var {
	font-style: normal;
	font-weight: normal;
}
ul {
	list-style: none;
}
ol li ul li {
	margin-left: 0;
}
fieldset, img {
	border: 0;
}
a {
	outline: none;
}
table {
	font-size: 100%;
	border-collapse: collapse;
	border-spacing: 0;
}
tr {
	vertical-align: top;
}
caption, th {
	text-align:left;
}
abbr, acronym {
	border: 0;
}
sup {
	vertical-align: 2px;
}
sub {
	vertical-align: bottom;
}
a:link,a:active,a:visited {
	text-decoration:none;
}
a:link {
	color:#000;
	text-decoration:none;
}
a:visited {
	color:#000;
	text-decoration:none;
}
a:hover {
	color: #000;
	text-decoration: underline;
}

/*====================================================================
 Common class
====================================================================*/
.clearfix:after {
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}
.clearfix {
	min-height: 1px;
}
* html .clearfix {
	height: 1px;
	overflow: hidden;
}

.clear{
	clear:both;
}

.w4em{	width:4em; }
.w6em{	width:6em; }
.w8em{	width:8em; }
.w10em{	width:10em; }
.w14em{	width:14em; }
.w0 {width: 0 !important;} .w5 {width: 5% !important;} .w10 {width: 10% !important;} .w15 {width: 15% !important;} .w20 {width: 20% !important;} .w25 {width: 25% !important;} .w30 {width: 30% !important;} .w35 {width: 35% !important;} .w40 {width: 40% !important;} .w45 {width: 45% !important;} .w50 {width: 50% !important;} .w55 {width: 55% !important;} .w60 {width: 60% !important;} .w65 {width: 65% !important;} .w70 {width: 70% !important;} .w75 {width: 75% !important;} .w80 {width: 80% !important;} .w85 {width: 85% !important;} .w90 {width: 90% !important;} .w95 {width: 95% !important;} .w100 {width: 100% !important;}

.vtop{
	vertical-align:top;
}

.note{
	padding-left:1em;
	text-indent:-1em;
}

.noMargin {
	margin-bottom:0px !important;
}
.x-smallMargin {
	margin-bottom:5px !important;
}
.smallMargin {
	margin-bottom:10px !important;
}
.middleMargin {
	margin-bottom:15px !important;
}
.normalMargin {
	margin-bottom:20px !important;
}
.largeMargin {
	margin-bottom:30px !important;
}
.x-largeMargin {
	margin-bottom:40px !important;
}
.xx-largeMargin {
	margin-bottom:50px !important;
}
.xxx-largeMargin {
	margin-bottom:60px !important;
}
.textXX-small {
	font-size: 65% !important;
}
.textX-small {
	font-size: 75% !important;
}
.textSmall {
	font-size: 80% !important;
}
.textMiddle {
	font-size: 90% !important;
}
.textLarge {
	font-size: 120% !important;
}
.textX-large {
	font-size: 130% !important;
}
.textXX-large {
	font-size: 160% !important;
}
.textXXX-large {
	font-size: 180% !important;
}
.textCenter {
	text-align:center !important;
}
.textRight {
	text-align:right !important;
}
.textBold {
	font-weight:500 !important;
}
.textRed {
	color: #ea112b !important; 
}
.floatR {
	float:right;
}
.floatL {
	float:left;
}
.fadeimg {
}
ul.commonList {
	list-style: disc;
	padding-left: 25px;
}
ol.commonList {
	list-style: decimal;
	padding-left: 25px;
}
.colorRed { color: #c1272d !important; 
}
.textCaution {
	padding-left: 1em;
	text-indent: -1em;
}
.iconExternalInline {
	display: inline-block;
	*display: inline;
	*zoom: 1;
	min-height: 13px;
	background: url(../images/common/ic_external.png) no-repeat center 6px;
	height: 21px;
	width: 34px;
	white-space: nowrap;
	overflow: hidden;
	text-indent: 150%;
	vertical-align: text-top;
}
.iconPDFInline {
	display: inline-block;
	*display: inline;
	*zoom: 1;
	min-height: 13px;
	background: url(../images/common/icon_pdf.png) no-repeat center top;
	height: 21px;
	width: 34px;
	white-space: nowrap;
	overflow: hidden;
	text-indent: 150%;
	vertical-align: text-top;
}
.iconXlsInline {
	display: inline-block;
	*display: inline;
	*zoom: 1;
	min-height: 13px;
	background: url(../images/common/icon_xls.png) no-repeat center top;
	height: 21px;
	width: 34px;
	white-space: nowrap;
	overflow: hidden;
	text-indent: 150%;
	vertical-align: text-top;
}
.iconDocInline {
	display: inline-block;
	*display: inline;
	*zoom: 1;
	min-height: 13px;
	background: url(../images/common/icon_doc.png) no-repeat center top;
	height: 21px;
	width: 34px;
	white-space: nowrap;
	overflow: hidden;
	text-indent: 150%;
	vertical-align: text-top;
}
.iconDwgInline {
	display: inline-block;
	*display: inline;
	*zoom: 1;
	min-height: 13px;
	background: url(../images/common/icon_dwg.png) no-repeat center top;
	height: 21px;
	width: 34px;
	white-space: nowrap;
	overflow: hidden;
	text-indent: 150%;
	vertical-align: text-top;
}
a.iconExternalInline {
	display: inline;
	background: url(../images/common/ic_external.png) no-repeat 100% 6px;
	height: auto;
	width: auto;
	white-space: inherit;
	overflow: inherit;
	text-indent: inherit;
	vertical-align: auto;
	padding-right: 17px;
}
a.iconPDFInline {
	display: inline;
	background: url(../images/common/icon_pdf.png) no-repeat 100% top;
	height: auto;
	width: auto;
	white-space: inherit;
	overflow: inherit;
	text-indent: inherit;
	vertical-align: auto;
	padding-right: 30px;
}
a.iconXlsInline {
	display: inline;
	background: url(../images/common/icon_xls.png) no-repeat 100% top;
	height: auto;
	width: auto;
	white-space: inherit;
	overflow: inherit;
	text-indent: inherit;
	vertical-align: auto;
	padding-right: 30px;
}
a.iconDocInline {
	display: inline;
	background: url(../images/common/icon_doc.png) no-repeat 100% top;
	height: auto;
	width: auto;
	white-space: inherit;
	overflow: inherit;
	text-indent: inherit;
	vertical-align: auto;
	padding-right: 30px;
}
a.iconDwgInline {
	display: inline;
	background: url(../images/common/icon_dwg.png) no-repeat 100% top;
	height: auto;
	width: auto;
	white-space: inherit;
	overflow: inherit;
	text-indent: inherit;
	vertical-align: auto;
	padding-right: 30px;
}
a.iconDLInline {
	display: inline;
	background: url(../images/common2018/icon_dl.png) no-repeat 100% 2px;
	height: auto;
	width: auto;
	white-space: inherit;
	overflow: inherit;
	text-indent: inherit;
	vertical-align: auto;
	padding-right: 22px;
}
@media screen and (max-width:767px){
.iconExternalInline {
	display: inline-block;
	*display: inline;
	min-height: 13px;
	background: url(../images/common/ic_external_sp.png) no-repeat center 6px;
	background-size: 12px auto;
}
.iconPDFInline {
	display: inline-block;
	*display: inline;
	min-height: 13px;
	background: url(../images/common/icon_pdf_sp.png) no-repeat center top;
	background-size: 24px auto;
}
.iconXlsInline {
	display: inline-block;
	*display: inline;
	min-height: 13px;
	background: url(../images/common/icon_xls_sp.png) no-repeat center top;
	background-size: 24px auto;
}
.iconDocInline {
	display: inline-block;
	*display: inline;
	min-height: 13px;
	background: url(../images/common/icon_doc_sp.png) no-repeat center top;
	background-size: 24px auto;
}
.iconDwgInline {
	display: inline-block;
	*display: inline;
	min-height: 13px;
	background: url(../images/common/icon_dwg_sp.png) no-repeat center top;
	background-size: 24px auto;
}

a.iconExternalInline {
	display: inline;
	background: url(../images/common/ic_external_sp.png) no-repeat 100% 6px;
	background-size: 12px auto;
}
a.iconPDFInline {
	display: inline;
	background: url(../images/common/icon_pdf_sp.png) no-repeat 100% top;
	background-size: 24px auto;
}
a.iconXlsInline {
	display: inline;
	background: url(../images/common/icon_xls_sp.png) no-repeat 100% top;
	background-size: 24px auto;
}
a.iconDocInline {
	display: inline;
	background: url(../images/common/icon_doc_sp.png) no-repeat 100% top;
	background-size: 24px auto;
}
a.iconDwgInline {
	display: inline;
	background: url(../images/common/icon_dwg_sp.png) no-repeat 100% top;
	background-size: 24px auto;
}
.floatR {
	float:none;
}
.floatL {
	float:none;
}

.sp-w100 {
	width: 100% !important;
}
}

/*====================================================================
 Layout styles PC size
====================================================================*/
html, body {
	min-width: 960px;
}
#wrapper {
	min-width: 960px;
	padding-top: 80px;
}

#header {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
	min-width: 960px;
  z-index: 111;
	box-sizing: border-box;
}
#header #headerInner {
  background: #fff;
  height: 80px;
  padding: 0 0 0 35px;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: space-between;
  justify-content: space-between;
	box-sizing: border-box;
}
#header #logo {
  line-height: 1;
}
#header img {
  vertical-align: top;
}
#header #headerMenu {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}
.siteSearch {
  background: #fff;
	border: #e4e4e4 1px solid;
  border-radius: 3px;
  width: 200px;
  height: 40px;
  margin-right: 20px;
}
.siteSearch form {
	width: 100%;
	height: 100%;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: space-between;
  justify-content: space-between;
	box-sizing: border-box;
}
.siteSearch input[type="submit"] {
  width: 41px;
  height: 100%;
  background: url(../images/common2018/ic_h_search.png) no-repeat 11px 50%;
  border: none;
  padding: 8px 9px 8px 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
	cursor: pointer;
}
.siteSearch input[type="text"] {
  background: none;
  border: none;
  width: 159px;
  height: 100%;
  padding: 8px 9px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
	box-sizing: border-box;
}
#header #headerMenu .languageBtn {
  margin-right: 22px;
  
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
	box-sizing: border-box;
}
#header #headerMenu .languageBtn > * {
  margin: 0 3px;
}
#header #headerMenu .languageBtn > a {
  display: block;
  height: 26px;
  padding: 6px 10px;
  border-radius: 13px;
  background: #ededed;
  color: #3b3b3b;
  text-decoration: none;
  font-size: 0.9rem;
  line-height: 1;
	box-sizing: border-box;
}
#header #headerMenu .languageBtn > a:hover {
	opacity: 0.6;
}
#header #headerMenu .contactBtn > a {
	border: none;
  font-size: 0.9rem;
  border-radius: 3px;
  height: 40px;
  padding: 14px 20px;
  background: #ededed;
  color: #3b3b3b;
	box-sizing: border-box;
}


#header .gnaviBtn {
	display: block;
	position: relative;
	text-align: center;
	font-weight: bold;
	height: 80px;
	width: 80px;
	background: #fff;
	border-left: #1170c0 1px solid;
	margin-left: 24px;
}
#header .gnaviBtn a {
	display: block;
	height: 80px;
	width: 80px;
	text-decoration: none;
}
#header .gnaviBtn .icon,
#header .gnaviBtn .icon:after,
#header .gnaviBtn .icon:before {
  background: #1170c0;
  height: 1px;
  left: 20px;
  position: absolute;
  top: 50%;
  -webkit-transition-duration: .2s;
          transition-duration: .2s;
  width: 40px;
}
#header .gnaviBtn .icon {
	margin-top: -7px;
}
#header .gnaviBtn .icon:after,
#header .gnaviBtn .icon:before {
  left: 0;
}
#header .gnaviBtn .open .icon {
  background: transparent;
}

#header .gnaviBtn .icon:after,
#header .gnaviBtn .icon:before {
  content: '';
}

#header .gnaviBtn .icon:before {
  margin-top: -10px;
}

#header .gnaviBtn .icon:after {
  margin-top: 8px;
}

#header .gnaviBtn .open .icon:after,
#header .gnaviBtn .open .icon:before {
  background: #1170c0;
	margin-left: 3px;
  margin-top: -3px;
  width: 34px;
}

#header .gnaviBtn .open .icon:before {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

#header .gnaviBtn .open .icon:after {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
#header .gnaviBtn .text {
	position: absolute;
	bottom: 15px;
	left: 0;
	width: 100%;
	color: #1170c0;
	font-size: 0.7rem;
	font-weight: normal;
}
#header .gnaviBtn .close,
#header .gnaviBtn .open .menu {
	display: none;
}
#header .gnaviBtn .open .close {
	display: block;
}

#globalNavi {
	position: fixed;
	top: 80px;
	width: 100%;
	background: #f3f3f3;
  z-index: 111;
}

#gnaviWrapper {
	display: none;
	max-height: calc(100vh - 140px);
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}

.gnaviList {
	padding: 10px 60px 20px;
}
.gnaviList .contactBtn > a {
	border-color: #d6d6d6;
}
.gnaviList .flexItem > ul > li {
	margin-bottom: 12px;
	border-bottom: solid 1px #d6d6d6;
}
.gnaviList .flexItem > ul > li.open {
	border-bottom: none;
}
.gnaviList .flexItem > ul > li > a {
	display: block;
	padding: 10px 0 10px;
	font-size: 1.6rem;
	margin-right: 40px;
	
	text-decoration: underline;
	color: #7d7d7d;
}
.gnaviList .flexItem > ul > li > a > span {
	display: inline;
	background: none;
}
.gnaviList .flexItem > ul > li.hasChild {
	position: relative;
}
.gnaviList .flexItem > ul > li.hasChild > a {
	text-decoration: none;
	color: #000;
}
.gnaviList ul > li.hasChild > .toggleBtn {
	display: block;
	width: 31px;
	height: 31px;
	cursor: pointer;
	position: absolute;
	right: 0;
	top: 10px;
}
.gnaviList ul > li.hasChild > .toggleBtn:before,
.gnaviList ul > li.hasChild > .toggleBtn:after {
	content: "";
	position: absolute;
	display: block;
	right: 0;
	top: 50%;
	width: 31px;
	height: 1px;
	background: #1170bf;
}
.gnaviList ul > li.hasChild > .toggleBtn:after {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.gnaviList ul > li.hasChild > a.open + .toggleBtn:after {
	display: none;
}
.gnaviList ul > li > ul.subList {
	display: none;
	height: auto;
	width: 100%;
	margin-bottom: 40px;
	border-top: solid 1px #d6d6d6;
}
.gnaviList ul > li > ul.subList li {
	width: 100%;
}
.gnaviList ul > li > ul.subList li a {
	display: block;
	padding: 14px 0;
	font-size: 0.9rem;
	border-bottom: none;
	text-decoration: underline;
	color: #7d7d7d;
	font-weight: bold;
}

#footerNavi {
	background: #fff;
	padding: 25px 32px 50px;
}
#footerNavi .innerBlock {
	margin: 0 -30px;
	display: -webkit-flex;
  display: flex;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}
#footerNavi .colmn {
	width: 20%;
	margin: 0 30px;
}
#footerNavi p {
	font-size: 0.95rem;
	font-weight: bold;
	padding-bottom: 10px;
	border-bottom: #d6d6d6 1px solid;
	margin-bottom: 25px;
}
@media screen and (min-width:768px){
#footerNavi .colmn ul {
	display: block !important;
}
}
#footerNavi li {
	font-size: 0.8rem;
	margin-bottom: 15px;
}
#footerNavi .colmn ul + p,
#footerNavi .colmn p + p{
	padding-top: 25px;
}
#footerNavi .separator {
	border-top: solid 1px #cbcbcb;
	padding-top: 15px;
}
#footerNavi .separator a {
	color: #333;
}
#footer {
	background: #f3f3f3;
	padding: 50px 40px;
	font-size: 0.7rem;
	text-align: center;
}
#footer .footerLink {
	margin-bottom: 35px;
}
#footer .footerLink ul li {
	display: inline-block;
	padding-left: 15px;
	border-left: #797979 1px solid;
	margin-left: 15px;
}
#footer .footerLink ul li:first-child {
	border-left: none;
}

.pagetop {
	position: fixed;
	right: 20px;
	bottom: 30px;
	background: #fff;
	width: 62px;
	height: 62px;
	border: #999999 1px solid;
	border-radius: 50%;
	z-index: 110;
}
.pagetop a {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	text-decoration: none;
}
.pagetop a:after {
	content: "";
	position: absolute;
	right: 21px;
	top: 50%;
	margin-top: -6px;
	width: 18px;
	height: 18px;
	border-top: 3px solid #999999;
	border-right: 3px solid #999999;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	-webkit-transition-duration: 0.3s;
	transition-duration: 0.3s;
}

#contentsWrapper {
}
#contents a {
	color: #1170bf;
}
#pageMain {
	padding-left: 1px;
}
#contents {
}
#contents p,
#contents ul,
#contents ol {
	line-height: 1.7em;
}


.icExternalInline {
	display: inline-block;
	*display: inline;
	*zoom: 1;
	padding-right: 17px;
	min-height: 13px;
	background: url(../images/common/ic_external.png) no-repeat right 8px;
}
a.icExternalInline {
	display: inline;
	padding-right: 17px;
	background: url(../images/common/ic_external.png) no-repeat 100% 8px;
}
.icPdfInline {
	display: inline-block;
	*display: inline;
	*zoom: 1;
	padding-right: 30px;
	min-height: 21px;
	background: url(../images/common/icon_pdf.png) no-repeat right top;
}
.icExcelInline {
	display: inline-block;
	*display: inline;
	*zoom: 1;
	padding-right: 30px;
	min-height: 21px;
	background: url(../images/common/icon_xls.png) no-repeat right top;
}
.icWordInline {
	display: inline-block;
	*display: inline;
	*zoom: 1;
	padding-right: 30px;
	min-height: 21px;
	background: url(../images/common/icon_doc.png) no-repeat right top;
}
.icCursolRInline {
	padding-left:18px;
	background:url(../images/common/icon_link_r.png) no-repeat;
	background-position:2px center;
}
.icCursolDInline {
	padding-left:18px;
	background:url(../images/common/icon_link_d.png) no-repeat;
	background-position:left center;
}

.lv2{
	border-bottom: solid 1px #ccc;
	display:block;
}

.lv3 li a{
	/*padding-left:-1em!important;
	text-indent:1em!important;*/
	padding-left:25px!important;
	font-size:0.8em;
}


.inquiryBoxGn {
	display: none;
}
.topPage .inquiryBoxGn {
	display: block;
}

/*====================================================================
 Layout styles SP size
====================================================================*/
.spBreak {
	display: none;
}
.spBreak480 {
	display: none;
}
.pcBreak {
	display: block;
}
.spDisplay {
	display: none;
}
.pcDisplay {
	display: inline;
}
@media screen and (max-width: 480px){
.spBreak480 {
	display: block;
}
}
@media screen and (max-width:767px){
html, body {
	min-width: inherit;
}
.spBreak {
	display: block;
}
.pcBreak {
	display: none;
}
.spDisplay {
	display: inline;
}
.pcDisplay {
	display: none;
}
#wrapper {
	min-width: inherit;
	padding-top: 50px;
}
#header {
	min-width: inherit;
}
#header #headerInner {
	padding-left: 0;
	height: 50px;
}
#header #logo a {
	display: block;
	padding: 10px;
	height: 46px;
	box-sizing: border-box;
}
#header #logo img {
	width: auto;
	height: 100%;
}

#header #headerMenu .languageBtn,
#header #headerMenu .siteSearch,
#header #headerMenu .contactBtn {
	display: none;
}

#header .gnaviBtn {
	display: block;
	position: relative;
	text-align: center;
	font-weight: bold;
	height: 50px;
	width: 50px;
	background: #fff;
	margin-left: 10px;
}
#header .gnaviBtn a {
	display: block;
	height: 100%;
	width: 100%;
	text-decoration: none;
}
#header .gnaviBtn .icon,
#header .gnaviBtn .icon:after,
#header .gnaviBtn .icon:before {
  background: #1170c0;
  height: 1px;
  left: 15px;
  position: absolute;
  top: 50%;
  -webkit-transition-duration: .2s;
          transition-duration: .2s;
  width: 20px;
}
#header .gnaviBtn .icon {
	margin-top: -7px;
}
#header .gnaviBtn .icon:after,
#header .gnaviBtn .icon:before {
  left: 0;
}
#header .gnaviBtn .open .icon {
  background: transparent;
}

#header .gnaviBtn .icon:after,
#header .gnaviBtn .icon:before {
  content: '';
}

#header .gnaviBtn .icon:before {
  margin-top: -5px;
}

#header .gnaviBtn .icon:after {
  margin-top: 4px;
}

#header .gnaviBtn .open .icon:after,
#header .gnaviBtn .open .icon:before {
  background: #1170c0;
	margin-left: 1px;
  margin-top: -2px;
  width: 17px;
}

#header .gnaviBtn .open .icon:before {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

#header .gnaviBtn .open .icon:after {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
#header .gnaviBtn .text {
	position: absolute;
	bottom: 4px;
	left: 0;
	width: 100%;
	color: #1170c0;
	font-size: 0.4rem;
	font-weight: normal;
}
#header .gnaviBtn .close,
#header .gnaviBtn .open .menu {
	display: none;
}
#header .gnaviBtn .open .close {
	display: block;
}

#globalNavi {
	top: 50px;
}
#gnaviWrapper {
	max-height: calc(100vh - 50px);
}

.gnaviList .siteSearch {
	width: 100%;
	margin-bottom: 15px;
}
.gnaviList .siteSearch input[type="text"] {
	width: calc(100% - 41px);
}
.contactBtn {
	margin-bottom: 20px;
}
.contactBtn a {
	width: 100%;
	background: none;
}
.gnaviList .languageBtn {
  margin-bottom: 20px;
  
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
	box-sizing: border-box;
}
.gnaviList .languageBtn > * {
  margin: 0 3px;
}
.gnaviList .languageBtn > a {
  display: block;
  height: 34px;
  padding: 10px 20px;
  border-radius: 16px;
  background: none;
	border: #d6d6d6 1px solid;
  color: #3b3b3b;
  text-decoration: none;
  font-size: 0.8rem;
  line-height: 1;
	font-weight: bold;
	box-sizing: border-box;
}
.gnaviList .languageBtn > a:hover {
	opacity: 0.6;
}

.gnaviList {
	padding: 15px 10px;
}
.gnaviList .flexColWrap .flexItem {
	padding-bottom: 0 !important;
}
.gnaviList .flexItem > ul > li > a {
	display: block;
	padding: 10px 0 10px;
	font-size: 1.1rem;
	margin-right: 30px;
	
	text-decoration: underline;
	color: #7d7d7d;
}
.gnaviList ul > li > a > span {
	display: inline;
}
.gnaviList ul > li.hasChild > .toggleBtn {
	width: 30px;
	height: 30px;
	top: 7px;
}
.gnaviList ul > li.hasChild > .toggleBtn:before,
.gnaviList ul > li.hasChild > .toggleBtn:after {
	content: "";
	position: absolute;
	display: block;
	right: 0;
	top: 50%;
	width: 30px;
	height: 1px;
	background: #1170bf;
}
.gnaviList ul > li.hasChild > .toggleBtn:after {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.gnaviList ul > li.hasChild > a.open + .toggleBtn:after {
	display: none;
}
.gnaviList ul > li > ul.subList {
	margin-bottom: 0;
}
.gnaviList ul > li > ul.subList li:first-child {
	padding-top: 10px;
}
.gnaviList ul > li > ul.subList li a {
	padding: 10px 0;
	font-size: 0.8rem;
}

#gnaviWrapper .searchBox {
	border: solid 1px #dcdddd;
	padding: 4px;
	margin-bottom: 25px;
}
#gnaviWrapper .searchText {
	width: 142px;
	height: 20px;
	padding: 0;
	float: left;
	border: none;
	outline: none;
}
#gnaviWrapper .searchBtn {
	display: block;
	border: none;
	background: url(../images/common/search_btn.gif) no-repeat left top;
	width: 20px;
	height: 20px;
	float: right;
	cursor: pointer;
}
#gnaviWrapper .glovalLink a {
	display: block;
	background: url(../images/common/gnavi_ic_global.gif) no-repeat 2px top;
	min-height: 22px;
	padding-left: 35px;
}


#contentsWrapper {
	padding-left: 0;
}
#pageMain {
	padding-left: 0;
	padding-bottom: 20px;
}
#contents {
	float: none;
	width: auto;
	margin-right: 0;
	border-right: none;
}

#footer {
	padding: 10px 15px 35px 10px;
	text-align: center;
}

#footerNavi {
	padding: 0;
	background: #f3f3f3;
}
#footerNavi .innerBlock {
	-webkit-flex-direction: column;
  flex-direction: column;
	margin: 0;
}
#footerNavi .innerBlock .colmn {
	width: 100%;
	padding-bottom: 0 !important;
	box-sizing: border-box;
	margin: 0;
}
#footerNavi .colmn p {
	position: relative;
	padding: 0 !important;
	margin: 0;
}
#footerNavi .colmn p > a {
	display: block;
	padding: 14px 10px;
}
#footerNavi .colmn > ul {
	display: none;
	border-bottom: #d6d6d6 1px solid;
}
#footerNavi .colmn > ul.open {
	display: block;
}
#footerNavi .colmn > ul > li {
	margin-bottom: 0;
}
#footerNavi .colmn > ul > li > a {
	display: block;
	width: calc(100% - 40px);
	padding: 12px 10px;
	font-size: 0.9rem;
	
	text-decoration: underline;
	color: #7d7d7d;
}
#footerNavi .colmn > ul > li > a:hover {
	text-decoration: none;
}
#footerNavi ul > li > a > span {
	display: inline;
}
#footerNavi .colmn .toggleBtn {
	display: block;
	width: 30px;
	height: 30px;
	top: 10px;
	cursor: pointer;
	position: absolute;
	right: 10px;
}
#footerNavi .colmn .toggleBtn:before,
#footerNavi .colmn .toggleBtn:after {
	content: "";
	position: absolute;
	display: block;
	right: 0;
	top: 50%;
	width: 31px;
	height: 1px;
	background: #1170bf;
}
#footerNavi .colmn .toggleBtn:after {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
#footerNavi .colmn .toggleBtn a.open + .toggleBtn:after {
	display: none;
}
#footerNavi .colmn .toggleBtn:before,
#footerNavi .colmn .toggleBtn:after {
	content: "";
	position: absolute;
	display: block;
	right: 0;
	top: 50%;
	width: 30px;
	height: 1px;
	background: #1170bf;
}
#footerNavi .colmn .toggleBtn:after {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
#footerNavi .colmn a.open + .toggleBtn:after {
	display: none;
}


#footer .footerLink {
	margin-bottom: 30px;
}
#footer .footerLink ul {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  -webkit-justify-content: space-between;
  justify-content: space-between;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
#footer .footerLink ul li {
	display: block;
	width: 50%;
	padding-left: 0;
	border-left: none;
	margin-left: 0;
}
#footer .footerLink ul li a {
	display: block;
	padding: 10px 0;
}


.icExternalInline {
	padding-right: 23px;
	min-height: 14px;
	background: url(../images/common/ic_external_sp.png) no-repeat right 5px;
	background-size: auto 9px;
}
.icPdfInline {
	min-height: 24px;
	background: url(../images/common/icon_pdf_sp.png) no-repeat right 2px;
	background-size: auto 21px;
}
.icExcelInline {
	min-height: 24px;
	background: url(../images/common/icon_xls_sp.png) no-repeat right 2px;
	background-size: auto 21px;
}
.icWordInline {
	min-height: 24px;
	background: url(../images/common/icon_doc_sp.png) no-repeat right 2px;
	background-size: auto 21px;
}
.icCursolRInline {
	background:url(../images/common/icon_link_r_sp.png) no-repeat left center;
	background-position:2px center;
	background-size: auto 13px;
}
.icCursolDInline {
	background:url(../images/common/icon_link_d_sp.png) no-repeat left center;
	background-size: auto 8px;
}
}

/*====================================================================
 Layout styles for 2nd&3rd PC size
====================================================================*/
#contents .titleBlock2nd {
	width:100%;
	height:300px;
	padding: 0 42px;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	box-sizing: border-box;
}
.gnavi01 #contents .titleBlock2nd {
	background: url(../images/top2018/bg_products.jpg) no-repeat center center;
}
.gnavi02 #contents .titleBlock2nd {
	background: url(../images/top2018/bg_aboutus.jpg) no-repeat center center;
}
.gnavi03 #contents .titleBlock2nd {
	background: url(../images/top2018/bg_ir.jpg) no-repeat center center;
}
.gnavi04 #contents .titleBlock2nd {
	background: url(../images/top2018/bg_environment.jpg) no-repeat center center;
}

#contents .titleBlock2nd h1{
	padding: 53px 40px !important;
	background: #fff !important;
	border-left: #1170bf 5px solid;
	min-width: 330px;
	box-sizing: border-box;
	font-size:2.2rem;
}

#contents .titleBlock3rd {
	width:100%;
	min-height:160px;
	padding: 0 42px;
	background: -webkit-linear-gradient(left, #1170bf, #7db1dc);
	background: -ms-linear-gradient(left, #1170bf, #7db1dc);
	background: linear-gradient(left, #1170bf, #7db1dc);
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: flex-end;
	align-items: flex-end;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	box-sizing:border-box;
}
#contents .titleBlock3rd h1{
	font-size: 220%;
	margin-top:52px;
	padding-bottom:52px;
	padding-left: 32px;
	color:#fff;
	box-sizing: border-box;
	border-left: #fff 5px solid;
}
#contents .titleBlock3rd h1 span{
	font-size: 40%;
	display:block;
}
#contents .titleBlock3rd h1 span.inline{
	font-size: 40%;
	display:inline;
}
#contents .titleBlock3rd h1 span.t1,
#contents .titleBlock3rd h1 span.t2,
#contents .titleBlock3rd h1 span.t3{
	font-size: 100%;
}
ol.breadcrumb {
	padding-top: 7px;
	width:100%;
	padding-left:50px;
	list-style: none;
	box-sizing: border-box;
}
ol.breadcrumb li{
	font-size:0.9rem;
	padding-top:5px;
	float:left;
}
ol.breadcrumb li a{
	display: block;
	padding-right: 15px;
	position: relative;
	text-decoration: underline;
	color: #7d7d7d !important;
}
ol.breadcrumb li a:hover {
	text-decoration: none;
}
ol.breadcrumb li.linkArea{
	margin-right: 12px;
	height:29px;
}
ol.breadcrumb li.linkArea a:after {
	content: "";
	position: absolute;
	right: 0;
	top: 50%;
	margin-top: -5px;
	width: 7px;
	height: 7px;
	border-top: 1px solid #7d7d7d;
	border-right: 1px solid #7d7d7d;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	-webkit-transition-duration: 0.3s;
	transition-duration: 0.3s;
}
#mainBlock {
	width:auto;
	padding:35px;
}

#mainBlock h2 {
	position: relative;
	font-size:190%;
	font-weight: bold;
	padding-bottom:30px;
	margin-bottom:47px;
}
#mainBlock h2:after {
	content: "";
	position: absolute;
	width: 100px;
	height: 4px;
	background: #1170bf;
	left: 0;
	bottom: 0;
}
#mainBlock h2 span.icExternalInline {
	background: url(../images/common/ic_external.png) no-repeat right 12px;
}
#mainBlock h2 a{
	color:#000;
}
#mainBlock h2.spanLink {
	margin-bottom:30px;
	clear:both;
}
#mainBlock h2.spanLink span.floatR {
	float:right;
	font-size:14px;
	margin-top:5px;
	font-weight:normal;
}
#mainBlock h2.spanLink a {
	color:#000 !important;
	text-decoration:underline;
}
#mainBlock h2.spanLink a:visit, #mainBlock h2.spanLink a:hover {
	text-decoration:none;
}
#mainBlock h3{
	position:relative;
	font-size:130%;
	font-weight: bold;
	padding:7px 0 16px 0;
	margin-bottom:28px;
}
#mainBlock h3:after {
	content: "";
	position: absolute;
	width: 50px;
	height: 2px;
	background: #1170bf;
	left: 0;
	bottom: 0;
}
#mainBlock h4{
	position:relative;
	font-size:110%;
	font-weight: bold;
	padding:3px 0 3px 37px;
	margin-bottom:10px;
	color:#231815;
}
#mainBlock h4:after {
	content: "";
	position: absolute;
	width: 20px;
	height: 2px;
	background: #231815;
	left: 0;
	bottom: 50%;
	margin-top: -1px;
}
#mainBlock h5{
	font-size:90%;
	font-weight: bold;
	margin-bottom:10px;
}
#mainBlock p {
	font-size:90%;
}
#mainBlock a {
	color:#1170bf;
	text-decoration:none;
}
#mainBlock .textL {
	font-size: 100% !important;
	font-weight: bold;
}
#mainBlock .textS {
	font-size:85%;
}
#mainBlock .textCaption {
	font-size:70%;
}
#mainBlock .noteBox {
	background-color:#efefef;
	width:100%;
}
#mainBlock .noteBox p {
	font-size:75%;
	padding:25px;
}
#mainBlock .noteBox a {
	display: block;
	padding: 25px 23px 0 0;
}
#mainBlock .dlBox {
	background-color:#efefef;
	width:100%;
}
#mainBlock .dlBox p {
	font-size:90%;
	padding:25px;
}
#mainBlock .dlBox a {
	display: block;
	font-size:85%;
	text-align: center;
	color: #fff;
	background: url(../images/common/btn_dl.png) no-repeat left top;
	background-size:222px 100%;
	padding: 7px 23px 0 0;
	width:222px;
	height:29px;
	margin-top:20px;
}
#mainBlock .dlBox a:hover {
	text-decoration: none;
}
#mainBlock .col2L {
	float:left;
	width:47%;
}
#mainBlock .col2R {
	float:right;
	width:47%;
}
#mainBlock .imgWidth {
	width:100%;
	height:auto;
	display: block;
	margin: 0 auto;
}
.col2L img, .col2R img {
	max-width:100%;
	width: 100%;
	height: auto;
}
#mainBlock .imgMaxFullWide {
	max-width:100%;
	width: 100%;
	height:auto;
}
#mainBlock ol {
	font-size:90%;
	padding-left:18px;
}
#mainBlock ol li {
	margin-bottom:15px;
}
#mainBlock ul {
	font-size:90%;
	padding-left:0px;
	list-style-type:none;
}
#mainBlock ul li {
	background:url("../images/common/point_pc.gif") no-repeat left 10px;
	padding-left:18px;
	margin-bottom:7px;
}
#mainBlock li.none {
	background:none;
	padding-left:0;
}
#mainBlock li.ulInline {
	display:inline-block;
	margin-right:20px;
}
#mainBlock table {
	font-size:90%;
	width:100%;
	border-collapse: collapse;
	border: 1px solid #dcdddd;
}
#mainBlock table thead {
}
#mainBlock table thead th {
	background-color:#777777;
	padding: 8px;
	vertical-align:middle;
	text-align:center;
	color: #fff;
	border: 1px solid #dcdddd;
	line-height:1.5em;
}
#mainBlock table tbody th {
	background-color:#ededed;
	padding: 8px;
	vertical-align:middle;
	border: 1px solid #dcdddd;
	line-height:1.5em;
}
#mainBlock table tbody td {
	padding: 8px;
	vertical-align:middle;
	border: 1px solid #dcdddd;
	line-height:1.5em;
}
#mainBlock .wp20 {
	width:20%;
}
#mainBlock .wp25 {
	width:25%;
}
#mainBlock .wp30 {
	width:30%;
}
#mainBlock .wp40 {
	width:40%;
}
#mainBlock .wp50 {
	width:50%;
}
#mainBlock .picMargin {
	margin-left:30px;
	margin-bottom:10px;
}
.dl_ir {
	border-bottom:#dcdddd 1px solid;
	clear: both;
}
.dl_ir dl {
	width:100%;
}
.dl_ir dt.date {
	border-top:#dcdddd 1px solid;
	float: left;
	padding: 12px 0 0;
	width: 16%;
	color:#7f7f7f;
	font-size:75%;
}
.dl_ir dt.icon {
	border-top:#dcdddd 1px solid;
	font-size:70%;
	float: left;
	padding:10px 0 0;
	width: 11%;
	text-align:center;
	color:#fff;
}
.dl_ir dt.icon span{
	padding:1px 5px;
	color:#fff;
	display:block;
}
.dl_ir dd {
	border-top:#dcdddd 1px solid;
	font-size:90%;
	float: left;
	padding:10px 0 10px 3%;
	width:70%;
	line-height:1.5em;
}
dl.inquiry{  
	width:100%;
	margin-bottom:70px;
}
dl.inquiry dt{  
	font-weight : 500;
	color:#fff;
	background-color : #a9c5cf;
	text-align:center;
	padding-top : 35px;
	width : 150px;
	height:55px;
	float : left;/* 左に寄せる */
	clear : both;/* フロートの解除 */
}

dl.inquiry dd{    
	border-top:#efefef 5px solid;
	border-bottom:#efefef 5px solid;
	border-right:#efefef 5px solid;
	background-color : #fff;
	padding : 12px 10px 10px;
	width : auto;
	height:60px;
	margin-left : 150px;/* DTの幅分の設定 */
}
dl.inquiry dd span.txt {
	padding:5px 10px 0;
	line-height:1.5em;
	font-size:90%;
}
dl.inquiry dd span.number {
	font-size: 140%;
	font-weight: bold;
	padding:5px 5px 5px 10px;
	line-height:1.5em;
}
dl.inquiry dd span.time { 
	font-size: 70%; 
}
dl.inquiry dd span.inquiryBtn a {
	display: block;
	font-size:90%;
	text-align: center;
	color: #fff;
	background: url(../images/common/btn_inquiry.png) no-repeat left top;
	padding: 7px 8px 0 0;
	width:172px;
	height:29px;
	margin-top:13px;
	float:right;
}
img.linkPdf {
	padding-left:8px;
	vertical-align: top;
}
#contents dl.inquiry dd span.inquiryBtn a {
	color: #fff;
}
dl.inquiry dd span.inquiryBtn a:hover {
	text-decoration: none;
}

.inquiryBox {
	border: #d6d6d6 1px solid;
	border-radius: 4px;
	padding: 60px 40px;
	margin-bottom: 50px;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}
.inquiryBox .tel {
	width: 54%;
	background: url(../images/common2018/icon_tel.png) no-repeat left center;
	padding-left: 93px;
	box-sizing:border-box;
}
.linkBox .floatL {
	margin-right: 12px;
	margin-bottom: 0;
}
#contents .linkBox {
	padding: 0;
}
#contents .linkBox a {
	display: block;
	width: 100%;
	height: 100%;
	color: #000;
	padding: 30px 25px 15px;
	box-sizing: border-box;
}
#contents .inquiryBox .tel .telNumber {
	font-size: 2.9rem;
	font-weight: bold;
	line-height: 2.6rem;
	margin-bottom:10px;
	margin-top: 5px;
}
.inquiryBox .btns {
	width: 46%;
	box-sizing:border-box;
}
.relatedLinks {
	border: #c8deef 1px solid;
	background: #ebf3f9;
	padding: 25px 30px;
	border-radius: 4px;
}
#contents .relatedLinks p {
	font-size: 1rem;
	font-weight: bold;
	margin-bottom: 10px;
}
#contents .relatedLinks p.sub {
	margin-bottom: 5px;
	font-size: 90%;
}
.relatedLinks ul {
	margin-bottom: 10px;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: flex-start;
	align-items: flex-start;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
.relatedLinks ul:last-of-type {
	margin-bottom: 0;
}
#contents .relatedLinks ul li {
	padding: 5px 25px;
	background: none;
	margin-bottom: 0;
}
#contents .relatedLinks a {
	color: #000;
	text-decoration: none;
}
#contents .relatedLinks a:hover {
	text-decoration: underline;
}



/*====================================================================
 Layout styles for 2nd&3rd SP size
====================================================================*/

@media screen and (max-width:767px){
#contents .titleBlock2nd {
	width:100%;
	height:125px;
	padding: 0 10px;
}

#contents .titleBlock2nd h1{
	padding: 20px !important;
	min-width: 160px;
	margin:0;
	font-size: 1.2rem;
	font-weight: bold;
	border-left-width: 3px;
}
#contents .titleBlock3rd {
	width:100%;
	min-height:120px;
	padding: 0 30px;
	background: -webkit-linear-gradient(left, #1170bf, #7db1dc);
	background: linear-gradient(left, #1170bf, #7db1dc);
}
#contents .titleBlock3rd h1{
	font-size:180%;
	margin-top:38px;
	padding-bottom:38px;
	padding-left:10px;
}
#contents ol.breadcrumb {
	border:none;
  width:auto;
	padding: 6px 8px 0 10px;
	list-style: none;
	margin-bottom: 10px;
}
ol.breadcrumb li{
	font-size:0.8rem;
}
#mainBlock {
	-webkit-text-size-adjust: 100%;
	width:auto;
	padding:10px 10px;
}
#mainBlock h2 {
	font-size:150%;
	padding-bottom:10px;
	margin-bottom:20px;
}
#mainBlock h2.spanLink {
	margin-bottom:20px;
	clear:both;
}
#mainBlock h5{
	font-size:105%;
}
/*#mainBlock p {
	font-size:100%;
}*/
#mainBlock .textStrong {
	font-size: 110% !important;
	font-weight: bold;
}
#mainBlock .col2L {
	float:none;
	width:100%;
	margin-bottom:30px;
}
#mainBlock .col2R {
	float:none;
	width:100%;
}
#mainBlock .picMargin {
	margin-left:0;
	text-align:center;
}
#mainBlock ol {
	font-size:100%;
}
#mainBlock ol li {
	margin-bottom:10px;
}
#mainBlock ul {
	font-size:100%;
}
#mainBlock ul li {
	background:url("../images/common/point_sp.gif") no-repeat left 10px;
	background-size:5px 6px;
	padding-left:18px;
	margin-bottom:4px;
}
#mainBlock table {
	font-size:75%;
}
#mainBlock .noteBox p {
	font-size:85%;
	padding:20px;
}
#mainBlock .noteBox a {
	padding: 14px 0px 8px 0;
	margin:0 auto 20px;
	text-align:center;
}
#mainBlock .dlBox a {
	color: #fff;
	background: url(../images/common/btn_dl_sp.png) no-repeat left top;
	background-size: 100% 100%;
	padding: 14px 0px 8px 0;
	width:275px;
	min-height: 28px;
	margin:0 auto 20px;
}
#mainBlock .imgWidthSP {
	width:100%;
	height:auto;
}
.dl_ir {
	border-top:#dcdddd 2px solid;
	border-bottom:none;
}
.dl_ir dt.date {
	border-top:none;
	padding: 20px 0 0;
	width: 140px;
	font-size:95%;
}
.dl_ir dt.icon {
	border-top:none;
	font-size:95%;
	padding:20px 0 0;
	width: 140px;
}
.dl_ir dt.icon span{
	padding:0 10px;
}
.dl_ir dd {
	border-top:none;
	border-bottom:#dcdddd 2px solid;
	font-size:100% !important;
	padding:10px 0;
	width:100%;
	line-height:1.7em;
}

.inquiryBox {
	padding: 20px;
	margin-bottom:20px;
	-webkit-flex-direction: column;
	flex-direction: column;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}
.inquiryBox .tel {
	width: 100%;
	background: url(../images/common2018/icon_tel.png) no-repeat left center;
	background-size: 45px auto;
	padding-left: 55px;
	margin-bottom: 20px;
}
#contents .inquiryBox .tel .telNumber {
	font-size: 2.3rem;
	line-height: 2.2rem;
	margin-bottom:10px;
}
.inquiryBox .btns {
	width: 100%;
}

#contents .linkBox a {
	padding: 15px;
}
#contents .linkBox p {
	margin-bottom: 0;
}
#contents .linkBox .floatL {
	margin: 0;
	text-align: center;
}

.relatedLinks {
	padding: 15px 20px;
}
#contents .relatedLinks p {
	font-size: 1rem;
	margin-bottom:10px;
}
#contents .relatedLinks ul li {
	font-size: 0.9rem;
	padding: 5px 10px;
}


img.linkPdf {
	vertical-align: middle;
}
img.linkExternal {
	vertical-align: middle;
}
#mainBlock dl.inquiry {
	display: none;
}

.smallMargin {
	margin-bottom:6px !important;
}
.middleMargin {
	margin-bottom:10px !important;
}
.normalMargin {
	margin-bottom:16px !important;
}
.largeMargin {
	margin-bottom:20px !important;
}
.x-largeMargin {
	margin-bottom:30px !important;
}

#mainBlock .imgWidth {
	width:100%;
	height:auto;
}
}
@media screen and (max-width: 480px){
#contents .titleBlock3rd h1.line2{
	font-size:180%;
	padding-top:20px;
	padding-left:10px;
	line-height: 1.3em;
}

}

/* module */
.fadeAction {
  opacity: 1;
  transition-duration: .3s;
	-webkit-transition-duration: .3s;
  transition-property: opacity;
  -webkit-transition-property: opacity;
}
.fadeAction:hover {
  opacity: 0.8;
}

.cursol.more {
	position: relative;
	padding-right: 67px;
}
.cursol.more:before,
.cursol.more:after {
	content: "";
	position: absolute;
	right: 0;
	top: 50%;
}
.cursol.more:before {
	position: absolute;
	width: 57px;
	height: 1px;
	background: #0e6fbc;
	margin-top: -1px;
}
.cursol.more:after {
	position: absolute;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 6px 0 0 10px;
	border-color: transparent transparent transparent #0e6fbc;
	right: 0;
	top: 50%;
	margin-top: -6px;
}

.button {
  display: inline-block;
  position: relative;
  min-width: 120px;
  height: 40px;
  padding: 11px 16px;
  background: #fff;
	border: #e4e4e4 1px solid;
  border-radius: 3px;
  text-align: left;
  font-size: 0.9rem;
	text-align: center;
  text-decoration: none !important;
  line-height: 1;
  word-break: keep-all;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  vertical-align: middle;
	box-sizing: border-box;
}
input.button {
  cursor: pointer;
}
.button:hover {
  opacity: 0.6;
}
.button.inquiry {
	border: #1170bf 2px solid;
	width: 100%;
	height: 90px;
	padding: 25px 90px;
	box-sizing: border-box;
	border-radius: 45px;
	background: url(../images/common2018/icon_inquiry.png) no-repeat 40px 50%;
	font-size: 1.2rem;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
}

@media screen and (max-width:767px){
	
.button.inquiry {
	width: 100%;
	height: 70px;
	padding: 15px 70px;
	border-radius: 35px;
	background: url(../images/common2018/icon_inquiry.png) no-repeat 40px 50%;
	background-size: 35px auto;
	font-size: 1rem;
}
	
}

.flexColWrap {
  margin: 0 -20px;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: stretch;
  align-items: stretch;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
.flexColWrap.aiCenter {
  -webkit-align-items: center;
  align-items: center;
}
.flexColWrap .flexItem {
  padding: 0 20px;
	box-sizing: border-box;
}
.flexColWrap.noColMargin {
	margin: 0;
}
.flexColWrap.noColMargin .flexItem {
	padding: 0;
}
.flexColWrap[data-col="2"] .flexItem {
  width: 50%;
}
.flexColWrap[data-col="3"] .flexItem {
  width: 33.3%;
}
.flexColWrap[data-col="4"] .flexItem {
  width: 25%;
}
.flexColWrap[data-col="5"] .flexItem {
  width: 20%;
}
.flexColWrap .flexItem > a {
  display: block;
  height: 100%;
  text-decoration: none;
}
.flexColWrap.anchorList {
	border-top: #eaeaea 1px solid;
}
.flexColWrap.anchorList .flexItem {
	padding: 0;
	border-bottom: #eaeaea 1px solid;
	min-height: 100px;
}
.flexColWrap.anchorList .flexItem > a {
	padding: 10px 0;
	box-sizing: border-box;
	color: #000 !important;
	font-weight: bold;
}
.flexColWrap.anchorList .flexItem > a:hover {
	color: #1170bf !important;
}
.flexColWrap.anchorList .flexItem > a span {
	position: relative;
	width: 100%;
	height: 100%;
	text-align: center;
	border-left: #eaeaea 1px solid;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
}
.flexColWrap.anchorList .flexItem:nth-child(4n + 1) > a span {
	border-left: none;
}
.flexColWrap.anchorList.block3box .flexItem:nth-child(4n + 1) > a span {
	border-left: #eaeaea 1px solid;
}
.flexColWrap.anchorList.block3box .flexItem:nth-child(3n + 1) > a span {
	border-left: none;
}

.flexColWrap.anchorList .flexItem > a span:before {
	content: "";
	position: absolute;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 6px 5.5px 0 5.5px;
	border-color: #c7c7c7 transparent transparent transparent;
	bottom: 0;
	left: 50%;
	margin-left: -4.5px;
}
.flexColWrap.anchorList .flexItem > a:hover span:before {
	display: none;
}


@media screen and (max-width:767px){
.flexColWrap {
	margin: 0;
	-webkit-flex-direction: column;
	flex-direction: column;
}
.flexColWrap .flexItem {
	width: 100% !important;
	min-height: 1px;
	padding: 0 0 20px !important;
}
.flexColWrap .flexItem:last-child {
	padding: 0 !important;
}

.flexColWrap .flexItem > a {
  height: auto;
}
.flexColWrap.anchorList {
	display: none;
}
}


/* contentsLinkSubBox
----------------------------------------------------*/
.contentsLinkBoxWrap {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: stretch;
  align-items: stretch;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
.contentsLinkSubBox {
	width: calc(50% - 10px);
	height: 320px;
	margin-right: 20px;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: stretch;
  align-items: stretch;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
}
.contentsLinkSubBox:nth-child(2n) {
	margin-right: 0;
}
.contentsLinkSubBox.reverse .title {
	-webkit-order: 2;
	order: 2;
}
.contentsLinkSubBox.railway {
	background: url(../images/products/bg_railway.jpg) no-repeat center center;
	background-size: cover;
}
.contentsLinkSubBox.traffic {
	background: url(../images/products/bg_traffic.jpg) no-repeat center center;
	background-size: cover;
}
.contentsLinkSubBox.afc {
	background: url(../images/products/bg_afc.jpg) no-repeat center center;
	background-size: cover;
}
.contentsLinkSubBox.parking {
	background: url(../images/products/bg_parking.jpg) no-repeat center center;
	background-size: cover;
}
.contentsLinkSubBox.smartsecurity {
	background: url(../images/products/bg_smartsecurity.jpg) no-repeat center center;
	background-size: cover;
}
.contentsLinkSubBox.platform {
	background: url(../images/products/bg_platform.jpg) no-repeat center center;
	background-size: cover;
}
.contentsLinkSubBox.robotics {
	background: url(../images/products/bg_robotics.jpg) no-repeat center center;
	background-size: cover;
}

.contentsLinkSubBox.mems {
	background: url(../images/products/bg_mems.jpg) no-repeat center center;
	background-size: cover;
}
.contentsLinkSubBox.ems {
	background: url(../images/products/bg_ems.jpg) no-repeat center center;
	background-size: cover;
}
.contentsLinkSubBox .title {
	width: 100%;
	padding: 67px;
	box-sizing: border-box;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
}
.contentsLinkSubBox .title a {
	display: block;
	width: 100%;
	color: #000 !important;
}
.contentsLinkSubBox .title .inner {
	position: relative;
	width: 100%;
	min-height: 150px;
	background: rgba(255, 255, 255, 0.8);
	padding: 28px;
	box-sizing: border-box;
}
.contentsLinkSubBox .title h2 {
	font-size: 1.2rem;
	font-weight: bold;
	color: #000;
	text-decoration: none;
}
.contentsLinkSubBox .title p {
	font-size: 0.8rem;
	line-height: 1.8;
	margin-bottom: 10px;
	color: #000;
}
.contentsLinkSubBox .title p.moreLink {
	position: absolute;
	right: 30px;
	bottom: 20px;
}
.contentsLinkSubBox .title a:hover p.moreLink {
	text-decoration: underline;
}
.contentsLinkSubBox .text {
	position: relative;
	width: 50%;
	padding: 45px 30px;
	background: rgba(255, 255, 255, 0.8);
	box-sizing: border-box;
}
.contentsLinkSubBox .text p {
	font-size: 1rem;
	font-weight: bold;
	margin-bottom: 15px;
}
.contentsLinkSubBox .text .list {
	border-top: #d6d6d6 1px solid;
}
.contentsLinkSubBox .text .list li {
	position: relative;
	padding: 15px 10px 15px 20px;
	border-bottom: #d6d6d6 1px solid;
}
.contentsLinkSubBox .text .list li:before {
	content: "";
	position: absolute;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #d6d6d6;
	left: 0;
	top: 50%;
	margin-top: -4px;
}

.contentsLinkSubBox.vertical {
	padding: 0;
	margin: 0;
	-webkit-flex-direction: column;
	flex-direction: column;
}
.contentsLinkSubBox.vertical .photo img {
	width: 100%;
	height: auto;
}
.contentsLinkSubBox.vertical .photo,
.contentsLinkSubBox.vertical .text {
	width: 100%;
	min-height: inherit;
}
.contentsLinkSubBox.vertical .text {
	padding: 1px 0;
}
.contentsLinkSubBox.vertical .text h3 {
	font-size: 1rem;
}
.contentsLinkSubBox.hasMoreLink.vertical .text {
	padding: 20px 0;
}
.contentsLinkSubBox.hasMoreLink.vertical .text h3 {
	font-size: 1.6rem;
}
.contentsLinkSubBox.hasMoreLink.vertical .text h3 .cursol.more {
	display: block;
}

@media screen and (max-width:767px){
.contentsLinkSubBox {
	-webkit-flex-direction: column;
	flex-direction: column;
	background: none !important;
	width: 100%;
	height: auto;
	margin-right: 0;
}
.contentsLinkSubBox .title {
	width: auto;
	padding: 0;
}
.contentsLinkSubBox.railway .title {
	background: url(../images/products/bg_railway.jpg) no-repeat center center;
	background-size: cover;
}
.contentsLinkSubBox.traffic .title {
	background: url(../images/products/bg_traffic.jpg) no-repeat center center;
	background-size: cover;
}
.contentsLinkSubBox.afc .title {
	background: url(../images/products/bg_afc.jpg) no-repeat center center;
	background-size: cover;
}
.contentsLinkSubBox.parking .title {
	background: url(../images/products/bg_parking.jpg) no-repeat center center;
	background-size: cover;
}
.contentsLinkSubBox.smartsecurity .title {
	background: url(../images/products/bg_smartsecurity.jpg) no-repeat center center;
	background-size: cover;
}
.contentsLinkSubBox.platform .title {
	background: url(../images/products/bg_platform.jpg) no-repeat center center;
	background-size: cover;
}
.contentsLinkSubBox.robotics .title {
	background: url(../images/products/bg_robotics.jpg) no-repeat center center;
	background-size: cover;
}
.contentsLinkSubBox.mems .title {
	background: url(../images/products/bg_mems.jpg) no-repeat center center;
	background-size: cover;
}
.contentsLinkSubBox.ems .title {
	background: url(../images/products/bg_ems.jpg) no-repeat center center;
	background-size: cover;
}
.contentsLinkSubBox .title a {
	background: none;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
}
.contentsLinkSubBox .title .inner {
	margin: 30px 0;
	max-width: 50%;
	min-width: 150px;
	min-height: 0;
	padding: 17px;
}
.contentsLinkSubBox .title h2 {
	display: block;
	font-size: 1.1rem;
	text-align: center;
}
.contentsLinkSubBox .title p.moreLink {
	display: none;
}
.contentsLinkSubBox .text {
	width: 100%;
	background: #f3f3f3;
	padding: 20px 20px;
	-webkit-order: 2;
	order: 2;
}
.contentsLinkSubBox .text p {
	font-size: 0.9rem;
}
.contentsLinkSubBox .text .list li {
	font-size: 0.8rem;
	padding: 8px 5px 8px 15px
}
.contentsLinkSubBox .text .moreLink {
	display: block;
}
.contentsLinkSubBox .text .moreLink .btn {
	color: #000 !important;
	font-size: 0.8rem;
}
}



#contents .pamphBlock {
	padding: 25px 165px;
	margin-top:110px;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	box-sizing:border-box;
}
#mainBlock .dlBox.pamphBlock .thumb {
	margin-right: 30px;
}
#mainBlock .dlBox.pamphBlock .thumb img {
	margin-top: -100px;
}
#mainBlock .dlBox.pamphBlock .title {
	font-size: 130%;
	font-weight: bold;
}
#mainBlock .dlBox.pamphBlock p {
	padding:0;
}
#mainBlock .dlBox.pamphBlock a {
	display: inline;
	font-size:100%;
	text-align: left;
	text-decoration: underline;
	color: #7d7d7d;
	font-weight: 500;
	background: url(../images/common2018/icon_dl.png) no-repeat 100% 2px !important;
	background-size: auto;
	padding: 0;
	width:auto;
	height:auto;
	margin-top:5px;
	padding-right: 22px;
}
#mainBlock .dlBox.pamphBlock a:hover {
	text-decoration: none;
}

@media screen and (max-width: 640px){
#contents .pamphBlock {
	-webkit-flex-direction: column;
	flex-direction: column;
	padding: 25px;
}
#mainBlock .dlBox.pamphBlock .thumb {
	margin-right: 0;
}
}



.cases {
  position: relative;
}
.casesBox.hasImg .caseImg img {
  max-width: 100% !important;
  vertical-align: top;
}
@media (min-width:768px){
  .cases {
    display: flex;
    display: -webkit-flex;
  }
  .casesBody {
    -webkit-flex: 1 1 auto;
    flex: 1 1 auto;
  }
  .casesBox {
    margin-bottom: 50px;
  }
  .casesBox.hasImg {
    position: relative;
    padding-left: 370px;
    min-height: 240px;
  }
  .casesBox.hasImg.img2col {
		min-height: 330px;
	}
  .casesBox.hasImg.img3col {
		min-height: 495px;
	}
  .casesBox.hasImg .caseImg {
    position: absolute;
    left: 0;
    top: 0;
    width: 330px !important;
  }
}
@media (max-width:767px){
  .cases {
    padding-top: 30px;
    margin-bottom: 30px;
  }
  .cases::before {
    top: 30px;
  }
  .casesBox {
    margin-bottom: 30px;
  }
  .casesBox.hasImg .caseImg {
    margin-bottom: 10px;
  }
}
.casesBox:last-child {
  margin-bottom: 0;
}
