
/*---------------------- pagevisual ----------------------*/
.pagevisual{
	background:url(../images/top/mainvisual.jpg) no-repeat center;
	background-size: cover;
	height: 198px;
  -js-display: flex;
  	display: flex;
	flex-direction: column;
  	align-items: center;
  	justify-content: center;
}
.pagevisual h2{
	font-size: 3rem;
	letter-spacing: 0.12em;
	font-weight: 500;
	width: 96%;
	margin: 0 auto;
}
.pagevisual.corporate{
	background:url(../images/corporate/pagevisual.jpg) no-repeat center;
	background-size: cover;
}
.pagevisual.ir{
	background:url(../images/ir/pagevisual.jpg) no-repeat center;
	background-size: cover;
}
.pagevisual.csr{
	background:url(../images/csr/pagevisual.jpg) no-repeat center;
	background-size: cover;
}
.pagevisual.site{
	background:url(../images/top/mainvisual.jpg) no-repeat center;
	background-size: cover;
}
.pagevisual.recruit{
	background:url(../images/recruit/pagevisual.jpg) no-repeat center;
	background-size: cover;
}



@media screen and (max-width: 768px){
.pagevisual.corporate{
	background:url(../images/corporate/pagevisual.jpg) no-repeat center;
	background-position: right -120px  center;
	background-size: cover;

}
}
@media screen and (max-width: 480px){
.pagevisual h2{
	font-size: 2.2rem;
	letter-spacing: 0.08em;

}
.pagevisual h2.long{
	font-size: 2.2rem;
}	
	
.pagevisual{
	height: 140px;
}
}


/*---------------------- page_contentsmenu ----------------------*/
.corporate_top .page_contentsmenu{
	padding-top: 60px;
position: relative;
    z-index: 0;
}
.page_contentsmenu h4{
	color: #595757;
	font-size: 16px;
	text-align: center;
	padding-top: 15px;
	font-weight: 400;
}
.page_contentsmenu .box ul{
	width: 100%;
	justify-content: space-between;
}
.page_contentsmenu .box ul li{
	width: 23%;
	padding: 30px 0;
}
.page_contentsmenu .box ul li:hover{
	opacity: .78;
}

.page_contentsmenu .box ul li img{
	display: block;
	border-bottom:3px solid #e580ab;
}
.page_contentsmenu .box ul li.lightgreen img{
	border-bottom:3px solid #69b480;
}
.page_contentsmenu .box ul li.yellow img{
	border-bottom:3px solid #eda200;
}
.page_contentsmenu .box ul li.green img{
	border-bottom:3px solid #00803c;
}
.page_contentsmenu .box ul li.gray img{
	border-bottom:3px solid #969797;
}
.page_contentsmenu .box ul li.lavender img{
	border-bottom:3px solid #9c91c1;
}
.page_contentsmenu .box ul li.pink img{
	border-bottom:3px solid #db007f;
}


@media screen and (max-width: 480px){
.page_contentsmenu .box ul li{
		width: 48%;
	}
.csr_top .page_contentsmenu .box{
	padding-bottom: 30px;
}
}

/*---------------------- padding_wrap ----------------------*/
.padding_wrap{
	padding: 40px 0;
	position: relative;

}


/*---------------------- page_contents----------------------*/
.page_contents{
	padding-top: 60px;

}

@media screen and (max-width: 480px){
.page_contents{
	padding-top: 40px;

}

}

/*---------------------- .imgbtn-box ----------------------*/
.imgbtn-box{
}

.imgbtn-box .clm{
	width: 100%;
	overflow: hidden;
}
.imgbtn-box .clm a{
    background-color: rgba(0,0,0,1);
  -js-display: flex;
  	display: flex;
	flex-direction: column;
  	align-items: center;
  	justify-content: center;
   color: #FFFFFF;
	overflow:hidden;
	position:relative;
	z-index: 0;
}

.imgbtn-box .clm .title{
    display: block;
    position: absolute;
    z-index: 3;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit- transform: translateY(-50%) translateX(-50%);
    margin: auto;
}

.imgbtn-box .clm a img{
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
	opacity: .35;
}

.imgbtn-box .clm a:hover img{
    -webkit-transform: scale(1.15);
    transform: scale(1.15);
	opacity: .75;
}
.imgbtn-box a .title .eng{
	font-size:1.88rem;
	letter-spacing: 0.05em;
	position: relative;
	margin-bottom: 14px;
}
.imgbtn-box a .title .eng::after{
    content: '';
    display: block;
    position: relative;
    width: 40px;
    height: 2px;
    bottom: -8px;
    margin: 0 auto;
    background-color: #FFFFFF;
}
.imgbtn-box a .title .jp{
	font-size:2.2rem;c
	letter-spacing: 0.03em;
}

@media screen and (max-width: 480px){
.imgbtn-box a .title .eng{
	font-size:1.4rem;
}

.imgbtn-box a .title .jp{
	font-size:1.6rem;
	letter-spacing: 0.03em;
}
}




/*------------ .csr ------------*/
.csr_top .imgbtn-box{
    margin-bottom: 60px;
}


@media screen and (max-width: 480px){
.csr_top .imgbtn-box{
    margin-bottom: 20px;
}	
}


/*-----------------------------*/



/*----------------------  bnr ----------------------*/

.bnr-large {
	width: auto;
	max-height: 200px;
}

/*--------------------------------------------------*/



/*----------------------  bnr-box ----------------------*/	
.bnr-box .bnr{
	width: calc(25% - 20px);
	padding: 10px;
	margin: auto;
}

.bnr-box .bnr img{
	max-height: 70px;
}

.bnr-box .bnr:hover,.bnrhover:hover{
	opacity: .78;
}

.bnrhover:hover > img{
	opacity: .78;
}

@media screen and (max-width: 768px){
.bnr-box .bnr{
	width: calc(50% - 20px);
	padding: 10px;
	margin-bottom: 20px;
}
}
@media screen and (max-width: 480px){
.bnr-box .bnr{
	width:100%;
	padding: 0;
	margin-bottom: 30px;
}
}

/*------------ .csr ------------*/
.csr_top .bnr-box{
	margin-top: 60px;
	margin-bottom: 60px;
}
@media screen and (max-width: 480px){
.csr_top .bnr-box{
	margin-top: 40px;
}
}



/*---------------------- title----------------------*/
.contentstitle-h3 h3{
	font-weight: 600;
	letter-spacing: 0.02em;
	font-size: 2.6rem;
	color: #163357;
}
.contentstitle-h3 p.copy{
	letter-spacing: 0.02em;
	margin-top: 10px;
	color: #808080;
}
.contentstitle-h3 p.copy-bk {

    margin-top: 10px;
}


.contentstitle-h4{
	margin-bottom: 15px;
}

.contentstitle-h4 h4{
	font-weight: 400;
	letter-spacing: 0.02em;
	font-size: 2.4rem;
	color: #163357;
}


.contentstitle-h5{
	letter-spacing: 0.02em;
	font-size: 2rem;
	background: #163357;
	padding: 10px 15px;
	color: #FFFFFF
}
.contentstitle-h5 h5{
	font-weight: 400;
}
.contentstitle-h5-gray{
	letter-spacing: 0.02em;
	font-size: 2rem;
	background: #f2f2f2;
	padding: 10px;
}


@media screen and (max-width: 480px){
.contentstitle-h3 h3{
	letter-spacing: 0em;
	font-size: 2.3rem;
}
.contentstitle-h4 h4{
	font-size: 2.1rem;
	letter-spacing: 0em;
}

	
}
@media screen and (max-width: 320px){
.contentstitle-h3 h3{
	letter-spacing: 0em;
	font-size: 2rem;
}	
}

/*---------------------- tablink-box----------------------*/
.tablink-box{
	width: 100%;
	position:relative;
	z-index: 0;
}
.tablink-box ul{
	width: 100%;
}
.tablink-box ul li{
	width: 20%;
	min-height: 64px;
	padding: 5px 10px;
	line-height: 1.4;
	background: #f2f2f2;
	transition: .1s;
	border-left:1px solid #ffffff;
	box-sizing: border-box;
}
.tablink-box ul li:last-child{
	border-right:none;
}
.tablink-box ul li a{
	min-height: 64px;
	width: 100%;
	color: #595757;
	text-align: center;
	transition: .1s;
	height: 100%;
	-js-display: flex;
  	display: flex;
	justify-content: center;
	line-height: 1.4;
flex-flow: column;
}
.tablink-box ul li a span.small{
	font-size: 1.4rem;
}

.tablink-box ul li.active{
	background: #163357;
}
.tablink-box ul li.active a{
	color: #FFFFFF;
}
.tablink-box ul li:hover{
	background: #163357;
}
.tablink-box ul li:hover > a{
	color: #FFFFFF;
}

@media screen and (max-width: 768px){
.tablink-box ul li{
	width: 50%;
			border-bottom:1px solid #ffffff;

}
}
@media screen and (max-width: 480px){
.tablink-box ul li{
	width: 100%;
		border-left:none;

		border-bottom:1px solid #ffffff;

}
}

/*---------------------- tablink-box5----------------------*/
.tablink-box5{
	width: 100%;
	position:relative;
	z-index: 0;
}
.tablink-box5 ul{
	width: 100%;
}
.tablink-box5 ul li{
	width: 10%;
	height: 64px;
	line-height: 1.4;
	-js-display: flex;
  	display: flex;
	justify-content: center;
	align-items: center;
	background: #f2f2f2;
	transition: .1s;
	border-left:1px solid #ffffff;
	box-sizing: border-box;
}
.tablink-box5 ul li:last-child{
	border-right:none;
}
.tablink-box5 ul li a{
	display: block;
	width: 100%;
	color: #595757;
	text-align: center;
	transition: .1s;
	padding: 5px 15px;
}
.tablink-box5 ul li a span.small{
	font-size: 1.4rem;
}

.tablink-box5 ul li.active{
	background: #163357;
}
.tablink-box5 ul li.active a{
	color: #FFFFFF;
}
.tablink-box5 ul li:hover{
	background: #163357;
}
.tablink-box5 ul li:hover > a{
	color: #FFFFFF;
}

@media screen and (max-width: 768px){
.tablink-box5 ul li{
	width: 50%;
			border-bottom:1px solid #ffffff;

}
}
@media screen and (max-width: 480px){
.tablink-box5 ul li{
	width: 100%;
		border-left:none;
		border-bottom:1px solid #ffffff;
}
}



/*---------------------- adobereader-box ----------------------*/
.adobereader-box{
	width: 100%;
	padding-top: 40px;
	border-top: #163357 1px dashed;
}
.adobereader-box img{
	width: 220px;
	display: block;
	margin: 0 auto;
	margin-right: 20px;
}
.adobereader-box p{
	width: calc(100% - 240px);
	color: #595757;
	font-size: 1.4rem;
}
@media screen and (max-width: 768px){
.adobereader-box img{
	margin-right: 0px;
}	
.adobereader-box a{
	display: block;
	margin: 0 auto;
}	
.adobereader-box p{
	width: 100%;
	margin-top: 15px;
}
}


/*---------------------- セレクトボタン ----------------------*/
.select-box{
	margin-bottom: 15px;
}
.select-box select{
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: 0;
    margin: 0;
    height: 36px;
    background: transparent;
    position: relative;
    z-index: 1;
    padding: 0 40px 0 12px;
    border: 1px solid #ccc;
	font-size: 1.4rem;
	border-radius: 0px;
}
.select-box select::-ms-expand {
    display: none;
}
.select-box .selectWrap{
    position: relative;
    display: inline-block;
}
.select-box .selectWrap::before{
    content: '';
    position: absolute;
    z-index: 0;
    top: 0;
    right: 0;
    background: #f2f2f2;
    height: 100%;
    width: 30px;
}
.select-box .selectWrap::after{
    content: '';
    position: absolute;
    z-index: 0;
    top: 0;
    bottom: 0;
    margin: auto 0;
    right: 9px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px 6px 0 6px;
    border-color: #163357 transparent transparent transparent; 
}

/*---------- .セレクトボタン - タイトル ----------*/
 .select_title p{
	font-weight: 600;
	letter-spacing: 0.02em;
	font-size: 2rem;
	color: #163357;
	border-bottom: 2px solid #163357;
}



/*----------- テーブル -----------*/
.tbl_common{
 border-collapse: collapse;
 border-spacing: 0;
 width: 100%;
}
.tbl_common tr th{
 border-bottom:1px solid #dbdcdc;
 padding: 15px 10px;
line-height: 1.6;
	font-size: 15px;
	text-align: left;
	vertical-align: top;
	width: 140px;
	color: #163357;
	font-weight: 600;
}
.tbl_common tr td{
 border-bottom:1px solid #dbdcdc;
 padding: 15px 10px;
line-height: 1.4;
	color: #595757;

}
.tbl_common tr a:hover{
	text-decoration: underline;
}
.tbl_common tr a{
	color: #163357;
	font-size: 1.3rem;
	font-weight: 600;
}
.tbl_common tr a::before{
    content: url('../images/common/arrow_navy_s.png');
    padding-right: 5px;
}
.tbl_common h5{
	font-size: 15px;
}

.tbl_common th.top,.tbl_common td.top{
	 border-top:1px solid #dbdcdc;
}
.tbl_common th.none,.tbl_common td.none{
	 border:none;
}

@media screen and (max-width: 480px){
.tbl_common tr{
	 -js-display: flex;
  		display: flex;
		flex-direction: column;
	}	
.tbl_common tr th, .tbl_common_ir tr td{
 font-size: 1.5rem;
 padding: 10px;
 width: calc(100% - 20px);
	display: block;
}
	.tbl_common tr th{
		font-size: 14px;
		background: #f2f2f2;
	}

.tbl_common th.none,.tbl_common td.none{
	 border-bottom:1px solid #dbdcdc;
}
.tbl_common br.pc-only{
	 display:none;
}
.tbl_common td.top{
	 border-top:none;
}	
.tbl_common tr td{
	word-break:normal;
}	
	
}


/*---------------------- 企業情報 ----------------------*/




/*----------- .newsrelease-box -----------*/
.newsrelease-box ul{
	width:100%;
}
.newsrelease-box ul li{
	width:calc(100% - 40px);
	line-height: 1.5;
	position: relative;
}
.newsrelease-box ul li a{
	color: #595757;
	display: block;
	width: 100%;
	padding: 20px 20px;
	background: #f2f2f2;
}

.newsrelease-box ul li:nth-child(even) a{
	background: #F8F8F8;
}


.newsrelease-box ul li a:hover{
	background: #e4e4e4;
}

.newsrelease-box ul li:hover > a{
	opacity: .9;
}

/*---------- news ----------*/

.newsrelease-box li .date{
	font-size: 1.4rem;
	margin-bottom: 5px;
}

.newsrelease-box li .date i{
	font-size: 1.2rem;
	font-style: normal;
	display: inline-block;
	background: #163357;
	padding: 1px 6px 1px;
	border-radius: 20px;
	color: #FFFFFF;
	min-width: 70px;
	text-align: center;
	margin-left: 15px;
}

.newsrelease-box li .date i.oshirase{
	background: #e580ab;
	padding: 1px 2px 1px 6px;
}
.newsrelease-box li .date i.pr{
	background: #69b480;
}
.newsrelease-box li .date i.ir{
	background: #eda200;
}

.newsrelease-box li .date i.open{
	background: #1d6fbb;
}
.news-btn{
	position: relative;
	  -js-display: flex;
  display: flex;
  justify-content: center;
	align-items: center;	
	top:-10px;
}




/*---------- topmessage ----------*/
.message_img {
	width:250px;
	float: right;
}
.message_img p{
	line-height: 1.4;
	font-size: 1.4rem;
	margin: 5px 0;
}
.message_img p span.name{
	font-weight: 600;
	font-size: 1.5rem;
}
@media screen and (max-width: 480px){
.message_img {
	width:100%;
	float: none;
	margin-bottom: 20px;
}
}


/*---------------------- list_contents----------------------*/
.list_contents{
	border-bottom:1px solid #dbdcdc;
	padding-bottom: 20px;
    justify-content: space-between;
}
.list_contents.none{
	border:none;
	padding-bottom: 10px;
}
.list_contents .txt {
    width: calc(100% - 200px);
}
.list_contents .btn{
	position: relative;
	top:-2px;
}
.list_contents .btn a{
	padding: 6px 40px;
	color: #173357;
	border:1px solid #173357;
	transition: .3s;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
	background: url(../images/common/arrow_navy_s.png) no-repeat;
	background-position: right 15px center;
	border-radius: 50px;
}
.list_contents a:hover{
	background: url(../images/common/arrow_wh_s.png) no-repeat,#173357;
	background-position: right 15px center;
	color: #fff;
}
.list_contents .bnr{
	padding: 0;
	border: 0;
	background: none;
}
.list_contents .bnr:hover{
	background: none;
}
@media screen and (max-width: 1200px){
.list_contents .btn{
	position: relative;
	top:5px
	
}
}

@media screen and (max-width: 768px){
.list_contents{
	justify-content: center;
}
.list_contents .btn{
		margin-top: 15px;
		margin-bottom: 10px;
	
}
.list_contents .txt {
    width: 100%;
}
}
	
	
/*---------------------- .btn ----------------------*/
/*------------ .btn-radius-bdr ------------*/
	
.btn-radius-bdr a{
	padding: 6px 40px;
	color: #173357;
	border:1px solid #173357;
	transition: .3s;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
	background: url(../images/common/arrow_navy_s.png) no-repeat;
	background-position: right 15px center;
	border-radius: 50px;
	display: block;
	width: 80%;
	max-width: 250px;
		margin: 0 auto;
	text-align: center;

}
.btn-radius-bdr a:hover{
	background: url(../images/common/arrow_wh_s.png) no-repeat,#173357;
	background-position: right 15px center;
	color: #fff;
}

/*------------ .bookoffonline-link ------------*/	
.bookoffonline-link a{
    color: #595757;
    font-size: 1.3rem;
}
.bookoffonline-link a:hover{
    text-decoration: underline;
}
.bookoffonline-link a::before {
    content: url(../images/common/arrow_navy_s.png);
    padding-right: 5px;
}	
/*------------ .btn_arrow ------------*/	
 a.btn_arrow{
    color:#173357;
	font-weight: 600;
	 font-size: 1.5rem;
}
 a.btn_arrow img{
   padding-left: 5px;
}

a.btn_arrow:hover{
    text-decoration: underline;
}
a.btn_arrow::before {
    content: url(../images/common/arrow_navy_s.png);
    padding-right: 5px;
	position: relative;
	top:-2px;
}	
a.btn_arrow_bgwh:hover{
     background: #fff;
	    color:#173357;
    text-decoration: underline;
}

/*hover_under*/
.hover_under:hover{
	text-decoration: underline;
}




/*col-3*/
.justify-between{
	justify-content: space-between;
}


/*table scr*/

/*tableをスクロールさせる*/
/*tableのセル内にある文字の折り返しを禁止*/
table.scr {
	overflow: auto;
	white-space: nowrap;
	display:block;
	width:auto;
}
 
table.scr tbody {
	width: 100%;
	display:table;
}
 
/*tableにスクロールバーを追加*/
table.scr::-webkit-scrollbar {
	height: 5px;
}
 
/*tableにスクロールバーを追加*/
table.scr::-webkit-scrollbar-track {
	background: #F1F1F1;
}
 
/*tableにスクロールバーを追加*/
table.scr::-webkit-scrollbar-thumb {
	background: #BCBCBC;
}

