/*----------------------- mainVisual -----------------------*/
.mv_wrap{
    width: 100%;
    text-align: center;
    
}
.swiper-slide img{
    width: 100%;
    max-width: 1640px;
    display: block;
    margin: 0 auto;
    vertical-align: bottom;
}
@media screen and (max-width: 815px){
.mv_wrap{
    margin-top: 110px;
    
}
}

/*----------------------- top_lead -----------------------*/
.top_lead{
    background: url("../images/top/lead_bg.png") no-repeat; 
    background-color: #f2f4f8;
    background-position:top center;
    background-size: contain;
    padding: 45px 0;
}
.top_lead .container{
    max-width: 914px;
}
.top_lead .container p{
    line-height: 2;
}
.top_lead .container p.maincopy{
    padding: 20px 0;
}
@media screen and (max-width: 815px){
.top_lead{
    background: url("../images/top/lead_bg.png") no-repeat; 
    background-color: #f2f4f8;
    background-position:bottom center;
    background-size: cover;
}
}
/*----------------------- top_news -----------------------*/
.top_news .container{
    padding-top: 50px;
    padding-bottom: 40px;
    border-bottom:solid 2px #EEEEEE;
}
.top_news h2{
    font-size: 1.8rem;
    padding-bottom: 30px;
    text-align: center;
}
/*
.top_news .newsTable{
    width: 100%;
    border-collapse:collapse;
    table-layout: fixed;
}
.top_news .newsTable td{
   padding: 10px; 
}

.top_news .newsTable .date{
    width: 158px;
    font-weight: 700;
    letter-spacing: 0.08em;
    padding-left: 0;
}
.top_news .newsTable .category{
    width: 120px;
    text-align: center;
}

.top_news .newsTable .category span{
    background: #aaaaaa;
    width: 100px;
    color: #FFFFFF;
    height: 24px;
    border-radius: 4px;
    -js-display: inline-flex;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding-right: 0;
}

.top_news .newsTable .contents{
    width: calc(100 - 278px);
}
.top_news .newsTable .contents a{
    color: #282828;
}
*/
.newsTable span{
    font-size: 1.3rem;
}
.top_news .btn-list {
    position: absolute;
    top: 60px;
    right: 20px;
}
.top_news .btn-list a {
    font-size: 1.3rem;
    font-weight: bold;
    line-height: 27px;
    display: block;
    width: 85px;
    height: 26px;
    padding-right: 6px;
    text-align: center;
    letter-spacing: .05em;
    color: #fff;
    background: #17234d;
}
.top_news .btn-list a span {
    display: block;
    background: url(../images/common/arrow_white.svg) right center no-repeat;
    background-size: 4px auto;
}



@media screen and (max-width: 815px){
.top_news .newsTable tr{
    -js-display: flex;
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 15px;
}
.top_news .newsTable .date{
    width: 130px;
    font-weight: 700;
    letter-spacing: 0.08em;
    position: relative;
    top:4px;
    display: table;

}
.top_news .newsTable .category{
    width: 120px;
    text-align: center;
    display: table;
}
.top_news .newsTable .contents{
    width: 100%;
    padding-left: 0;
}
.top_news .btn-list {
    position: absolute;
    top: 50px;
    right: 20px;
}
}

/*----------------------- top_service -----------------------*/
.top_service .container{
    padding-top: 70px;
    padding-bottom: 100px;
}
.top_service h2{
    font-size: 2.4rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    padding-bottom: 30px;
    color: #0e2b73;
    text-align: center;
}
.top_service .clm{
    width: 32%;
    max-width: 301px;
    margin: 0 auto;
}
.top_service .clm a{
    color: #282828;
}

.service_contents{
    height: 145px;
}
.service_name h3{
    font-size: 1.8rem;
    padding-top: 8px;
    padding-bottom: 5px;
}
.service_name p{
    font-size: 1.5rem;
    text-indent: -10px;
}

@media screen and (max-width: 815px){
.top_service .container{
    padding-top: 70px;
    padding-bottom: 0px;
}
.service_txt p br{
    display: none;
}
.top_service .clm{
    width: 100%;
    margin-bottom: 40px;
    max-width: 100%;
}
.service_contents{
    height: auto;
    width: 100%;
    max-width: 301px;
    margin: 0 auto;
} 
    .service_txt{
        margin-top: 15px;
    }
.service_name h3{
    font-size: 1.75rem;    padding-bottom: 3px;
}
.service_name p{
    font-size: 1.5rem;
}

}


@media screen and (max-width: 480px){

}



/*----------------------- top_nmscontents -----------------------*/

.top_mainlink .clm {
    margin-bottom: 55px;
}

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




/*----------------------- top_link -----------------------*/
.top_link .container{
    padding-top: 30px;
    padding-bottom: 30px;
}
.top_link .clm a{
    color: #282828;

}



.top_link .clm.imglink{
    width: 23%;
    margin-bottom: 50px;
}
.top_link .clm p.title{
    font-size: 1.6rem;
    padding-top: 8px;
}
.top_link .clm_group{
    width: 49%;
	position: relative;
}
.top_link .clm_group ul{
    width: 66%;
    height: 140px;
}
.top_link .clm_group ul li{
    width: 50%;
}
.nikkoir {
	position: absolute; top:5px; right:0px;
}



@media screen and (max-width: 815px){
.top_link .container {
    padding-top: 30px;
    margin-bottom: -50px;
    width: 80%
}
.top_link .clm p.title{
    font-size: 1.4rem;
    padding-top: 10px;
    max-width: 228px;
    margin: 0 auto;
}
.top_link .clm.imglink{
    width: 44%;

    margin: 0 auto;
    margin-bottom: 30px;
} 
.top_link .clm_group{
    width: 100%;
    margin-top: 40px;
}    
.top_link .clm_group ul{
    width: 70%;
    height: auto;
    margin: 0 auto;
    max-width: 240px;
}
.top_link .clm_group ul li{
    width: 44%;
    margin-bottom: 10px;
}
    
.top_link .clm_group p.title{
    width: 70%;
    height: auto;
    margin: 0 auto;
    max-width: 240px;
}
	.nikkoir {
    position:relative;
    margin: 30px auto;
    text-align: center;
}

    margin: 50px auto;
    text-align: center;
}


}
@media screen and (max-width: 480px){
.top_link .container {
    width: 100%
}
.nikkoir {
    position:relative;
    margin: 50px auto;
    text-align: center;
}


}

/*株主総会関連*/

.shareholders_box {
	background:#F2F4F8;
	padding: 0;
	margin-top: 3em;
}

.shareholders_box h2 {
	background: #102594;
	background: linear-gradient(90deg,rgba(16, 37, 148, 1) 0%, rgba(34, 62, 195, 1) 50%);
    color: #fff;
    font-size: 20px;
    font-weight: 500;
    padding: 7px 15px;
	border-bottom: 3px solid #B1B1B1;
}

.shareholders_box p {
	padding: 1.5em;
    font-weight: bold;
    font-size: 1.5rem;
}


.shareholders_box table {
  border-collapse: collapse;
  width: 88%;
  max-width: 700px;
  margin-left: 1.5em;
}
.shareholders_box table th, .shareholders_box table td {
  border: 2px solid #f2f4f8;
  background-color: #fff;
  padding: 0.7em;
}
.shareholders_box table th {
  background-color: #e6eaf1;
  color: #333;
  font-weight: 500;
  text-align: center;
  width: 10%;
  min-width: 4em!important;
}



.shareholders_box ul {
	/*padding: 1.5em 1.5em 4.5em;左下ボタン表示*/
	padding: 1.5em 1.5em 2em;/*左下ボタン非表示*/
}

.shareholders_box ul li {
	font-size: 13px;
	font-family: 'Noto Sans JP', sans-serif;
	text-indent: -1.1em;
    padding-left: 1.2em;
}

.shareholders_box ul li a {
	color: #333 !important;
	background: url(../images/ir/icon_cursor_blue.png) 0 7px no-repeat;
    padding-left: 15px;
	text-decoration: underline;
	font-size: 13px;
}

.shareholders_box ul li a:hover {
	text-decoration:none;
}

.shareholders_box button
{
	position: absolute;
    bottom: 1.5em;
    right: 1em;
	border: none;
}

.shareholders_box button a {
    font-size: 1.3rem;
    font-weight: bold;
    line-height: 27px;
    display: block;
    width: 180px;
    height: 26px;
    padding-right: 6px;
    text-align: center;
    letter-spacing: .05em;
    color: #fff;
    background: #17234d;
}

.shareholders_box button a span {
    display: block;
    background: url(../images/common/arrow_white.svg) right center no-repeat;
    background-size: 4px auto;
}