@charset "utf-8";

/**
 * CSS for common styles
 *
 * @project  Rakuten Careers
 * @date     2012.07.11
 * @author   Atsuko Shimazaki
 */

/* ------------------------------------------
	CSS reset
------------------------------------------ */

body,
div, dl, dt, dd, ul, ol, li,
h1, h2, h3, h4, h5, h6,
pre, code, form, fieldset, legend,
p, blockquote, table, th, td {
	margin: 0;
	padding: 0;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
fieldset, img {
	border: 0;
}
address, caption, cite, code, dfn, em, strong, th, var {
	font-style: inherit;
	font-weight: inherit;
}
ol, ul {
	list-style: none outside;
}
caption, th {
	text-align: left;
}
h1, h2, h3, h4, h5, h6 {
	font-size: 100%;
	font-weight: inherit;
}
q:before, q:after {
	content: '';
}
abbr, acronym {
	border: 0;
	font-variant: normal;
}
sup {
	vertical-align: text-top;
}
sub {
	vertical-align: text-bottom;
}
input, textarea, select, button {
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
}
button {
	overflow: visible;
}

/* ------------------------------------------
	Default styles for this site
------------------------------------------ */

html {
	overflow-x: auto;
	overflow-y: scroll;
}
body {
	min-width: 950px;
	line-height: 1.25;
	color: #000000;
	background-color: #dddddd;
	font-size: 12px;
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", sans-serif;
}
*:first-child+html body {
	font-size: 82%;
	font-family: "ＭＳ Ｐゴシック", sans-serif;
} /* for ie7 */
* html body {
	font-size: 82%;
	font-family: "ＭＳ Ｐゴシック", sans-serif;
} /* for ie6 */
img {
	vertical-align: bottom;
}
a, a:link {
	color: #004e99;
}
a:visited {
	color: #004e99;
}
a:hover {
	text-decoration: none;
}
input, label {
	vertical-align: middle;
}
#container {
	background-color: #ffffff;
}

/* ------------------------------------------
	Header
------------------------------------------ */


/* ヘッダ全体枠 */
#header {
	min-width: 950px;
	border-top: 5px solid #bf0000;
}

/* サイト内共通ヘッダー */
#commonHeader {
	width: 950px;
	line-height: 1.1;
	overflow: hidden;
	margin: 0 auto;
	text-align: left;
}
#header h1 {
	float: left;
}
#header h1 img {
	margin: 17px 0;
}

#headerNavi {
	float: right;
	text-align: right;
}
#headerNavi ul {
	margin-top: 10px;
	font-size: 110%;
}
#headerNavi li {
	display: inline;
	padding-left: 10px;
}

/* サーチフォーム */
#search {
	float: right;
	min-height: 21px;
	margin-top: 17px;
	border: 1px solid #cccccc;
	border-radius: 4px;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	-o-border-radius: 4px;
	-ms-border-radius: 4px;
}
#search div {
	display: inline-block;
	margin: 0;
}
*:first-child+html #search div {
	display: inline;
}
* html #search div {
	display: inline;
}
#search .searchBtn {
	border-left: 1px solid #cccccc;
	border-radius: 0 4px 4px 0;
	-webkit-border-radius: 0 4px 4px 0;
	-moz-border-radius: 0 4px 4px 0;
	-o-border-radius: 0 4px 4px 0;
	-ms-border-radius: 0 4px 4px 0;
	color: #ffffff;
	background: #2f2f2f url("//jp.rakuten-static.com/1/bu/corp/im/careers/bg_search.gif") repeat-x 0 0;
	font-size: 110%;
	font-weight: bold;
}
#search .search input {
	width: 160px;
	margin: 0;
	padding: 0 5px;
	border: none;
	background: none;
}
#search .searchBtn input {
	width: 45px;
	min-height: 21px;
	margin: 0;
	padding: 0;
	border: none;
	color: #ffffff;
	background: none;
	text-align: center;
	text-shadow: 1px 1px 1px #000000;
}

/* サイト内共通ナビメニュー */
#siteNav {
	clear: both;
	width: 100%;
	background: #dddddd;
	border-bottom: 3px solid #999999;
}
#siteNav ul {
	width: 950px;
	line-height: 1;
	margin: 0 auto;
	text-align: left;
}
#siteNav li {
	float: left;
	zoom: 1;
}
#siteNav li dl {
	position: relative;
	z-index: 1;
}
#siteNav li .top a,
#siteNav li dt a {
	display: block;
	padding: 11px 17px 8px;
	color: #000000;
	font-size: 120%;
	text-decoration: none;
}

#siteNav li .top.active a,
#siteNav li dt.active a {
	color: #ffffff;
	background: #999999;
}

#siteNav li .top a:hover,
#siteNav li.menuHover dt a {
	color: #ffffff;
	background: #333333;
}
#siteNav li dt span {
	display: none;
	position: absolute;
	width: 100%;
	height: 6px;
	margin-top: -3px;
	background: url("//jp.rakuten-static.com/1/bu/corp/im/careers/bg_sitenav.gif") no-repeat 50% 0;
	text-align: center;
}
* html #siteNav li dt span {
	background: url("//jp.rakuten-static.com/1/bu/corp/im/careers/bg_sitenav.gif") no-repeat 20px 0;
}
#siteNav li.menuHover dt span {
	display: block;
}
#siteNav li dd {
	display: none;
	width: 158px;
	position: absolute;
	margin-left: -2px;
}
#siteNav .subMenu {
	display: block;
	width: 154px;
	margin-top: 3px;
	border: 2px solid #ffffff;
	border-top: none;
	background: #dddddd;
}
#siteNav .newsSubMenu {
	width: 13em;
}
#siteNav .aboutSubMenu {
	width: 16em;
}
#siteNav .irSubMenu {
	width: 14em;
}
#siteNav .csrSubMenu {
	width: 21.5em;
}
#siteNav .careersSubMenu {
	width: 15em;
}
#siteNav .subMenu li{
	float: none;
	border-top: 2px solid #999999;
	word-break: normal;
}
#siteNav .subMenu li.first {
	border: none;
}
#siteNav .subMenu li a {
	display: block;
	padding: 9px 15px 9px 25px;
	color: #000000;
	background: url("//jp.rakuten-static.com/1/bu/corp/im/careers/icon_sitenav.gif") no-repeat 11px 50%;
	text-decoration: none;
	zoom: 1;
}
#siteNav .subMenu li a:hover {
	color: #ffffff;
	background: #333333 url("//jp.rakuten-static.com/1/bu/corp/im/careers/icon_sitenav_active.gif") no-repeat 11px 50%;
}



/* Start clearfix ------------------------------ */
#siteNav ul:after {
	content: "";
	display: block;
	clear: both;
}
/* -------------------------------- end clearfix */



/* ------------------------------------------
	Footer
------------------------------------------ */

/* フッタ全体 */
#footer {
	margin-top: 20px;
	padding-bottom: 20px;
	background: #dddddd;
	text-align: left;
}
#serviceFooter {
	width: 950px;
	margin: 0 auto;
	line-height: 1;
	padding-top: 20px;
}
#serviceFooter .title {
	margin-bottom: 14px;
	border-bottom: 1px solid #dddddd;
}
#serviceFooter .title dt {
	display: inline;
	font-size: 152%;
}
#serviceFooter .title dd {
	display: inline;
	vertical-align: bottom;
}
#serviceFooter .title dd a {
	margin-left: 15px;
}
#serviceList {
	overflow: hidden;
	zoom: 1;
}
#serviceList dl {
	overflow: hidden;
	line-height: 1.6;
	margin-bottom: 13px;
	zoom: 1;
}
#serviceList dt {
	float: left;
	width: 100px;
}
#serviceList dd {
	float: right;
	width: 840px;
}
#serviceList ul {
	overflow: hidden;
	zoom: 1;
}
#serviceList li {
	float: left;
	margin-right: 10px;
	word-break: keep-all;
	word-wrap: normal;
}
#companyFooter {
	overflow: hidden;
	width: 950px;
	margin: 20px auto 0;
}
#companyFooter #copyright {
	float: left;
}
#companyFooter ul {
	float: right;
}
#companyFooter li {
	display: inline;
	padding-left: 10px;
}

/* Noscript
------------------------------------*/

noscript p.jsAttention {
	width:950px;
	margin: 10px auto;
	padding: 5px 10px;
	border: 2px solid #bf0000;
	background-color: #fff6f6;
}




/* ------------------------------------------
	 Layout
------------------------------------------ */
#location {
	width: 950px;
	overflow: hidden;
	margin: 10px auto 0;
}
#location .topicPath {
	float: left;
}
#location .copy {
	float: right;
	font-size: 80%;
}

#contents {
	position: relative;
	width: 950px;
	margin: 0 auto;
	overflow: hidden;
}

#contentsNav {
	float: left;
	width: 210px;
	margin-top: 15px;
}
#contentsMain {
	float: right;
	width: 690px;
	margin-top: 15px;
}
.pageTop {
	display: block;
	width: 950px;
	margin: 20px auto 0;
	text-align: right;
}
.pageTop a {
	margin-left: 2px;
}

/* ------------------------------------------
	leftNavInfo
------------------------------------------ */
#leftNavInfo {
	background: #dddddd;
	zoom: 1;
	position:relative;
	z-index:0;
}
#leftNavInfo a {
	display: block;
	color: #000000;
	text-decoration: none;
	zoom: 1;
}
#leftNavInfo a:hover {
	color: #ffffff;
}
#leftNavInfo .active a {
	color: #ffffff;
	background: #999999;
}
#leftNavInfo .mainCategory {
	border-top: 3px solid #999999;
	font-size: 120%;
}
#leftNavInfo .first .mainCategory {
	border: none;
}
#leftNavInfo .mainCategory a {
	padding: 19px 22px 18px;
	background: url("//jp.rakuten-static.com/1/bu/corp/im/careers/icon_arrow.gif") no-repeat 10px 24px;
}
#leftNavInfo .mainCategory.active a {
	background: #999999 url("//jp.rakuten-static.com/1/bu/corp/im/careers/icon_arrow_active.gif") no-repeat 10px 24px;
}
#leftNavInfo .mainCategory a:hover {
	background: #333333 url("//jp.rakuten-static.com/1/bu/corp/im/careers/icon_arrow_active.gif") no-repeat 10px 24px;
}
#contentsNav .subBlock {
	display: none;
}
#leftNavInfo .subCategory {
	padding-bottom: 15px;
}
#leftNavInfo .subCategory:first-child {
	margin-top: 10px;
}

#leftNavInfo .subCategory .subCategory {
	padding-bottom: 0;
}
#leftNavInfo .subCategory a {
	padding: 4px 10px 3px 30px;
	background: url("//jp.rakuten-static.com/1/bu/corp/im/careers/icon_sitenav.gif") no-repeat 20px 8px;
}
#leftNavInfo .subCategory .active a {
	background: #999999 url("//jp.rakuten-static.com/1/bu/corp/im/careers/icon_sitenav_active.gif") no-repeat 20px 8px;
}
#leftNavInfo .subCategory a:hover {
	background: #333333 url("//jp.rakuten-static.com/1/bu/corp/im/careers/icon_sitenav_active.gif") no-repeat 20px 8px;
}

#leftNavInfo .subCategory .subCategory a {
	padding: 4px 10px 3px 40px;
	background: #dddddd url("//jp.rakuten-static.com/1/bu/corp/im/careers/icon_sitenav.gif") no-repeat  30px 8px;
}
#leftNavInfo .subCategory .active .subCategory a {
	color: #000000;
	background: #dddddd url("//jp.rakuten-static.com/1/bu/corp/im/careers/icon_sitenav.gif") no-repeat 30px 8px;
}
#leftNavInfo .subCategory .subCategory .active a {
	color: #ffffff;
	background: #999999 url("//jp.rakuten-static.com/1/bu/corp/im/careers/icon_sitenav_active.gif") no-repeat 30px 8px;
}
#leftNavInfo .subCategory .subCategory a:hover,
#leftNavInfo .subCategory .active .subCategory a:hover {
	color: #ffffff;
	background: #333333 url("//jp.rakuten-static.com/1/bu/corp/im/careers/icon_sitenav_active.gif") no-repeat 30px 8px;
}
#leftNavInfo .actionList {
	margin-top: 20px;
	padding-bottom: 15px;
}
#leftNavInfo .actionList li#graduatesEntry a {
	display: block;
	width: 175px;
	height: 64px;
	margin: 0 auto;
    overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
	background: url("//jp.rakuten-static.com/1/bu/corp/im/careers/btn_leftnav_1.gif") no-repeat 0 0;
}
#leftNavInfo .actionList li#graduatesEntry a:hover {
	background: url("//jp.rakuten-static.com/1/bu/corp/im/careers/btn_leftnav_1.gif") no-repeat -175px 0;
}
#leftNavInfo .actionList li#graduatesMypage {
	margin-top: 5px;
}
#leftNavInfo .actionList li#graduatesMypage a {
	display: block;
	width: 175px;
	height: 39px;
	margin: 0 auto;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
	background: url("//jp.rakuten-static.com/1/bu/corp/im/careers/btn_leftnav_1.gif") no-repeat 0 -64px;
}
#leftNavInfo .actionList li#graduatesMypage a:hover {
	background: url("//jp.rakuten-static.com/1/bu/corp/im/careers/btn_leftnav_1.gif") no-repeat -175px -64px;
}

dl.applyJobs:first-child {
	margin-top: 10px;
}

dl.applyJobs dt.title {
	font-size: 120%;
	margin-bottom: 10px;
	padding: 0 10px;
}
dl.applyJobs dd {
	padding-bottom: 6px;
	position:relative;
}
dl.applyJobs dd a {
	margin: 0 auto;
	width: 175px;
	height: 39px;
	overflow: hidden;
	white-space: nowrap;
}
dl.applyJobs dd a span{
	position:absolute;
	top:3px;
	left:25px;
	z-index:-1;
}
dl.applyJobs dd#applyEngineer a {
	background: url("//jp.rakuten-static.com/1/bu/corp/im/careers/btn_leftnav_1.gif") no-repeat 0 -103px;
}
dl.applyJobs dd#applyEngineer a:hover {
	background: url("//jp.rakuten-static.com/1/bu/corp/im/careers/btn_leftnav_1.gif") no-repeat -175px -103px;
}
dl.applyJobs dd#applyGeneral a {
	background: url("//jp.rakuten-static.com/1/bu/corp/im/careers/btn_leftnav_1.gif") no-repeat 0 -142px;
}
dl.applyJobs dd#applyGeneral a:hover {
	background: url("//jp.rakuten-static.com/1/bu/corp/im/careers/btn_leftnav_1.gif") no-repeat -175px -142px;
}
dl.applyJobs dd#applyHandicap a {
	background: url("//jp.rakuten-static.com/1/bu/corp/im/careers/btn_leftnav_1.gif") no-repeat 0 -181px;
}
dl.applyJobs dd#applyHandicap a:hover {
	background: url("//jp.rakuten-static.com/1/bu/corp/im/careers/btn_leftnav_1.gif") no-repeat -175px -181px;
}
dl.applyJobs dd#Experienced a {
	background: url("//jp.rakuten-static.com/1/bu/corp/im/careers/challenged/btn_leftnav_1.gif") no-repeat 0 -299px;
}
dl.applyJobs dd#Experienced a:hover {
	background: url("//jp.rakuten-static.com/1/bu/corp/im/careers/challenged/btn_leftnav_1.gif") no-repeat -175px -299px;
}
dl.applyJobs dd#graduates a {
	background: url("//jp.rakuten-static.com/1/bu/corp/im/careers/challenged/btn_leftnav_1.gif") no-repeat 0 -260px;
}
dl.applyJobs dd#graduates a:hover {
	background: url("//jp.rakuten-static.com/1/bu/corp/im/careers/challenged/btn_leftnav_1.gif") no-repeat -175px -260px;
}


/* ------------------------------------------
	pressNews / upDate left navi
------------------------------------------ */

#contents.upDate .pressRelease,
#contents.pressRelease .upDate {
	display: none;
}

/* #contentsNav.pressNav
------------------------------------*/

#contentsNav.pressNav .infoBox {
	overflow: hidden;
	background: #dddddd;
	zoom: 1;
}
#contentsNav.pressNav .infoBox li span {
	display: block;
	overflow: hidden;
	padding: 10px 10px 37px;
	margin-bottom: -30px;
	color: #ffffff;
	background: #999999;
	text-align: center;
}
#contentsNav.pressNav .infoBox li a {
	display: block;
	overflow: hidden;
	padding: 10px 10px 37px;
	margin-bottom: -30px;
	color: #333333;
	text-align: center;
	text-decoration: none;
}
#contentsNav.pressNav .infoBox li a:hover {
	color: #ffffff;
	background: #333333;
}
#pressRelease {
	float: left;
	width: 110px;
}
#upDateInfo {
	float: right;
	width: 100px;
}
#contentsNav.pressNav .info .links,
#contentsNav.pressNav .info dl {
	display: block;
	line-height: 1.1;
	padding: 10px 15px 9px;
	border-top: 3px solid #999999;
	color: #000000;
	background: #dddddd;
	text-decoration: none;
	zoom: 1;
}
#contentsNav.pressNav .info dt {
	font-size: 120%;
}
#contentsNav.pressNav .info dd {
	margin-top: 3px;
}
#contentsNav.pressNav .info dd ul {
	overflow: hidden;
	zoom: 1;
}
#contentsNav.pressNav .info ul li {
	float: left;
	margin: 3px 3px 0 0;
	white-space: nowrap;
}

#contentsNav.pressNav .info a {
	margin-right: 3px;
	color: #004e99;
	text-decoration: underline;
	cursor: pointer;
}
#contentsNav.pressNav .info a.active:hover,
#contentsNav.pressNav .info a:hover {
	color: #ffffff;
	background: #333333;
	text-decoration: none;
}

#contentsNav.pressNav .info a.active {
	color: #333333;
	text-decoration: none;
}
#contentsNav.pressNav .info a.current {
	color: #000000;
	text-decoration: none;
	cursor: default;
}
#contentsNav.pressNav .info a.current:hover {
	color: #000000;
	background: none;
}

#contentsNav.pressNav .info .links {
	padding: 5px 10px 10px;
}
#contentsNav.pressNav .links ul li {
	float: none;
	margin-top: 4px;
}

/* #contentsNav  */
#contentsNav .relationInfo {
	margin-top: 30px;
	zoom: 1;
}
#contentsNav .relationInfo dt {
	font-size: 140%;
}
#contentsNav .relationInfo li {
	margin-top: 15px;
	font-size: 120%;
}

#contents .linkNav {
	padding-left: 13px;
	background: url("//jp.rakuten-static.com/1/bu/corp/im/careers/icon_arrow.gif") no-repeat 0 0.28em;
}
#contents #contentsNav .navBanner {
	margin-top: 10px;
}

/* leftNavRelate */
#contents .leftNavRelate {
	margin-top: 20px;
	padding-bottom: 15px;
	background: #dddddd;
}
#contents .leftNavRelate .mainCategory {
	padding: 20px 10px 0;
	font-size: 120%;
}
#contents .leftNavRelate .relateList {
	margin-top: 15px;
}
#contents .leftNavRelate div.mainRelate a {
	display: block;
	padding: 4px 10px 3px 30px;
	color: #000000;
	background: url("//jp.rakuten-static.com/1/bu/corp/im/careers/icon_sitenav.gif") no-repeat 20px 8px;
	text-decoration: none;
}
#contents .leftNavRelate div.mainRelate.active a {
	color: #ffffff;
	background: #999999 url("//jp.rakuten-static.com/1/bu/corp/im/careers/icon_sitenav_active.gif") no-repeat 20px 8px;
}
#contents .leftNavRelate div.mainRelate a:hover {
	color: #ffffff;
	background: #333333 url("//jp.rakuten-static.com/1/bu/corp/im/careers/icon_sitenav_active.gif") no-repeat 20px 8px;
}

#contents .leftNavRelate .subRelate a {
	display: block;
	padding: 4px 10px 3px 40px;
	color: #000000;
	background: url("//jp.rakuten-static.com/1/bu/corp/im/careers/icon_sitenav.gif") no-repeat 30px 8px;
	text-decoration: none;
	zoom: 1;
}
#contents .leftNavRelate .subRelate .active a {
	color: #ffffff;
	background: #999999 url("//jp.rakuten-static.com/1/bu/corp/im/careers/icon_sitenav_active.gif") no-repeat 30px 8px;
}
#contents .leftNavRelate .subRelate a:hover {
	color: #ffffff;
	background: #333333 url("//jp.rakuten-static.com/1/bu/corp/im/careers/icon_sitenav_active.gif") no-repeat 30px 8px;
}

#contentsNav .entryBlock {
	display: none;
	margin-top: 20px;
}
#contentsNav .entryBlock a {
	display: block;
	width: 175px;
	height: 40px;
	margin: 0 auto;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
	background: url("//jp.rakuten-static.com/1/bu/corp/im/careers/btn_leftnav_1.gif") no-repeat 0 -220px;
}
#contentsNav .entryBlock a:hover {
	background: url("//jp.rakuten-static.com/1/bu/corp/im/careers/btn_leftnav_1.gif") no-repeat -175px -220px;
}

/* ------------------------------------------
	h1
------------------------------------------ */
#contents h1 {
	padding-bottom: 5px;
	border-bottom: 6px solid #777777;
	font-size: 250%;
}
* html #contents h1 {
	line-height: 1.2;
}
h1#categoryTitle {
	display: block;
	border: none;
	font-size: 200%;
	font-weight: bold;
}
.noSocial h1#categoryTitle {
	margin-top: 25px;
}
#contents h1.articleTitle {
	line-height: 1.1;
	margin-top: 20px;
	padding-bottom: 0;
	border: none;
	text-align: center;
	font-size: 200%;
}

/* ------------------------------------------
	social
------------------------------------------ */
#contents .socialBtn {
	padding: 2px 0 0;
	overflow: hidden;
	zoom: 1;
}
#contents .socialBtn ul {
	float: right;
	overflow: hidden;
	zoom: 1;
}
#contents .socialBtn li {
	float: left;
	margin-right: 5px;
}
#contents .socialBtn li.last {
	margin-right: 0;
}