@charset "UTF-8";

@import url("/common/css/font-awesome.min.css");

/* 1024px以上 */

html {
	font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
	}

a {
	color: #00a0e9;
	text-decoration: none;
	}

a:hover {
	color: #14bcf7;
	}

a.nolink:hover {
	color: #00a0e9;
	}

a:focus, *:focus {
	outline: none;
	}

#container {
	position: relative;
	width: 100%;
	margin: 0;
	}

header {
	position: relative;
	height: 120px;
	margin-bottom: 40px;
	}
	
header#top {
	position: relative;
	height: 120px;
	margin-bottom:0 !important;
	}

header .logo {
	position: absolute;
	left: 50%;
	top: 15px;
	margin-left: -490px;
	}

header .logo img {
	width: 145px;
	height: 50px;
	}

header nav#navi_2020 {
	position: absolute;
	top: 80px;
	display: block;
	width: 100%;
	height: 40px;
	background: #00a0e9;
	}

header nav#navi_2020 .gnavi {
	position: relative;
	left: 50%;
	top: 0;
	margin: 0 0 0 -490px;
	padding: 0;
	list-style: none;
	width: 980px;
	}

header nav#navi_2020 .gnavi li {
	width: 163px;
	text-align: center;
	float: left;
	-webkit-transition: background .2s;
	transition: background .2s;
	}

header nav#navi_2020 .gnavi li a {
	display: block;
	position: relative;
	padding: .5em;
	text-decoration: none;
	color: #fff;
	}

header nav#navi_2020 .gnavi li:hover {
	background: #fff;
	color: #00a0e9;
	}

header nav#navi_2020 .gnavi li:hover a {
	color: #00a0e9;
	}

header nav#navi_2020 .gnavi ul {
	position: absolute;
	visibility: hidden;
	opacity: 0;
	transition: .2s;
	z-index: 99;
	left: 0;
	top: 40px;
	box-shadow: 0px 2px 6px rgba(0,0,0,.2);
	border: 5px solid #fff;
	width: auto;
	height: auto;
	background: #fff;
	}

header nav#navi_2020 .gnavi li:hover > ul {
	visibility: visible;
	opacity: 1;
	z-index: 999;
	}

header nav#navi_2020 .gnavi ul li {
	background: #fff;
	text-align: left;
	float: none;
	width: 220px;
	font-size: 16px;
	}

header nav#navi_2020 .gnavi ul li a {
	color: #666 !important;
	padding:0.6em 0em 0.6em 1em;
	font-size: 14px;
	}

header nav#navi_2020 .gnavi ul li:hover {
	background: #C6E2F7;
	-webkit-transition: none;
	transition: none;
	}

header nav#navi_2020 .gnavi li.prof_en{
	width: 210px;
}

ul.prof_ul {
	margin-left: 163px;
}
ul.rec_ul {
	margin-left: 326px;
}
ul.ir_ul {
	margin-left: 489px;
}
ul.ir_ul_en {
	margin-left: 210px;
}
ul.perss_ul {
	margin-left: 652px;
}
ul.csr_ul {
	margin-left: 815px;
}

header nav#navi_2020 .gnavi li.recruit ul li.newgrad a:before,
header nav#navi_2020 .gnavi li.recruit ul li.exp a:before {
	content: "\f0c8";
	font-family: FontAwesome;
	margin-right: .3em;
	}

header nav#navi_2020 .gnavi li.recruit ul li.exp {
	border-top: 1px solid #ccc;
	}


header nav#navi_2020 .gnavi li.service ul li,
header nav#navi_2020 .gnavi li.ir ul li {
	width: 220px !important;
	}

header nav#navi_2020 .gnavi li.service ul ul,
header nav#navi_2020 .gnavi li.ir ul ul {
	top: 0;
	left: 220px;
	width: 220px;
	height: auto;
	border: none;
	box-shadow: none !important;
	background: #C6E2F7;
	}


header nav#navi_2020 .gnavi li.service ul ul li,
header nav#navi_2020 .gnavi li.ir ul ul li {
	background: #C6E2F7;
	}


header nav#navi_2020 .gnavi li.service ul ul li:hover,
header nav#navi_2020 .gnavi li.ir ul ul li:hover {
	background: #54baf1;
	color: #fff;
	}

header nav#navi_2020 .gnavi li.ir ul ul.ir_2nd {
	width: 260px;
}
header nav#navi_2020 .gnavi li.ir ul ul.ir_2nd li {
	width: 260px !important;
}
header nav#navi_2020 .gnavi li.ir ul ul.ir_2nd_en {
	width: 315px;
}
header nav#navi_2020 .gnavi li.ir ul ul.ir_2nd_en li {
	width: 315px !important;
}


header nav#navi_2020 .gnavi li.service ul li.layer a:after,
header nav#navi_2020 .gnavi li.ir ul li.layer a:after {
	content: "\f105";
	font-weight: 900;
	font-family: FontAwesome;
	margin-left: 2em;
	color: #00a0e9;
}
header nav#navi_2020 .gnavi li.service ul li.layer ul li a:after,
header nav#navi_2020 .gnavi li.ir ul li.layer ul li a:after,
header nav#navi_2020 .gnavi li.ir ul ul ul li a:after {
	content: "";}

header .search {
	position: absolute;
	left: 50%;
	top: 10px;
	margin-left: 200px;
	width: 200px;
	height: 20px;
	border: 1px solid #ccc;
	border-radius: 10px;
	}

header .query-input {
	display: block;
	width: 155px;
	margin: 1px 10px 0 10px;
	padding: 0;
	border: 0;
	font-size: 11px;
	line-height: 1em;
	float: left;
	}

header .search .submit {
	display: block;
	margin: 3px 0 0 0;
	}

header .lang {
	position: absolute;
	left: 50%;
	top: 10px;
	margin-left: 415px;
	display: block;
	}

header .lang .jp {
	display: block;
	margin-right: 5px;
	width: 35px;
	height: 20px;
	font-size: 14px;
	text-align: center;
	color: #fff;
	background: #00a0e9;
	border-radius: 10px;
	float: left;
	}

header .lang .en {
	display: block;
	width: 35px;
	height: 20px;
	font-size: 14px;
	text-align: center;
	background: #ededed;
	border-radius: 10px;
	float: left;
	}

header .lang .en a {
	color: #00a0e9;
	}



header .lang_en {
	position: absolute;
	left: 50%;
	top: 10px;
	margin-left: 415px;
	display: block;
	}

header .lang_en .jp {
	display: block;
	margin-right: 5px;
	width: 35px;
	height: 20px;
	font-size: 14px;
	text-align: center;
	background: #ededed;
	border-radius: 10px;
	float: left;
	}

header .lang_en .en {
	display: block;
	width: 35px;
	height: 20px;
	font-size: 14px;
	text-align: center;
	background: #00a0e9;
	color: #fff;
	border-radius: 10px;
	float: left;
	}

header .lang_en .jp a {
	color: #00a0e9;
	}



header .spmenu {
	display: none;
	}


footer {
	clear: both;
	position: relative;
	background: #00a0e9;
	padding-bottom: 120px;
	}

footer .main {
	background: #eee;
	}

footer .main ul {
	display: block;
	width: 980px;
	margin: 0 auto;
	padding: 30px 0;
	}

footer .main ul li {
	display: block;
	margin-bottom: .5em;
	}
footer .main ul li:after {
	display: block;
	clear: both;
	content: "";
	}

footer .main ul li a {
	display: block;
	font-weight: bold;
	width: 135px;
	float: left;
	}

footer .main ul li ul {
	display: block;
	width: 835px;
	margin: 0;
	padding: 0;
	float: left;
	}

footer .main ul li ul li {
	display: inline;
	font-weight: normal;
	float: left;
	margin-right: .5em;
	}

footer .main ul li ul li a {
	display: inline;
	font-weight: normal;
	width: auto;
	}

footer .main ul li ul li a:before {
	content: "・";
	}

footer .main a {
	font-size: 14px;
	line-height: 1em;
	color: #666;
	}

footer .etc {
	position: absolute;
	left: 50%;
	bottom: 65px;
	color: white;
	margin-left: -490px;
	}

footer .etc li {
	display: inline;
	font-size: 14px;
	line-height: 1em;
	}

footer .etc a {
	color: white;
	margin-right: 1em;
	}

footer address {
	position: absolute;
	left: 50%;
	bottom: 35px;
	color: white;
	font-size: 14px;
	line-height: 1em;
	margin-left: -490px;
	}

footer .logo {
	position: absolute;
	left: 50%;
	bottom: 30px;
	margin-left: 345px;
	}


#crumb {
	width: 920px;
	margin: 0 auto 30px auto;
	}

#crumb li {
	display: inline;
	color: #999;
	font-size: 12px;
	}

#crumb a {
	color: #00a0e9;
	}

#crumb a:after {
	content: ">";
	color: #999;
	margin-left: .5em;
	}

#main {
	width: 980px;
	margin: 0 auto 30px auto;
	}

#main h1 {
	position: relative;
	margin: 0 0 30px 30px;
	padding: 0 0 5px 20px;
	font-size: 34px;
	line-height: 1.3em;
	color: #00a0e9;
	border-bottom: 4px solid #ccc;
	max-width: 700px;
	}

#main h1:before {
	position: absolute;
	left: 0px;
	top: 5px;
	content: "";
	height: 36px;
	border-left: 10px solid #00a0e9;
	}

#main h1:after {
	position: absolute;
	left: 0;
	bottom: -4px;
	content: "";
	width: 10em;
	border-bottom: 4px solid #00a0e9;
	}

#main h2 {
	margin: 0 0 10px 30px;
	padding: 50px 0 2px 0;
	font-size: 22px;
	color: #666;
	border-bottom: 2px solid #00a0e9;
	max-width: 700px;
	}

#main h2:before {
	color: #00a0e9;
	content: "\f0c8";
	font-family: FontAwesome;
	margin-right: .3em;
	}

#main h3 {
	margin: 0 0 10px 30px;
	padding: 50px 0 2px 0;
	font-size: 22px;
	color: #666;
	border-bottom: 2px solid #aaa;
	max-width: 700px;
	}

#main h3:before {
	color: #aaa;
	content: "\f0c8";
	font-family: FontAwesome;
	margin-right: .3em;
	}

#main h4 {
	margin: 0 0 20px 30px;
	padding: 20px 0 0 0;
	font-size: 18px;
	line-height: 1.5em;
	color: #00a0e9;
	max-width: 700px;
	}

#main p {
	margin: 0 0 10px 30px;
	font-size: 16px;
	line-height: 1.5em;
	color: #666;
	max-width: 700px;
	}

span.font-b {
    font-weight: bold;
}

#main .lead {
	max-width: 700px;
	font-size: 14px !important;
	line-height: 1.8em !important;
	color: #666;
	margin: 0 0 30px 30px;
	}


#side {
	position: absolute;
	left: 50%;
	top: 160px;
	width: 200px;
	margin-left: 270px;
	}

#side h2 {
	margin-bottom: 10px;
	padding: 65px 0 15px 10px;
	font-size: 20px;
	line-height: 1em;
	color: #fff;
	background: #00a0e9;
	border-bottom: 3px solid #ccc;
	border-radius: 5px 5px 0 0;
	}

#side h3 {
	color: #666;
	padding: 30px 0 5px 0;
	font-size: 16px;
	line-height: 1em;
	border-bottom: 2px solid #00a0e9;
	background: #fff;
	margin-bottom: 5px;
	}

#side li {
	border-bottom: 1px dashed #efefef;
	}

#side li a {
	display: block;
	color: #666;
	padding: .7em .5em;
	font-size: 14px;
	line-height: 1em;
	background: white;
	}

#side li a .fa {
	color: #00a0e9;
	}

#side li ul {
	padding: 0;
	}

#side li ul li {
	margin: 3px 0;
	border: 0;
	}

#side li ul li a {
	display: block;
	color: #666;
	padding: 0.5em 0 0.5em 10px;
	font-size: 12px;
	line-height: 1em;
	}

#side li a:hover {
	color: #fff;
	background: #14bcf7;
	border-radius: 5px;
	}

#side li a:hover .fa {
	color: #fff;
	}

/* IR SIDE MENU */
body.idx #side li.idx a,
body.news #side li.news a,
body.schedule #side li.schedule a,

body.highlights #side li.highlights a,
body.highlights2 #side li.highlights2 a,
body.highlights3 #side li.highlights3 a,
body.highlights4 #side li.highlights4 a,
body.highlights5 #side li.highlights5 a,
body.highlights6 #side li.highlights6 a,

body.library #side li.library a,
body.tanshin #side li.tanshin a,
body.yuho #side li.yuho a,
body.presen #side li.presen a,
body.movie #side li.movie a,
body.sokai #side li.sokai a,
body.report #side li.report a,
body.stockholder #side li.stockholder a,
body.private #side li.private a,
body.etc #side li.etc a,

body.stock #side li.stock a,
body.koukoku #side li.koukoku a,
body.irfaq #side li.irfaq a,
body.disclaimer #side li.disclaimer a,
body.disclosure #side li.disclosure a,
body.irawards #side li.irawards a,
body.idx #side li.vision a,
body.idx #side li.vision a {
	color: #fff;
	background: #14bcf7;
	border-radius: 5px;
	}

body.highlights #side li.highlights li a, 
body.library #side li.library li a {
	color: #666;
	background: #b4ecff;
	}

/* 201911追記　言語切り替えボタン */
#side #side_lang{
	font-size: 12px;
	background: #ededed;
	margin-bottom: 20px;
	padding: 5px 10px 5px 10px;
	border-radius: 12px;
	text-align: center;
	width: 85px;
	display: block;
}

#main_lang{
	font-size: 12px;
	background: #ededed;
	margin-bottom: 20px;
	padding: 5px 10px 5px 10px;
	border-radius: 12px;
	text-align: center;
	width: 85px;
	display: block;
	float: right;
}
/* 202004追記　タイトル&パンくず */

.title-img {
	width: 100%;
	height: 285px;
	margin-bottom: 50px;
}

.title-img.service {
	background: url(../../service/list/image/top_title_bg.png) no-repeat right;
	margin-top: -40px;
}

.title-img.profile {
	background: url(../../profile/image/top_title_bg.png) no-repeat right;
	margin-top: -40px;
}

.title-img.recruit {
	background: url(../../recruit/image/top_title_bg.png) no-repeat right;
	margin-top: -40px;
}

.title-img.ir {
	background: url(../../ir/img/top_title_bg.png) no-repeat right;
	margin-top: -40px;
}

.title-img.press {
	background: url(../../press/images/press_top_title_bg.png) no-repeat right;
	margin-top: -40px;
}

.title-img.csr {
	background: url(../../csr/image/top_title_bg.png) no-repeat right;
	margin-top: -40px;
}

.secondary-crumb {
	width: 100%;
	opacity: 0.5;
	display: block;
}

.secondary-crumb ul {
	display: flex;
	justify-content: left;
	width: 920px;
	margin: auto;;
}

.secondary-crumb ul li {
	color: #333333;
	font-size: 13px;
	padding: 20px 0 0 0;
	margin-left: 5px;
}

.secondary-crumb ul li:first-child {
	margin-left: 0;
}

.secondary-crumb a {
	font-weight: bold;
	color: #333333;
	}

.secondary-crumb a:after {
	content: ">";
	margin-left: .5em;
	}

h1.secondary-title {
	font-size: 30px;
	color: #000;
	width: 920px;
	margin: auto;
	padding-top: 100px;
}

h1.secondary-title span {
	font-size: 14px;
	padding-left: 10px;
}

@media screen and (max-width: 767px) {
	.title-img {
		height: 250px;
	}
	
	.title-img.service {
		background: url(../../service/list/image/top_title_bg_sp.png) no-repeat right / 100% auto;
		margin-top: 0;
	}

	.title-img.profile {
		background: url(../../profile/image/top_title_bg_sp.png) no-repeat right / 100% auto;
		margin-top: 0;
	}

	.title-img.recruit {
		background: url(../../recruit/image/top_title_bg_sp.png) no-repeat right / 100% auto;
		margin-top: 0;
	}

	.title-img.ir {
		background: url(../../ir/img/top_title_bg_sp.png) no-repeat right / 100% auto;
		margin-top: 0;
	}

	.title-img.press {
		background: url(../../press/images/press_top_title_bg_sp.png) no-repeat right / 100% auto;
		margin-top: 0;
	}

	.title-img.csr {
		background: url(../../csr/image/top_title_bg_sp.png) no-repeat right / 100% auto;
		margin-top: 0;
	}

	.secondary-crumb {
		display: none;
	}

	h1.secondary-title {
		width: 100%;
		text-align: center;
		padding-top: 10px;
	}

	h1.secondary-title span {
		display: block;
	}
}

/* 202004追記 第一階層のみサイドメニュー位置調整 */

.secondary-side {
	top: 455px !important;
}

.test {
	height: 114px;
	background: #fcfcfc;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 0;
}

.test p {
	text-align: center;
}




.totop {
	z-index: 99999999;
	position: fixed;
	right: 20px;
	bottom: 130px;
	display: block;
	width: 52px;
	height: 52px;
	}
.totop a {
	display: block;
	width: 50px;
	height: 50px;
	background: url("/common/image/bt_totop.png") 0 0 no-repeat;
	background-size: 50px 50px;
	overflow: hidden;
	text-indent: 100%;
	font-size: 0;
	border: 1px solid #fff;
	}
.totop a:hover {
	opacity: .8;
	}

.variablelist {
	width: 100%;
	text-align: justify;
	-webkit-transform: translateZ(0);
	-webkit-backface-visibility: hidden;
	}

.variablelist:after {
	content: '';
	display: inline-block;
	width: 100%;
	}





/* 768〜1023px */
@media screen and (min-width: 768px) and (max-width: 1023px) {

header .logo {
	position: absolute;
	left: 15px;
	top: 15px;
	margin: 0;
	}

header nav#navi_2020 .gnavi {
	margin: 0 0 0 -370px;
	width: 740px;
	}

header nav#navi_2020 .gnavi li {
	width: 123px;
	}


ul.prof_ul {
	margin-left: 123px;
}
ul.rec_ul {
	margin-left: 246px;
}
ul.ir_ul {
	margin-left: 369px;
}
ul.perss_ul {
	margin-left: 492px;
}
ul.csr_ul {
	margin-left: 615px;
}

header nav .gnavi li.service li.searchbox {
	width: 730px !important;
	}

header .search {
	position: absolute;
	left: auto;
	right: 120px;
	margin-left: 0;
	}

header .query-input {
	margin: 0 10px;
	}

header .lang {
	left: auto;
	right: 30px;
	margin: 0;
	}

header .lang_en {
	left: auto;
	right: 30px;
	margin: 0;
	}

footer {
	width: 100%;
	}

footer .main ul {
	display: block;
	width: 700px;
	margin: 0 auto;
	padding: 30px 0;
	}

footer .main ul li {
	margin-bottom: 1em;
	}

footer .main ul li a {
	display: block;
	font-weight: bold;
	width: 120px;
	float: left;
	}

footer .main ul li ul {
	width: 580px;
	}

footer .etc {
	left: 15px;
	margin: 0;
	}

footer .etc li {
	display: inline;
	font-size: 14px;
	line-height: 1em;
	}

footer .etc a {
	color: white;
	margin-right: 1em;
	}

footer address {
	left: 15px;
	margin: 0;
	}

footer .logo {
	left: auto;
	right: 20px;
	margin: 0;
	}

#crumb {
	width: 700px;
	margin: 0 auto 30px auto;
	}

#main {
	width: 700px;
	margin: 0 auto 100px auto;
	}

#main h1,
#main h2,
#main h3,
#main h4,
#main h5,
#main h6,
#main p,
#main .lead {
	margin-left: 0 !important;
	}

#side {
	display: none;
	}

}/* 768〜1023px */






/* 767px以下 */
@media screen and (max-width: 767px) {

header {
	position: relative;
	height: 120px;
	margin-bottom: 0;
	z-index: 9999;
	}

header .logo {
	position: absolute;
	left: 20px;
	top: 20px;
	height: 70px;
	margin: 0;
	}

header .logo img {
	width: auto;
	height: 60px;
	}

header .search {
	display: none;
	}

header .lang,
header .lang_en {
	display: none;
	}

header nav#navi_2020 {
	display: none;
	}

header .spmenu {
	display: block;
	}

header .spmenu .bt {
	position: absolute;
	right: 20px;
	top: 20px;
	display: block;
	width: 40px;
	height: 40px;
	background: url("/common/image/bt_menu.png") 0 0 no-repeat;
	background-size: 40px 40px;
	z-index: 99;
	}

header .spmenu .active {
	background: url("/common/image/bt_close.png") 0 0 no-repeat !important;
	background-size: 30px 30px !important;
	}

header .spmenu nav {
	position: absolute;
	left: 0px;
	top: 0px;
	display: none;
	width: 100%;
	}

header .spmenu nav span {
	display: block;
	color: white;
	padding: .5em 1em;
	background: #00a0e9;
	border-top: 1px solid #0c83b9;
	}

header .spmenu nav ul {
	display: none;
	}
header .spmenu nav li a {
	display: block;
	color: white;
	padding: .3em 1em;
	background: #14bcf7;
	}

header .spmenu nav form {
	position: relative;
	display: block;
	padding: 1em;
	background: #00a0e9;
	border-top: 1px solid #0c83b9;
	box-shadow: 0px 2px 3px #ccc;
	}

header .spmenu nav .query-input {
	display: block;
	width: 100%;
	margin: 0;
	padding: .3em;
	border: 0;
	font-size: 20px;
	line-height: 1em;
	display: block;
	border: 1px solid #ccc;
	border-radius: 10px;
	float: none;
	}

header .spmenu nav .submit {
	position: absolute;
	right: 1.5em;
	top: 2em;
	display: block;
	}




footer {
	width: 100%;
	background: #eee;
	margin: 0;
	padding: 30px 0 60px 0;
	}

footer .main ul {
	display: none;
	}

footer .etc {
	display: block;
	position: relative;
	width: 100%;
	left: auto;
	margin: 50px 0 0 0;
	padding: 0;
	text-align: center;
	}

footer .etc ul {
	display: block;
	}

footer .etc li {
	display: inline;
	font-size: 12px;
	line-height: 1em;
	}

footer .etc a {
	color: #666;
	margin: 0;
	}

footer address {
	display: block;
	position: relative;
	color: #666;
	left: auto;
	width: 100%;
	margin: -10px 0 0 0;
	padding: 0;
	text-align: center;
	font-size: 12px;
	}

footer address span {
	display: none;
	}

footer .logo {
	display: none;
	}

#crumb {
	width: 90%;
	margin: 0 auto 30px auto;
	}

#main {
	width: 90%;
	margin: 0 auto 0px auto;
	}

#main h1 {
	margin-left: 0;
	padding-left: 15px;
	font-size: 30px;
	width: 100%;
	}

#main h1:before {
	height: 30px;
	}

#main h1:after {
	margin-left: 0;
	width: 40%;
	}

#main .lead {
	width: 100%;
	margin-left: 0 !important;
	}

#main h2,
#main h3,
#main h4,
#main h5,
#main h6,
#main p,
#main .lead {
	margin-left: 0 !important;
	}



#side {
	display: none;
	}


.totop {
	display: block;
	bottom: 20px;
	width: 50px;
	height: 50px;
	}
.totop a {
	display: block;
	width: 50px;
	height: 50px;
	background: url("/common/image/bt_totop.png") 0 0 no-repeat;
	background-size: 50px 50px;
	}

}/* 767px以下 *