@charset "UTF-8";
/* CSS Document */
@import url('https://fonts.googleapis.com/css?family=Lato:300,400,700,900');

.sponly {
	display: none;
}
.spmask {
	display: block;
}

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

------------------------------*/
@keyframes shake {
	0% {
		transform: rotate(0deg);
	}
	25% {
		transform: rotate(5deg);
	}
	50% {
		transform: rotate(-5deg);
	}
	75% {
		transform: rotate(5deg);
	}
	100% {
		transform: rotate(0deg);
	}
}

/*------------------------------
	bread
------------------------------*/
#bread {
	margin-top: 140px;
	padding: 13px 0;
	background-color: #f1f1f1;
}
#bread .inner {
	max-width: 1100px;
	margin: 0 auto;
	line-height: 1.8;
	padding: 0 !important;
	font-size: 12px;
}
#bread .inner a {
	color: #000000;
	text-decoration: none;
}
#bread .inner a:hover {
	text-decoration: underline;
}

/*------------------------------
	index - kvArea
------------------------------*/
#index #kvArea {
	position: relative;
	width: 100%;
	height: 430px;
	background: url("../images/bg_kv.jpg") no-repeat center center;
	background-size: cover;
}
/*------------------------------*/
#index #kvArea .inner {
	max-width: 1100px;
	margin: 0 auto;
	overflow: hidden;
}
#index #kvArea .inner h2 {
	font-size: 60px;
	color: #ffffff;

	font-family: 'Lato', sans-serif;
	font-weight: 300;
	padding-top: 210px;
	padding-bottom: 25px;
	text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.9);
}
#index #kvArea .inner h2 span {
	font-family: 'Lato', sans-serif;
	font-weight: 700;
}
#index #kvArea .inner .sub {
	font-size: 14px;
	color: #ffffff;
}

/*------------------------------
index - contents
------------------------------*/
#index p{
	font-size: 16px;
}
#index .inner {
	max-width: 1100px;
	margin: 0 auto;
	box-sizing: border-box;
	padding: 0 10px;
}
#index #header .inner{
	padding: 0;
}
#index .wrapper{
	position: relative;
	width: 100%;
	margin: 0 auto;
}
#index .item{
	position: relative;
	width: 100%;
	margin: 0 auto;
	box-sizing: border-box;
	padding: 120px 0;
	overflow: hidden;
}
#index .item.pb0{
	padding-bottom: 0;
}
#index .item.initiative{
	padding-bottom: 12.5em;
	background: url("../images/bg_index_sus01.png") no-repeat bottom;
	background-size: contain;
}
/*------------------------------*/
#index .item_heading{
	display: flex;
	align-items: center;
	width: 100vw;
	margin-right: calc(50% - 50vw);
	margin-bottom: 60px;
}
#index .item_heading::after{
	border-top: 1px solid #003391;
	content: "";
	flex-grow: 1;
	margin-left: 0.5rem;
}
#index .item_heading h2{
	font-size: 34px;
	color: #003391;
	font-feature-settings: "palt";
	letter-spacing: 0.05em;
}
/*------------------------------*/
#index .item_row{
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	margin-bottom: 80px;
}
#index .item_box{
	width: 50%;
}
#index .item_box.line{
	width: 1px;
	height: auto;
	border-right: dashed 1px #a1a1a1;
	margin: 0 30px;
}
#index .item_box_text{
	width: 100%;
	margin-bottom: 40px;
}
#index .item_box_text p{
	line-height: 1.8;
	margin-bottom: 30px;
}
#index .item_box_text p:last-of-type{
	margin-bottom: 0;
}
#index .item_box_unit{
	position: relative;
	width: 100%;
	margin: 0 auto;
}
#index .item_box_unit h3{
	font-size: 24px;
	font-weight: 700;
	color: #003391;
	margin-bottom: 40px;
	font-feature-settings: "palt";
	letter-spacing: 0.05em;
}
#index .item_box_unit_list{
	position: relative;
	width: 100%;
}
#index .item_box_unit_list li{
	display: flex;
	margin-bottom: 24px;
	font-feature-settings: "palt";
	letter-spacing: 0.05em;
	line-height: 1.8;
}
#index .item_box_unit_list li:last-of-type{
	margin-bottom: 0;
}
#index .item_box_unit_list .square{
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #003391;
	width: 18px;
	height: 18px;
	padding: 5px 7px;
	margin-right: 10px;
}
#index .item_box_unit_list .round{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 18px;
	height: 18px;
	background-color: #003391;
	border-radius: 50%;
	padding: 5px 7px;
	margin-right: 10px;
}
#index .item_box_unit_list .square span,
#index .item_box_unit_list .round span {
	font-size: 18px;
	font-weight: 500;
	font-family: 'Lato', sans-serif;
	line-height: 1.6;
	color: #fff;
}
#index .item_box_unit_list .text{
	font-size: 18px;
	font-weight: 600;
	line-height: 1.6;
}
#index .item_box_topName{
	width: 100%;
	text-align: right;
	margin-bottom: 80px;
}
#index .item_box_topName p{
	line-height: 1.6;
}
#index .item_box_topName span{
	font-weight: bold;
}
/*------------------------------*/
#index .item_btn{
	position: relative;
	width: 100%;
	margin: 0 auto 80px;
	background-color: #ffffff;
	transition-duration: 0.3s;
	border:  solid 1px #003391;
}
#index .item_btn::after{
	content: "";
	display: inline-block;
	background: url("../images/icon_arrow.svg") no-repeat;
	position: absolute;
	top: 50%;
	right: 2%;
	width: 24px;
	height: 11px;
	vertical-align: middle;
	margin-top: -5px;
	transition: all 0.3s;
	z-index: 10;
}
#index .item_btn:hover::after{
	content: "";
	background: url("../images/icon_arrow_mo.svg") no-repeat;
}
#index .item_btn a{
	display: block;
	width: 100%;
	font-size: 24px;
	padding: 40px 0;
	font-weight: bold;
	color: #003391;
	text-align: center;
	text-decoration: none;
	outline: none;
	position: relative;
	z-index: 2;
	overflow: hidden;
}
#index .item_btn a::before,
#index .item_btn a::after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
}
#index .item_btn a,
#index .item_btn a::before,
#index .item_btn a::after {
	transition: all 0.3s;
}
#index .item_btn a:hover {
	color: #fff;
}
#index .item_btn a::after {
	top: 0;
	width: 100%;
	height: 100%;
	left: -100%;
}
#index .item_btn a:hover::after {
	top: 0;
	left: 0;
	background-color: rgba(0, 39, 132, 1);
}
/*------------------------------*/
#index .item_text{
	width: 100%;
	margin: 0 auto 80px;
}
#index .item_text p{
	text-align: center;
	line-height: 1.8;
}
#index .item_text a{
	display: inline-block;
	text-decoration: none;
	color: #003391;
}
#index .item_text a:hover{
	text-decoration: underline;
}
#index .item_box02{
	width: 42%;
	margin-right: 5%;
}
#index .item_box02.pic{
	width: 50%;
	margin-right: 0;
}
#index .item_box02.pic img{
	width: 100%;
}
#index .item_box02 ul{
	width: 100%;
}
#index .item_box02 li{
	position: relative;
	width: 100%;
	border-bottom: dotted 1px #003391;
}
#index .item_box02 li:last-of-type{
	border-bottom: none;
}
#index .item_box02 li a{
	display: block;
	width: 100%;
	padding: 30px 0;
	font-size: 22px;
	font-weight: 600;
	text-decoration: none;
	color: #252525;
	font-feature-settings: "palt";
	letter-spacing: 0.05em;
}
#index .item_box02 li a::after{
	content: "";
	display: inline-block;
	background: url("../images/icon_arrow.svg") no-repeat;
	position: absolute;
	top: 50%;
	right: 0;
	width: 24px;
	height: 11px;
	vertical-align: middle;
	margin-top: -5px;
	transform: translateX(-8px);
	transition: all 0.3s;
}
#index .item_box02 li a:hover::after{
	transform: translateX(0);
}
/*------------------------------*/
#index .item_btn02{
	display: block;
	position: relative;
	width: 100%;
	height: 160px;
	margin: 0 auto;
	overflow: hidden;
	cursor: pointer;
}
#index .item_btn02::after{
content: "";
display: block;
position: absolute;
width: 100%;
height: 100%;
top: 0;
left: 0;
background: url("../images/sus_index_btn11.jpg") no-repeat center;
background-size: cover;
transition: all .3s ease-out;
}
#index .item_btn02:hover::after{
	opacity: .8;
	transform: scale(1.1);
}
#index .item_btn02_ttl{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	z-index: 10;
	text-align: center;
	color: #fff;
}
#index .item_btn02_ttl h4{
 font-size: 24px;
 margin-bottom: 16px;
}
#index .item_btn02_ttl span.small{
	font-size: 16px;
}
/*------------------------------*/
#index .item_link{
	position: relative;
	width: 100%;
}
#index .item_link_box{
	position: relative;
	display: block;
	width: 100%;
	height: 17.5em;
	margin: 0 auto 10px;
	overflow: hidden;
	cursor: pointer;
}
#index .item_link_box:last-of-type{
	margin-bottom: 0;
}
#index .item_link_box.type01::after{
	content:"";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: url("../images/sus_index_btn21.jpg") no-repeat center;
	background-size: cover;
	transition: all .3s ease-out;
}
#index .item_link_box.type02::after{
	content:"";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: url("../images/sus_index_btn22.jpg") no-repeat center;
	background-size: cover;
	transition: all .3s ease-out;
}
#index .item_link_box.type03::after{
	content:"";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: url("../images/sus_index_btn23.jpg") no-repeat center;
	background-size: cover;
	transition: all .3s ease-out;
}
#index .item_link_box.type04::after{
	content:"";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: url("../images/sus_index_btn24.jpg") no-repeat center;
	background-size: cover;
	transition: all .3s ease-out;
}
#index .item_link_box.type01:hover::after,
#index .item_link_box.type02:hover::after,
#index .item_link_box.type03:hover::after,
#index .item_link_box.type04:hover::after{
	transform: scale(1.1);
}
#index .item_link_box_initial{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	width: 15em;
	margin: 0 auto;
	box-sizing: border-box;
	z-index: 10;
}
#index .item_link_box_initial img{
	width: 100%;
	opacity: 0.28;
}
#index .item_link_box_name{
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-40%) translateX(-50%);
	z-index: 11;
	text-align: center;
	color: #fff;
}
#index .item_link_box_name.jp{
	transform: translateY(-50%) translateX(-50%);
}
#index .item_link_box_name-en{
	font-size: 2.375em;
	font-weight: 500;
	font-family: 'Lato', sans-serif;
	margin-bottom: 0.625em;
	font-feature-settings: "palt";
	letter-spacing: 0.05em;
}
#index .item_link_box_name-jp{
	font-size: 0.9em;
	font-weight: 600;
	font-feature-settings: "palt";
	letter-spacing: 0.05em;
}
#index .item_link_box_name-jp.large{
	font-size: 1.75em;
}
#index .item_link_box_name img{
	margin-bottom: 16px;
}

/*------------------------------
	中ページ - kvArea
------------------------------*/
#sustainability #kvArea {
	background: url("../images/bg_sus_kv.jpg") no-repeat center center;
	background-size: cover;
	width: 100%;
	height: 200px;
}
/*------------------------------*/
#sustainability #kvArea .inner {
	max-width: 1100px;
	margin: 0 auto;
}
#sustainability #kvArea .inner h2 {
	font-size: 46px;
	color: #ffffff;
	font-family: 'lato', 'Noto Sans JP', Open Sans;
	padding-top: 30px;
	line-height: 1.2;
	font-weight: normal;
	text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.9);
}
#sustainability #kvArea .inner h2 span {
	font-size: 14px;
}
#sustainability #kvArea .inner h2.jp{
	font-size: 38px;
	line-height: 1.5;
}

/*------------------------------
	中ページ- groupMenu
------------------------------*/
#groupMenu {
	border-bottom: solid 1px #6b6b6b;
	margin-bottom: 0;
}
#groupMenu ul {
	max-width: 750px;
	margin: 0 auto;
	background: url("../images/bg_broup_li.gif") no-repeat left 30px;

	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}
#groupMenu li {
	width: 25%;
	/*
	border-bottom: solid 4px #ffffff;
	*/
	font-size: 16px;
	text-align: center;
	position: relative;
}
#groupMenu li a {
	background: url("../images/bg_broup_li.gif") no-repeat right 30px;
	color: #000000;
	display: block;
	padding: 32px 0 34px;
	text-decoration: none;
}
/*------------------------------*/
#groupMenu li .hoverLine {
	position: absolute;
	left: 0;
	bottom: 0px;
	height: 4px;
	width: 0px;
	background-color: #6b6b6b;

	transition-duration: 0.2s;
}
#groupMenu li.active .hoverLine {
	width: 100%;
}
#groupMenu li:hover .hoverLine {
	width: 100%;
}

/*------------------------------
	中ページ - read
------------------------------*/
#groupMenu.pbnone {
	margin-bottom: 0px;
}
#sustainability .readBox {
	background: #f1f1f1;
	margin-bottom: 70px;
	padding: 70px 0;
}
#sustainability .readBox .readTxt {
	width: 1100px;
	margin: 0 auto;
	font-size: 16px;
	line-height: 1.9;
}

/*------------------------------
	中ページ共通 - contents
------------------------------*/
#sustainability{
	position: relative;
	width: 100%;
}
#sustainability p{
	font-size: 16px;
}
/*------------------------------*/
#sustainability .item{
	position: relative;
	width: 100%;
	box-sizing: border-box;
	padding: 100px 10px;
}
#sustainability .item.odd{
	background-color: #fff;
}
#sustainability .item.even{
	background-color: #f1f1f1;
}
#sustainability .item.first{
	padding-top: auto;
}
#sustainability .item .inner{
	position: relative;
	max-width: 1100px;
	margin: 0 auto;
}
/*------------------------------*/
#sustainability .item_heading{
	display: flex;
	align-items: center;
	width: 100vw;
	margin-right: calc(50% - 50vw);
	margin-bottom: 40px;
}
#sustainability .item_heading::after{
	border-top: 1px solid #003391;
	content: "";
	flex-grow: 1;
	margin-left: 0.5rem;
}
#sustainability .item_heading h2{
	font-size: 40px;
	color: #003391;
	font-feature-settings: "palt";
	letter-spacing: 0.05em;
}
/*------------------------------*/
#sustainability .item_btn{
	position: relative;
	width: auto;
	margin: 0 auto 60px;
	background-color: #ffffff;
	transition-duration: 0.3s;
	border: solid 1px #003391;
}
#sustainability .item_btn::after{
	content: "";
	display: inline-block;
	background: url("../images/icon_arrow.svg") no-repeat;
	position: absolute;
	top: 50%;
	right: 2%;
	width: 24px;
	height: 11px;
	vertical-align: middle;
	margin-top: -5px;
	transition: all 0.3s;
	z-index: 10;
}
#sustainability .item_btn:hover::after{
	content: "";
	background: url("../images/icon_arrow_mo.svg") no-repeat;
}
#sustainability .item_btn a{
	display: block;
	width: 100%;
	font-size: 22px;
	padding: 40px 0;
	font-weight: 600;
	color: #003391;
	text-align: center;
	text-decoration: none;
	outline: none;
	position: relative;
	z-index: 2;
	overflow: hidden;
}
#sustainability .item_btn a::before,
#sustainability .item_btn a::after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
}
#sustainability .item_btn a,
#sustainability .item_btn a::before,
#sustainability .item_btn a::after {
	transition: all 0.3s;
}
#sustainability .item_btn a:hover {
	color: #fff;
}
#sustainability .item_btn a::after {
	top: 0;
	width: 100%;
	height: 100%;
	left: -100%;
}
#sustainability .item_btn a:hover::after {
	top: 0;
	left: 0;
	background-color: rgba(0, 39, 132, 1);
}
#sustainability .item_btn span::after{
	content: "";
	display: inline-block;
	background: url("../../common/icon_blank_blue.svg") no-repeat;
	width: 14px;
	height: 13px;
	margin-left: 10px;
	vertical-align: middle;
	transition: all 0.3s;
}
#sustainability .item_btn:hover span::after{
	background: url("../../common/icon_blank_w.svg") no-repeat;
}

/*------------------------------
	Environment - 環境
------------------------------*/
#environment .item_heading01{
	width: 100%;
	margin-bottom: 2.5em;
}
#environment .item_heading01 h2{
	font-size: 28px;
	color: #003391;
	line-height: 1.6;
}
/*------------------------------*/
#environment .item_row{
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	width: 100%;
}
#environment .item_box{
	width: 50%;
	margin-right: 20px;
}
#environment .item_box p{
	line-height: 1.8;
	margin-bottom: 30px;
}
#environment .item_box_list{
	width: 100%;
	margin-bottom: 40px;
}
#environment .item_box li{
	font-size: 20px;
	font-weight: 700;
	color: #003391;
	margin-bottom: 30px;
}
#environment .item_box li:last-of-type{
	margin-bottom: 0;
}
#environment .item_box li span.square{
	font-size: 18px;
	font-weight: 500;
	font-family: 'Lato', sans-serif;
	background-color: #003391;
	padding: 3px 7px;
	color: #fff;
}
#environment .item_box.pic{
	width: 45%;
}
#environment .item_box.pic img{
	width: 100%;
}
#environment .item_box_topName{
	width: 100%;
	text-align: right;
}
#environment .item_box_topName p{
	line-height: 1.8;
	margin-bottom: 0;
}
#environment .item_box_topName p span.bold{
	font-weight: bold;
}
/*------------------------------*/
#environment .item_box02{
	width: 55%;
	margin-right: 20px;
}
#environment .item_box02_list{
	width: 100%;
}
#environment .item_box02 li{
	position: relative;
	font-size: 16px;
	font-weight: 600;
	color: #252525;
	margin-bottom: 10px;
	padding-left: 2em;
	text-indent: -2em;
	line-height: 1.4;
	font-feature-settings: "palt";
	letter-spacing: 0.05em;
}
#environment .item_box02 li:last-of-type{
	margin-bottom: 0;
}
#environment .item_box02 li .round{
	width: 50px;
  height: 50px;
	line-height: 50px;
	background-color: #003391;
  border-radius: 50%;
	font-size: 16px;
	font-family: 'Lato', sans-serif;
	color: #fff;
	text-align: center;
  box-sizing: border-box;
	padding: 5px 10px;
}
#environment .item_box02 li .round02{
	width: 50px;
  height: 50px;
	line-height: 50px;
	background-color: #003391;
  border-radius: 50%;
	font-size: 16px;
	font-family: 'Lato', sans-serif;
	color: #fff;
	text-align: center;
  box-sizing: border-box;
	padding: 5px 6px;
}
#environment .item_box02.pic{
	width: 40%;
}
#environment .item_box02.pic img{
	width: 100%;
}
/*------------------------------*/
#environment .item_heading02{
	position: relative;
	width: 100%;
	margin: 0 auto 32px;
	text-align: center;
}
#environment .item_heading02 h2{
	display: flex;
	align-items: center;
	width: 15em;
	margin: 0 auto;
	font-size: 22px;
	font-weight: 600;
	color: #003391;
	line-height: 1.6;
}
#environment .item_heading02.type02 h2{
width: 7.5em;
font-size: 26px;
}
#environment .item_heading02 span{
	font-size: 26px;
	font-family: 'Lato', sans-serif;
}
#environment .item_heading02 h2::before,
#environment .item_heading02 h2::after{
	border-top: solid 1px #003391;
	content: "";
	flex-grow: 1;
}
#environment .item_heading02 h2::before{
	margin-right: 10px;
}
#environment .item_heading02 h2::after{
	margin-left: 10px;
}
#environment .item_heading02 p.caption{
	margin-top: 8px;
	font-size: 16px;
}
/*------------------------------*/
#environment .licenseBox{
	margin-bottom: 80px;
}
#environment .licenseBox:last-of-type{
	margin-bottom: 0;
}
#environment .item_license{
	max-width: 950px;
	margin: 0 auto;
}
#environment .item_license img{
	width: 100%;
}
#environment .item_license p {
	margin-bottom: 8px;
}
#environment .item_license p span.emphasis{
	font-size: 20px;
	font-weight: bold;
	color: #003391;
}

/*------------------------------
	social - 社会
------------------------------*/
#social .item.first{
	padding-top: 24px;
	padding: 120px 0;
}
#social .item.second{
	padding-top: 120px;
}
#social .item{
	overflow: hidden;
}
/*------------------------------*/
#social .item_heading h2{
	font-size: 28px;
	line-height: 1.8;
}
/*------------------------------*/
#social .item_intro{
	width: 100%;
	margin-bottom: 60px;
}
#social .item_intro p{
	font-size: 16px;
	line-height: 2;
}
/*------------------------------*/
#social .item_list01{
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	flex-wrap: wrap;
	width: 100%;
	margin: 0 auto;
}
#social .item_list01 li{
	position: relative;
	display: flex;
	align-items: center;
	width: 48%;
	margin-bottom: 2em;
	background-color: #e7edf6;
	box-sizing: border-box;
	padding: 1.875em;
}
#social .item_list01 li.last{
	margin-bottom: 0;
}
#social .item_list01_hd{
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 0;
	left: 0;
	width: 16px;
	height: 20px;
	background-color: #003391;
	padding: 3px 5px 5px;
}
#social .item_list01_hd span{
	font-size: 1.25em;
	font-weight: 600;
	font-family: 'Lato', sans-serif;
	padding-top: 2px;
	color: #fff;
}
#social .item_list01_text{
	width: 100%;
	margin: 0 auto;
}
#social .item_list01_text p{
	font-size: 16px;
	font-weight: 600;
	font-feature-settings: "palt";
	letter-spacing: 0.05em;
	line-height: 1.8;
}
/*------------------------------*/
#social .item_photo {
  position: relative;
  width: 100%;
  height: auto;
  margin: 0 auto;
}
#social .item_photo img{
	width: 100%;
}
#social .item_photo_sp {
  display: none;
}
/*------------------------------*/
#social .item_heading02{
	width: 100%;
	margin-bottom: 30px;
}
#social .item_heading02 h2{
	font-size: 28px;
	color: #003391;
	line-height: 1.6;
	font-feature-settings: "palt";
	letter-spacing: 0.05em;
}
/*------------------------------*/
#social .item_list02{
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	flex-wrap: wrap;
	width: 100%;
	margin: 0 auto;
}
#social .item_list02 li{
	position: relative;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	width: 46%;
	border-bottom: dotted 1px #003391;
	padding: 1.875em 0;
}
#social .item_list02 li.line{
	width: 1px;
	height: auto;
	border-right: dotted 1px #003391;
	border-bottom: none;
	margin-bottom: 1px;
	padding: 0;
	}
#social .item_list02 li.line.sponly{
	border-right: none;
}
#social .item_list02 li.last{
	border-bottom: none;
	margin-bottom: 0;
}
#social .item_list02_hd{
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #003391;
	border-radius: 50%;
	width: 16px;
	height: 16px;
	padding: 5px 5px;
}
#social .item_list02_hd span{
	font-size: 1.25em;
	font-weight: 600;
	font-family: 'Lato', sans-serif;
	color: #fff;
}
#social .item_list02_text{
	width: 100%;
	margin: 0 auto 0 10px;
}
#social .item_list02_text p{
	font-weight: normal;
	line-height: 1.8;
}


/*------------------------------
	governance - ガバナンス
------------------------------*/
#governance .item_heading01{
	width: 100%;
	margin-bottom: 30px;
}
#governance .item_heading01 h2{
	font-size: 28px;
	color: #003391;
	line-height: 1.6;
	font-feature-settings: "palt";
	letter-spacing: 0.05em;
}
/*------------------------------*/
#governance .item_row{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	width: 100%;
	margin: 0 auto;
}
#governance .item_box{
	width: 47%;
}
#governance .item_box p{
	font-size: 16px;
	line-height: 1.8;
	margin-bottom: 20px;
	font-feature-settings: "palt";
	letter-spacing: 0.05em;
}
#governance .item_box p:last-of-type{
	margin-bottom: 0;
}
#governance .item_box img{
	width: 100%;
}
/*------------------------------*/
#governance .item_intro{
	width: 100%;
	margin-bottom: 40px;
}
#governance .item_intro p{
	font-size: 16px;
	line-height: 1.8;
	font-feature-settings: "palt";
	letter-spacing: 0.05em;
}
#governance .item_list{
	position: relative;
	width: 100%;
	margin: 0 auto;
}
#governance .item_list_hd{
	width: 100%;
	box-sizing: border-box;
	padding: 5px 0 5px 16px;
	border-left: solid 5px #003391;
	margin-bottom: 40px;
}
#governance .item_list_hd h3{
	font-size: 24px;
	font-weight: 600;
	line-height: 1.6;
	font-feature-settings: "palt";
	letter-spacing: 0.05em;
}
#governance .item_list_box{
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
	width: 100%;
	margin-bottom: 60px;
}
#governance .item_list_box li{
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	width: 33%;
	font-weight: 600;
	line-height: 1.8;
	margin-bottom: 20px;
}
#governance .item_list_box li .round{
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #003391;
	border-radius: 50%;
	width: 14px;
	height: 14px;
	padding: 5px;
}
#governance .item_list_box li .round span{
	font-size: 1em;
	font-weight: 500;
	font-family: 'Lato', sans-serif;
	color: #fff;
}
#governance .item_list_box_text{
	width: 100%;
	margin: 0 auto 0 10px;
}
#governance .item_list_box_text p{
	font-weight: normal;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.8;
}
/*------------------------------*/
#governance .item_list_picBox{
	position: relative;
	display: flex;
	justify-content: space-between;
	width: 100%;
	margin: 0 auto 80px;
}
#governance .item_list_picBox li{
	width: 25%;
}
#governance .item_list_picBox li img{
	width: 100%;
}
/*------------------------------*/
#governance .item_pdfBtn{
	position: relative;
	width: auto;
	margin: 0 auto 60px;
	background-color: #ffffff;
	transition-duration: 0.3s;
	border:  solid 1px #003391;
}
#governance .item_pdfBtn a{
	display: block;
	width: 100%;
	font-size: 20px;
	padding: 40px 0;
	font-weight: 600;
	color: #003391;
	text-align: center;
	text-decoration: none;
	outline: none;
	position: relative;
	z-index: 2;
	overflow: hidden;
}
#governance .item_pdfBtn a::before,
#governance .item_pdfBtn a::after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
}
#governance .item_pdfBtn a,
#governance .item_pdfBtn a::before,
#governance .item_pdfBtn a::after {
	transition: all 0.3s;
}
#governance .item_pdfBtn a:hover {
	color: #fff;
}
#governance .item_pdfBtn a::after {
	top: 0;
	width: 100%;
	height: 100%;
	left: -100%;
}
#governance .item_pdfBtn a:hover::after {
	top: 0;
	left: 0;
	background-color: rgba(0, 39, 132, 1);
}
#governance .item_pdfBtn span::after{
	content: "";
	display: inline-block;
	background: url("../../common/icon_pdf.png") no-repeat;
	width: 22px;
	height: 22px;
	margin-top: -6px;
	margin-left: 10px;
	vertical-align: middle;
	transition: all 0.3s;
}


/*------------------------------
	health - 健康経営の取組み
------------------------------*/
#health .item_heading01{
	width: 100%;
	margin-bottom: 30px;
}
#health .item_heading01 h2{
	font-size: 28px;
	color: #003391;
	line-height: 1.6;
	font-feature-settings: "palt";
	letter-spacing: 0.05em;
}
/*------------------------------*/
#health .item_row{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	width: 100%;
	margin: 0 auto;
}
#health .item_box{
	width: 50%;
}
#health .item_box p{
	font-size: 16px;
	line-height: 1.8;
	margin-bottom: 20px;
	font-feature-settings: "palt";
	letter-spacing: 0.05em;
}
#health .item_box p:last-of-type{
	margin-bottom: 0;
}
#health .item_box.pic{
	width: 45%;
}
#health .item_box img{
	width: 100%;
}
/*------------------------------*/
#health .item_list{
	position: relative;
	width: 100%;
	margin: 0 auto;
}
#health .item_list_hd{
	width: 100%;
	padding: 1px 0 5px 1px;
	border-left: solid 3px #003391;
	margin-bottom: 20px;
}
#health .item_list_hd h3{
	font-size: 18px;
	font-weight: 600;
	line-height: 1.6;
	padding-left: 10px;
	font-feature-settings: "palt";
	letter-spacing: 0.05em;
}
#health .item_list_row{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	width: 100%;
	margin: 0 auto;
}
#health .item_list_figure{
	width: 56%;
}
#health .item_list_figure img{
	width: 100%;
}
#health .item_list_text{
	width: 39%;
}
#health .item_list_text p{
	font-size: 16px;
	line-height: 1.8;
}
/*------------------------------*/
#health .item_table{
	position: relative;
	width: 100%;
}
#health .item_table th,
#health .item_table td{
	border-bottom: dotted 1px #bcbcbc;
	padding: 40px 0;
}
#health .item_table th.last,
#health .item_table td.last{
	border-bottom: none;
	padding-bottom: 0;
}
#health .item_table th{
	width: 13em;
	padding-right: 5em;
	font-size: 22px;
	color: #003391;
	font-weight: 600;
}
#health .item_table td{
	font-size: 16px;
	line-height: 2;
}
#health .item_table td ul{
	width: 100%;
	margin-bottom: 20px;
}
#health .item_table td li{
	padding-left: 1em;
	text-indent: -1em;
}
#health .item_table td li span{
	color: #003391;
}
/*------------------------------*/
#health .item_figure02{
	width: 100%;
	margin: 0 auto;
}
#health .item_figure02 img{
	width: 100%;
}
/*------------------------------*/
#health .item_row{
	align-items: stretch;
}
#health .item_box02{
	position: relative;
	width: 46%;
}
#health .item_box02.line{
	width: 1px;
	height: auto;
	border-left: solid 1px #a8a8a8;
}
#health .item_box02_hd{
	width: 100%;
	margin-bottom: 30px;
}
#health .item_box02_hd h3{
	font-size: 26px;
	color: #003391;
	line-height: 1.6;
	font-feature-settings: "palt";
	letter-spacing: 0.05em;
}
#health .item_box02_wrap{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	width: 100%;
}
#health .item_box02_wrap_text01{
	width: 40%;
}
#health .item_box02_wrap_text01 p{
	font-size: 16px;
	line-height: 1.8;
}
#health .item_box02_wrap_pic01{
	width: 56%;
}
#health .item_box02_wrap_pic01 img{
	width: 100%;
}
#health .item_box02_wrap_text02{
	width: 64%;
}
#health .item_box02_wrap_text02 p{
	font-size: 16px;
	line-height: 1.8;
}
#health .item_box02_wrap_pic02{
	width: 33%;
}
#health .item_box02_wrap_pic02 img{
	width: 100%;
}


/*------------------------------
	flow - サステナビリティ推進の流れ
------------------------------*/
#flow .item{
	position: relative;
	width: 100%;
	box-sizing: border-box;
	padding: 60px 10px;
}
#flow .item .inner{
	position: relative;
	max-width: 1100px;
	margin: 0 auto;
}
#flow .item_flow{
	position: relative;
	width: 100%;
	margin: 0 auto 80px;
}
#flow .item_flow img{
	width: 100%;
}
/*------------------------------*/
#flow .item_revBtn{
	position: relative;
	width: auto;
	margin: 0 auto 60px;
	background-color: #ffffff;
	transition-duration: 0.3s;
	border:  solid 1px #003391;
}
#flow .item_revBtn::before{
	content: "";
	display: inline-block;
	background: url("../images/icon_arrow_rev.svg") no-repeat;
	position: absolute;
	top: 50%;
	left: 2%;
	width: 24px;
	height: 11px;
	vertical-align: middle;
	margin-top: -5px;
	transition: all 0.3s;
	z-index: 10;
}
#flow .item_revBtn:hover::before{
	content: "";
	background: url("../images/icon_arrow_rev_mo.svg") no-repeat;
}
#flow .item_revBtn a{
	display: block;
	width: 100%;
	font-size: 24px;
	padding: 40px 0;
	font-weight: 600;
	color: #003391;
	text-align: center;
	text-decoration: none;
	outline: none;
	position: relative;
	z-index: 2;
	overflow: hidden;
}
#flow .item_revBtn a::before,
#flow .item_revBtn a::after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
}
#flow .item_revBtn a,
#flow .item_revBtn a::before,
#flow .item_revBtn a::after {
	transition: all 0.3s;
}
#flow .item_revBtn a:hover {
	color: #fff;
}
#flow .item_revBtn a::after {
	top: 0;
	width: 100%;
	height: 100%;
	left: -100%;
}
#flow .item_revBtn a:hover::after {
	top: 0;
	left: 0;
	background-color: rgba(0, 39, 132, 1);
}

/*------------------------------
	sustainability - nameBox
------------------------------*/
#sustainability #nameBox {
	padding: 30px 0 100px;
	margin: 0 auto;
	max-width: 1100px;
	border-top: solid 1px #cdcdcd;
	color: #000000;
	font-size: 14px;
	text-align: right;
	line-height: 1.8;
}
#sustainability #nameBox span {
	font-weight: bold;
}
/*------------------------------
	loading
------------------------------*/
#loadingWrap {
	width: 100%;
	height: 100%;
	background: #fff;
	position: fixed;
	top: 0;
	left: 0;
	z-index:1000;
	overflow: hidden;
}
#loadingWrap img{
	position: absolute;
	top: 50%;
	left: 50%;
	margin-top: -25px;
	margin-left: -25px;
	width: 50px;
}
#spChecker{
	display : none;
}
