@charset "utf-8";
/* CSS Document */

body{
	font-size: 13px;
	line-height: 1.6;
}

#mainBlock{
	position: relative;
}
#contentsBlock {
    padding-top: 0;
}
.txt_ind {
    text-indent: 0 !important;
}
@media screen and (max-width: 956px) {
	.pcStyle{
		display: none;
	}
	
	.spStyle{
		display: block;
	}
}
@media screen and (max-width: 768px) {
	#contentsBlock {
		padding-top: 60px;
	}
}

strong{
	font-weight: 700;
}

.crumb{
	margin: 20px 0 30px;
}
@media screen and (max-width: 956px) {
	.crumb{
		padding: 5px 10px;
	}
}
@media screen and (max-width: 767px) {
	.crumb{
		margin: 15px 0 10px;
	}
}

.mt100 {
	margin-top: 100px !important;
}

#searchBtn{
	margin-left	: 1px;
}

/*submenu*/
body section,
body #mainBlock,
body article{
	overflow	: visible!important;
}

#disaster header nav li#nav-csr a,
#global header nav li#nav-csr a,
#office header nav li#nav-csr a,
#sub_environmental01 header nav li#nav-csr a,
#sub_environmental02 header nav li#nav-csr a,
#sub_environmental03 header nav li#nav-csr a,
#sub_environmental04 header nav li#nav-csr a,
#sub_environmental05 header nav li#nav-csr a,
#sub_environmental06 header nav li#nav-csr a,
#sub_environmental07 header nav li#nav-csr a,
#sub_environmental08 header nav li#nav-csr a,
#sub_environmental09 header nav li#nav-csr a,
#sub_environmental10 header nav li#nav-csr a,
#sub_environmental11 header nav li#nav-csr a,
#sub_environmental12 header nav li#nav-csr a,
#sub_environmental13 header nav li#nav-csr a,
#sub_environmental14 header nav li#nav-csr a,
#sub_feature01 header nav li#nav-csr a,
#sub_feature02 header nav li#nav-csr a,
#sub_governance01 header nav li#nav-csr a,
#sub_governance02 header nav li#nav-csr a,
#sub_governance03 header nav li#nav-csr a,
#sub_governance04 header nav li#nav-csr a,
#sub_governance05 header nav li#nav-csr a,
#sub_social01 header nav li#nav-csr a,
#sub_social02 header nav li#nav-csr a,
#sub_social03 header nav li#nav-csr a,
#sub_social04 header nav li#nav-csr a,
#sub_social05 header nav li#nav-csr a,
#sub_think01 header nav li#nav-csr a,
#sub_think02 header nav li#nav-csr a,
#sub_think03 header nav li#nav-csr a{
}

.page_entry{
	float	: left;
	margin	: 30px 15px 0 0;
	width	: 220px;
}

.page_entry .title a{
			display			: block;
			margin			: 0 0 0 0;
			width			: 220px;
			padding			: 8px 0 8px 0;
			color			: #4e4e4e;
			font-size		: 120%;
			font-weight		: bold;
			text-align		: left;
}

.ie6 .page_entry .title a{
	width		: 200px;
}

		.page_entry .title .title_icon{
					color	: #0f2188;
					float	: left;
					margin	: 8px 2px 0 0;
		}	
	
#btn_submenu01,
#btn_submenu02,
#btn_submenu03,
#btn_submenu04{
	position	: relative;
}

#submenu01,
#submenu02,
#submenu03,
#submenu04{
	display		: none;
	position	: absolute;
	left		: 0px;
	top			: -34px;
	z-index		: 900;
}

#submenu01 ul,
#submenu02 ul,
#submenu03 ul,
#submenu04 ul{
	width		: 220px;
	text-align	: left;
	margin		: 35px 0 0 1px;	
}

#submenu01 .img_height,
#submenu02 .img_height,
#submenu03 .img_height,
#submenu04 .img_height{
	height	: 128px!important;
}

		#submenu01 ul li a,
		#submenu02 ul li a,
		#submenu03 ul li a,
		#submenu04 ul li a{
			display			: block;
			width			: 198px;
			color			: #ffffff;
			font-size		: 105%;
			font-weight		: normal;
			padding			: 6px;
			margin			: 0 0 0 10px;
		}

/*------------------*/
/*20170803_追記CSS*/
/*---------------*/
/*見出しパーツ*/
h3{
	font-size: 30px;
	color: #0f2188;
	text-align: left;
	margin-bottom: 20px;
}

h4{
	font-size: 20px;
	color: #444444;
	border-bottom: 2px solid #0f2188;
	text-align: left;
	padding-bottom: 5px;
	margin-top: 40px;
}
h6{
	font-size: 154%;
	color: #444444;
	border-bottom: 2px solid #0f2188;
	text-align: left;
	padding-bottom: 10px;
	margin-top: 0px;
}

h5{
	font-size: 124%;
	color: #444444;
	border-left: 4px solid #0f2188;
	text-align: left;
	padding-left: 8px;
	margin-top: 30px;
	line-height: 1.8;
	
}

.hd01{
	color: #0f2188;
	text-indent: 0 !important;
}
	.hd01 span{
		font-weight:bold;
		color: #0f2188;
	}

.hd02{
	font-size: 124%;
	text-align: left;
	margin-bottom: 20px;
	border-bottom: none;
}

.hd03{
	color: #0f2188;
	text-indent: 0 !important;
	font-weight:bold;
	font-size:20px;
}

.hd06{
	color: #0f2188;
	font-weight: bold;
	margin: 10px 0;
}
.hd07{
	color: #444444;
	font-weight: bold;
	margin: 25px 0 0;
	font-size:12px;
}

.hd08{
	font-size: 14px;
	text-align: left;
	border-left: none;
	border-bottom: none;
	padding: 10px 0px;
}

.hd09{
	font-size: 116%;
	font-weight: bold;
	text-align: left;
	border-left: none;
	border-bottom: none;
	padding: 0px;
	text-indent: 0 !important;
}

.ov{
	overflow: hidden;
}

posotion_re{
	position:relative;
}

sup {
	font-size: 0.7em;
	vertical-align: super;
}


/*PDFリンク*/
.pdf_link{
	border: 1px solid #0f2188;
	padding: 6px 16px;
	position: relative;
	display: inline-block;
}
.pdf_link span{
	display: flex;
	align-items: center;
	padding: 0 10px;
}
	.pdf_link span:before{
		content: "";
		position: absolute;
		top: 50%;
		-webkit-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
		transform: translateY(-50%);
		left: 10px;
		border-top: 5px solid transparent;
		border-bottom: 5px solid transparent;
		border-left: 8px solid #0f2188;
	}

	.pdf_link span:after{
		content: "";
		display: inline-block;
		background-repeat: no-repeat;
		background-size: contain;
		background-position: center;
		background-image: url(../common/img/icon/icon_pdf.svg);
		width: 17px;
		height: 22px;
		margin-left: 5px;
	}
	
.pdf_link a{
	color: #0f2188;
	font-size: 108%;
}
.pdf_link2{
	display: inline-block;
}
.pdf_link2 span{
	display: block;
	padding: 10px 10px 0 0;
	position:relative;
}
	.pdf_link2 span:after{
		content: "";
		display: inline-block;
		background-repeat: no-repeat;
		background-size: contain;
		background-position: center;
		background-image: url(../common/img/icon/icon_pdf.svg);
		width: 17px;
		height: 22px;
		margin-left: 5px;
		transform: translateY(4px);
	}

.pdf_link2 a{
	color: #0f2188;
}

.pdf_link02{
	text-align: left;
	font-size: 16px;
}
.pdf_link02 span{
	padding: 0 5px;
	vertical-align: middle;
}
	.pdf_link02:before{
		content: "";
		background:url(../img/icon_img_pdf.gif) no-repeat;
		width: 17px;
		height: 17px;
		display: inline-block;
		background-size: 17px 17px;
		vertical-align: middle;
	}

.pdf_link3{
	border: 1px solid #0f2188;
	padding: 6px 16px;
	position: relative;
	display: inline-block;
}
.pdf_link3 span{
	display: block;
	padding: 0 10px;
}

	.pdf_link3 span:after{
		content: "";
		background:url(../img/icon_img_pdf.gif) no-repeat;
		position: absolute;
		top: 5px;
		right: 6px;
		width: 17px;
		height: 17px;
		background-size: 17px 17px;
	}

.pdf_link3 a{
	color: #0f2188;
	font-size: 108%;
}

.fnt_w{
	font-weight: bold;
}

.pdf_area{
	margin-left: 10px;
}
	.pdf_area li{
		float: none !important;
	}
	
	.pdf_area li:last-child{
		display: block !important;
		float: none !important;
	}
	.mainBox .pdf_area li a:hover{
		text-decoration: underline !important;
		opacity: 1 !important;
	}
	

.pdf_area .pdf_link02:before{
	padding-right: 5px;
}

.mainimg{
	width: 100%;
	max-width:1600px;
	object-fit: cover;
	font-family: 'object-fit: cover;'
}

#mainBlock{
	width: 100% !important;
	max-width: 100%;
}

.container{
	width: 100%;
	max-width: 950px;
	margin: 5px auto 0px;
	/* overflow: hidden; */
}

	.ttl02_box{
		/* background:url(../img/ttl02_bg.jpg) no-repeat bottom right; */
		height: 72px;
	}

	#ttl_02{
		max-width: 950px;
		width: 100%;
		margin: 0 auto;
		padding: 21px 0;
		font-size: 28px;
		color: #0f2188;
		text-align: left;
	}
	
	.sub_nav{
		background: #fff;
		position: relative;
		margin-top: 10px;
	}
		.sub_nav ul{
			display: table;
			max-width: 950px;
			width: 100%;
			margin: 0 auto;
			padding: 10px 0;
			letter-spacing: -.40em;
		}
			.sub_nav ul li{
				letter-spacing: normal;
				color: #4d4d4d;
				display: table-cell;
				padding: 5px 5px;
				font-size: 108%;
				border-left: 1px solid #8790c4;
				width: calc(100%/10);
			}
			*::-ms-backdrop, .sub_nav ul li{
				width: 10%; /* IE11 */
			  }
			.sub_nav ul li{
			}
			/* .sub_nav ul li:nth-child(2){
				min-width: 130px;
			} */
			.sub_nav ul li:nth-child(6){
				min-width: 110px;
			}
			.sub_nav ul li:nth-child(7){
				min-width: 110px;
			}
			
			.sub_nav ul li:last-child{
				border-right: 1px solid #8790c4;
			}
			
			.sub_nav ul li a{
				display: inline-block;
				color: #4d4d4d;
				vertical-align: middle;
				line-height: 1.2;
			}
			.sub_nav ul li a:hover{
				text-decoration: none;
			}
			@media screen and (max-width: 956px) {
				.sub_nav{
					margin-top: 0;
				}
			}

	.mainBox{
		max-width: 950px;
		width: 100%;
		margin: 0 auto 34px;
	}
		.mainBox ul{
			overflow: hidden;
		}
		
		.mainBox ul li{
			float: left;
			margin-right: 35px;
		}
		
		.mainBox ul li:nth-child(3){
			margin-right: 0;
		}
		
		#sub_social05 .mainBox ul li:nth-child(3),#disaster .mainBox ul li:nth-child(3),#global .mainBox ul li:nth-child(3),#office .mainBox ul li:nth-child(3){
			margin-right: 10px;
		}
		
		#sub_social05 .mainBox ul li:last-child{
			margin-right: 0px;
		}
		
		.mainBox ul li:last-child{
			display: inline-block;
			margin-right: 0px;
		}
		
		.mainBox ul.effort li{
			float:none;
		}

		
		.mainBox ul.effort li:last-child{
			display:list-item;
		}
		
		.mainBox ul li a:hover{
			opacity: 0.7;
			text-decoration: none !important;
		}
		
		.mainBox ul li span{
			text-align: left;
			display: block;
			padding: 10px;
			font-size: 134%;
			font-weight: bold;
		}
		
		#b_csr .mainBox{
			margin-bottom: 60px;
		}
		#b_csr .mainBox.menu2 h3{
			font-size: 180%;
		}
		.csr_top .mainBox p{
			font-size: 15px;
			line-height: 1.8;
		}
		#b_csr .mainBox ul.submenu,
		#b_csr .mainBox ul.submenu2{
			display: flex;
			justify-content: flex-start;
		}
		#b_csr.csr_top .mainBox ul.submenu2,
		#b_csr.csr_top .mainBox ul.submenu2 .archive_link,
		#b_csr.csr_top .mainBox ul.submenu2 .archive_link a{
			display: flex;
			align-items: stretch;
			width: 100%;
		}
		#b_csr.csr_top .mainBox ul.submenu2 .archive_link a{
			align-items: center;
		}
		#b_csr .mainBox ul.submenu li{
			max-width: 295px;
			width: 100%;
			margin-right: 32.5px;
		}
		#b_csr .mainBox ul.submenu li a img{
			width: 100%;
		}
		#b_csr .mainBox ul.submenu li:last-child{
			margin-right: 0;
		}
		#b_csr .mainBox ul.submenu li a span{
			position: relative;
			color: #0f2188;
			padding: 0 0 0 18px;
			margin-top: 15px;
		}
		#b_csr .mainBox ul.submenu li a span:before{
			content: '';
			width: 8px;
			height: 8px;
			border: 0;
			border-top: solid 2px #0f2188;
			border-right: solid 2px #0f2188;
			position: absolute;
			top: 50%;
			left: 0;
			margin-top: -5px;
			transform: rotate(45deg);
		}
		#b_csr .mainBox ul.submenu li p{
			font-size: 15px;
			text-align: left;
			margin-top: 15px;
			line-height: 1.8;
		}
		#b_csr .mainBox ul.submenu li.submenu_think{
			/* max-width: calc((295px * 2) + (23.5px * 2)); */
    		max-width: none;
	    	width: auto;
			display: flex;
			align-items: flex-start;
		}
		#b_csr .mainBox ul.submenu li.submenu_think img{
			/* max-width: 295px;
			margin-right: 23.5px; */
			max-width: 210px;
			margin-right: 15px;
		}
		#b_csr .mainBox ul.submenu li.submenu_think .submenu_think_link{
			max-width: 295px;
		}
		#b_csr .mainBox ul.submenu li.submenu_think .submenu_think_link a span{
			margin-top: 0;
		}
		#b_csr .mainBox ul.submenu li.submenu_think .submenu_think_link ul{
			text-align: left;
		}
		#b_csr .mainBox ul.submenu li.submenu_think .submenu_think_link ul li{
			display: block;
			float: none;
			font-size: 116%;
			font-weight: normal;
			margin-top: 10px;
			margin-right: 10px;
			padding-left: 2.3em;
			text-indent: -1em;
		}
		#b_csr .mainBox ul.submenu li.submenu_think .submenu_think_link ul li:before {
			content: '・';
			vertical-align: top;
		}
		#b_csr .mainBox ul.submenu li.submenu_think .submenu_think_link ul li a:hover {
			text-decoration: underline !important;
		}
		#b_csr.csr_top .mainBox ul li.archive_link a,
		#b_csr .mainBox ul li.archive_link a span{
			position: relative;
			padding: 15px 15px 15px 60px;
			transition: 0.3s all;
		}
		#b_csr.csr_top .mainBox ul li.archive_link a{
			background: #fff;
			color: #0f2188;
			border: 1px solid #0f2188;
			text-align: left;
			display: flex;
			align-items: center;
			font-weight: bold;
			font-size: 105%;
		}
		#b_csr.csr_top .mainBox ul li.archive_link a:before,
		#b_csr .mainBox ul li.archive_link a span:before{
			content: '';
			width: 18px;
			height: 18px;
			background-color: #0F2188;
			border-radius: 100%;
			position: absolute;
			top: 50%;
			left: 30px;
			transform: translateY(-50%);
			-webkit-transform: translateY(-50%);
			-ms-transform: translateY(-50%);
			transition: 0.3s all;
		}
		#b_csr.csr_top .mainBox ul li.archive_link a:after,
		#b_csr .mainBox ul li.archive_link a span:after{
			content: '';
			width: 5px;
			height: 5px;
			border: 0;
			border-top: solid 2px #fff;
			border-right: solid 2px #fff;
			position: absolute;
			top: 50%;
			left: 34px;
			margin-top: -4px;
			transform: rotate(45deg);
			transition: 0.3s all;
		}
		#b_csr .mainBox ul li.archive_link a:hover{
			opacity: 1;
		}
		#b_csr.csr_top .mainBox ul li.archive_link a:hover,
		#b_csr .mainBox ul li.archive_link a:hover span{
			background-color: #0F2188;
			color: #fff;
		}
		#b_csr.csr_top .mainBox ul li.archive_link a:hover::before,
		#b_csr .mainBox ul li.archive_link a:hover span:before{
			background-color: #fff;
		}
		#b_csr.csr_top .mainBox ul li.archive_link a:hover::after,
		#b_csr .mainBox ul li.archive_link a:hover span:after{
			border-top: solid 2px #0F2188;
			border-right: solid 2px #0F2188;
		}
		#b_csr .mainBox.menu2 h3{
			font-size: 20px;
		}
		#b_csr .mainBox#csr01 h3{
			font-size: 28px;
			margin-bottom: 10px;
		}
		#b_csr .mainBox#csr02 h3{
			font-size: 28px;
		}

		@media screen and (max-width: 956px) {
			#b_csr .mainBox#csr01 ul.submenu li{
				max-width: 50%;
				margin: 0 10px;
			}
			#b_csr .mainBox ul.submenu li a span{
				margin: 10px auto 0;
			}
			#b_csr .mainBox ul.submenu li.submenu_think{
				max-width: 50%;
				display: block;
			}
			#b_csr .mainBox ul.submenu li.submenu_think img{
				max-width: 100%;
				margin-right: 0;
			}
			#b_csr .mainBox ul.submenu li.submenu_think .submenu_think_link{
				max-width: 100%;
			}
			#b_csr .mainBox ul.submenu li.submenu_think .submenu_think_link a span{
				margin-top: 10px;
			}
			#b_csr .mainBox ul.submenu li.submenu_think .submenu_think_link ul{
				text-align: left;
			}
			#b_csr .mainBox ul.submenu li.submenu_think .submenu_think_link ul li{
				max-width: 100% !important;
				padding-left: 1.6em;
				text-indent: -1em;
				margin-top: 10px !important;
			}
			#b_csr .mainBox ul li.archive_link{
				max-width: 48%;
				width: 100%;
				margin-right: 2%;
			}
		}
		@media screen and (max-width: 768px) {
			#b_csr .mainBox{
				margin-bottom: 40px;
			}
			#b_csr .mainBox h3,
			#b_csr .mainBox.menu2 h3{
				font-size: 20px;
			}
			#b_csr .mainBox#csr01 h3,
			#b_csr .mainBox#csr02 h3{
				font-size: 22px;
			}
			#b_csr .mainBox#csr01 ul.submenu,
			#b_csr .mainBox#csr02 ul.submenu{
				flex-wrap: wrap;
				justify-content: space-between;
			}
			#b_csr .mainBox#csr01 ul.submenu li,
			#b_csr .mainBox#csr02 ul.submenu li{
				max-width: none;
				width: 48%;
				margin: 0;
			}
			#b_csr .mainBox ul.submenu li.submenu_think .submenu_think_link ul li{
				width: 100% !important;
			}
			#b_csr .mainBox#csr02 ul.submenu li:last-child{
				margin-top: 30px;
			}
			#b_csr .mainBox#csr01 ul.submenu li img,
			#b_csr .mainBox#csr02 ul.submenu li img{
				width: 100%;
			}
			#b_csr .mainBox ul.submenu li a span{
				max-width: 100%;
			}
		}
		@media screen and (max-width: 570px) {
			#b_csr .mainBox ul.submenu,
			#b_csr .mainBox ul.submenu2{
				display: block;
			}
			#b_csr .mainBox ul.submenu li,
			#b_csr .mainBox#csr01 ul.submenu li,
			#b_csr .mainBox#csr02 ul.submenu li,
			#b_csr .mainBox ul.submenu2 li{
				max-width: 400px;
				width: 100%;
				margin: 0 auto 20px;
				padding: 0 10px;
			}
			#b_csr .mainBox ul.submenu li.submenu_think .submenu_think_link ul li{
				margin-bottom: 0 !important;
				padding-left: 1.6em !important;
			}
			#b_csr .mainBox#csr01 ul.submenu li:last-child,
			#b_csr .mainBox#csr02 ul.submenu li:last-child{
				margin-bottom: 0;
			}
			#b_csr .mainBox#csr02 ul.submenu li:last-child {
				margin-top: 0;
			}
		}
		
	
	article{
		margin-bottom: 110px;
	}

/*個メニュー*/
	.sub_nav02{
		position: absolute;
		opacity: 0;
		pointer-events: none;
		top: 72px;
		left: 0;
		right: 0;
		padding: 20px;
		border-top: 10px solid #fff;
		transform: translate(0, -10px);
		transition: 0.3s all;
		background: rgba(15,33,136,0.9);
		z-index: 10001;
	}
	.sub_nav02.active{
		opacity: 1;
		pointer-events: all;
		transform: translate(0, 0);
	}

	.sub_nav02 .nav02_inner{
		display: flex;
		align-items: stretch;
		max-width: 950px;
		width: 100%;
		margin: 0 auto;
	}
	.sub_nav02 .nav02_inner .nav02_title{
		color: #fff;
		font-size: 25px;
		font-weight: bold;
		box-sizing: border-box;
		text-align: left;
		margin-right: 40px;
		word-break: keep-all;
	}
	#Environmental .sub_nav02 .nav02_inner .nav02_title,
	#Social .sub_nav02 .nav02_inner .nav02_title{
		min-width: 100px;
	}
	#Governance .sub_nav02 .nav02_inner .nav02_title{
		min-width: 170px;
	}
		.sub_nav02 .nav02_inner .nav02_list{
			display: flex;
			max-width: none;
			margin: 0;
			padding: 0;
			position: relative;
		}
		.sub_nav02 .nav02_inner .nav02_list > ul{
			display: block;
			max-width: none;
			width: auto;
			margin: 0;
			padding: 0;
			margin-right: 30px;
		}
		#Environmental .sub_nav02 .nav02_inner .nav02_list > ul:nth-child(1){
			min-width: 270px;
			width: 270px;
		}
		#Environmental .sub_nav02 .nav02_inner .nav02_list > ul:nth-child(2){
			min-width: 270px;
			width: 270px;
		}
		.sub_nav02 .nav02_inner .nav02_list > ul:last-child{
			margin-right: 0;
		}
		
			.sub_nav02 .nav02_inner .nav02_list > ul li{
				position: relative;
				color: #fff;
				text-align: left;
				float: left;
				padding: 5px 0;
				margin-bottom: 2px;
				font-size: 98%;
				width: auto;
				border: none !important;
			}
			.sub_nav02 .nav02_inner .nav02_list > ul li:nth-child(2){
				min-width: auto;
			}
			.sub_nav02 .nav02_inner .nav02_list > ul > li{
				width: 100%;
				word-break: keep-all;
			}
			.sub_nav02 > .nav02_inner .nav02_list > ul > li > a,
			.sub_nav02 > .nav02_inner .nav02_list > ul > li.mega > a{
				position: relative;
				padding-left: 1em;
			}
			.sub_nav02 > .nav02_inner .nav02_list > ul > li > a:hover,
			.sub_nav02 > .nav02_inner .nav02_list > ul > li.mega a:hover{
				text-decoration: underline;
			}
			.sub_nav02 > .nav02_inner .nav02_list > ul > li:before,
			.sub_nav02 > .nav02_inner .nav02_list > ul > li.mega > a:before{
				content: '';
				width: 6px;
				height: 6px;
				border: 0;
				border-top: solid 1px #fff;
				border-right: solid 1px #fff;
				position: absolute;
				top: 50%;
				left: 0;
				margin-top: -2px;
				transform: rotate(45deg);
			}
			.sub_nav02 > .nav02_inner .nav02_list > ul > li.mega:before{
				content: none;
			}
			
			.sub_nav02 .nav02_inner .nav02_list > ul .mega > ul,
			.sub_nav02 .nav02_inner .nav02_list > ul .mega .mega_flex{
				margin-left: calc(1em + 3px);
			}
			.sub_nav02 .nav02_inner .nav02_list > ul .mega .mega_flex ul{
				margin: 0;
				margin-right: 20px;
			}
			.sub_nav02 .nav02_inner .nav02_list > ul .mega .mega_flex ul:last-child{
				margin-right: 0;
			}
			#Governance .sub_nav02 .nav02_inner .nav02_list > ul .mega .mega_flex ul:first-child{
				width: 210px;
				min-width: 210px;
			}
			.sub_nav02 .nav02_inner .nav02_list > ul .mega li,
			.sub_nav02 .nav02_inner .nav02_list > ul .mega .mega_flex ul li{
				margin: 0;
				padding-left: 0;
				width: 100%;
				word-break: keep-all;
			}
			.sub_nav02 ul li.mega .mega_flex{
				display: flex;
			}
			.sub_nav02 > ul > li.active:before{
				color: #0f2188;
			}
			
			.sub_nav02 ul li a{
				display: inline-block;
				color: #fff;
			}
			
			.sub_nav02 ul li ul{
				padding: 5px 0;
			}
			.sub_nav02 ul li ul li{
				display: flex;
				align-items: center;
				margin-bottom: 0;
				width: auto;
				margin-left: calc(1em + 3px);
				padding-left: 0;
			}
			.sub_nav02 ul li ul li:before{
				border-top: 1px solid #fff;
				content: "";
				width: 8px;
				margin-right: 5px;
			}

			/*
			#sub_think01 .think01 a,
			#sub_think02 .think02 a,
			#sub_think03 .think03 a{
				color: #0f2188;
				font-weight:bold;
			}

			#sub_governance01 .governance01 > a,
			#sub_governance02 .governance02 > a,
			#sub_governance03 .governance03 > a,
      		#sub_governance04 .governance04 > a,
      		#sub_governance05 .governance05 > a{
				color: #0f2188;
				font-weight:bold;
			}
			
			#sub_environmental01 .environmental01 > a,
			#sub_environmental02 .environmental02 > a,
			#sub_environmental03 .environmental03 > a,
			#sub_environmental04 .environmental04 > a,
			#sub_environmental05 .environmental05 > a,
			#sub_environmental06 .environmental06 > a,
			#sub_environmental07 .environmental07 > a,
			#sub_environmental08 .environmental08 > a,
			#sub_environmental09 .environmental09 > a,
			#sub_environmental10 .environmental10 > a,
			#sub_environmental11 .environmental11 > a,
			#sub_environmental12 .environmental12 > a,
			#sub_environmental13 .environmental13 > a,
			#sub_environmental14 .environmental14 > a{
				color: #0f2188;
				font-weight:bold;
			}
			
			#sub_feature01 .feature01 > a,
			#sub_feature02 .feature02 > a{
				color: #0f2188;
				font-weight:bold;
			}
			
			#sub_social01 .social01 > a,
			#sub_social02 .social02 > a,
			#sub_social03 .social03 > a,
			#sub_social04 .social04 > a,
			#sub_social05 .social05 > a,
			#sub_social06 .social06 > a{
				color: #0f2188;
				font-weight:bold;
			}
			*/

.leadtxt{
	text-indent: 0 !important;
	text-align: left;
	line-height: 1.7;
}

/*table*/
.tableStyle01.table_ttl{
	border: none;
}

.table_w th,
.table_w td{
	width: 33%;
}

.table_w{
	margin-bottom: 25px !important;
}

.table_w{
	margin-bottom: 25px !important;
}

.table_ttl th,
.table_ttl td{
	border: 1px solid #5185c5;
}

.table_w td a{
	color: #0f2188;
	text-decoration: underline !important;
}
	.table_w td a:hover{
		text-decoration: none !important;
	}

.table_tcfd{
  table-layout: fixed!important;
  word-wrap: break-word!important;
}

.table_tcfd th:first-child{
  width: 11%;
  background: #5185c5 !important;
}

.table_tcfd .table_ttl th:nth-child(2),
.table_tcfd .table_ttl td{
  width: 29%;
  background: #d1f3ff!important;
  color: #444;
}
	
.table_tcfd td a{
	color: #0f2188;
	text-decoration: underline !important;
}
	.table_tcfd td a:hover{
		text-decoration: none !important;
	}


.tbl_inner{
	padding-left: 27px !important;
}


.table_ttl th{
	background: #5185c5 !important;
	color: #fff;
	text-align: center;
}
.table_ttl td{
	background: #d1f3ff;
	text-align: center !important;
}

	.tableStyle03{
		border-collapse		: separate;
		*border-collapse	: collapse; /* for IE6,7 */
		border-spacing		: 0;
		empty-cells			: show;
		border-top			: 1px solid #5185c5;
		border-right		: none;
		border-bottom		: none;
		border-left			: 1px solid #5185c5;
		margin				: 0 auto 10px;
		width				: 100%;
	}

	.tableStyle03 th,
	.tableStyle03 td {
		border-top		: none;
		border-right	: 1px solid #5185c5;
		border-bottom	: 1px solid #5185c5;
		border-left		: none;		
		font-weight		: normal;
	}

	.tableStyle03 th{
	margin		: 0;
	padding		: 10px;
	background-color: #f0f3fa;
	font-weight: bold;
	}

	.tableStyle03 td{
		padding		: 10px;
		text-align	: left;
		line-height	: 1.6;
	}
	
	.tableStyle03 td.table_bg03{
		background: #e6e6e6;
	}
	
	.tableStyle03 td .ulStyle01{
		margin: 0 15px 0 10px;
	}
	.tableStyle03 td .ulStyle01 li:last-child{
		display: list-item;
	}

.ulStyle01 li{
	margin: 0 17px 3px;
	text-align: left;
	color: #2B2828;
}

/* アンカーリンク用 */
.anker{
	padding-top: 80px;
	margin-top: -80px;
}
@media screen and (max-width: 768px) {
	.anker{
		padding-top: 65px;
		margin-top: -65px;
	}
}

/*20181112追記*/
.top_flex{
	display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: self-start;
}
.mainBox ul .top_flex li{
	margin-right: 0;
}
.top_flex li:last-child {
    margin-top: 20px;
}

/*20190206追記*/
.fnt_90{
	font-size: 90% !important;
}

.flex{
	display: flex;
	justify-content: space-between;
}
.flex.al_en{
	align-items: flex-end;
}

.environmental_box{
	width: 100%;
  max-width: 630px;
  text-align: left;
}
.social_box{
	width: 100%;
  max-width: 710px;
  text-align: left;
}

.name{
	font-size: 116%;
	font-size: 1.3rem;
	text-align: left;
	padding-top: 10px;
}
	.name span{
		font-size: 1.9rem;
		text-align: left;
		display:block;	
		padding-top: 5px;
	}

.e_policyBox{
	border: 1px solid #333333;
	padding: 20px;
	margin: 20px auto;
}

.e_policyttl{
	font-size: 2.0rem;
	text-align: left;
	font-weight: bold;
	margin-bottom: 10px;
}

.e_policy_inner{
	width: 330px;
	border-right: 1px solid #333333;
	margin-right: 20px;
	padding-right: 20px;
}

.e_policy_inner:last-of-type{
	width: 200px;
	border-right: none;
	margin-right: 0px;
	padding-right: 0px;
}

.e_policy_inner p{
	text-indent: inherit !important;
}

.e_policy_inner .ttl{
	color: #0f2188;
	font-weight: bold;
	margin-bottom: 5px;
}

.flex_end{
	align-items: flex-end;
}

.cost_left,
.cost_right{
	max-width: 446px;
	width: 100%;
}

.ulStyle07.line02 li{
	text-indent: -2.7em;
	padding-left: 2.7em;
}

ul li.Double-digit{
	text-indent: -2.6em !important;
	padding-left: 2.6em !important;
}

.ulStyle08 {
	margin	: 0 15px 10px;
}

	.ulStyle08 li {
		list-style	: disc;
		margin		: 0 18px 3px;
		padding		: 0;
		text-align	: left;
		line-height	: 1.6;
		float: none !important;
	}
	
	.ulStyle08 li:last-child {
		display: list-item !important;
	}
	
	.ulStyle08 li a{
		color: #0f2188;
		text-decoration: underline !important;
	}
	
	.ulStyle08 li a:hover{
		opacity: 1 !important;
		text-decoration: none !important;
	}

/*　アイコン　*/
.icon_area{
	position: relative;
}
.icon_area .flt_r img{
	margin-right: 5px;
}
.icon_area .flt_r img:last-child{
	margin-right: 0;
}

.icon_area .flt_r{
	position: absolute;
	top: -12px;
	right: 0;
}

.sub_menu{
	display: none;
}

.sub_arrow .accordion{
	display: none;
}

.sub_nav03{
	display: none;
}

.mainBox ul li.archive_link{
	max-width: 293px;
	width: 100%;
}

	.mainBox ul li.archive_link a span{
		background: #fff;
		color: #0f2188;
		border: 1px solid #0f2188;
		font-size: 118%;
		padding: 15px;
	}

.link_under a{
	color:#0f2188; 
	text-decoration: underline!important;
}
.link_under a:hover{
	text-decoration: none !important;
}


@media screen and (max-width: 956px) {
	body{
		background: none !important;
	}
	
	.mainBox{
		padding: 0 10px;
		margin-bottom: 0;
	}
	
	.container{
		/* padding: 0 10px; */
	}
	
	article{
		margin-bottom: 30px;
	}
	
	#ttl_02{
		padding: 21px 20px;
	}
	
	#b_csr .mainBox ul li{
		float: none;
		margin: 0 0 15px;
	}
	
	#sub_governance03 .mainBox ul li{
		margin: 0 17px 3px;
	}
	
	.accordion_wrap{
		width: 100%;
		display: none;
		position: absolute;
		z-index: 998;
		top: 53px;
		left: 0;
	}
	
	.top_flex{
		align-items: center;
		flex-direction: column;
	}
	
		.mainBox ul .top_flex li{
			margin-bottom: 20px;
		}
	
	.container .mainBox:nth-of-type(3){
		margin-bottom: 0;
	}
	
	.container .mainBox:nth-of-type(3) ul{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	
	.container .mainBox:nth-of-type(3) ul li{
		width: 48%;
	}
	
	.container .mainBox:nth-of-type(3) ul li img{
		width: 100%;
	}
	
	h3{
		font-size: 200%;
		margin-top: 0 !important;
	}
	
	.icon_area{
		display: flex;
		align-items: flex-start;
		justify-content: space-between;
		margin-top: 30px;
		flex-direction: column;
	}
	
	.icon_area .flt_r{
		float: left !important;
		margin-top: 10px;
		position: inherit;
		top: inherit;
		 right: inherit;
	}
	
		.icon_area .flt_r img {
			height: 42px;
			width: auto;
		}
		
	.icon_last {
		margin-top: 0px !important;
	}
	
	.ledBox_bd > .ov{
		display: flex;
		flex-direction: column-reverse;
	}
		.ledBox_bd > .ov .flt_r p{
			text-align: center;
		}
	
		
	#sub_governance03 .icon_area{
		display: flex;
	}
	
	.scroll {
		overflow: auto;
	}
	header.scroll {
		overflow: visible;
	}
	
	.e_policy_inner{
		border-right: 0;
		margin-right: 0;
		padding-right: 0;
		margin-bottom: 15px;
		width: 100% !important;
	}
	
	#sub_social02 .icon_area{
		flex-direction: column;
		justify-content: flex-start;
		align-items: flex-start;
	}
	
	.name{
		text-align: center;
	}
	
	.name span{
		text-align: center;
	}

}

@media screen and (max-width: 956px) {
	.scroll > table {
		width: 640px;
		table-layout: fixed;
		word-break: break-all;
	}
	
	.sub_nav02{
		display: none;
	}

.environmental_box,.social_box{
	max-width: 100%;
	margin-top: 20px;
}

	#sub_governance01 .icon_area{
		display: block;
	}

	.cost_left,
	.cost_right{
		max-width: 100%;
	}
	
	
	.pdf_link2 span::after{
		right: 0px;
	}
	
	.sub_menu{
		display: block;
	}
	
	.sub_menu a{
		width: 100%;
		display: block;
		padding: 15px;
		/* color: #fff; */
    	border-bottom: 1px solid #e1e1e1;
	}
	.csr_top .sub_menu a{
	    border-top: 1px solid #e1e1e1;
	}
	
	.sub_menu a:after{
		content: "\f103";
		font-family: 'FontAwesome';
		padding-left: 10px;
	}
	
	.sub_menu.active a:after{
		content: "\f102";
		font-family: 'FontAwesome';
		padding-left: 10px;
	}
	
	.sub_menu a:hover{
		text-decoration: none !important;
	}

.sub_nav > .accordion_wrap > ul {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	margin: 0px auto;
	padding: 0;
	background: #d2d8fa;
}
	.sub_nav ul li{
		width: 100%;
		padding: 0;
		border-left: none;
		border-bottom: 1px solid #0f2188;
	}
	.sub_nav ul li:last-child{
		border-right: none;
	}
		.sub_nav ul li a{
			width: 100%;
			display: block;
			padding: 15px;
			color: #0f2188;
			text-align: left;
		}
		
		.sub_nav ul li a:hover{
			text-decoration: none !important;
		}
		
	.sub_arrow a:after{
		content: "\f103";
		font-family: 'FontAwesome';
		padding-left: 10px;
		position: absolute;
		right: 20px;
	}
	
	.sub_arrow a.active:after{
		content: "\f102";
		font-family: 'FontAwesome';
		padding-left: 10px;
	}
	
	.accordion_inner{
		display: none;
	}
	
	.sub_arrow .accordion{
		background: #ebeeff;
		padding: 10px 15px;
		display: block;
		flex-wrap: wrap;
	}
	
	.sub_arrow .accordion li{
		width: 100%;
		display: block;
		border-bottom: none;
		border-right: none;
	}

		.sub_arrow .accordion li ul{
			display: block !important;
			padding: 0 0 0 20px;
		}
		.sub_arrow .accordion li ul a{
			font-size: 80%;
			padding: 6px 0;
		}
		.sub_arrow .accordion li ul a:before{
			content: '-';
			display: block;
			margin-right: 3px;
		}
		
		.sub_arrow .accordion li:nth-child(2n),
		.sub_arrow .accordion li:last-child{
			border-right: none;
		}
		
		.sub_arrow .accordion li a{
			color: #0f2188;
			display: flex;
			flex-wrap: wrap;
			height: 100%;
			font-size: 91%;
			padding: 10px 15px;
			justify-content: flex-start;
			align-items: center;
			text-align: left;
		}
		.sub_arrow .accordion li.sp_mega{
			margin-bottom: 5px;
		}
		.sub_arrow .accordion li.sp_mega > a{
			padding: 10px 15px 5px;
		}
		.sub_arrow .accordion li ul li{

		}
	
	.think01 a::after,
	.think02 a::after,
	.think03 a::after,
	.think04 a::after,
	
	.feature01 a::after,
	.feature02 a::after,
	
	.governance01 a::after,
	.governance02 a::after,
	.governance03 a::after,
 	.governance04 a::after,
 	.governance05 a::after,
	
	.environmental01 a::after,
	.environmental02 a::after,
	.environmental03 a::after,
	.environmental04 a::after,
	.environmental05 a::after,
	.environmental06 a::after,
	.environmental07 a::after,
	.environmental08 a::after,
	.environmental09 a::after,
	.environmental10 a::after,
	.environmental11 a::after,
	.environmental12 a::after,
	.environmental13 a::after,
	.environmental14 a::after,
	
	.social01 a::after,
	.social02 a::after,
	.social03 a::after,
	.social04 a::after,
	.social05 a::after{
		content: "";
		display: none;
	}
	
	.sub_nav ul::after{
		display:none;
	}
	
	/*subnav03*/
	.sub_nav03{
		margin-top: 30px;
		display: block;
	}
	
	.sub_nav03 > ul{
		background: #ebebeb;
		padding: 15px;
		display: flex;
		flex-wrap: wrap;
	}
	
		.sub_nav03 > ul li{
			float: none;
			margin: 0 !important;
			width: 50%;
			background: #fff;
			border-bottom: 1px solid #bfbfbf;
			border-right: 1px solid #bfbfbf;
		}
		
		.sub_nav03 > ul li:nth-child(2n),
		.sub_nav03 > ul li:last-child{
			border-right: none;
		}
		
		.sub_nav03 > ul li:nth-child(3),
		.sub_nav03 > ul li:nth-child(5){
			border-right: 1px solid #bfbfbf;
		}
		
		.sub_nav03 > ul li a{
			color: #333;
			display: flex;
			flex-wrap: wrap;
			height: 100%;
			justify-content: flex-start;
			align-items: center;
			text-align: left;
			padding: 15px;
		}
		
	.pcStyle_csr{
		display: none;
	}

}


@media screen and (max-width: 956px) {
		.mainBox ul.submenu02{
			justify-content: space-around !important;
		}
}

@media screen and (max-width: 460px) {
		.mainBox ul.submenu02{
			justify-content: space-between !important;
		}
		.mainBox ul.submenu02 li.archive_link .submenu02-02{
			padding: 24px 0;
		}
}

@media screen and (max-width: 325px) {

.icon_area .flt_r img {
    height: 36px;
}

}

@media screen and (min-width: 957px) {
	.accordion_wrap{
		display: block !important;
	}
}


.mainBox .txtLink{
	display: block;
	margin: 0;
	text-align: left;
	text-indent: 0;
}
.mainBox .txtLink a{
    font-size: 109%;
	color: #0F2188;
	text-decoration: underline !important;
}
.mainBox .txtLink a:hover{
	text-decoration: none !important;
}
.mainBox .txtLink a:after{
    content: ">>>";
}

.under{
	text-decoration: underline;
}

/* 221108 */
body.index .mainVisual{
	position: relative;
	max-width: 100%;
}
body.index .mainVisual img.mainimg{
	max-width: 100%;
	height: 320px;
	width: 100%;
}
body.index .mainVisual h2{
	position: absolute;
	font-size: 38px;
	font-weight: 700;
	color: #fff;
    text-shadow: 0 3px 8px rgba(10, 19, 33, 1);
	bottom: 30px;
	max-width: 950px;
	width: 100%;
	text-align: left;
	left: 0;
	right: 0;
	margin: 0 auto;
}
body.index .mainVisual h2:after{
    content: '';
    position: absolute;
    display: inline-block;
	background: linear-gradient(to right, #15181c, transparent);
    width: 405px;
    height: 70px;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    z-index: 0;
    mix-blend-mode: color-burn;
    opacity: 0.6;
}
body.index .mainVisual h2:before{
    content: '';
    position: absolute;
    display: inline-block;
    background-color: rgba(21, 24, 28, 1);
    width: calc(50vw);
    height: 70px;
    top: 50%;
    right: 100%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    z-index: 0;
    mix-blend-mode: color-burn;
    opacity: 0.6;
}
body.index h3{
	font-size: 26px;
	margin: 0 0 15px;
}
body.index .social_Box{
	margin-bottom: 20px;
}
body.index .social_Box:last-child{
	margin-bottom: 0;
}
body.index .social_Box.flex{
	display: flex;
	align-items:stretch;
}
body.index .social_Box.flex:after{
	display: none;
}
body.index .social_Box.flex .flex_item{
	width: calc((100% - 50px) / 2);
    display: flex;
    flex-flow: column;
}
body.index .social_Box.flex .flex_item:first-child{
	margin-right: 50px;
}
body.index .social_Box.flex .flex_item > a {
	margin-top: 20px;
}
body.index .index_title{
	position: relative;
	margin-top: 0;
	border: none;
	background-color: #f0f2f7;
	min-height: 60px;
	padding: 0;
	transition: 0.3s all;
}
body.index .index_title span{
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	width: 100%;
	height: 100%;
	padding-left: 50px;
	display: flex;
	align-items: center;
}
body.index .social_Box.flex .flex_item:hover .index_title{
	background-color: #f0f2f7 !important;
	color: #444;
}
body.index .social_list .list_item:hover .index_title{
	background-color: #0f2188 !important;
	color: #fff;
}
body.index .social_Box.flex .flex_item:hover .index_title span,
body.index .social_Box.flex .flex_item:hover{
	text-decoration: none !important;
}
body.index .index_title:before{
    content: '';
    width: 18px;
    height: 18px;
    background-color: #0F2188;
    border-radius: 100%;
    position: absolute;
    top: 50%;
    left: 20px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	transition: 0.3s all;
}
body.index .index_title:after{
    content: '';
    width: 5px;
    height: 5px;
    border: 0;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    position: absolute;
    top: 50%;
    left: 24px;
    margin-top: -4px;
    transform: rotate(45deg);
	transition: 0.3s all;
}
body.index .social_list .list_item:hover .index_title:before{
    background-color: #fff;
}
body.index .social_list .list_item:hover .index_title:after{
    border-top: solid 2px #0F2188;
    border-right: solid 2px #0F2188;
}
body.index .social_Box.flex .flex_item:hover .index_title:before{
	background-color: #0f2188;
}
body.index .social_Box.flex .flex_item:hover .index_title:after{
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
}
body.index .social_Box.flex .flex_item > a:hover .index_title {
    background-color: #0f2188 !important;
    color: #fff;
}
body.index .social_Box.flex .flex_item > a:hover .index_title:before{
	background-color: #ffffff;
}
body.index .social_Box.flex .flex_item > a:hover .index_title:after{
    border-top: solid 2px #0F2188;
    border-right: solid 2px #0F2188;
}
body.index .index_title a{
}
body.index ul.index_list{
	display: flex;
	justify-content: space-between;
	padding: 20px 35px;
	border: 1px solid #dfe2eb;
	border-top: none;
}
body.index .flex .flex_item ul.index_list{
	padding: 10px 10px 20px;
	height: 100%;
}
body.index ul.index_list > li{
    max-width: 240px;
	width: 100%;
	margin: 0 1%;
    font-size: 116%;
	text-align: left;
	float: none;
}
body.index ul.index_list > li:nth-child(2){
	max-width: 270px;
}
body.index .flex .flex_item ul.index_list > li{
    max-width: 100%;
	width: 100%;
}
body.index ul.index_list > li a{
	position: relative;
	color: #2B2828;
	font-weight: normal;
	display: inline-block;
    padding-left: 0;
    text-indent: 0;
}
body.index ul.index_list > li a:hover {
	text-decoration: underline !important;
}
body.index ul.index_list > li a span{
	padding: 0;
	color: #0F2188;
	font-size: 106%;
	display: inline;
	font-weight: normal;
    line-height: 1.7;
    text-decoration: underline;
    text-underline-offset: 4px;
}
body.index ul.index_list > li a:nth-child(2){
	margin-top: 25px;
}
body.index ul.index_list > li ul{
	display: block;
}
body.index ul.index_list > li ul.flex{
	display: flex;
	flex-wrap: wrap;
}
body.index ul.index_list > li ul li{
	display: block;
	float: none;
	font-weight: normal;
	margin-top: 10px;
	margin-right: 10px;
	padding-left: 2em;
	text-indent: -1em;
}
body.index ul.index_list > li ul.flex li{
	width: 50%;
	margin-right: 0;
}
body.index ul.index_list > li ul li:before{
	content: '・';
	vertical-align: top;
}

body.index .social_list{
	display: flex;
	flex-wrap: wrap;
}
body.index .social_list .list_item{
	margin-top: 20px;
	margin-right: 20px;
    display: flex;
    justify-content: space-between;
}
body#sub_environmental01.index .social_list .list_item{
	width: calc((100% - 60px) / 4);
}
body#sub_social02.index .social_list .list_item{
	width: calc((100% - 40px) / 3);
}
body.index .social_list .list_item:nth-child(4n){
	margin-right: 0;
}
body#sub_social02.index .social_list .list_item:nth-child(3n){
	margin-right: 0;
}
body.index .social_list .list_item .index_title{
	width: 100%;
	font-size: 16px;
	font-weight: normal;
	background-color: transparent;
	border: 1px solid #0f2188;
	margin-top: 0;
}
body.index .social_list .list_item .index_title.size14{
	font-size: 16px;
}

@media screen and (max-width: 956px) {
	body.index #crumb{
		display: block;
		padding-left: 10px;
	}
	body.index .mainVisual h2{
		padding-left: 10px;
	}
	body.index .social_Box.flex{
		display: flex !important;
	}
	body.index .social_Box.flex .flex_item{
		width: calc((100% - 20px) / 2);
	}
	body.index .social_Box.flex .flex_item:first-child{
		margin-right: 20px;
	}
	body.index .index_title{
		font-size: 125%;
		min-height: 50px;
	}
	body.index .social_list .list_item,
	body#sub_environmental01.index .social_list .list_item{
		width: calc((100% - 40px) / 3);
	}
	body.index .social_list .list_item:nth-child(4n){
		margin-right: 20px;
	}
	body.index .social_list .list_item:nth-child(3n){
		margin-right: 0;
	}
	body#sub_social02.index .social_list .list_item{
		width: calc((100% - 20px) / 2);
	}
	body#sub_social02.index .social_list .list_item:nth-child(3n){
		margin-right: 20px;
	}
	body#sub_social02.index .social_list .list_item:nth-child(2n){
		margin-right: 0;
	}
}

@media screen and (max-width: 768px) {
	.mainimg {
		object-position: 65% 50%;
	}
	body.index .mainVisual h2{
		font-size: 30px;
	}
	body.index h3 {
		font-size: 22px;
		margin-bottom: 20px;
	}
	body.index .social_Box.flex{
		display: block !important;
	}
	body.index .social_Box.flex .flex_item{
		width: 100%;
	}
	body.index .social_Box.flex .flex_item:first-child{
		margin-right: 0;
		margin-bottom: 15px;
	}
	body.index .social_Box.flex .flex_item:last-of-type{
		margin-bottom: 0;
	}
	body.index .social_Box.flex .flex_item .index_title{
		margin-top: 0;
	}
	body.index .social_list .list_item,
	body#sub_environmental01.index .social_list .list_item{
		width: calc((100% - 20px) / 2);
	}
	body.index .social_list .list_item:nth-child(3n){
		margin-right: 20px;
	}
	body.index .social_list .list_item:nth-child(2n){
		margin-right: 0;
	}
	body.index ul.index_list > li ul li {
		padding-left: 1.2em;
	}
}

@media screen and (max-width: 480px) {
	body.index .mainVisual h2 {
		font-size: 26px;
		bottom: 40px;
	}
	body.index .mainVisual h2:after{
		width: 90%;
	}
	body.index h3 {
		font-size: 20px;
	}
	body.index h3 br {
		display: none;
	}
	body.index .index_title:before {
		width: 16px;
		height: 16px;
		left: 15px;
	}
	body.index .index_title:after {
		width: 4px;
		height: 4px;
		left: 19px;
		margin-top: -3px;
	}
	body.index .social_Box{
		margin-bottom: 15px;
	}
	body.index ul.index_list > li ul li {
		font-size: 14px;
	}
	body.index .social_list {
		display: block;
		margin-top: 30px;
	}
	body.index .social_list .list_item,
	body#sub_environmental01.index .social_list .list_item {
		width: 100%;
		margin-top: 15px;
		margin-right: 0;
	}
	body.index .social_list .list_item .index_title{
		margin-top: 0;
		font-size: 14px;
	}
	body.index .index_title span{
		padding-left: 40px;
	}
	body.index .social_list .list_item .index_title br{
		display: none;
	}
	body#sub_social02.index .social_list .list_item{
		width: 100%;
	}
	body#sub_social02.index .social_list .list_item:nth-child(3n){
		margin-right: 0;
	}
}
@media screen and (max-width: 374px) {
	body.index ul.index_list > li ul.flex{
		display: block;
	}
	body.index ul.index_list > li ul.flex li{
		width: 100%;
	}
}


.item_container{
}
.item_container .txt_box{
	text-align: left;
	margin-bottom: 20px;
}
	.item_container .txt_box .title{
		font-size: 125%;
		font-weight: bold;
		margin-bottom: 1em;
	}
	.item_container .txt_box p{
		margin-bottom: 1em;
	}
	.item_container .txt_box p a{
		color: #0000EE;
		text-decoration: none !important;
	}
	.item_container .txt_box p a:hover{
		text-decoration: underline !important;
	}
	.item_container .txt_box ol{
		margin-left: 2em;
	}
	.item_container .txt_box ol li{
		list-style: decimal;
		line-height: 1.8;
	}
	.item_container .txt_box ul li{
		list-style: circle;
		line-height: 1.8;
	}
	.item_container .txt_box ol li ul{
		margin-left: 1.4em;
	}

a.js-modal-close{
	position: absolute;
	top: 10px;
	right: 20px;
	color: #464646;
	font-size: 50px;
	line-height: 1;
	text-decoration: none;
	cursor: pointer;
}

@media screen and (max-width: 767px){
	.modal__content{
		padding: 40px 0 20px;
	}
	a.js-modal-close{
		top: 10px;
		right: 10px;
		font-size: 29px;
	}
}
@media screen and (max-width: 600px){
	.modal__content{
		height: calc(100vh - 120px);
	}
	.modal__content > .inner{
		max-height: inherit;
		height: 100%;
	}
	.item_container{
		display: block;
	}
	.item_container .img_box{
		max-width: inherit;
		width: 100%;
	}
	.item_container.flex .txt_box{
		width: 100%;
	}
}


/* table
--------------------------------------------------------------------------- */

.tableStyle01{
	border-collapse		: separate;
	*border-collapse	: collapse; /* for IE6,7 */
	border-spacing		: 0;
	empty-cells			: show;
	border-top			: 1px solid #D5D5D5;
	border-right		: none;
	border-bottom		: none;
	border-left			: 1px solid #D5D5D5;
	margin				: 0 auto 10px;
	width				: 100%;
}

	.tableStyle01 th,
	.tableStyle01 td {
		border-top		: none;
		border-right	: 1px solid #D5D5D5;
		border-bottom	: 1px solid #D5D5D5;
		border-left		: none;		
		font-weight		: normal;
	}

	.tableStyle01 th{
	margin		: 0;
	padding		: 10px;
	background-color: #f7f7f7;
	}

	.tableStyle01 td{
		padding		: 10px;
		text-align	: left;
		line-height	: 1.6;
	}

.tableStyle02{
	border-collapse:separate;
	*border-collapse	: collapse; /* for IE6,7 */
	border-spacing		: 0;
	empty-cells			: show;
	border-top			: 1px solid #6699cc;
	border-right		: none;
	border-bottom		: none;
	border-left			: 1px solid #6699cc;
	margin				: 0 auto 10px;
	width				: 100%;
}

	.tableStyle02 th,
	.tableStyle02 td {
		font-size		: 13px;
		border-top		: none;
		border-right	: 1px solid #6699cc;
		border-bottom	: 1px solid #6699cc;
		border-left		: none;		
		font-weight		: normal;
	}

	.tableStyle02 thead th{
	margin		: 0;
	padding		: 10px;
	background-color: #f0f3fa;
	font-weight:bold;
	}
	.tableStyle02 tbody th{
	margin		: 0;
	padding		: 10px;
	background-color: #e6e6e6;
	text-align:left;
	}

	.tableStyle02 td{
		padding		: 10px;
		text-align	: center;
	}
	@media screen and (max-width: 767px){
		.mb50 {
			margin-bottom: 20px !important;
		}
		.mt50 {
			margin-top: 20px !important;
		}
	}
	
	@media screen and (max-width: 478px){
		.tableStyle01 tr {
			display: table-row;
		}
		.tableStyle01 tr th,
		.tableStyle01 tr td {
			padding: 10px;
		}
		.tableStyle01 tr th{
			border-bottom: 1px solid #5185c5;
		}
	}

	.red2 {
		color: #f20000;
	}

	.tableStyle01 tr:first-child th, .tableStyle01 tr:first-child td {
		border-top: none;
	}

.ruledline{
    background-image: linear-gradient(to right top, transparent calc(50% - 0.5px), #5185c5 50%, #5185c5 calc(50% + 0.5px), transparent calc(50% + 1px));
}