@charset "utf-8";
/* ------------------------------------------------------------ INITIAL SETTINGS */

html {
	height: 100%;
	font-size: 75%;
	line-height: 1.6;
	background: #FFF;
	overflow-y: scroll;
}
body {
	color: #333;
	background: url(../images/bg_pagebody.gif) 0 136px repeat-x;
	-webkit-text-size-adjust : none;
}
body.home {
	background: url(../images/bg_pagebody_home.gif) 0 136px repeat-x;
}
.mac body {
	font-family: "ヒラギノ角ゴ Pro W3", Hiragino Kaku Gothic Pro, Osaka, sans-serif;
}
.win body {
	font-family: "メイリオ", "ＭＳ Ｐゴシック", Meiryo, MS PGothic, sans-serif;
}
/* ------------------------------ a */

a {
	color: #333;
	text-decoration: underline;
}
a:hover,
a:active {
	color: #999;
	text-decoration: underline;
}
/*
a:visited {
	color: #666!important;
}
*/
.rollover2 a:hover img {
	opacity: 0.75;
	filter: alpha(opacity=75);
}
.boxClickable {
	cursor: pointer;
}

/* ------------------------------ inline */

strong {
	color: #D83300;
}
em {
	color: #E55E0B;
}
sup {
	padding: 0 1px;
	vertical-align: 2px;
	font-size: 92%;
}
sub {
	padding: 0 1px;
	vertical-align: -2px;
	font-size: 92%;
}
/* ------------------------------------------------------------ BASE STRUCTURE */

/* ------------------------------ header */

#header {
	width: 100%;
	margin: 0 auto;
	padding: 0;
}
#header .inr {
	position: relative;
	width: 966px;
	height: 112px;
	margin: 0 auto;
	padding: 0;
	z-index: 50;
	line-height: 1.25;
}
/* ------------------------------ mainvisual */

.home #mainv {
	position: relative;
	z-index: 89;
	width: 100%;
	height: 320px;
	margin: 3px auto 0;
	padding: 0;
	line-height: 1;
	background: url(../../images/img_mainv_1.jpg) 50% 0 no-repeat;
}
.home #mainv .inner {
	position: relative;
	overflow: hidden;
	width: 966px;
	height: 283px;
	margin: 0 auto;
}
.home #mainv .mainvInr {
	position: relative;
	width: 966px;
	height: 283px;
	overflow: hidden;
}

.home #mainv .copy1 .txt { /* ※20180516新規追加 */
	position: absolute;
	top: 74px;/*54px;*/
	left: 0;
}
.home #mainv .copy1 .btn { /* ※20180516新規追加 */
	position: absolute;
	top: 177px;/*218px;*/
	left: 0;
}

.home #mainv .copy2 .txt {
	position: absolute;
	top: 85px;
	left: 0;
}
.home #mainv .copy2 .btn {
	position: absolute;
	top: 203px;
	left: 0;
}

.home #mainv .copy3 .txt {
	position: absolute;
	top: 57px;
	left: 0px;
}
.home #mainv .copy3 .btn {
	position: absolute;
	top: 231px;
	left: 0px;
}

.home #mainv .copy4 .txt {
	position: absolute;
	top: 104px;
	left: 0;
}
.home #mainv .copy4 .btn {
	position: absolute;
	top: 164px;
	left: 0;
}

.home #mainv ul.mainvnav {
	position: absolute;
	right: 0;
	bottom: 5px;
	height: 14px;
}
.home #mainv ul.mainvnav li {
	float: left;
	margin: 0 0 0 4px;
}

/* ------------------------------ pagebody */

#pagebody {
	width: 964px;
	margin: 0 auto 70px;
	padding: 15px 0 0;
}
.home #pagebody {
	margin: 0 auto 30px;
	padding: 0 0 0;
}
#maincol {
	float: right;
	display: inline;
	width: 744px;
	margin: 0 0 0 16px;
	padding: 2px 0 0;
	background:url(../images/bg_maincol_t.gif) 0 0 no-repeat;
}
.home #maincol {
	float: none;
	width: 960px;
	margin: 0 auto;
	padding: 6px 0 0;
}
#contents {
	margin: 0 0 35px;
	background:url(../images/bg_maincol_m.gif) 0 0 repeat-y;
}
.home #contents {
	margin: 0 0 0;
}
#contents .contentsInr {
	padding: 0 2px 1px;
	background:url(../images/bg_maincol_b.gif) 0 100% no-repeat;
}
.ie6 #contents .contentsInr,
.ie7 #contents .contentsInr {
	padding: 0 2px 30px;
}
.home #contents .contentsInr {
}
#sidecol {
	float: left;
	display: inline;
	width: 204px;
	margin: 0;
}
/* ------------------------------ footer */

#footerT {
	width: 100%;
	margin: 0 auto;
	padding: 20px 0;
	background: #EEE;
	border-top: #CCC solid 1px;
}
#footerM {
	width: 100%;
	margin: 0 auto;
	padding: 10px 0;
	background: #000;
}
#footerB {
	width: 100%;
	margin: 0 auto;
	padding: 10px 0 20px;
	background: #000;
	border-top: #333 solid 1px;
}
/* ------------------------------------------------------------ HEADER */

/* ------------------------------ logo */

#header .logo {
	position: absolute;
	top: 21px;
	left: 3px;
}
/* ------------------------------ hContact */

#hContact {
	position: absolute;
	top: 24px;
	left: 635px; /* ※20180506修正（元789px） */
}
#hContact div {
	margin: 0 0 4px;
}
/* ------------------------------ hDl ※20180516新規追加 */

#hDl {
	position: absolute;
	top: 24px;
	left: 799px;
}
#hDl div {
	margin: 0 0 4px;
}
/* ------------------------------ hTel */

#hTel {
	position: absolute;
	top: 25px;
	left: 468px; /* ※20180506修正（元610px） */
}
/* ------------------------------ tagLine */

.tagLine {
	height: 20px;
	padding: 4px 0 0;
	background: #900;
}
.tagLine h1 {
	width: 960px;
	margin: 0 auto;
	font-size: 83.3%;
	color: #E5BFBF;
}
/* ------------------------------ gnav */
#gnav {
	position: absolute;
	top: 72px;
	left: 3px;
	margin:0;
	width: 960px;
	height: 40px;
}
#gnav li {
	margin:0;
	width: 192px;
	height: 40px;
	float:left;
	}

#gnav li a {
	margin: 0;
	padding: 40px 0 0 0;
	width: 216px;
	overflow: hidden;
	display: block;
	height: 0px!important;
	height /**/:40px;/* for ie5.x */
	}

#gnav li.about a {	
	background: url('../images/gnav_about.gif') no-repeat;
	}

#gnav li.feature a {	
	background: url('../images/gnav_feature.gif') no-repeat;
	}

#gnav li.case-studies a {	
	background: url('../images/gnav_case_studies.gif') no-repeat;
	}

#gnav li.seminar a {	
	background: url('../images/gnav_seminar.gif') no-repeat;
	}

#gnav li.mailmag a {	
	background: url('../images/gnav_mailmag.gif') no-repeat;
	}

#gnav li.on a,
#gnav li a:hover {
	background-position: 0 -40px;
	}


/* ------------------------------------------------------------ FOOTER */

/* ------------------------------ boxFtBnr */

.boxFtBnr {
	width: 960px;
	margin: 0 auto;
	/*border-left: #CCC solid 1px; ※20180506非適用に*/
}
.boxFtBnr li {
	float: left;
	/*width: 280px; ※20180506非適用に*/
	margin: 0 0 0;
	/*padding: 0 19px 0 20px; ※20180506非適用に*/
	/*border-right: #CCC solid 1px; ※20180506非適用に*/
}
.boxFtBnr img[width="208"] {/* ※20180506新規追加 */
	margin-right: 32px;
}
.boxFtBnr img[width="159"] {/* ※20180506新規追加 */
	margin-right: 43px;
}
.boxFtBnr img[width="262"] {/* ※20180506新規追加 */
	margin-right: 41px;
}
.boxFtBnr li.cld1 {
	padding: 0 19px;
}
/* ------------------------------ fnav */

.fnav {
	width: 960px;
	margin: 0 auto;
}
.fnav ul {
	margin: 10px auto 0;
	padding: 0 0 0 10px;
	clear: both;
	border-left: #333 solid 1px;
}
.fnav li {
	float: left;
	margin: 0 10px 0 0;
	padding: 0 10px 0 0;
	font-size: 83.3%;
	border-right: #333 solid 1px;
}
.fnav a {
	color: #BFBFBF;
	text-decoration: none;
}
.fnav a:hover {
	text-decoration: underline;
}
/* ------------------------------ copy */

.copy {
	width: 960px;
	margin: 40px auto 20px;
	font-size: 83.3%;
	color: #BFBFBF;
}
/* ------------------------------------------------------------ SIDE COL */

/* ------------------------------ sideNavigation */

/* ------------------------------ lnav */

#lnav {
	width: 204px;
	margin: 0 auto 8px;
	background: url(../images/bg_lnav.gif) 0 0 repeat-y;
}
#lnav .inr {
	padding: 0 0 3px;
	background: url(../images/bg_lnav_b.gif) 0 100% no-repeat;
}
#lnav ul {
	margin: 0 auto;
	width: 200px;
}
#lnav ul li {
	float: left;
	display: inline;
	width: 200px;
	margin: 0;
	border-top: #CCC solid 1px;
}
#lnav ul li a,
#lnav ul li .nolink {
	display: block;
	width: 163px;
	padding: 12px 4px 12px 31px;
	line-height: 1.25;
	color: #333;
	background: url(../images/ico_squ_arw_brawn_r.gif) 10px 13px no-repeat;
	text-decoration: none;
	border: #FFF solid 1px;
}
#lnav ul li.current a {
	color: #532D18;
	background: #E6E0DD url(../images/ico_squ_arw_brawn_r.gif) 10px 13px no-repeat;
}
#lnav ul li.current a:hover,
#lnav ul li a:hover {
	color: #532D18;
	background: #E6E0DD url(../images/ico_squ_arw_brawn_r.gif) 10px 13px no-repeat;
}

/* ------------------------------ snBnr */

.snBnr {
	width: 200px;
	margin: 0 auto;
}
.snBnr ul {
}
.snBnr li {
	margin: 0 0 10px;
}

/* ------------------------------ snContact */

.snContact {
	width: 200px;
	margin: 0 auto 10px;
	background: #900;
}
.snContact .inrT {
	padding: 10px 10px;
	border-bottom: #730000 solid 1px;
}
.snContact .inrT p {
	margin: 0 5px;
}
.snContact .inrT ul {
	margin: 5px 2px 0;
}
.snContact .inrB {
	padding: 10px 15px;
	border-top: #A31A1A solid 1px;
}

/* ------------------------------ headline */

#contents p.headline {
	margin: 0 auto 20px;
	padding: 33px 20px 39px;
	background:url(../images/bg_h1.gif) 0 100% repeat-x;
}
.section h2 {
	margin: 0 auto 20px;
	padding: 0 0 15px;
	font-size: 166.6%;
	line-height: 1.25;
	font-weight: bold;
	background:url(../images/bg_h2.gif) 0 100% repeat-x;
}
.section h2.noBg {
	margin: 45px auto 20px;
	padding: 0;
	background: 0;
}
.section h3 {
	clear: both;
	margin: 20px auto 10px;
	padding: 0 0 8px;
	font-size: 133.3%;
	font-weight: bold;
	color: #000;
	background: url(../images/line_dot_gray_h.gif) 0 100% repeat-x;
}
.section h4 {
	width: auto;
	margin: 10px auto 10px;
	font-size: 116.6%;
	font-weight: bold;
	color: #333;
}
.section h5 {
	width: auto;
	margin: 10px auto 10px;
	font-size: 100%;
	font-weight: bold;
	color: #878787;
}
/* ------------------------------ section */

.section {
	clear: both;
	width: 700px;
	margin: 0 auto 30px;
}

/* ------------------------------ paragraph */
.section p {
	margin: 0 0 20px;
	font-size: 116.6%;
}
.section p.h5p {
	font-size: 100%!important;
}
/* ------------------------------ boxTtl */
.boxTtl {
	margin: 0 auto 15px;
	padding: 0 0 15px;
	background:url(../images/bg_h2.gif) 0 100% repeat-x;
}
.boxTtl h2 {
	float: left;
	margin: 0;
	padding: 0;
	background: none;
}
.boxTtl ul,
.boxTtl p {
	float: right;
	margin: 0;
	padding: 0;
	text-align: right;
}
.boxTtl li {
	float: right;
	margin: 0;
	padding: 0 0 0 20px;
	line-height: 1.2;
	text-align: right;
	background: url(../images/ico_squ_arw_red_r.gif) 0 0 no-repeat;
}

/* ------------------------------------------------------------ LAYOUT */

/* ------------------------------ topicPath */

.topicPath {
	width: 945px;
	margin: 0 auto 12px;
	padding-left: 15px;
	line-height: 1.25;
	background: url(../images/ico_topicpath.gif) 0 1px no-repeat;
}
#footerM .topicPath {
	margin: 0 auto;
	background: url(../images/ico_topicpath_b.gif) 0 1px no-repeat;
}
.topicPath ul {
	font-size: 83%;
}
.topicPath ul li {
	float: left;
	margin: 0 6px 0 0;
	padding: 0 15px 0 0;
	color: #333;
	background: url(../images/bg_topicpath.gif) 100% 3px no-repeat;
}
#footerM .topicPath ul li {
	color: #FFF;
	background: url(../images/bg_topicpath_b.gif) 100% 3px no-repeat;
}
.topicPath ul li.current {
	background: none!important;
}
.topicPath ul li a {
	color: #333;
	text-decoration: underline;
}
#footerM .topicPath ul li a {
	color: #FFF;
}
.topicPath ul li a:hover,
.topicPath ul li a:active {
}

/* ------------------------------------------------------------ TABLE */

/* ------------------------------------------------------------ OTHER NAVIGATION */

/* pnav ------------------------------ */

.pnav {
	clear: both;
	width: 700px;
	margin: 0 auto 30px;
}

.pnav ul {
}

.pnav .pnavL {
	float: left;
	width: 340px;
}

.pnav .pnavR {
	float: right;
	width: 340px;
}

.pnav li div {
	margin: 0 0 7px;
}

.pnav li p {
	font-size: 100%!important;
	text-indent: -1.8em;
	margin: 0 0 0 1.8em;
}

.pnav .pnavR div,
.pnav .pnavR p {
	text-align: right;
}

.pnav li p a {
	padding: 0 0 0 20px;
	color: #333;
	background: url(../images/ico_squ_arw_red_r.gif) 0 0.2em no-repeat;
}
.mac .pnav li p a {
	background: url(../images/ico_squ_arw_red_r.gif) 0 0 no-repeat;
}

/* ------------------------------------------------------------ COLUMN */

/* ------------------------------ col2EQ */

.col2EQ {
	clear: both;
	width: 700px;
	margin: 0 0 15px;
}
.col2EQ .col2L,
.col2EQ .col2R {
	float: left;
	width: 340px;
}
.col2EQ .col2R {
	margin: 0 0 0 20px;
}
/* ------------------------------ col3EQ */

.col3EQ {
	position: relative;
	clear: both;
	width: 720px;
	margin: 0 -20px 15px;
}
.col3EQ .col3w1 {
	float: left;
	width: 220px;
	margin: 0 0 0 20px;
}
.col3EQ .col3w2 {
	float: left;
	width: 460px;
	margin: 0 0 0 20px;
}

/* ------------------------------------------------------------ FORM */

/* ------------------------------------------------------------ TEXT */

.signature {
	text-align: right;
}
.rollover {
}
.imgPng {
}
.note {
	font-size:86%;
	color:#F00;
}
.icoBlank {
	padding:0 17px 0 0;
	margin:0 5px 0 0;
	background:url(../images/ico_blank.gif) 100% 1px no-repeat;
}
.hrDot {
	padding-top: 20px;
	background: url(../images/line_dot_gray_h.gif) 0 0 repeat-x;
}
.txtCaution0 {
	font-size: 83%;
}
.txtCaution1 {
	margin-left: 1.25em!important;
	text-indent: -1.25em;
	line-height: 1.25;
	font-size: 83%;
	color: #333;
}
.txtCaution2 {
	margin-left: 2em!important;
	text-indent: -2em;
	line-height: 1.3;
	color: #999;
}
.txtCaution1 li span {
	color: #9D7826;
}
.icoNew {
	margin: 0 0 0 5px;
	vertical-align: -0.1em;
}
/* ------------------------------------------------------------ MARGIN */

.marginBtm0 {
	margin-bottom: 0!important;
}
.marginBtmSS {
	margin-bottom: 5px!important;
}
.marginBtmS {
	margin-bottom: 10px!important;
}
.marginBtmM {
	margin-bottom: 20px!important;
}
.marginBtmL {
	margin-bottom: 30px!important;
}
/* ------------------------------------------------------------ ALIGN */

.alnL {
	text-align: left;
}
.alnC {
	text-align: center;
}
.alnR {
	text-align: right;
}

.imgL {
	float: left;
	margin: 0 20px 15px 0;
}
.imgR {
	float: right;
	margin: 0 0 15px 20px;
}

/* ------------------------------------------------------------ LIST */

.ulCircle {
}
.ulCircle li {
	padding: 0 0 0 12px;
	background: url(../images/ico_ul_circle_gray.gif) 0 0.5em no-repeat;
}

.ulCircleCol3 {
	margin: 0 30px 0 -20px;
	float: left;
	width: 218px;
}
.ulCircleCol3 li {
	margin: 0 0 0 20px;
	padding: 0 0 0 12px;
	background: url(../images/ico_ul_circle_gray.gif) 0 0.5em no-repeat;
}


/* ------------------------------ boxTxtContSummary */

.boxTxtContSummary {
	width: 960px;
	margin: 20px auto 0;
}
.boxTxtContSummary p {
	line-height: 1.8;
	font-size: 83%;
	color: #777;
}

/* ------------------------------ boxContact */

.boxContact {
	width: 744px;
	margin: 0 auto;
	text-align: center;
}
.boxContact h2 {
	margin: 0 0 20px;
}
.boxContact p {
	margin: 0 0 10px;
}
.boxContact .inr {
	width: 744px;
	padding: 1px 0 0;
	background: url(../images/bg_box_contact_t.gif) 0 0 no-repeat;
}
.boxContact .inr2 {
	width: 740px;
	padding: 0 2px 3px;
	background: url(../images/bg_box_contact_b.gif) 0 100% no-repeat;
}
.boxContact .inrT {
	width: 740px;
	margin: 0 auto;
	border-bottom: #730000 solid 1px;
}
.boxContact .inrTL {
	float: left;
	width: 369px;
	padding: 12px 0 0;
	border-right: #A31A1A solid 1px;
}
.boxContact .inrTR {
	float: right;
	width: 369px;
	padding: 12px 0 0;
	border-left: #730000 solid 1px;
}
.boxContact .inrB {
	width: 740px;
	margin: 0 auto;
	/*padding: 12px 0 11px; ※20180506非適用に */
	border-top: #A31A1A solid 1px;
}
.boxContact .inrBL { /* ※20180516新規追加 */
	float: left;
	width: 331px;
	padding: 29px 0 0;
}
.boxContact .inrBR {
	float: right;
	width: 409px;
}
.boxContact .inrB h3 {
	/*float: left; ※20180506非適用に */
	width: 262px; /* ※20180506修正（元261px） */
	/*margin: 6px 0 0 42px;
	_margin: 6px 0 0 21px; ※20180506非適用に */
	margin-left: 29px; /* ※20180516新規追加 */
	font-size: 1px;
}
.boxContact .inrB p {
	/*float: left; ※20180506非適用に */
	/*width: 365px; ※20180506非適用に */
	/*margin: 0 0 0 30px;
	_margin: 0 0 0 15px; ※20180506非適用に */
	margin: 0; /* ※20180516新規追加 */
	padding: 12px 0 11px; /* ※20180516新規追加 */
	text-align: left; /* ※20180516新規追加 */
	border-top: #A31A1A solid 1px;
	border-bottom: #730000 solid 1px;
}
.boxContact .inrB p:first-child {
	border-top: none;
}


/* ------------------------------ Clearfix */
#sectionBlock02,
.ulCircleCol3,
.boxContact .inrB,
.boxContact .inrT,
.boxTtl,
.topicPath ul,
#lnav ul,
.col2EQ,
.col3EQ,
.boxFtBnr,
.pnav ul,
.fnav ul,
#gnav ul,
#pagebody {
	overflow: hidden;
}

.ulCircleCol3:after,
.boxContact .inrB:after,
.boxContact .inrT:after,
.boxTtl:after,
.topicPath ul:after,
#lnav ul:after,
.col2EQ:after,
.col3EQ:after,
.boxFtBnr:after,
.pnav ul:after,
.fnav ul:after,
#gnav ul:after,
#pagebody:after {
	clear: both;
	height: 0;
	visibility: hidden;
	font-size: 0;
	display: block;
	content: " ";
}

* html .ulCircleCol3,
* html .boxContact .inrB,
* html .boxContact .inrT,
* html .boxTtl,
* html .topicPath ul,
* html #lnav ul,
* html .col2EQ,
* html .col3EQ,
* html .boxFtBnr,
* html .pnav ul,
* html .fnav ul,
* html #gnav ul,
* html #pagebody {
	zoom: 1;
}

*:first-child+html .ulCircleCol3,
*:first-child+html .boxContact .inrB,
*:first-child+html .boxContact .inrT,
*:first-child+html .boxTtl,
*:first-child+html .topicPath ul,
*:first-child+html #lnav ul,
*:first-child+html .col2EQ,
*:first-child+html .col3EQ,
*:first-child+html .boxFtBnr,
*:first-child+html .pnav ul,
*:first-child+html .fnav ul,
*:first-child+html #gnav ul,
*:first-child+html #pagebody {
	zoom: 1;
}

.clear:after,
.contents:after,
.nav:after {
	content:"";
	clear: both;
	display: block;
	}
	
* + html .clear,
* + html .contents,
* + html .nav {/* for ie7 */
  display: inline-block;
  }

/* Hides from IE5-mac \*/
* html .clear,
* html .contents,
* html .nav {
	height: 1%;
	}
.clear,
.contents,
.nav { display:block; }
/* End hide from IE5-mac */