/* ----- 共通 - タグリセット */
* {
	margin: 0;
	padding: 0; 
}
html {
    height: 100%;
}
body {
	width: 100%;
    height: 100%;
	background: url(images/common/bg_grid.gif) left top repeat;
	color: #313131;
	font-family: "ＭＳ Ｐゴシック";
	font-size: 13px;
	line-height: 20px;
	text-align: justify;
	text-justify: distribute;
}
h1, h2, h3, h4, h5, h6, ul, ol, li, dl, dt, dd, img, p, table, tr, th, td, blockquote {
	margin: 0;
	padding: 0; 
	border: none;
	font-size: 13px;
	line-height: 20px;
}
li {
	list-style: none;
}
a {
	color: #1b1b1b;
	font-weight: bold;
}
a:hover {
	color: #cd2c27;
}


/* ------------------------------タグ再設定----- */

h1 {
	margin: 0 0 55px 0px;
	padding: 0px 0 0 0px;
}
h2 {
	margin-bottom: 16px;
	color: #cd2c27;
	font-size: 18px;
}
h2 span {
	display: block;
    padding: 0 0 0 8px;
	background: url(images/common/bg_square.gif) left 7px no-repeat;
	color: #000;
	font-size: 8px;
    font-family: Arial, Helvetica, sans-serif;
}
h2.smallHeadline {
	margin-bottom: 15px;
}
h3 {
	margin: 0 0 0px;
	color: #cd2c27;
	font-size: 13px;
	line-height: 20px;
}
h4 {
	margin: 0 0 21px;
}
p, dt, dd {
	margin: 0 40px 19px 0;
	font-size: 13px;
	line-height: 20px;
	text-align: justify;
	text-justify: distribute;
}
ul {
	margin-bottom: 19px;
}
li {
	font-size: 13px;
	line-height: 20px;
}
ul li ul li {
	margin-left: 10px;
	padding-left: 17px;
	background: url(images/common/bg_arrow.gif) left 5px no-repeat;
}
strong {
	color: #626262;
}
hr.separate{
	height:1px;
	color:#fff;
	border-width:1px 0 0 0;
	border-color:#999;
	border-style:dotted;
	margin:20px 0;
}

/* ------------------------------コンテナ----- */

#container {
	width: 100%;
}
#main {
	padding: 80px 0 0 159px;
	border-top: 19px solid #000;
	text-align: left;
}


/* ------------------------------サイドバー----- */

#sidebar {
	position: absolute;
	left: 0;
	top: 0;
	border-top: 19px solid #cd2c27;
}


/* ------------------------------インデックス----- */

#mainMenu ul {
	margin-bottom: 0px;
}
#mainMenu li {
	padding-bottom: 19px;
	line-height: 0px;
}
*html body #mainMenu li {
	padding-bottom: 17px;
}
#mainMenu li a {
	display: block;
	width: 305px;
	height: 19px;
    padding: 20px 0 0 13px;
	border: 1px solid #cc918f;
    background: #cd2c27;
    color: #f8dad9;
    font-size: 14px;
    line-height: 1px;
    text-decoration: none;
    letter-spacing: -0.03em;
}
#mainMenu li a span {
    padding: 1px 0 0 7px;
	color: #ffd6d5;
	font-size: 8px;
    font-family: Arial, Helvetica, sans-serif;
    font-weight: bold;
    letter-spacing: 0.03em;
    position: relative;
    top: -2px;
}
#mainMenu li a:hover,
#mainMenu li a:hover span {
	color: #cc918f;
}

#update dl {
	margin-top: -12px;
}
#flash {
	position: absolute;
	left: 39px;
	top: 19px;
	width: 80px;
	height: 850px;
    min-height: 100%;
}


/* ------------------------------グローバルメニュー----- */

#gnav {
	position: absolute;
	left: 39px;
	top: 199px;
	width: 100px;
}
#gnav h2 {
	margin-bottom: 20px;
}
#gnav ul {
	margin-top: -2px;
}
#gnav li {
	margin: 0 0 12px;
	line-height: 7px;
}
*html body #gnav li {
	margin-bottom: 13px;
}
#gnav a {
    padding: 0 0 0 12px;
    background: url(images/common/bg_gnav_arrow.gif) left 3px no-repeat;
	color: #cd2c27;
    font-size: 12px;
    text-decoration: none;
}
#gnav a#index {
	color: #959595;
}
#gnav a#index:hover,
#gnav a:hover {
	color: #cc918f;
}


/* ------------------------------ブロック----- */

.borderBlock {
	width: 100%;
	margin-bottom: 39px;
	padding-bottom: 20px;
	border-bottom: 1px solid #959595;
}


/* ------------------------------ページトップ----- */

.upward {
	clear: both;
	margin: 0 40px -20px 0;
	padding: 20px 0 0;
	text-align: right;
}


/* ------------------------------フッター----- */

#footer {
	margin: 40px 40px 36px 0;
	text-align: right;
}


/* ===============================段組汎用クラス============================================ */

dl.column {
	margin: 0px 0 24px;
}
dl.column dt,
dl.column dd {
	margin: 0;
	padding: 0;
	line-height: 20px;
}
dl.column dt {
	width: 81px;
	margin: 0 19px 0 0px;
	background: url(images/common/bounder.gif) right center no-repeat;
	color: #cd2c27;
}
dl.column dd {
	margin: -20px 40px 0 100px;
}
dl.column dd dt {
	color: #313131;
	font-weight: bold;
}


/* ===============================汎用クラス============================================ */

ul.disclist,
ul.disclist ul {
	margin-bottom: 0;
}
.disclist li {
	list-style-type: disc;
	margin-left: 16px;
}
.disclist li ul li {
	list-style-type: none;
}

/* ===============================ここから個別ページ用スタイル============================================ */



/* ------------------------------会社概要----- */

#companyProfile dt {
	width: 122px;
}
#companyProfile dd {
	margin-left: 140px;
}

/* ------------------------------実績紹介----- */

#achievements .borderBlock {
	margin-bottom: 35px;
	padding-bottom: 29px;
}
.achievementBlock {
	position: relative;
	width: 100%;
}
.achievementBlock .date {
	padding: 10px 0 0px;
	background: url(images/achievements/tips_releasedate.gif) left 5px no-repeat;
}
.achievementBlock .data {
	position: absolute;
	left: 0;
	top: 0;	
}
.achievementBlock .data h3 {
	margin-bottom: 11px;
	color: #313131;
}
.achievementBlock .data ul.category li {
	margin-bottom: 1px;
	line-height: 0;
	font-size: 1px;
}
.achievementBlock .detail {
	margin: 0 40px -4px 120px;
	padding: 4px 0 0;
}
.achievementBlock .detail h3,
#recruit .detail h3 {
	margin-bottom: 17px;
	padding: 0px 0 0 13px;
	border-left: 7px solid #cd2c27;
	color: #cd2c27;
	font-size: 16px;
}
.achievementBlock .detail h3 {
	margin-bottom: 13px;
}
.achievementBlock .detail .rightImage {
	float: right;
	margin: 0 0 20px 20px;
}
.leftImage {
	float: left;
	margin: 0 20px 20px 0;
}

/* ------------------------------採用情報----- */

#recruit #introduction h3 {
	margin-bottom: 19px;
	padding: 4px 0 0px;
}
#vision {
	margin-top: -20px;
}
#vision h2 {
	margin-bottom: 25px;
}
#vision ul {
	margin-bottom: 0;
}
#vision ul#first {
	margin-bottom: 24px;
}


/* =============================== clearfix ============================================ */

.clearfix:after {
	content: "";
	display: block;
	visibility: hidden;
	clear: both;
	height: 0;
	font-size: 0.1em;
	line-height: 0;
}
.clearfix {
	padding-bottom: 0px;
	display: inline-table; 
	_height: 1%; 
	/* \*/	display: block; /* */ 
}


/* ============================== special recruit page ================================= */
div#recruitWrapper{
	width:900px;
	margin:0 auto;
}

div#recruitContent{
	padding:10px;
}

h1#recruitTitle{
	background:url(images/recruit/recruit_title.png) no-repeat;
	width:720px;
	height:97px;
	margin:10px auto;
	text-indent:-9999px;
	outline:0;
}

h2#recruitSubTitle{
	text-align:center;
	margin:20px;
}

div#appIntroduction{
	width:800px;
	height:412px;
	background:url(images/recruit/lightbike.png) no-repeat;
	margin:20px auto;
}

p#catchCopy{
	text-align:center;
	font-size:200%;
	font-weight:bold;
	margin:20px auto;
}

a#replyButton{
	width:217px;
	height:61px;
	display:block;
	margin:0 auto;
	text-indent:-9999px;
	outline-width:0;
	background:url(images/recruit/reply_button.png) no-repeat;
}

a:hover#replyButton{
	background:url(images/recruit/reply_button_on.png) no-repeat;
}

a#backToButton{
	text-align:center;
	display:block;
	width:217px;
	margin:20px auto;
}

div#recruitSfcWrapper{
	width:800px;
	margin:0 auto;
}
h1#recruitSfcTitle{
	background:url(images/recruit_sfc/title.png) no-repeat;
	width:800px;
	height:128px;
	margin:10px auto;
	text-indent:-9999px;
	outline:0;
}
h2#recruitSfcPoints{
	background:url(images/recruit_sfc/points.png) no-repeat;
	width:800px;
	height:96px;
	margin:10px auto;
	text-indent:-9999px;
	outline:0;
}
h3.recruitSfcPoint{
	font-size: 150%;
	line-height : 150%;
	border-left : 10px solid #ee8c87;
	padding-left : 10px;
	clear : both;
}
div#recruitSfcIntro{
	background:url(images/recruit_sfc/intro.png) no-repeat;
	width:800px;
	height:256px;
	text-indent:-9999px;
}
div.recruitSfcPointBody img{
	margin : 10px;
}
div.recruitSfcPointBody{
	margin : 10px;
}
a#mailSfcButton{
	text-align:center;
	display:block;
	width:240px;
	margin:20px auto;
}
a#mailSfcButton{
	width:240px;
	height:64px;
	display:block;
	margin:0 auto;
	text-indent:-9999px;
	outline-width:0;
	background:url(images/recruit_sfc/mail_button.png) no-repeat;
}