﻿@charset "UTF-8";

html {
	font-size: 13px;
}

body {
	min-width: 980px;
	line-height: 1.69;
}

/* ----- IE8用 ----- */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}

/* ------------------------------
	base layout class
------------------------------ */
#float_pagetop {
	position: fixed;
	bottom: 20px;
	right: 10px;
	width: 60px;
	height: 60px;
}

#float_pagetop a {
	opacity: 0.8;
}

#float_pagetop a:hover {
	opacity: 1;
}

.container {
	width: 960px;
	margin-left: auto;
	margin-right: auto;
}

.pc-hide {
	display: none!important;
}


/* ------------------------------
	#globalHeader
------------------------------ */
#globalHeader {
	min-width: 960px;
	position: relative;
}

#gh_logo {
	position: absolute;
	top: 0;
	left: 50%;
	margin-left: -480px;
	width: 160px;
	height: 90px;
	z-index: 100;
}

#gh_logo a {
	position: relative;
	display: block;
	width: 160px;
	height: 90px;
	background: #ffe400;
}

#gh_logo a::before {
	position: absolute;
	display: block;
	content: '';
	top: 50px;
	left: 33px;
	height: 80px;
	width: 93px;
	transform: rotate(30deg) skew(-30deg);
	-webkit-transform: rotate(30deg) skew(-30deg);
	-ms-transform: rotate(30deg) skew(-30deg);
	background: #ffe400;
}

#gh_logo a img {
	position: absolute;
	left: 0;
	right: 0;
	top: 55px;
	margin: 0 auto;
	width: 117px;
	height: auto;
}

#gh_subNav {
	float: left;
	width: 506px;
	height: 22px;
	padding: 14px 0;
	margin-left: 201px;
	line-height: 22px;
	overflow: hidden;
}

#gh_subNav ul {
	overflow: hidden;
}

#gh_subNav ul li {
	float: left;
	width: auto;
	margin-left: 22px;
}

#gh_subNav ul li:first-child {
	margin-left: 0;
}

#gh_subNav ul li a {
	display: inline-block;
	position: relative;
	padding-left: 23px;
	color: #111;
}

#gh_subNav ul li a::before {
	content: "\e900";
	display: block;
	top: 0;
	left: 0;
	bottom: 0;
	margin: auto 0;
	position: absolute;
	width: 16px;
	height: 16px;
	font-family: 'icomoon' !important;
	font-size: 16px;
	line-height: 16px;
	color: #ffcc00;
	speak: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

#srchBox {
	float: left;
	width: 253px;
	height: 26px;
	margin-top: 13px;
	overflow: hidden;
}

#srchBox #srchForm {
	position: relative;
}

#srchBox #srchForm::before {
	content: "\e901";
	display: block;
	width: 26px;
	height: 26px;
	position: absolute;
	top: 0;
	right: 0;
	font-family: 'icomoon' !important;
	speak: none;
	text-indent: 0;
	text-align: center;
	font-size: 14px;
	line-height: 26px;
	color: #FFF;
	background: #585858;
}
	
#srchBox.watermark #srchInput {
	box-sizing: border-box;
	padding: 0px 5px;
	width: 227px;
	height: 26px;
	border-style: solid;
	border-width: 2px 0 2px 2px;
	border-color: #ddd;
	background: #FFF url(https://s.yimg.jp/images/search/customsearch/yjlogo/yjlogo_type4.gif) center center no-repeat;
	overflow: hidden;
}

#srchBox.watermark #srchInput.nomark {
	background: #EEE;
}

#srchBox #srchBtn {
	position: absolute;
	width: 26px;
	height: 26px;
	top: 0;
	right: 0;
	padding: 0px;
	border: none;
	background: transparent;
	cursor: pointer;
	text-indent: -9999px;
	overflow: hidden;
}
	
#srchBox #srchLogo {
	display: none;
}


/* ------------------------------
	#gh_english
------------------------------ */
#gh_english {
	height: 90px;
	overflow: hidden;
}

#gh_english::after {
	display: block;
	content: '';
	position: absolute;
	width: 100%;
	height: 3px;
	top: 87px;
	left: 0;
	background: #ffe400;
}

#gh_english_description {
	padding-left: 100px;
	height: 22px;
	padding: 16px 0 12px;
	font-size: 12px;
	line-height: 20px;
	overflow: hidden;
	text-align: right;
}

#gh_english_btn-jp {
	text-align: right;
}

#gh_english_btn-jp a {
	position: relative;
	box-sizing: border-box;
	display: inline-block;
	padding: 0 10px 0 20px;
	text-align: center;
	font-weight: bold;
	width: 159px;
	height: 28px;
	line-height: 24px;
	white-space: nowrap;
	letter-spacing: normal;
	border-width: 1px 3px 3px 1px;
	border-style: solid;
	border-color: #e6e6e6;
	border-radius: 5px;
	background: #2076cc;
	color: #FFF;
}

#gh_english_btn-jp a:hover {
	background: #0056ab;
	text-decoration: none;
}

#gh_english_btn-jp a::before {
	display: block;
	width: 11px;
	height: 11px;
	position: absolute;
	left: 9px;
	top: 0;
	bottom: 0;
	margin: auto 0;
	content: "\e932";
	font-size: 11px;
	line-height: 11px;
	font-family: 'icomoon' !important;
	speak: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.button-usual {
	font-size: 13px;
}




/* ------------------------------
	#globalNav
------------------------------ */
#gh_globalNav_button {
	display: none;
}

#gh_globalNav {
	clear: left;
	position: relative;
	display: block!important;
	background: url(../images/gnav_bg.gif) repeat-x center top;
	background-size: 1px 40px;
}

#gh_globalNav > ul {
	padding-left: 160px;
	width: 800px;
	margin: 0 auto;
	overflow: hidden;
}

#gh_globalNav .gNav_btn {
	float: left;
}

#gh_globalNav .gNav_btn > a {
	display: block;
	height: 40px;
	overflow: hidden;
	text-indent: -9999px;
	background-image: url(../images/gnav.gif);
	background-size: 800px 80px;
}

#gh_globalNav .gNav_btn:hover::before {
	position: absolute;
	content: '';
	left: 50%;
	top: 37px;
	width: 0;
	height: 0;
	border-width: 11px;
	border-style: solid;
	border-color: transparent;
	border-top-color: #0056ab;
	z-index: 95;
}

#gNav-product > a {
	background-position: 0 0;
	width:  126px;
}

#gNav-product:hover > a {
	background-position: 0 -40px;
}

#gNav-product:hover::before {
	margin-left: -267px;
}

#gNav-contact > a {
	background-position: -126px 0;
	width:  147px;
}

#gNav-contact:hover > a {
	background-position: -126px -40px;
}

#gNav-contact:hover::before {
	margin-left: -130px;
}

#gNav-technology > a {
	background-position: -273px 0;
	width:  126px;
}

#gNav-technology:hover > a {
	background-position: -273px -40px;
}

#gNav-technology:hover::before {
	margin-left: 6px;
}

#gNav-company > a {
	background-position: -399px 0;
	width:  126px;
}

#gNav-company:hover > a {
	background-position: -399px -40px;
}

#gNav-company:hover::before {
	margin-left: 132px;
}

#gNav-ir > a {
	background-position: -525px 0;
	width:  126px;
}

#gNav-ir:hover > a {
	background-position: -525px -40px;
}

#gNav-ir:hover::before {
	margin-left: 258px;
}

#gNav-recruit > a {
	background-position: -651px 0;
	width:  149px;
}

#gNav-recruit:hover > a {
	background-position: -651px -40px;
}

#gNav-recruit:hover::before {
	margin-left: 396px;
	display: none;
}

.megaMenu {
	display: none;
	position: absolute;
	padding-top: 60px;
	padding-bottom: 30px;
	left: 0;
	top: 40px;
	width: 100%;
	background: #fffef3;
	border-bottom: solid 3px #ffe400;
	z-index: 90;
}

.megaMenu a {
	color: #111;
}

#megaMenu_close {
	position: absolute;
	display: none;
	top: 63px;
	left: 50%;
	margin-left: 338px;
	box-sizing: border-box;
	width: 139px;
	line-height: 36px;
	height: 36px;
	text-align: center;
	border-style: solid;
	border-color: #e6e6e6;
	border-width: 1px 3px 3px 1px;
	border-radius: 5px;
	background: #FFF;
	overflow: hidden;
	cursor: pointer;
	z-index: 91;
}
#megaMenu_close img {
	width: 99px;
}

.megaMenu_heading {
	position: relative;
	margin-bottom: 10px;
	padding-left: 27px;
	font-size: 19px;
	font-weight: bold;
}

.megaMenu_heading::before {
	display: block;
	content: '';
	position: absolute;
	top: 6px;
	left: 3px;
	width: 16px;
	height: 19px;
	vertical-align: middle;
	background: url(../images/heading_icon_hex.png) no-repeat 0 0;
	background-size: contain;
}

.megaMenu_body .megaMenu_column {
	width: 300px;
	float: left;
	margin-left: 30px;
}

.megaMenu_body .megaMenu_column-1st {
	width: 300px;
	float: left;
	margin-left: 0;
}

.megaMenu_body .megaMenu_list > li {
	padding: 11px 0;
	background: url(../images/line_dotx.gif) repeat-x center bottom;
	line-height: 1.5;
}

.megaMenu_body .megaMenu_contact {
	width: 300px;
	float: left;
	margin-left: 30px;
}

.megaMenu_button {
	clear: both;
	padding-top: 12px;
	text-align: right;
}

.megaMenu_button > a {
	position: relative;
	display: inline-block;
	padding: 1px 20px 1px 30px;
	color: #FFF;
	font-weight: bold;
	border-radius: 2px;
	background-color: #585858;
}

.megaMenu_button > a:hover {
	color: #ffcc00;
	background-color: #474747;
	text-decoration: none;
}

.megaMenu_button > a::before {
	display: block;
	width: 10px;
	height: 10px;
	position: absolute;
	left: 10px;
	top: 0;
	bottom: 0;
	margin: auto 0;
	content: "\e932";
	font-size: 10px;
	line-height: 1;
	color: #ffcc00;
	font-family: 'icomoon' !important;
	speak: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.magaMenu_product_heading {
	position: relative;
	margin-bottom: 5px;
	padding-left: 22px;
	font-size: 15px;
	font-weight: bold;
}

.magaMenu_product_heading::before {
	box-sizing: border-box;
	content: '';
	display: block;
	width: 14px;
	height: 14px;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 5px;
	margin: auto 0;
	border: solid 3px #3d8ed2;
	border-radius: 7px;
}

#megaMenu_product-left {
	float: left;
	width: 520px;
}

#megaMenu_product-right {
	float: right;
	width: 440px;
}

#magaMenu_product_category {
	width: 520px;
	margin-bottom: 10px;
	overflow: hidden;
}

.megaMenu_product_list-category {
	float: left;
	width: 170px;
}

.megaMenu_product_list-category > li {
	min-height: 30px;
	margin-bottom: 2px;
}

.megaMenu_product_list-category > li > a {
	display: inline-block;
	position: relative;
	padding-left: 35px;
}

.megaMenu_product_list-category > li > a::before {
	content: '';
	display: block;
	width: 35px;
	height: 30px;
	position: absolute;
	top: -4px;
	left: 0;
	background-image: url(../images/megamenu_product_icon.png);
	background-size: 35px auto; 
}

.megaMenu_product_list-category > li > a#megaMenu_product_category-new::before {
	background-position: 0 0;
}

.megaMenu_product_list-category > li > a#megaMenu_product_category-damping::before {
	background-position: 0 -30px;
}

.megaMenu_product_list-category > li > a#megaMenu_product_category-base::before {
	background-position: 0 -60px;
}

.megaMenu_product_list-category > li > a#megaMenu_product_category-airtight::before {
	background-position: 0 -90px;
}

.megaMenu_product_list-category > li > a#megaMenu_product_category-waterproof::before {
	background-position: 0 -120px;
}

.megaMenu_product_list-category > li > a#megaMenu_product_category-opening::before {
	background-position: 0 -150px;
}

.megaMenu_product_list-category > li > a#megaMenu_product_category-ventilationsys::before {
	background-position: 0 -180px;
}

.megaMenu_product_list-category > li > a#megaMenu_product_category-ventilation::before {
	background-position: 0 -210px;
}

.megaMenu_product_list-category > li > a#megaMenu_product_category-spandrel::before {
	background-position: 0 -240px;
}

.megaMenu_product_list-category > li > a#megaMenu_product_category-bath::before {
	background-position: 0 -270px;
}

.megaMenu_product_list-category > li > a#megaMenu_product_category-inspection::before {
	background-position: 0 -300px;
}

.megaMenu_product_list-category > li > a#megaMenu_product_category-joint::before {
	background-position: 0 -330px;
}

.megaMenu_product_list-category > li > a#megaMenu_product_category-interior::before {
	background-position: 0 -360px;
}

.megaMenu_product_list-category > li > a#megaMenu_product_category-curing::before {
	background-position: 0 -390px;
}

.megaMenu_product_list-category > li > a#megaMenu_product_category-exterior::before {
	background-position: 0 -420px;
}

.megaMenu_product_list-category > li > a#megaMenu_product_category-plasterer::before {
	background-position: 0 -450px;
}

.megaMenu_product_list-category > li > a#megaMenu_product_category-dry::before {
	background-position: 0 -480px;
}

.megaMenu_product_list-category > li > a#megaMenu_product_category-free::before {
	background-position: 0 -510px;
}

.megaMenu_product_list-category > li > a#megaMenu_product_category-floor::before {
	background-position: 0 -540px;
}

#magaMenu_product_theme {
	width: 520px;
}

.megaMenu_product_list-theme {
	overflow: hidden;
	position: relative;
}

.megaMenu_product_list-theme dt {
	position: absolute;
	top: inherit;
	left: 8px;
	width: 72px;
	font-weight: bold;
}

.megaMenu_product_list-theme dd {
	padding-left: 80px;
}

.megaMenu_product_list-theme dd li {
	display: inline-block;
	margin-right: 15px;
}

.megaMenu_product_list-theme dd li a {
	position: relative;
	display: inline-block;
	padding-left: 22px;
}

.megaMenu_product_list-theme dd li a::before {
	display: block;
	position: absolute;
	content: "\e900";
	top: 3px;
	left: 0;
	width: 15px;
	height: 15px;
	font-family: 'icomoon' !important;
	font-size: 15px;
	line-height: 1;
	speak: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.megaMenu_product_list-theme dd li a#megaMenu_product_theme-housing::before {
	color: #e03e3e;
}

.megaMenu_product_list-theme dd li a#megaMenu_product_theme-nonhousing::before {
	color: #2168cc;
}

.megaMenu_product_list-theme dd li a#megaMenu_product_theme-new::before {
	color: #d96323;
}

.megaMenu_product_list-theme dd li a#megaMenu_product_theme-reform::before {
	color: #219ecc;
}

.megaMenu_product_list-theme dd li a#megaMenu_product_theme-saving::before {
	color: #f29825;
}

.megaMenu_product_list-theme dd li a#megaMenu_product_theme-eco::before {
	color: #abcc2a;
}

.megaMenu_product_list-theme dd li a#megaMenu_product_theme-damping::before {
	color: #1bb7ae;
}

.megaMenu_product_list-theme dd li a#megaMenu_product_theme-long::before {
	color: #bd8e3d;
}

#magaMenu_product_search {
	width: 440px;
	margin-bottom: 5px;
}

#magaMenu_product_search #megaMenu_product_form {
	position: relative;
	height: 42px;
	width: 440px;
	overflow: hidden;
	background: #ffe400;
}

#magaMenu_product_search #megaMenu_product_form::before {
	content: "\e901";
	display: block;
	width: 30px;
	height: 30px;
	position: absolute;
	top: 6px;
	right: 6px;
	font-family: 'icomoon' !important;
	speak: none;
	font-size: 14px;
	line-height: 30px;
	text-align: center;
	color: #FFF;
	background: #585858;
}

#magaMenu_product_search #megaMenu_product_form h4 {
	width: 147px;
	height: 30px;
	position: absolute;
	top: 6px;
	left: 6px;
	text-align: center;
	font-size: 12px;
	font-weight: bold;
	line-height: 30px;
	overflow: hidden;
	white-space: nowrap;
}

#magaMenu_product_search #megaMenu_product_input {
	box-sizing: border-box;
	width: 245px;
	height: 30px;
	padding: 4px 10px;
	position: absolute;
	top: 6px;
	right: 36px;
	background: #FFF;
	border: none;
}

#magaMenu_product_search #megaMenu_product_submit {
	display: block;
	width: 30px;
	height: 30px;
	position: absolute;
	top: 6px;
	right: 6px;
	border: none;
	background: #C00;
	text-indent: -9999px;
	overflow: hidden;
	cursor: pointer;
	background: transparent;
}

#megaMenu_product_sub {
	overflow: hidden;
	width: 420px;
	margin: 0 auto;
}

#megaMenu_product_sub .megaMenu_list {
	float: left;
	width: 190px;
}

#megaMenu_product_sub .megaMenu_list:first-child {
	margin-right: 40px;
}

#megaMenu_product_banner {
	clear: left;
}

#megaMenu_product_banner ul {
	overflow: hidden;
}

#megaMenu_product_banner ul li {
	float: left;
	width: 215px;
	margin-top: 10px;
	line-height: 0;
}

#megaMenu_product_banner ul li:nth-child(odd) {
	margin-right: 10px;
}


/* ------------------------------
	#footerSitemap
	#globalFooter
------------------------------ */
.footerPagetop {
	clear: both;
	box-sizing: border-box;
	margin: 0 auto;
	width: 960px;
	padding: 20px 5px;
	line-height: 0;
	text-align: right;
}

#footerSitemap {
	padding-top: 42px;
	padding-bottom: 60px;
	color: #FFF;
	border-top: solid 3px #ffe400;
	background: #2076cc;
	overflow: hidden;
}

#footerSitemap a {
	color: #FFF;
}

#footerSitemap a:hover {
	text-decoration: underline;
}

.footerSitemap_column {
	box-sizing: border-box;
	float: left;
	width: 240px;
	padding-right: 25px;
}

.footerSitemap_heading {
	margin-bottom: 12px;
	font-size: 13px;
	font-weight: bold;
}

.footerSitemap_heading+.footerSitemap_heading {
	margin-top: 22px;
}

.footerSitemap_list+.footerSitemap_heading {
	margin-top: 18px;
}

.footerSitemap_heading > a {
	position: relative;
	display: inline-block;
	padding-left: 24px;
}

.footerSitemap_heading > a::before {
	content: "\e900";
	display: block;
	position: absolute;
	top: 0.2em;
	left: 0;
	width: 15px;
	height: 15px;
	font-family: 'icomoon' !important;
	font-size: 15px;
	line-height: 15px;
	color: #ffcc00;
	speak: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.footerSitemap_list {
	font-size: 11px;
	margin-bottom: 18px;
}

.footerSitemap_list > li {
	margin-bottom: 6px;
	font-size: 11px;
	line-height: 16px;
}

.footerSitemap_list > li a {
	position: relative;
	display: inline-block;
	padding-left: 24px;
}

.footerSitemap_list > li a::before {
	content: "\e932";
	display: block;
	position: absolute;
	top: 0.2em;
	left: 0;
	width: 15px;
	height: 13px;
	line-height: 13px;
	text-align: right;
	font-size: 11px;
	font-family: 'icomoon' !important;
	speak: none;
	color: #90bbe6;
}

.footerSitemap_list > li a.fs_list-brank::before {
	content: "\e902";
	font-size: 13px;
}

#globalFooter {
	padding: 10px 0;
	background: #0066cc;
	color: #FFF;
	overflow: hidden;
}

#globalFooter a {
	color: #FFF;
}

#gf_nav {
	float: left;
	width: 480px;
}

#gf_nav li {
	display: inline-block;
	width: auto;
	margin-left: 20px;
}

#gf_nav li:first-child {
	margin-left: 0;
}

#gf_nav li a {
	position: relative;
	display: inline-block;
	padding-left: 24px;
}

#gf_nav li a::before {
	content: "\e900";
	display: block;
	position: absolute;
	top: 0.2em;
	left: 0;
	width: 15px;
	height: 15px;
	font-family: 'icomoon' !important;
	font-size: 15px;
	line-height: 15px;
	color: #90bbe6;
	speak: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

#gf_copyright {
	float: right;
	display: block;
	width: 467px;
	height: 12px;
	background-size: contain;
}



/* ------------------------------
	#pageHeading
	#panNav
------------------------------ */
#content {
	overflow: hidden;
}

#content_header {
	width: 100%;
	min-width: 960px;
	height: 0;
	background-repeat: no-repeat;
	background-position: center top;
	overflow: hidden;
}

.content_header-large {
	padding-top: 300px;
}

.content_header-small {
	padding-top: 160px;
}

.content_header-product {
	padding-top: 160px!important;
	background-image: url(/common/images/product/header_small.jpg);
}

.content_header-product_case.content_header-small {
	background-image: url(/common/images/case/header_small.jpg);
}

.content_header-contact.content_header-small {
	background-image: url(/common/images/contact/header_small.jpg);
}

.content_header-contact.content_header-large {
	background-image: url(/common/images/contact/header_large.jpg);
}

.content_header-technology.content_header-small {
	background-image: url(/common/images/technology/header_small.jpg);
}

.content_header-technology.content_header-large {
	background-image: url(/common/images/technology/header_large.jpg);
}

.content_header-company.content_header-small {
	background-image: url(/common/images/company/header_small.jpg);
}

.content_header-company.content_header-large {
	background-image: url(/common/images/company/header_large.jpg);
}

.content_header-ir.content_header-small {
	background-image: url(/common/images/ir/header_small.jpg);
}

.content_header-ir.content_header-large {
	background-image: url(/common/images/ir/header_large.jpg);
}

.content_header-news.content_header-small {
	background-image: url(/common/images/news/header_small.jpg);
}

.content_header-english.content_header-small {
	background-image: url(/common/images/english/header_small.jpg);
}

#panNav {
	margin-bottom: 30px;
	padding: 7px 0;
	background: #f2f6fb;
	border-top: solid 2px #FFF;
}

#panNav ul {
	width: 934px;
	margin: 0 auto;
	font-size: 12px;
	line-height: 20px;
	text-align: right;
}

#panNav ul li {
	display: inline-block;
	width: auto;
	font-weight: bold;
}

#panNav ul li::before {
	content: '»';
	display: inline-block;
	width: 30px;
	text-align: center;
	font-weight: normal;
	line-height: 20px;
	color: #999999;
}

#panNav ul li:first-child::before {
	display: none;
}

#panNav ul li a {
	font-weight: normal;
}


/* ------------------------------
	#container
	#main
	#side
------------------------------ */
#main {
	float: right;
	width: 690px;
}

#side {
	float: left;
	width: 230px;
}

#side a {
	color: #111;
}

#side a:hover {
	color: #2076cc;
	text-decoration: none;
}

#side a.is-active {
	color: #2076cc;
}

#sideProduct_toggle {
	margin-bottom: 2px;
	position: relative;
	padding: 14px 28px 14px 14px;
	background: #FFF;
	cursor: pointer;
}

#sideProduct_toggle::after {
	position: absolute;
	top: 0;
	bottom: 0;
	right: 11px;
	margin: auto 0;
	display: block;
	content: "\e990";
	width: 28px;
	height: 28px;
	font-size: 16px;
	line-height: 28px;
	text-align: center;
	color: #FFF;
	background: #ffcc00;
	font-family: 'icomoon' !important;
	speak: none;
	-ms-transform: scale(0.5);
	-webkit-transform: scale(0.5);
		transform: scale(0.5);
	-ms-transform-origin: right center;
	-webkit-transform-origin: right center;
		transform-origin: right center;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

#sideProduct_toggle.is-open::after {
	content: "\e991";
}

#sideProduct_content {
	display: none;
}

#sideProduct_search {
	margin-bottom: 2px;
	background: #FFF;
}

#sideProduct_form {
	position: relative;
	padding: 3px 10px 10px;
	height: 30px;
	overflow: hidden;
}

#sideProduct_form::after {
	content: "\e901";
	display: block;
	width: 14px;
	height: 14px;
	position: absolute;
	top: 11px;
	right: 18px;
	font-family: 'icomoon' !important;
	speak: none;
	text-indent: 0;
	font-size: 14px;
	line-height: 14px;
	color: #FFF;
	cursor: pointer;
}

#sideProduct_input {
	display: block;
	box-sizing: border-box;
	float: left;
	padding: 0px 5px;
	width: 160px;
	height: 30px;
	border: none;
	background: #EEE;
	overflow: hidden;
}

#sideProduct_submit {
	display: block;
	float: left;
	width: 30px;
	height: 30px;
	padding: 0px;
	border: none;
	background: #585858;
	cursor: pointer;
	text-indent: -9999px;
	overflow: hidden;
}

#sideProduct_category {
	margin-top: 2px;
	background: #FFF;
}

#sideProduct_theme {
	margin-top: 2px;
	background: #FFF;
}

#side .sideHeader a {
	display: block;
	position: relative;
	min-height: 64px;
	padding: 18px 18px 18px 43px;
	padding: 18px 18px 18px calc(18px + 1.5em);
	font-size: 17px;
	font-weight: bold;
	color: #FFF;
	letter-spacing: 0.1em;
	background-color: #2076cc;
	border-bottom: solid 4px #ffe400;

	-ms-transition-property: background-color;
	-webkit-transition-property: background-color;
			transition-property: background-color;
	-ms-transition-duration: 0.2s;
	-webkit-transition-duration: 0.2s;
			transition-duration: 0.2s;
}

#side .sideHeader a:hover {
	background-color: #0056ab;
}

#side .sideHeader a::before {
	box-sizing: border-box;
	position: absolute;
	top: 23px;
	top: calc(18px + 0.35em);
	left: 18px;
	display: block;
	content: "\e932";
	width: 2em;
	height: 2em;
	padding-left: 0.5em;
	font-size: 0.94em;
	color: #2076cc;
	line-height: 2em;
	background: #FFF;
	border-radius: 1em;
	font-family: 'icomoon' !important;
	speak: none;
	-ms-transform: scale(0.5);
	-webkit-transform: scale(0.5);
		transform: scale(0.5);
	-ms-transform-origin: left top;
	-webkit-transform-origin: left top;
		transform-origin: left top;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.sideMenu {
	padding: 10px;
	background: #eeeeee;
}

.sideMenu_heading {
	position: relative;
	font-weight: bold;
	padding: 10px 10px 2px 33px;
}

.sideMenu_heading::before {
	position: absolute;
	top: 15px;
	left: 14px;
	content: '';
	box-sizing: border-box;
	width: 12px;
	height: 12px;
	border: solid 3px #3d8ed2;
	border-radius: 6px;
}

.sideMenu_heading-small {
	font-weight: bold;
	padding: 0 10px 2px 13px;
}

.sideMenu_button-large {
	display: block;
	position: relative;
	padding: 14px 28px 14px 14px;
	background: #FFF;
	cursor: pointer;
}

.sideMenu_button-large::after {
	box-sizing: border-box;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 12px;
	margin: auto 0;
	display: block;
	content: "\e932";
	width: 1em;
	height: 1em;
	font-size: 0.84em;
	color: #ffcc00;
	line-height: 1em;
	text-align: center;
	font-family: 'icomoon' !important;
	speak: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.sideMenu_button-medium,
.sideMenu_button-medium-blank {
	display: block;
	position: relative;
	padding: 7px 28px 7px 14px;
	background: #FFF;
	cursor: pointer;
}

.sideMenu_button-medium::after {
	box-sizing: border-box;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 12px;
	margin: auto 0;
	display: block;
	content: "\e932";
	width: 1em;
	height: 1em;
	font-size: 0.84em;
	color: #ffcc00;
	line-height: 1em;
	text-align: center;
	font-family: 'icomoon' !important;
	speak: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.sideMenu_button-medium-blank::after {
	box-sizing: border-box;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 10px;
	margin: auto 0;
	display: block;
	content: "\e902";
	width: 1em;
	height: 1em;
	font-size: 1.23em;
	color: #ffcc00;
	line-height: 1em;
	text-align: center;
	font-family: 'icomoon' !important;
	speak: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.sideMenu_button-toggle {
	display: block;
	position: relative;
	padding: 14px 28px 14px 14px;
	background: #FFF;
	cursor: pointer;
}

.sideMenu_button-toggle:hover {
	color: #2076cc;
}

.sideMenu_button-toggle::after {
	position: absolute;
	top: 0;
	bottom: 0;
	right: 11px;
	margin: auto 0;
	display: block;
	content: "\e990";
	width: 28px;
	height: 28px;
	font-size: 16px;
	line-height: 28px;
	text-align: center;
	color: #FFF;
	background: #ffcc00;
	font-family: 'icomoon' !important;
	speak: none;
	-ms-transform: scale(0.5);
	-webkit-transform: scale(0.5);
		transform: scale(0.5);
	-ms-transform-origin: right center;
	-webkit-transform-origin: right center;
		transform-origin: right center;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.sideMenu_button-toggle.is-open::after {
	content: "\e991";
}



.sideMenu_list {
	margin-top: 10px;
}

.sideMenu_list:first-child {
	margin-top: 0;
}

.sideMenu_list > li {
	margin-top: 3px;
	background: #FFF;
}

.sideMenu_item-active {
	position: relative;
}

.sideMenu_item-active::after {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 3px;
	height: 100%;
	background: #2076cc;
}

.sideMenu_sublist {
	padding: 0 10px 4px 13px;
}

.sideMenu_list .sideMenu_sublist {
	display: none;
}

.sideMenu_list .sideMenu_item-active .sideMenu_sublist {
	display: block;
}

.sideMenu_sublist > li {
	padding: 3px 0 2px;
	background: url(../images/line_dotx.gif) repeat-x left top;
}

.sideMenu_sublist > li a {
	padding-left: 25px;
	display: block;
	position: relative;
}
	
.sideMenu_sublist > li a::before {
	display: block;
	content: "\e900";
	position: absolute;
	left: 2px;
	top: 3px;
	width: 15px;
	height: 15px;
	font-family: 'icomoon' !important;
	font-size: 15px;
	line-height: 15px;
	color: #ffcc00;
	speak: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.sideMenu_sublist > li a.link-blank::before {
	content: "\e902";
}

.sideYellow {
	margin-top: 10px;
	background: #ffe400;
	border-right: solid 3px #eeeeee;
	border-bottom: solid 3px #eeeeee;
}

.sideYellow_header {
	padding: 9px 18px;
	font-size: 14px;
	font-weight: bold;
}

.sideYellow_body {
	padding: 12px 0;
	margin-left: 3px;
	background: #fffef3;
}

.sideYellow_body .sideMenu_sublist {
	padding: 5px 10px 0 13px;
}

.sideYellow_inner {
	padding: 0 13px 0 15px;
}

.sideContact_info {
	padding: 0 13px 0 15px;
}

.sideContact_info dt {
	font-weight: bold;
	margin-top: 9px;
	margin-bottom: 2px;
	padding: 0 10px;
	background: #ffe400;
}

.sideContact_info dd {
	padding: 0 10px;
}

.sideRelation {
	padding: 7px 14px;
	margin-top: 3px;
	background: #fff;
}

.sideRelation_heading {
	margin-bottom: 2px;
	position: relative;
	padding-left: 17px;
	font-weight: bold;
}

.sideRelation_heading::before {
	content: '';
	box-sizing: border-box;
	position: absolute;
	top: 6px;
	left: 0;
	width: 11px;
	height: 11px;
	border: solid 3px #3d8ed2;
	border-radius: 6px;
}

.sideRelation ul li {
	padding: 2px 0;
	background: url(../images/line_dotx.gif) repeat-x left top;
}

/* ------------------------------
	module - img
------------------------------ */
.img-full {
	width: 100%;
	height: auto;
}

.img-fluid {
	max-width: 100%;
	height: auto;
}

/* ------------------------------
	module - text
------------------------------ */
.text-nowrap {
	white-space: nowrap;
}

.text-catch {
	font-size: 16px;
	color: #0092dd;
}

.text-center {
	text-align: center!important;
}

.text-left {
	text-align: left!important;
}

.text-right {
	text-align: right!important;
}

.text-top {
	vertical-align: top!important;
}

.text-middle {
	vertical-align: middle!important;
}

.text-bottom {
	vertical-align: bottom!important;
}

.text-paragraph {
	margin-bottom: 1em;
}

/* ------------------------------
	module - font
------------------------------ */
.font-small {
	font-size: 12px;
	line-height: 1.5;
}

.font-medium {
	font-size: 13px;
	line-height: 1.69;
}

.font-large {
	font-size: 15px;
}

/* ------------------------------
	module - color
------------------------------ */
.color-accent-green {
	color: #8ebe0c;
}

.color-red {
	color: #db3331;
}

.color-green {
	color: #1d966b;
}

.color-blue {
	color: #2479b8;
}

.color-cyan {
	color: #00a6ba;
}

.color-magenta {
	color: #af45b6;
}

.color-yellow {
	color: #ffe400;
}

.color-orange {
	color: #ffcc00;
}

.color-pink {
	color: #f6ab00;
}

.color-gray {
	color: #666;
}

/* ------------------------------
	module - margin
------------------------------ */
.marginBtm-none {
	margin-bottom: 0!important;
}

.marginBtm-veryShort {
	margin-bottom: 0.5em!important;
}

.marginBtm-short {
	margin-bottom: 1em!important;
}

.marginBtm-medium {
	margin-bottom: 2em!important;
}

.marginBtm-long {
	margin-bottom: 3em!important;
}

.marginBtm-veryLong {
	margin-bottom: 4em!important;
}

.marginTop-none {
	margin-top: 0!important;
}

.marginTop-veryShort  {
	margin-top: 0.5em!important;
}

.marginTop-short{
	margin-top: 1em!important;
}

.marginTop-medium {
	margin-top: 2em!important;
}

.marginTop-long {
	margin-top: 3em!important;
}

.marginTop-veryLong {
	margin-top: 4em!important;
}

/* ------------------------------
	module - indent
------------------------------ */
.indent-icon {
	display: inline-block;
}

.indent-1em {
	padding-left: 1.2em;
}

.indent-1em > .indent-icon {
	width: 1.2em;
	margin-left: -1.2em;
}

.indent-2em {
	padding-left: 2.2em;
}

.indent-2em > .indent-icon {
	width: 2.2em;
	margin-left: -2.2em;
}

.indent-3em {
	padding-left: 3.2em;
}

.indent-3em > .indent-icon {
	width: 3.2em;
	margin-left: -3.2em;
}

/* ------------------------------
	module - section
------------------------------ */
.section-usual {
	margin-bottom: 2em;
}

/* ------------------------------
	module - block
------------------------------ */
.block-inner {
	margin: 0 20px;
}

.block-boldLine {
	border: solid 6px #f4f4f4;
	padding: 32px;
}

.block-slashLine {
	position: relative;
	border: solid 2px #e6e6e6;
	padding: 18px;
}

.block-slashLine::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 3px;
	background: url(../images/bg_slash.gif);
}

.block-radiusShadow {
	box-sizing: border-box;
	border-width: 1px 3px 3px 1px;
	border-style: solid;
	border-color: #e6e6e6;
	border-radius: 4px;
	overflow: hidden;
}

.block-youtube {
	position: relative;
	width: 100%;
	padding-top: 56.25%; 
	margin-bottom:10px;
}

.block-youtube iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%!important;
	height: 100%!important;
}

/* ------------------------------
	module - heading
------------------------------ */
.heading-main {
	margin-bottom: 25px;
	position: relative;
	height: 46px;
	line-height: 46px;
	background: #f2f2f2;
	overflow: hidden;
}

.heading-main_title {
	display: inline-block;
	width: auto;
	height: 46px;
	position: relative;
	padding: 0 20px 0 27px;
	letter-spacing: 0.1em;
	font-size: 18px;
	font-weight: bold;
	line-height: 46px;
	white-space: nowrap;
	color: #FFF;
	background: #2076cc;
	border-left: solid 5px #60a6ed;
}

.heading-main_title::after {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	right: -32px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 23px 16px;
	border-color: transparent;
	border-left-color: #2076cc;
	overflow: hidden;
}

.heading-main_separator {
	margin-right: 25px;
	display: inline-block;
	position: relative;
}

.heading-main_separator::before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	right: -37px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 23px 16px;
	border-color: transparent;
	border-left-color: #60a6ed;
	overflow: hidden;
}

.heading-main_separator::after {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	right: -36px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 23px 16px;
	border-color: transparent;
	border-left-color: #2076cc;
	overflow: hidden;
}

.heading-main_category {
	position: absolute;
	top: 0;
	right: 0;
	padding: 0 20px;
	font-size: 13px;
	font-weight: bold;
	line-height: 46px;
	text-align: right;
	white-space: nowrap;
}

.heading-hex {
	margin-bottom: 25px;
	position: relative;
	padding-left: 32px;
	font-size: 22px;
	font-weight: bold;
}

.heading-hex::before {
	content: '';
	display: block;
	width: 19px;
	height: 23px;
	position: absolute;
	top: 7px;
	left: 0;
	background: url(../images/heading_icon_hex.png) no-repeat 0 0;
	background-size: contain;
	overflow: hidden;
}

.heading-circle-blue {
	position: relative;
	margin-bottom: 5px;
	padding-left: 25px;
	font-size: 18px;
	font-weight: bold;
}

.heading-circle-blue::before {
	content: '';
	box-sizing: border-box;
	position: absolute;
	top: 8px;
	left: 0;
	width: 14px;
	height: 14px;
	border: solid 3px #3d8ed2;
	border-radius: 7px;
}

.heading-circle-yellow {
	position: relative;
	margin-bottom: 5px;
	padding-left: 25px;
	font-size: 18px;
	font-weight: bold;
}

.heading-circle-yellow::before {
	content: '';
	box-sizing: border-box;
	position: absolute;
	top: 8px;
	left: 0;
	width: 14px;
	height: 14px;
	border: solid 3px #ffe400;
	border-radius: 7px;
}


.heading-yellow_bg {
	position: relative;
	margin-bottom: 20px;
	padding: 6px 6px 6px 34px;
	font-size: 16px;
	font-weight: bold;
	background: #ffe400;
}

.heading-yellow_bg::before {
	content: '';
	box-sizing: border-box;
	position: absolute;
	top: 14px;
	left: 14px;
	width: 12px;
	height: 12px;
	border: solid 3px #FFF;
	border-radius: 6px;
}

.heading-underline-blue {
	position: relative;
	margin-bottom: 0.5em;
	padding: 0 10px 10px 18px;
	font-size: 16px;
	font-weight: bold;
}

.heading-underline-blue::before {
	position: absolute;
	content: '';
	width: 5px;
	height: 1.23em;
	height: calc(100% - 10px - 0.46em);
	top: 0.23em;
	left: 0;
	background: #2076cc;
	overflow: hidden;
}

.heading-underline-blue::after {
	position: absolute;
	content: '';
	width: 100%;
	height: 0;
	left: 0;
	bottom: 0;
	border-top: solid 1px #b6cbe1;
	border-bottom: solid 3px #ebf2fa;
	overflow: hidden;
}

.heading-gray_bg {
	position: relative;
	padding: 3px 3px 3px 19px;
	font-size: 14px;
	font-weight: bold;
	background: #f5f3e4;
}

.heading-bold {
	margin-bottom: 0.5em;
	font-size: 13px;
	font-weight: bold;
}

.heading-num-blue {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 5px;
}
.heading-num-icon {
    background-color: #2076cc;
    color: #fff;
    border-radius: 2px;
    font-size: 14px;
    display: inline-block;
    width: 26px;
    height: 26px;
    line-height: 26px;
    text-align: center;
    margin-right: 10px;
}

/* ------------------------------
	module - link
------------------------------ */
.link-usual {
	position: relative;
	display: inline-block;
	padding-left: 22px;
}

.link-usual::before {
	display: block;
	position: absolute;
	content: "\e900";
	top: 3px;
	left: 0;
	width: 15px;
	height: 15px;
	font-family: 'icomoon' !important;
	font-size: 15px;
	line-height: 1;
	color: #ffcc00;
	speak: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.link-blank {
	position: relative;
	display: inline-block;
	padding-left: 22px;
}

.link-blank-after {
	position: relative;
	display: inline-block;
	padding-right: 22px;
}

.link-blank::before {
	display: block;
	position: absolute;
	content: "\e902";
	top: 3px;
	left: 0;
	width: 15px;
	height: 15px;
	font-family: 'icomoon' !important;
	font-size: 15px;
	line-height: 1;
	vertical-align: baseline;
	color: #ffcc00;
	speak: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.link-blank-after::after {
	display: block;
	position: absolute;
	content: "\e902";
	top: 3px;
	right: 0;
	width: 15px;
	height: 15px;
	font-family: 'icomoon' !important;
	font-size: 15px;
	line-height: 1;
	vertical-align: baseline;
	color: #ffcc00;
	speak: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.link-blank::before {
	margin-right: 7px;
}

.link-blank-after::after {
	margin-left: 7px;
}

.link-pdf::before,
.link-pdf-after::after {
	display: inline-block;
	content: "";
	width: 16px;
	height: 9px;
	font-family: 'icomoon' !important;
	vertical-align: middle;
	overflow: hidden;
	background: url(../images/ico_files.gif) no-repeat 0 0;
	background-size: 16px auto;
}

.link-pdf::before {
	margin-right: 6px;
}

.link-pdf-after::after {
	margin-left: 6px;
}

.link-doc::before,
.link-doc-after::after {
	display: inline-block;
	content: "";
	width: 16px;
	height: 9px;
	font-family: 'icomoon' !important;
	vertical-align: middle;
	overflow: hidden;
	background: url(../images/ico_files.gif) no-repeat 0 -9px;
	background-size: 16px auto;
}

.link-doc::before {
	margin-right: 6px;
}

.link-doc-after::after {
	margin-left: 6px;
}


.link-xls::before,
.link-xls-after::after {
	display: inline-block;
	content: "";
	width: 16px;
	height: 9px;
	font-family: 'icomoon' !important;
	vertical-align: middle;
	overflow: hidden;
	background: url(../images/ico_files.gif) no-repeat 0 -36px;
	background-size: 16px auto;
}

.link-xls::before {
	margin-right: 6px;
}

.link-xls-after::after {
	margin-left: 6px;
}

.link-dxf::before,
.link-dxf-after::after {
	display: inline-block;
	content: "";
	width: 16px;
	height: 9px;
	font-family: 'icomoon' !important;
	vertical-align: middle;
	overflow: hidden;
	background: url(../images/ico_files.gif) no-repeat 0 -18px;
	background-size: 16px auto;
}

.link-dxf::before {
	margin-right: 6px;
}

.link-dxf-after::after {
	margin-left: 6px;
}

.link-dwg::before,
.link-dwg-after::after {
	display: inline-block;
	content: "";
	width: 16px;
	height: 9px;
	font-family: 'icomoon' !important;
	vertical-align: middle;
	overflow: hidden;
	background: url(../images/ico_files.gif) no-repeat 0 -27px;
	background-size: 16px auto;
}

.link-dwg::before {
	margin-right: 6px;
}

.link-dwg-after::after {
	margin-left: 6px;
}


/* ------------------------------
	module - button
------------------------------ */
.button-usual,
.button-strong {
	box-sizing: border-box;
	position: relative;
	display: inline-block;
	text-align: center;
	font-weight: bold;
	min-width: 160px;
	padding: 6px 15px 6px 30px;
	white-space: nowrap;
	letter-spacing: normal;
	line-height: 22px;
	color: #111;
	background: #fff;
	border-width: 1px 3px 3px 1px;
	border-style: solid;
	border-color: #e6e6e6;
	border-radius: 4px;
	cursor: pointer;
}

.button-usual:hover,
.button-strong:hover {
	text-decoration: none;
}

.button-usual::before,
.button-strong::before {
	display: block;
	width: 11px;
	height: 11px;
	position: absolute;
	left: 10px;
	top: 0;
	bottom: 0;
	margin: auto 0;
	content: "\e932";
	font-size: 11px;
	line-height: 11px;
	font-family: 'icomoon' !important;
	speak: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.button-usual {
	font-size: 13px;
}

.button-usual::before {
	color: #ffe400;
}

.button-usual:hover {
	color: #2076cc;
}

.button-strong {
	font-size: 14px;
	background-color: #ffe400;
}

.button-strong:hover {
	background-color: #ffcc00;
}

.button-back {
	cursor: pointer;
	display: block;
	box-sizing: border-box;
	margin-left: auto;
	margin-right: auto;
	position: relative;
	width: 100%;
	max-width: 300px;
	font-size: 15px;
	text-align: center;
	font-weight: bold;
	letter-spacing: 0.2em;
	white-space: nowrap;
	padding: 10px 20px 10px 30px;
	color: #111;
	background: #f2f6fb;
	border-width: 1px 3px 3px 1px;
	border-style: solid;
	border-color: #e6e6e6;
	border-radius: 4px;
}

.button-back:hover {
	color: #2076cc;
	text-decoration: none;
}

.button-back::before {
	display: block;
	width: 11px;
	height: 11px;
	position: absolute;
	left: 18px;
	top: 0;
	bottom: 0;
	margin: auto 0;
	content: "\e930";
	font-size: 11px;
	line-height: 11px;
	color: #2076cc;
	font-family: 'icomoon' !important;
	speak: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.button-slim {
	display: inline-block;
	box-sizing: border-box;
	position: relative;
	display: inline-block;
	text-align: center;
	font-weight: bold;
	min-width: 150px;
	padding: 1px 20px 1px 35px;
	white-space: nowrap;
	letter-spacing: normal;
	line-height: 22px;
	color: #111;
	background: #ffe400;
	border-radius: 3px;
	cursor: pointer;
}

.button-slim:hover {
	background-color: #ffcc00;
	text-decoration: none;
}

.button-slim::before {
	display: block;
	width: 26px;
	height: 26px;
	position: absolute;
	left: 10px;
	top: 5px;
	bottom: 0;
	content: "\e932";
	font-size: 10px;
	color: #ffe400;
	background-color: #111;
	line-height: 26px;
	font-family: 'icomoon' !important;
	speak: none;
	border-radius: 13px;
	-ms-transform: scale(0.5);
	-webkit-transform: scale(0.5);
		transform: scale(0.5);
	-ms-transform-origin: left top;
	-webkit-transform-origin: left top;
		transform-origin: left top;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}


/* ------------------------------
	module - form
------------------------------ */

.table-form .error {
	color: #db3331;
}
input.form-text {
}

input.form-tel {
	width: 4em;
}

input.form-zip {
	width: 4em;
}

input.form-text,
input.form-text-long,
input.form-tel,
input.form-zip {
	margin: 5px 0;
	padding: 5px;
	border: solid 1px #bbbbbb;
}

input.form-text-long {
	width: 30em;
}

textarea.form-area-small {
	height: 3em;
}

textarea.form-area-medium {
	height: 6em;
}

textarea.form-area-large {
	height: 9em;
}

textarea.form-area-small,
textarea.form-area-medium,
textarea.form-area-large {
	width: 30em;
	margin: 5px 0;
	padding: 5px;
	line-height: 1.5;
	border: solid 1px #bbbbbb;
}

.form-check-list {
	margin: 5px 0;
}

.form-check-list li {
	box-sizing: border-box;
	min-width: 49%;
	display: inline-block;
	padding-left: 20px;
}

.form-check-list li input[type="checkbox"] {
	margin-left: -20px;
}

.form-confirm {
	margin: 15px 0;
	padding: 14px;
	background: #f2f2f2;
}

.form-confirm_header {
	font-weight: bold;
	color: #2076cc;
}

.form-function {
	margin: 20px auto;
	text-align: center;
}

.form-require {
	display: inline-block;
	width: 38px;
	height: 12px;
	background: url(../images/ico_require.png) no-repeat 0 0;
	background-size: contain;
	text-indent: -9999px;
	overflow: hidden;
}

.form-button,
.form-button-confirm {
	display: inline-block;
	box-sizing: border-box;
	margin: 0 3px;
	position: relative;
	min-width: 210px;
	display: inline-block;
	text-align: center;
	font-weight: bold;
	font-size: 15px;
	letter-spacing: 0.2em;
	padding: 10px 20px 10px 30px;
	color: #111;
	background: #fff;
	border-width: 1px 3px 3px 1px;
	border-style: solid;
	border-color: #e6e6e6;
	border-radius: 4px;
	cursor: pointer;
}

.form-button:hover,
.form-button-confirm:hover {
	text-decoration: none;
	opacity: 0.8;
}

.form-button::before,
.form-button-confirm::before {
	display: block;
	width: 11px;
	height: 11px;
	position: absolute;
	left: 18px;
	top: 17px;
	content: "\e932";
	font-size: 11px;
	line-height: 11px;
	font-family: 'icomoon' !important;
	speak: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.form-button {
	background: #ffffff;
}

.form-button::before {
	color: #ffd016;
}

.form-button-confirm {
	background: #ffe400;
}

.form-button-confirm::before {
	color: #111111;
}

.form-confirm {
	text-align: center;
}

.form-confirm_header {
	font-size: 18px;
}

.form-complete {
	padding: 24px 24px 0;
	background: #FFF;
	border: solid 6px #f4f4f4;
}

.form-complete_header {
	padding: 15px;
	font-size: 18px;
	text-align: center;
	font-weight: bold;
	color: #2076cc;
	background: #f2f2f2;
}

.form-complete_body {
	font-size: 15px;
	margin: 0 40px;
}

.form-complete_body p {
	margin: 20px 0;
}


/* ------------------------------
	module - list
------------------------------ */
ul.list-usual {
	padding-left: 1.5em;
	list-style: disc;
}

ol.list-usual {
	padding-left: 1.5em;
	list-style: decimal;
}

.list-spacing > li {
	margin-top: 0.5em;
	margin-bottom: 0.5em;
}

.list-usual > li {
	text-indent: 0;
}

.list-square > li {
	position: relative;
	padding-left: 1.5em;
	text-indent: 0;
}

.list-square > li:before {
	content: '';
	display: block;
	position: absolute;
	top: 0.6em;
	left: 0.4em;
	width: 0.5em;
	height: 0.5em;
	background: #2076cc;
}

.list-square-line > li {
	position: relative;
	padding-left: 1.5em;
	text-indent: 0;
}

.list-square-line > li:before {
	box-sizing: border-box;
	content: '';
	display: block;
	position: absolute;
	top: 0.6em;
	left: 0.4em;
	width: 0.5em;
	height: 0.5em;
	border: solid 1px #2076cc;
}

.list-numbox-blue {
	counter-reset: numlist;
}

.list-numbox-blue > li {
	position: relative;
	padding-left: 1.5em;
	text-indent: 0;
}

.list-numbox-blue > li::before {
	counter-increment: numlist;
	content: counter(numlist);
	display: block;
	width: 1.24em;
	height: 1.24em;
	position: absolute;
	top: 0.225em;
	left: 0;
	color: #FFF;
	line-height: 1.24em;
	text-align: center;
	background: #396cd3;
	border-radius: 2px;
	overflow: hidden;
}

.list-button {	/* with .button-* */
	display: block;
	margin-left: auto;
	margin-right: auto;
	width: 650px;
	letter-spacing: -.40em;
}

.list-button > li {
	display: inline-block;
	width: 210px;
	letter-spacing: normal;
	margin-left: 10px;
}

.list-button > li:first-child {
	margin-left: 0;
}

.list-button > li > [class^="button-"],
.list-button > li > [class*=" button-"] {
	width: 210px!important;
}

.list-stripe > li {
	padding: 0.5em 1em;
}
.list-stripe > li:nth-child(even) {
	background-color: #eee;
}




/* ------------------------------
	module - table
------------------------------ */
.table-usual {
	width: 100%;
	border-collapse: collapse;
}

.table-usual > tbody > tr > td {
	padding: 5px 10px;
	vertical-align: top;
	border: 1px solid #b6cbe1;
	background: #FFF;
}

.table-usual > tbody > tr > th {
	padding: 5px 10px;
	text-align: center;
	color: #FFF;
	border: 1px solid #b6cbe1;
	background: #2076cc;
}

.table-catalog {
	width: 100%;
	font-size: 12px;
	border-collapse: collapse;
}

.table-catalog > tbody > tr > td {
	padding: 5px 10px;
	width: 60px;
	vertical-align: top;
	text-align: center;
	border: 1px solid #b6cbe1;
	background: #FFF;
}

.table-catalog > tbody > tr > td.table-catalog_name {
	text-align: left;
	width: inherit;
	font-size: 15px;
}

.table-catalog > tbody > tr > th {
	padding: 5px 10px;
	text-align: center;
	color: #FFF;
	border: 1px solid #b6cbe1;
	background: #2076cc;
}

.table-form {
	width: 100%;
	border-collapse: collapse;
	background: #f2f6fb;
}

.table-form > tbody > tr > th {
	position: relative;
	padding: 15px 15px 15px 40px;
	width: 140px;
	font-weight: bold;
	text-align: left;
	white-space: nowrap;
	vertical-align: top;
	border: 1px solid #b6cbe1;
}

.table-form > tbody > tr > td {
	padding: 5px 10px;
	vertical-align: middle;
	border: 1px solid #b6cbe1;
	background: #FFF;
}

.table-form > tbody > tr > th::before {
	content: '';
	position: absolute;
	top: 21px;
	left: 20px;
	display: block;
	box-sizing: border-box;
	width: 8px;
	height: 8px;
	border: solid 2px #3d8ed2;
	border-radius: 4px;
}

.table-access {
	width: 100%;
	border-collapse: collapse;
	background: #f2f6fb;
}

.table-access > tbody > tr > th {
	position: relative;
	padding: 15px 15px 15px 40px;
	width: 140px;
	font-weight: bold;
	text-align: left;
	white-space: nowrap;
	vertical-align: top;
	border: 1px solid #b6cbe1;
}

.table-access > tbody > tr > td {
	padding: 15px;
	vertical-align: middle;
	border: 1px solid #b6cbe1;
	background: #FFF;
}

.table-access > tbody > tr > th::before {
	content: '';
	position: absolute;
	top: 21px;
	left: 20px;
	display: block;
	box-sizing: border-box;
	width: 8px;
	height: 8px;
	border: solid 2px #3d8ed2;
	border-radius: 4px;
}


/* ------------------------------
	module - lead
------------------------------ */
.lead {
	margin-bottom: 20px;
}

.lead-ssl {
	margin-bottom: 20px;
	overflow: hidden;
}

.lead-ssl::after {
	display: block;
	clear: both;
	content: '';
	width: 0;
	height: 0;
	overflow: hidden;
}

.lead-ssl_text {
	float: left;
	width: 510px;
	width: calc(100% - 140px);
}

.lead-ssl_seal {
	width: 115px;
	float: right;
}

/* ------------------------------
	module - pagelink
------------------------------ */
.pagelink {
	margin: 20px 0;
	padding: 8px 18px;
	border: solid 6px #f4f4f4;
}

.pagelink li {
	display: inline-block;
	margin-right: 1em;
	white-space: nowrap;
}

.pagelink li a {
	display: inline-block;
	position: relative;
	padding-left: 18px;
}

.pagelink li a::before {
	position: absolute;
	left: 0;
	top: 5px;
	display: block;
	width: 24px;
	height: 24px;
	content: "\e911";
	font-family: 'icomoon' !important;
	font-size: 10px;
	text-align: center;
	line-height: 24px;
	color: #FFF;
	background: #ffcc00;
	border-radius: 3px;
	speak: none;
	-ms-transform: scale(0.5);
	-webkit-transform: scale(0.5);
		transform: scale(0.5);
	-ms-transform-origin: left top;
	-webkit-transform-origin: left top;
		transform-origin: left top;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}


/* ------------------------------
	module - .pager
------------------------------ */
.pager {
	margin: 20px auto;
	text-align: center;
	font-size: 15px;
}

.pager_current {
	font-weight: bold;
}

/* ------------------------------
	module - .pageback
------------------------------ */
.pageback {
	display: none;
}


/* ------------------------------
	component - .thumbIndex
------------------------------ */
.thumbIndex {
	overflow: hidden;
	margin: 0 auto;
	width: 960px;
}

.thumbIndex_item {
	float: left;
	width: 310px;
	margin-right: 9px;
	margin-bottom: 9px;
	border-width: 1px 3px 3px 1px;
	border-style: solid;
	border-color: #e6e6e6;
	border-radius: 4px;
	overflow: hidden;
}

.thumbIndex_item:nth-child(3n) {
	margin-right: 0; 
}

.thumbIndex_item a {
	display: block;
	padding: 0;
	color: #111;
	text-decoration: none;
}

.thumbIndex_item a:hover {
	background: #f2f6fb;
}

.thumbIndex_item_thumb {
	line-height: 0;
}

.thumbIndex_item_thumb img {
	width: 100%;
	height: auto;
}

.thumbIndex_item_body {
	padding: 10px 18px 20px;
}

.thumbIndex_item_heading,
.thumbIndex_item_heading-blank {
	position: relative;
	margin-bottom: 2px;
	padding-left: 18px;
	line-height: 1.5;
	font-size: 15px;
	color: #0066cc;
}

.thumbIndex_item_heading::before,
.thumbIndex_item_heading-blank::before {
	display: block;
	width: 11px;
	height: 11px;
	position: absolute;
	left: 0;
	top: 5px;
	color: #ffcc00;
	content: "\e932";
	font-size: 11px;
	line-height: 11px;
	font-family: 'icomoon' !important;
	speak: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.thumbIndex_item_heading-blank::before {
	content: "\e902";
}


/* ------------------------------
	component - relation
------------------------------ */
.relation {
	overflow: hidden;
}

.relation_item {
	box-sizing: border-box;
	width: 50%;
	float: left;
	display: block;
	margin-bottom: 10px;
	overflow: hidden;
}

.relation_item:nth-child(odd) {
	padding-right: 15px;
}
	
.relation_item:nth-child(even) {
	padding-left: 15px;
}

.relation_item a > img {
	float: left;
	margin-right: 20px;
}

.relation_item a > span::before {
	display: inline-block;
	margin-right: 8px;
	content: "\e900";
	font-family: 'icomoon' !important;
	font-size: 1.15em;
	line-height: 1;
	vertical-align: text-bottom;
	color: #ffcc00;
	speak: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}


/* ------------------------------
	component - .product_categoryList
------------------------------ */
.product_categoryList ul {
	margin-left: 2px;
	overflow: hidden;
}

.product_categoryList li {
	float: left;
	width: 93px;
	margin-right: 6px;
	margin-bottom: 5px;
}

.product_categoryList li:nth-child(7n) {
	margin-right: 0;
}

.product_categoryList li a {
	position: relative;
	display: block;
	height: 107px;
	background-image: url(/common/images/product/category_item_bg.png);
	background-size: auto 107px;
}

.product_categoryList li a:hover {
	background-position: -93px 0;
}

.product_categoryList li a img {
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto 0;
	width: 100%;
	height: auto;
}


/* ------------------------------
	component - .product_themeList
------------------------------ */
.product_themeList {
	box-sizing: border-box;
	padding: 19px 19px 10px;
	border-width: 1px 3px 3px 1px;
	border-style: solid;
	border-color: #e6e6e6;
	border-radius: 4px;
	overflow: hidden;
}

.product_themeList dl {
	line-height: 0;
}

.product_themeList img {
	width: 100%;
	height: auto;
}

.product_themeList dt {
	position: absolute;
	width: 126px;
}

.product_themeList dd {
	padding-left: 132px;
	margin-bottom: 10px;
}

.product_themeList dd ul {
	overflow: hidden;
}

.product_themeList li {
	float: left;
	margin-right: 3px;
	margin-bottom: 3px;
	width: 126px;
}

.product_themeList li a:hover {
	opacity: 0.75;
}


/* ------------------------------
	component - .areaList
------------------------------ */
.areaList {
	margin: 20px 0;
	position: relative;
}

.areaList_heading {
	position: absolute;
	top: inherit;
	left: 0;
	white-space: nowrap;
	box-sizing: border-box;
	padding-left: 24px;
	width: 9em;
	font-weight: bold;
	font-size: 14px;
}

.areaList_heading::before {
	border: 3px solid #3d8ed2;
	border-radius: 7px;
	box-sizing: border-box;
	content: "";
	height: 11px;
	left: 7px;
	position: absolute;
	top: 7px;
	width: 11px;
}

.areaList_body {
	padding: 0px 7px 7px 10em;
	margin-bottom: 7px;
	background: url(../images/line_dotx.gif) repeat-x left bottom;
}

.areaList_local li {
	margin-right: 15px;
	display: inline-block;
	white-space: nowrap;
}

/* ------------------------------
	component - .getAcrobat
------------------------------ */
.getAcrobat {
	margin: 40px 0;
	display: table;
	width: 100%;
}

.getAcrobat > a {
	display: table-cell;
	box-sizing: border-box;
	width: 100%;
	padding: 20px 15px 20px 190px;
	background: #f2f2f2 url(../images/Get_Adobe_Acrobat_Reader_DC_web_button_158x39.fw.png) no-repeat 15px center;
}

.getAcrobat > a:hover {
	text-decoration: none;
	background-color: #e2e2e2;
}

/* ------------------------------
	component - .noContents
------------------------------ */
.noContents {
	margin: 30px 0;
	text-align: center;
	border: solid 6px #f4f4f4;
	padding: 125px 32px 32px;
	background: url(../images/img_kuma.gif) no-repeat center 32px;
}

.noContents_heading {
	margin-bottom: 1em;
	font-size: 15px;
	font-weight: bold;
}

@media print {
	#globalHeader,
	#content_header,
	#panNav,
	#side,
	.footerPagetop,
	#footerSitemap,
	#globalFooter,
	#float_pagetop {
		display: none;
	}
	
	#main {
		float: none;
		margin: 0 auto;
	}
}
