@charset "utf-8";
/* =======================================

	IndexElements

======================================= */

/* ------------------------------------
	.main_visual
------------------------------------ */
body {
	background: transparent url(/static/images/top_mv.jpg) right 21px no-repeat;
	min-width: 0;
}
main {
	position: relative;
	z-index: 1;
}
main > section {
	z-index: 5;
}
.main_visual {
	height: 360px;
}
.main_visual h2 {
	padding: 85px 0 0;
}
.main_visual h2 img {
	margin: 0 0 40px;
}
.main_visual h2 small {
	display: block;
	color: #939393;
	letter-spacing: 0.14em;
}
@media only screen and (max-width: 768px) {
	body {
		background: transparent url(/static/images/top_mv_sp.jpg) center top no-repeat;
		background-size: 100%;
	}
	.main_visual {
		height: 76vw;
	}
	.main_visual h2 {
		width: 100%;
		padding: 59vw 0 0;
		background: transparent url(/static/images/copy_sp.png) left top no-repeat;
		background-size: 100%;
	}
	.main_visual h2 img {
		display: none;
	}
	.main_visual h2 small {
		width: 50vw;
		font-size: 2vw;
		padding-left: 2vw;
	}
}
@media only screen and (max-width: 360px) {
	.main_visual h2 small {
		width: 70vw;
		padding-left: 2vw;
	}
}



/* ------------------------------------
	top_news
------------------------------------ */
.top_news {
	padding: 0;
	background-image: linear-gradient(90deg, #fff 50%, transparent 50%, transparent);
	position: relative;
}
.top_news:before {
	position: absolute;
	content: '';
	width: 50%;
	height: 0;
	top: 0;
	left: 0;
	border-top: 1px solid #dedede;
}
.top_news:after {
	position: absolute;
	content: '';
	width: 50%;
	height: 0;
	bottom: 0;
	left: 0;
	border-bottom: 1px solid #dedede;
}
.top_news .cont_base {
	background: #fff;
	padding: 40px 0 40px 22%;
	border: 1px solid #dedede;
	border-left: none;
	position: relative;
}
.top_news h3 {
	position: absolute;
	width: 100%;
	top: 40px;
	left: 0;
}
.top_news .btn_area {
	position: absolute;
	bottom: 40px;
	left: 0;
}

@media only screen and (max-width: 980px) {
	.top_news .cont_base {
		padding: 40px 0;
	}
	.top_news h3,
	.top_news .btn_area {
		position: relative;
		top: auto;
		left: auto;
		bottom: auto;
	}
	.top_news .btn_area {
		padding: 20px 0 0;
		text-align: center;
	}
}

@media only screen and (max-width: 768px) {
	.top_news .cont_base {
		padding: 30px 0;
	}
}


/* ------------------------------------
	top_ir
------------------------------------ */
.top_ir {
	padding: 60px 0;
	background: transparent url(/static/images/top_bg_001.jpg) left top no-repeat;
	background-size: 15%;
}
.top_ir ul {
	letter-spacing: -1em;
	text-align: center;
}
.top_ir ul li {
	text-align: left;
	display: inline-block;
	vertical-align: top;
	width: 49%;
	height: 150px;
	margin: 0 0 20px;
	overflow: hidden;
}
.top_ir ul li:nth-child(odd) {
	margin-right: 2%;
}
.top_ir ul li:nth-child(n+2) {
	margin-bottom: 0;
}
.top_ir ul li a {
	letter-spacing: 0;
	display: table;
	width: 100%;
	height: 100%;
	background: #000;
	color: #fff;
	font-size: 1.42em;
	font-family: Roboto;
	line-height: 1.5;
	z-index: 1;
	position: relative;
}
.top_ir ul li a:before {
	position: absolute;
	content: '';
	display: block;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 1px solid #dedede;
	z-index: 3;
}
.top_ir ul li a:after {
	position: absolute;
	content: '';
	display: block;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: transparent center center no-repeat;
	background-size: cover;
	opacity: 0.6;
	z-index: 2;
	transition: all 0.3s ease-out;
}
.top_ir ul li.financial a:after { background-image: url(/static/images/top_ir_financial.jpg); }
.top_ir ul li.library a:after { background-image: url(/static/images/top_ir_library.jpg); }
.top_ir ul li.event a:after { background-image: url(/static/images/top_ir_event.jpg); }
.top_ir ul li.notice a:after { background-image: url(/static/images/top_ir_notice.jpg); }
.top_ir ul li a > span {
	display: table-cell;
	width: 100%;
	height: 100%;
	vertical-align: middle;
	padding: 5%;
	position: relative;
	z-index: 3;
}
.top_ir ul li a > span:before {
	position: absolute;
	content: '';
	display: block;
	width: 30px;
	height: 0;
	border-top: 1px solid #fff;
	top: 74px;
	right: 7%;
}
.top_ir ul li a > span:after {
	position: absolute;
	content: '';
	display: block;
	width: 11px;
	height: 11px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	top: 69px;
	right: 7.1%;
}
.top_ir ul li a > span small {
	display: block;
	font-size: 0.7em;
	padding: 5px 0 0;
}

/* PC hover */
@media only screen and (min-width: 769px){
	.top_ir ul li a:hover {
		background: #004ea2;
	}
	.top_ir ul li a:hover:after {
		opacity: 0.4;
	}
}

@media only screen and (max-width: 768px) {
	.top_ir {
		padding: 30px 0;
	}
	.top_ir ul li {
		position: relative;
		margin: 0 0 1.8vw;
		height: auto;
	}
	.top_ir ul li:before {
		content: '';
		display: block;
		padding-top: 100%;
	}
	.top_ir ul li a {
		position: absolute;
		top: 0;
		left: 0;
		display: block;
	}
	.top_ir ul li a > span {
		display: block;
		height: 100%;
	}
	.top_ir ul li a > span small {
		font-size: 0.83em;
		position: absolute;
		left: 5%;
		bottom: 5%;
	}
	.top_ir ul li a > span:before {
		top: auto;
		right: 5%;
		bottom: calc(8% + 5px);
	}
	.top_ir ul li a > span:after {
		top: auto;
		right: 5.2%;
		bottom: 8%;
	}
}

/* ------------------------------------
	top_company
------------------------------------ */
.top_company {
	overflow: visible;
}
.top_company:after {
	content: '';
	display: block;
	width: 582px;
	height: 1015px;
	max-width: 40%;
	position: absolute;
	right: 0;
	bottom: 0;
	background: transparent url(/static/images/top_bg_002.jpg) right center no-repeat;
	background-size: 100%;
	z-index: -1;
}
.top_company .cont_index {
	padding: 0 0 40px;
}
.top_company .cont_index li {
	overflow: hidden;
	height: 370px;
	position: relative;
	background: #004ea2;
}
.top_company .cont_index li div:before,
.top_company .cont_index li div:after {
	position: absolute;
	display: block;
	content: '';
	width: 100%;
	height: 270px;
	background: transparent center center no-repeat;
	background-size: cover;
	left: 0;
	bottom: -270px;
	transition: all 0.3s ease-out;
}
.top_company .cont_index li div:before {
	border-top: 1px solid #dedede;
	z-index: 3;
}
.top_company .cont_index li.profile div:after {background-image: url(/static/images/top_com_profile.jpg);}
.top_company .cont_index li.business div:after {background-image: url(/static/images/top_com_business.jpg);}
.top_company .cont_index li.relation div:after {background-image: url(/static/images/top_com_relation.jpg);}
.top_company .cont_index li.stock div:after {background-image: url(/static/images/top_com_stock.jpg); background-position: 2% bottom; }
.top_company .cont_index li.stock a:before,
.top_company .cont_index li.stock a:after {
	content: none;
}

@media only screen and (max-width: 768px){
	.top_company .cont_index li.business div:after {
    	background-position-y: -6px;
	}
}

.top_company .cont_index li a small {
	font-size: 1em;
	display: inline-block;
}
.top_company .cont_index li.stock a small:after {
	position: relative;
	font-family: 'astmax'!important;
	content: '\e900';
	display: inline-block;
	vertical-align: baseline;
	width: 1em;
	height: 1em;
	margin-left: 0.2em;
	color: #004ea2;
	transition: all 0.3s ease-out;
}
/* PC hover */
@media only screen and (min-width: 769px){
	.top_company .cont_index li.stock a:hover small:after {
		color: #fff;
	}
	.top_company .cont_index li a:hover div:after {
		opacity: 0.8;
	}
}

@media only screen and (max-width: 768px) {
	.top_company {
		padding: 0;
	}
	.top_company .cont_index {
		border-top: none;
	}
	.top_company .cont_index li {
		height: auto;
		width: 100%;
		border-width:1px;
		margin-bottom: 20px;
	}
	.top_company .cont_index li:after {
		content: '';
		display: block;
		height: 28vw;
	}
	.top_company .cont_index li div:after {
		height: 28vw;
		bottom: -28vw;
	}
	.top_company .cont_index li.profile div:after {background-image: url(/static/images/top_com_profile_sp.jpg);}
	.top_company .cont_index li.relation div:after {background-position: center 70%;}
	.top_company .cont_index li a {
		height: auto;
		padding: 15px 5%;
	}
	.top_company .cont_index li a:before {
		top: 50%;
		right: 3%;
	}
	.top_company .cont_index li a:after {
		top: calc(50% - 5px);
		right: 3%;
	}
	.top_company .cont_index li a span {
		display: inline-block;
		padding: 0 0.5em 0 0;
	}
}