@charset "utf-8";
/* ============================================================
＠＠
汎用モジュール

%update /  2015.12.18

【テキスト／リンク／アイコン】
【見出し】
【リスト】
【テーブル】
【ブロック幅／カラム】
【ボックス／ボタン】
【フォーム】
【基本段落／区切り線】
【その他汎用クラス】
============================================================ */

/* ------------------------------------------------------------
【テキスト／リンク／アイコン】
------------------------------------------------------------ */
.cmTxtSS:before, .cmTxtS:before, .cmTxtM:before, .cmTxtMM:before, .cmTxtL:before, .cmTxtLL:before, .cmTxtXLL:before, .cmTxtXL:before,
.cmTxtSS:after, .cmTxtS:after, .cmTxtM:after, .cmTxtL:after, .cmTxtLL:after, .cmTxtXLL:after, .cmTxtXL:after {
	content: "|";
	display: block;
	visibility: hidden;
	line-height: 1;
}
/* ----- ↓[cmTxtSS 11px]↓ ----- */
.cmTxtSS				{ font-size: 91.7%; line-height: 1.727 /* 19px */ }
.cmTxtSS:before { margin-bottom: -1.364em; /* font-size +4px */ }
.cmTxtSS:after	{ margin-top: -1.364em; /* font-size +4px */ }
.cmTxtSS img		{ margin: 0.364em 0; }
/* ----- ↓[cmTxtS 12px]↓ ----- */
.cmTxtS					{ font-size: 100%; line-height: 1.667 /* 20px */ }
.cmTxtS:before	{ margin-bottom: -1.334em; /* font-size +4px */ }
.cmTxtS:after		{ margin-top: -1.334em; /* font-size +4px */ }
.cmTxtS img			{ margin: 0.334em 0; }
/* ----- ↓[cmTxtM 13px]↓ ----- */
.cmTxtM					{ font-size: 108.3%; line-height: 1.615 /* 21px */ }
.cmTxtM:before	{ margin-bottom: -1.308em; /* font-size +4px */ }
.cmTxtM:after		{ margin-top: -1.308em; /* font-size +4px */ }
.cmTxtM img			{ margin: 0.308em 0; }
/* ----- ↓[cmTxtM 14px]↓ ----- */
.cmTxtMM				{ font-size: 116.7%; line-height: 1.571 /* 22px */ }
.cmTxtMM:before	{ margin-bottom: -1.286em; /* font-size +4px */ }
.cmTxtMM:after	{ margin-top: -1.286em; /* font-size +4px */ }
.cmTxtMM img		{ margin: 0.286em 0; }
/* ----- ↓[cmTxtL 15px]↓ ----- */
.cmTxtL					{ font-size: 125%; line-height: 1.533 /* 23px */ }
.cmTxtL:before	{ margin-bottom: -1.27em; /* font-size +4px */ }
.cmTxtL:after		{ margin-top: -1.27em; /* font-size +4px */ }
.cmTxtL img			{ margin: 0.27em 0; }
/* ----- ↓[cmTxtLL 18px]↓ ----- */
.cmTxtLL				{ font-size: 150%; line-height: 1.445 /* 26px */ }
.cmTxtLL:before	{ margin-bottom: -1.223em; /* font-size +4px */ }
.cmTxtLL:after	{ margin-top: -1.223em; /* font-size +4px */ }
.cmTxtLL img		{ margin: 0.223em 0; }
/* ----- ↓[cmTxtXL 20px]↓ ----- */
.cmTxtXL				{ font-size: 166.7%; line-height: 1.4 /* 28px */ }
.cmTxtXL:before	{ margin-bottom: -1.2em; /* font-size +4px */ }
.cmTxtXL:after	{ margin-top: -1.2em; /* font-size +4px */ }
.cmTxtXL img		{ margin: 0.2em 0; }
/* ----- ↓[cmTxtXLL 26px]↓ ----- */
.cmTxtXLL				{ font-size: 216.7%; line-height: 1.308 /* 34px */ }
.cmTxtXLL:before{ margin-bottom: -1.154em; /* font-size +4px */ }
.cmTxtXLL:after	{ margin-top: -1.154em; /* font-size +4px */ }
.cmTxtXLL img		{ margin: 0.154em 0; }
/* ----- ↓[cmTxtXX 28px]↓ ----- */
.cmTxtXX				{ font-size: 233.3%; line-height: 1.286 /* 36px */ }
.cmTxtXX:before	{ margin-bottom: -1.143em; /* font-size +4px */ }
.cmTxtXX:after	{ margin-top: -1.143em; /* font-size +4px */ }
.cmTxtXX img		{ margin: 0.143em 0; }

.cmIco01 {
	background: url(/shared/images/cm_ico_01.png) no-repeat 100% 50%;
	padding-right: 17px;
}
.cmIco02 {
	background: url(/shared/images/cm_ico_02.png) no-repeat 100% 50%;
	padding-right: 27px;
}
.cmIco03 {
	background: url(/shared/images/cm_ico_03.png) no-repeat 0 50%;
	padding-left: 17px;
}
.cmIco04 {
	background: url(/shared/images/cm_ico_03.png) no-repeat 96% 50%;
	/*display: block;*/
}
.cmIco05 {
	background: url(/shared/images/cm_ico_02.png) no-repeat 98% 50%;
	/*display: block;*/
}
.cmIco06 {
	background: url(/shared/images/cm_ico_04.png) no-repeat 0 50%;
	padding-left: 20px;
	/*display: block;*/
}
.cmIco07 {
	background: url(/shared/images/cm_ico_07.png) no-repeat 0 0.10em;
	padding-left: 14px;
}
.cmIco08 {
	background: url(/shared/images/cm_ico_08.png) no-repeat 80% 50%;
	padding-right: 27px;
}
.cmIco09 {
	background: url(/shared/images/cm_ico_09.png) no-repeat 0 0.10em;
	padding-left: 14px;
}
.cmIcoWindow {
	padding-left: 10px;
	display: inline;
}
.cmTxtColor00 {
	color: #ffffff;
}
.cmTxtColor01 {
	color: #888888;
}
.cmTxtColor02 {
	color: #bb092c;
}
.cmTxtColor03 {
	color: #d50a0a;
}

.cmMenu01 {
	border: 1px solid #dadada;
	border-radius: 2px;
	background: url(/shared/images/cm_menu_bg.gif) 0 50% no-repeat;
	background-size: 100%;
}
.cmMenu01 a {
	padding: 21px 10px 21px 17px;
	display: block;
	width: 191px;
	line-height: 14px;
	text-decoration: none !important;
}
.cmMenu01:hover,
.cmMenu01.jsMenuCurrent {
	background: url(/shared/images/cm_menu_bg_on.gif) 0 50% no-repeat;
	background-size: 100%;
}
.cmMenu01:hover a,
.cmMenu01.jsMenuCurrent a {
	color: #ffffff;
}
.cmMenu01:hover .cmIco04,
.cmMenu01.jsMenuCurrent .cmIco04 {
	background: url(/shared/images/cm_ico_02.png) 96% 50% no-repeat;
}
.cmMenu01 a span {
	display: inline-block;
}

/* ------------------------------------------------------------
【見出し】
------------------------------------------------------------ */
.cmH2 {
	font-size: 233%;
	font-weight: normal;
	width: 100%;
	box-sizing: border-box;
}
.cmH2Line {
	font-size: 233%;
	font-weight: normal;
	width: 100%;
	box-sizing: border-box;
	border-left: 7px solid #c00020;
	padding-left: 14px;
}
.cmH2Pic {
	font-size: 100%;
	font-weight: normal;
	padding-left: 132px;
	width: 700px;
	height: 90px;
	box-sizing: border-box;
	border-radius: 3px;
	display: table-cell;
	vertical-align: middle;
}
.cmH3 {
	background-color: #f4f4f4;
	padding: 11px 23px;
	border-radius: 2px;
	font-size: 166.6%;
	font-weight: normal;
	width: 100%;
	box-sizing: border-box;
}
.cmH4 {
	font-size: 133.3%;
	width: 100%;
	box-sizing: border-box;
}
.cmH5 {}
.cmH6 {}


/* ------------------------------------------------------------
【リスト】
------------------------------------------------------------ */
.cmList01 {}
.cmList01 > li {
	margin-top: 10px;
}
.cmList01 > li:first-child {
	margin-top: 0;
}

/*
.cmList01 > li > .cmList01Mrk,
.cmList01 > li > .cmList01Txt {
	display: table-cell;
	vertical-align: top;
}
.cmList01 > li > .cmList01Mrk {
	padding-right: 0.3em;
	width: 1%;
	white-space: nowrap;
}
.cmInlineList01 {
	letter-spacing: -1em;
	margin: -17px 0 0 -30px;
}
.cmInlineList01 > li {
	letter-spacing: normal;
	display: inline-block;
	margin: 17px 0 0 30px;
	vertical-align: top;
}
*/

/* ------------------------------------------------------------
【テーブル】
------------------------------------------------------------ */
/*
table.cmTbl01 {
	border-top: 1px solid #d1d1d1;
	border-left: 1px solid #d1d1d1;
	background-color: #ffffff;
	width: 100%;
}
table.cmTbl01 th,
table.cmTbl01 td {
	border-right: 1px solid #d1d1d1;
	border-bottom: 1px solid #d1d1d1;
	padding: 5px;
	background-color: #ffffff;
	font-weight: normal;
	text-align: left;
	vertical-align: top;
}
table.cmTbl01 th {
	background-color: #eeeeee;
	font-weight: bold;
}
*/

/* ------------------------------------------------------------
【ブロック幅／カラム】
------------------------------------------------------------ */
.cmCol2Wrap,
.cmCol3Wrap,
.cmCol4Wrap {
	width: 100%;
}
.cmCol2Wrap > .cmColBlock,
.cmCol3Wrap > .cmColBlock,
.cmCol4Wrap > .cmColBlock {
	display: inline-block;
	vertical-align: top;
}
.cmCol2Wrap > .cmColBlock { width: 50.0%; }
.cmCol3Wrap > .cmColBlock { width: 33.3%; }
.cmCol4Wrap > .cmColBlock { width: 25.0%; }

/* ------------------------------------------------------------
【ボックス／ボタン】
------------------------------------------------------------ */
/*
.cmBox01 {
	border: solid 1px #d4d4d4;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	padding: 0 12px 16px;
}
.cmBtn01 {
	background-color: #eee;
	position: relative;
	display: inline-block;
	padding: 8px 21px 7px 36px;
	color: #555555 !important;
	border-radius: 3px;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
}
*/


/* ------------------------------------------------------------
【フォーム】
------------------------------------------------------------ */


/* ------------------------------------------------------------
【基本段落／区切り線】
------------------------------------------------------------ */
.cmMt0   { margin-top: 0px !important; }
.cmMt5   { margin-top: 5px !important; }
.cmMt10  { margin-top: 10px !important; }
.cmMt15  { margin-top: 15px !important; }
.cmMt20  { margin-top: 20px !important; }
.cmMt25  { margin-top: 25px !important; }
.cmMt30  { margin-top: 30px !important; }
.cmMt35  { margin-top: 35px !important; }
.cmMt40  { margin-top: 40px !important; }
.cmMt45  { margin-top: 45px !important; }
.cmMt50  { margin-top: 50px !important; }

.cmMb0   { margin-bottom: 0px !important; }
.cmMb5   { margin-bottom: 5px !important; }
.cmMb10  { margin-bottom: 10px !important; }
.cmMb15  { margin-bottom: 15px !important; }
.cmMb20  { margin-bottom: 20px !important; }
.cmMb25  { margin-bottom: 25px !important; }
.cmMb30  { margin-bottom: 30px !important; }
.cmMb35  { margin-bottom: 35px !important; }
.cmMb40  { margin-bottom: 40px !important; }
.cmMb45  { margin-bottom: 45px !important; }
.cmMb50  { margin-bottom: 50px !important; }
.cmMb55  { margin-bottom: 55px !important; }
.cmMb60  { margin-bottom: 60px !important; }
.cmMb70  { margin-bottom: 70px !important; }
.cmMb80  { margin-bottom: 80px !important; }
.cmMb90  { margin-bottom: 90px !important; }
.cmMb100 { margin-bottom: 100px !important; }
.cmMb110 { margin-bottom: 110px !important; }

.cmMl0  { margin-left: 0px !important; }
.cmMl5  { margin-left: 5px !important; }
.cmMl10 { margin-left: 10px !important; }
.cmMl15 { margin-left: 15px !important; }
.cmMl20 { margin-left: 20px !important; }
.cmMl25 { margin-left: 25px !important; }
.cmMl30 { margin-left: 30px !important; }
.cmMl35 { margin-left: 35px !important; }
.cmMl40 { margin-left: 40px !important; }
.cmMl45 { margin-left: 45px !important; }
.cmMl50 { margin-left: 50px !important; }
.cmMl55 { margin-left: 55px !important; }

.cmMr0  { margin-right: 0px !important; }
.cmMr5  { margin-right: 5px !important; }
.cmMr10 { margin-right: 10px !important; }
.cmMr15 { margin-right: 15px !important; }
.cmMr20 { margin-right: 20px !important; }
.cmMr25 { margin-right: 25px !important; }
.cmMr30 { margin-right: 30px !important; }
.cmMr35 { margin-right: 35px !important; }
.cmMr40 { margin-right: 40px !important; }
.cmMr45 { margin-right: 45px !important; }
.cmMr50 { margin-right: 50px !important; }
.cmMr55 { margin-right: 55px !important; }

.cmSection01 {
	margin: 20px 0 50px 20px;
}


/* ------------------------------------------------------------
【その他汎用クラス】
------------------------------------------------------------ */
.cmClearFix:after {
	content: "";
	clear: both;
	display: block; 
	visibility: hidden; 
	font-size: 0;
	height: 0;
	overflow: hidden;
	line-height: 0; 
}
.cmHide {
	display: none !important;
}
.cmBlock {
	display: block !important;
}
.cmInlineBlock {
	display: inline-block !important;
}
.cmMarginAuto {
	margin-left: auto !important;
	margin-right: auto !important;
}
.cmPosRelative {
	position: relative;
}
.cmPosAbsolute {
	position: absolute;
}
.cmDispTbl {
	display: table;
}
.cmDispTbl li {
	display: table-cell;
	vertical-align: bottom;
}
.cmWidhMax {
	width: 100%;
}
.cmFltL {
	float: left;
	width: 49%;
}
.cmFltR {
	float: right;
	width: 49%;
}
.cmPosCenter {
	text-align: center !important;
}
.cmPosRight {
	text-align: right !important;
}
.cmPosLeft {
	text-align: Left !important;
}
.cmRollover:hover{
	filter:alpha(opacity=20) !important;
	-moz-opacity: 0.8 !important;
	opacity: 0.8 !important;

}
.cmMapBox01,
.cmMapBox02 {
	position: fixed;
	background: url(/corporate/about/images/ind_map_bg.png) 0 0 repeat;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
}
.cmMapBox01 .cmMapBox01Inner {
	margin: 0 auto;
	padding-top: 110px;
	width: 960px;
}
.cmMapBox01 .cmColBlock {
	width: 455px;
	margin-left: 50px;
}
.cmMapBox01 .cmColBlock:first-child {
	margin-left: 0;
}
.cmMapBox02 {
	/*
	display: none;
	*/
}
.cmMapBox02 .cmMapBox02Inner01 {
	margin: 0 auto;
	padding-top: 110px;
	width: 960px;
}
.cmMapBox02 .cmMapBox02Inner02 {
	margin: 0 auto;
	width: 814px;
}
.cmMapBox02 .cmColBlock {
	margin-left: 20px;
}
.cmMapBox02 .cmColBlock:first-child {
	margin-left: 0;
}
.cmMapClose01 {
	margin-left: 916px;
}
.cmMapClose01:hover {
	animation: anim-scale 0.5s ease-out;
	/*
	animation: spin 1.0s linear infinite;
	*/
}
@-moz-keyframes anim-scale {
	40% { transform: scale(1.4, 1.4); }
	60% { transform: scale(1, 1); }
	80% { transform: scale(1.1, 1.1); }
	100% { transform: scale(1, 1); }
}
@-ms-keyframes anim-scale {
	40% { transform: scale(1.4, 1.4); }
	60% { transform: scale(1, 1); }
	80% { transform: scale(1.1, 1.1); }
	100% { transform: scale(1, 1); }
}
@-o-keyframes anim-scale {
	40% { transform: scale(1.4, 1.4); }
	60% { transform: scale(1, 1); }
	80% { transform: scale(1.1, 1.1); }
	100% { transform: scale(1, 1); }
}
@keyframes anim-scale {
	40% { transform: scale(1.4, 1.4); }
	60% { transform: scale(1, 1); }
	80% { transform: scale(1.1, 1.1); }
	100% { transform: scale(1, 1); }
}
/*
@keyframes spin {
	0% {transform: rotate(0deg);}
	100% {transform: rotate(360deg);}
}
*/
