@charset "UTF-8";
/* heading01 */
.heading01 {
	margin-bottom: 28px;
	padding-bottom: 13px;
	color: #004099;
	font-size: 25px;
	border-bottom: 1px solid #333;
}
div.heading01 {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
div.heading01 h3 {
	margin-top: 21px;
}
div.heading01 .img-list {
	flex-shrink: 0;
	display: flex;
}
div.heading01 .img-list li {
	margin-left: 12px;
}
div.heading01 .img-list li:first-child {
	margin-left: 0;
}
div.heading01 .img-list img {
	width: 72px;
}
@media (max-width: 767px) {
	div.heading01 h3 {
		margin-top: 0;
		font-size: 22px;
	}
	div.heading01 .img-list li {
		margin-left: 6px;
	}
	div.heading01 .img-list img {
		width: 40px;
	}
}
/* heading02 */
.heading02 {
	margin: 45px 0 20px;
	font-size: 20px;
}
/* heading03 */
.heading03 {
	margin: 0 auto 35px;
	padding: 12px 20px 10px;
	max-width: 460px;
	box-sizing: border-box;
	color: #fff;
	text-align: center;
	border-radius: 20px;
	background-color: #004098;
}
/* com-table */
.com-table {
	width: 100%;
	border-spacing: 0;
	border-collapse: collapse;
}
.com-table th {
	background-color: #E1E6E8;
	border: 1px solid #333333;
}
.com-table .wid01 {
	width: 45%;
}
.com-table .wid02 {
	width: 27%;
}
.com-table .wid03 {
	width: 60%;
}
.com-table td, .com-table th {
	padding: 19px 25px;
	font-size: 15px;
	font-weight: normal;
	border: 1px solid #333333;
}
@media (max-width: 767px) {
	.com-table td, .com-table th {
		padding: 10px 2px;
		font-size: 11px;
	}
}
.index_fig div img{
	/* width: 900px; */
	/* height: auto; */
}
.index_fig div{
	text-align: center
}
/* social */
.social .page-title {
	margin-bottom: 20px;
}
.social .sub-inner {
	margin-bottom: 77px;
}
.social p {
	margin-bottom: 45px;
}
.social .goal {
	margin-bottom: 27px;
	display: flex;
	align-items: center;
}
.social .goal dt {
	margin-right: 20px;
	width: 60px;
	height: 60px;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #004099;
	flex-shrink: 0;
	color: #fff;
	font-size: 16px;
	border-radius: 60px;
}
.social .com-table.special {
	margin-bottom: 26.53px;
}
.social .com-table.special th, .social .com-table.special td {
	text-align: center;
	vertical-align: middle;
}
.social .com-table.special .left {
	text-align: left;
}
.social .text {
	margin-bottom: 14px;
	line-height: 1.5;
}
/* governance */
.governance .page-title {
	margin-bottom: 53px;
}
.governance p {
	margin-bottom: 87px;
	line-height: 1.5;
}
.governance p:last-child {
	margin-bottom: 0;
}
.mv .img-list {
	position: absolute;
	right: -12px;
	bottom: -47px;
	background-color: #FFF;
	display: flex;
	padding: 12px;
}
.mv .img-list li:not(:first-of-type) {
	margin-left: 12px;
}
.mv .img-list img {
	width: 72px;
}
/* page-sdgs */
#sdgs .mv .bg-accent {
	background: rgba(239, 239, 239, 0.8) url(../images/sustainability/sdgs/line.png) no-repeat center bottom / 100% 5.5px;
}
#sdgs .mv .title {
	color: #333;
}
#sdgs .mv .title span::after {
	background-color: #333;
}
#sdgs .sdgs {
	margin-top: 76px;
}
#sdgs .sdgs p {
	margin-bottom: 75px;
	line-height: 1.5;
}
#sdgs .sdgs .image {
	margin: -5px 0 104px;
	text-align: center;
}
#sdgs .sdgs p + .text-list {
	margin-top: -50px;
}
.text-list {
	margin-bottom: 75px;
}
.text-list li {
	padding-left: 12px;
	position: relative;
	line-height: 1.5;
}
.text-list li::before {
	position: absolute;
	left: 0;
	top: 10px;
	content: '';
	width: 5.5px;
	height: 5.5px;
	border-radius: 5.5px;
	background-color: #333;
}
.text-list li .ttl {
	margin-right: 5px;
	min-width: 128px;
}
.flex-list li {
	display: flex;
}
@media (max-width: 767px) {
	.text-list li .ttl {
		min-width: 105px;
	}
}
/* environment*/
.environment .sub-inner p {
	margin: 0 60px 59px 0;
	line-height: 1.5;
}
.com-img-box {
	margin-bottom: 95px;
	display: flex;
	justify-content: space-between;
}
.com-img-box .com-photo-box {
	width: 40%;
}
.com-img-box .com-text-box {
	width: 56.5%;
}
.com-img-box .com-text-box p {
	margin-right: 10px;
	line-height: 1.5;
}
.environment .sub-inner {
	margin-bottom: 50px;
}
@media all and (max-width: 896px) {
	.heading03 {
	font-size: 17px
	}
	.environment .sub-inner p {
		margin-right: 0;
	}
	.com-img-box {
		margin-bottom: 40px;
		display: block;
	}
	.com-img-box .com-photo-box {
		margin-bottom: 30px;
		width: 100%;
	}
	.com-img-box .com-text-box {
		width: 100%;
	}
}
.sustainability .page-title {
	margin-bottom: 45px;
}
.sustainability .top-box {
	margin: 0 auto;
	padding: 89px 90px;
	max-width: 900px;
	box-sizing: border-box;
	background: url("../images/sustainability/index/bg_img.jpg") no-repeat top center / cover;
}
.sustainability .top-box h3 {
	margin-bottom: 27px;
	padding-bottom: 22px;
	color: #006934;
	font-size: 25px;
	font-weight: bold;
	border-bottom: 1px solid #006934;
	text-align: center;
}
.sustainability .top-box .text-ul {
	margin: 0 auto 40px;
	max-width: 600px;
}
.sustainability .top-box .text-ul li {
	margin-top: 11px;
	color: #333;
	font-size: 20px;
	font-weight: bold;
	line-height: 1;
}
.sustainability .top-box p {
	line-height: 1.6;
}
.sustainability .submenu li {
	position: relative;
  z-index: 3;
}
.approach {
	margin-top: 88px;
	line-height: 1.5;
}
.approach .heading01 {
	margin-bottom: 29px;
	padding-bottom: 20px;
}
.sustainability .submenu {
	margin-top: 65px;
}
.sustainability .submenu ul {
	margin-top: -45px;
}
.sustainability .submenu li .box {
	padding: 0;
	width: 67.9%;
	right: 1px;
	bottom: 0;
}
.sustainability .submenu li .box p {
	padding: 0 20px;
	font-weight: normal;
	cursor: pointer;
	background: url("../images/sustainability/index/arrow_img02.png") no-repeat right 22px center / 8px;
}
@media (min-width: 768px) {
	.sustainability .submenu li .box p:hover {
		opacity: 0.7;
	}
}
.sustainability .submenu li {
	margin: 45px 0 15px;
}
.sustainability .submenu li:nth-of-type(2n) .box {
	right: 0;
}
.sustainability .submenu ul .link-ul {
    margin-top: 0;
    display: none;
    width: 65.4%;
    position: absolute;
    right: 21px;
    box-sizing: border-box;
    z-index: 10;
}
.sustainability .submenu ul li:nth-of-type(2n) .link-ul {
	right: 0;
}
.sustainability .submenu ul .link-ul li {
	margin: 0;
	width: 100%;
	padding: 0;
	box-sizing: border-box;
	border-bottom: 1px solid #fff;
}
.sustainability .submenu ul .link-ul li:last-child {
	border-bottom: none;
}
.sustainability .submenu ul .link-ul li a {
	padding: 18px 19px 17px;
	color: #004099;
	font-weight: normal;
	background-color: #CCD9EB;
}
.sdgs-box {
	margin-bottom: 45px;
}
.sdgs-box .heading01 {
	padding-bottom: 21px;
	margin-bottom: 25px;
}
.sdgs-box p {
	line-height: 1.6;
}
.sdgs-box .inner-box {
	margin-top: 59px;
	display: flex;
	justify-content: space-between;
}
.sdgs-box .inner-box .link-box {
	position: relative;
	width: calc(100%/2 - 51px);
}
.sdgs-box .inner-box .link-box p {
	position: absolute;
	width: 72.3%;
	z-index: 5;
	bottom: -1px;
	right: -30px;
	padding: 13px 20px;
	color: #333;
	font-size: 18px;
	box-sizing: border-box;
	background: rgba(239, 239, 239, 0.8) url("../images/sustainability/index/arrow_img01.png") no-repeat right 22px center / 7px;
}
.sdgs-box .inner-box .link-box p::after {
	height: 5px;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	content: '';
	z-index: 5;
	background: url("../images/sustainability/index/line_img.png") no-repeat left bottom / 100%;
}
.sdgs-box .inner-box .photoBox {
	padding: 0 85px 0 13px;
	width: calc(100%/2 - 51px);
}
@media (max-width: 767px) {
	.sustainability .top-box {
		padding: 50px 20px;
		max-width: inherit;
	}
	.sustainability .top-box h3 {
		margin-bottom: 16px;
		padding-bottom: 15px;
		font-size: 20px;
	}
	.sustainability .top-box .text-ul {
		margin-bottom: 20px;
		max-width: inherit;
	}
	.sustainability .top-box .text-ul li {
		margin-top: 6px;
		font-size: 16px;
		line-height: 1.5;
		text-indent: -16px;
		padding-left: 16px;
	}
	.approach {
		margin-top: 50px;
	}
	.approach .heading01 {
		margin-bottom: 20px;
		padding-bottom: 13px;
	}
	.sustainability .submenu li .box {
		line-height: 50px;
		height: 48px;
	}
	.sustainability .submenu li {
		margin-top: 30px;
	}
	.sustainability .submenu ul {
		margin-top: -30px;
	}
	.sdgs-box {
		margin-top: 50px;
	}
	.sdgs-box .inner-box {
		margin-top: 59px;
		display: block;
	}
	.sdgs-box .inner-box .link-box {
		margin-bottom: 50px;
		width: auto;
	}
	.sdgs-box .inner-box .link-box p {
		right: 1px;
	width: 67.2%;
	bottom: -20px;
	}
.sdgs-box .inner-box .link-box img {
		width: 97%;
	}
	.sdgs-box .inner-box .photoBox {
		padding: 0;
		width: auto;
	}
	#governance .mv .img-list {
		bottom: -146px;
		right: auto;
		left: 50%;
		transform: translateX(-50%);
		width: 100%;
		max-width: 280px;
		justify-content: center;
	}
	#governance .mv {
		margin-bottom: 180px;
	}
	#social div.heading01 h3 {
		margin-bottom: 10px;
	}
	.sustainability .submenu ul .link-ul {
		position: inherit;
		margin-left: auto;
		display: block;
		width: 67.8%;
		right: 1px;
	}
	.mv .img-list img {
		width: 66px;
	}
}
@media (max-width: 374px) {
	.com-table .wid03 {
		width: 57%;
	}
	.com-table td, .com-table th {
		padding: 10px;
	}
	.sustainability .top-box h3 {
		font-size: 18px;
	}
	.sustainability .top-box .text-ul li {
		font-size: 15px;
	}
}
.clm2photo{
	display: flex;
	justify-content: space-between
}
.clm2photo div{width: 48%
}
.clm2photo div p{
	font-size: 14px;
	margin-top: 5px;
	margin-bottom: 5px
}


/* =========================
　20220322 追加
========================= */
/* -------------------------
　サスティナビリティー
-------------------------- */
.tcfd-box .inner-box .photoBox {
	padding: 10px 40px;
	background: rgb(3,124,153);
	background: linear-gradient(90deg, rgba(3,124,153,1) 0%, rgba(17,140,174,1) 35%, rgba(65,169,196,1) 100%);
	display: flex;
	align-items: center;
	justify-content: center;
}
@media (max-width: 767px) {
	.tcfd-box .inner-box .photoBox {
		padding: 40px;
	}
}
/* -------------------------
　気象変動への取り組み(TCFD)
-------------------------- */
.tcfd {
	line-height: 1.5;
}
.tcfd-tx-s {
	font-size: 14px;
}
.tcfd-mt {
	margin-top: 45px;
}
.tcfd-mt-s {
	margin-top: 20px;
}
.tcfd-img {
	display: flex;
	flex-direction: row;
	justify-content: center;
	gap: 40px;
}
.tcfd-img img {
	width: fit-content;
	max-width: 100%;
}
.tcfd-img img.tcfd-img-mx {
	max-width: 600px;
	width: 100%;
}
.tcfd-table :is(th,td) {
	padding: 10px;
	vertical-align: middle;
}
.tcfd-table th {
	text-align: center;
}
.tcfd-table-ce {
	text-align: center;
}
.tcfd-table-r {
	color: #B7001C;
}
.tcfd-table-b {
	color: #004099;
}
@media (max-width: 767px) {
	.tcfd .heading01 {
		margin-top: 77px;
	}
	.tcfd-img {
		flex-direction: column;
		align-items: center;
	}
	.tcfd-img img {
		max-width: 100%;
	}
	.tcfd-table :is(th,td) {
		padding: 5px;
	}
}

/* ===========================
　20240229 追加
=========================== */
/* ---------------------------
　共通
--------------------------- */
:is(.diversity, .healthManagement, .humanCapitalManagement, .community) :is(p,dd,li) {
	margin-bottom: 0;
	line-height: 1.5;
}

.sus-mt--large {
	margin-top: 77px;
}
.sus-mt--default {
	margin-top: 35px;
}

.sus-list div.heading01 h3 {
	margin-top: 0;
}

.sus-list {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	row-gap: 77px;
	column-gap: 60px;
}
.sus-list-child {
	width: 100%;
}
.sus-list-child--half {
	width: calc(50% - 30px);
}

.sus-cnt--half {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 60px;
}
.sus-cnt--half .sus-cnt-box {
	width: calc(50% - 30px);
}

.sus-box {
	margin-top: 35px;
}
.sus-box--mt0 {
	margin-top: 0;
}
.sus-box:not(.goal) dt {
	margin-bottom: 16px;
	font-size: 20px;
	color: #004099;
}
.sus-box:not(.goal) dt span {
	margin-top: 5px;
	display: block;
	font-size: 14px;
}
/* 画像 */
.sus-cnt img {
	width: 100%;
}
.sus-cnt img.sus-cnt-img {
	margin-right: auto;
	margin-left: auto;;
	display: block;
	width: 80%;
}
/* ●付きリスト */
.sus-circlelist {
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.sus-circlelist li {
	padding-left: 22px;
	position: relative;
}
.sus-circlelist li::before {
	content: "";
	display: inline-block;
	width: 14px;
	height: 14px;
	background: #004098;
	border-radius: 99vh;
	position: absolute;
	top: 7px;
	left: 3px;
}
/* グレー背景 */
.sus-box-bg {
	padding: 12px;
	background: #E1E6E8;
}
.sus-box-bg-small {
	font-size: 14px;
}
/* テーブル */
.sus-table :is(th,td){
	padding: 19px 5px;
	text-align: center;
	vertical-align: middle;
}
.sus-table-attention {
	padding-left: 16px;
	margin-top: 8px;
	font-size: 14px;
	position: relative;
}
.sus-table-attention::before {
	content: "※";
	position: absolute;
	top: 0;
	left: 0;
}
/* 写真 */
.sus-cnt-photo {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 30px;
}
.sus-cnt-photo p {
	margin-top: 5px;
	margin-bottom: 0;
	font-size: 14px;
}

@media (max-width: 767px) {
	.sus-list, .sus-cnt--half {
		flex-direction: column;
	}
	.sus-list-child--half, .sus-cnt--half .sus-cnt-box  {
		width: 100%;
	}
	.sus-cnt--half {
		gap: 35px;
	}
	.sus-box:not(.goal) dt {
		font-size: 18px;
	}
	.sus-box:not(.goal) dt span {
		font-size: 12px;
	}
	/* 画像 */
	.sus-cnt img.sus-cnt-img {
		width: 100%;
	}
	/* ●付きリスト */
	.sus-circlelist li {
		padding-left: 18px;
	}
	.sus-circlelist li::before {
		width: 12px;
    height: 12px;
    top: 6px;
	}
	/* グレー背景 */
	.sus-box-bg-small {
		font-size: 12px;
	}
	/* テーブル */
	.sus-table :is(th,td){
		padding: 10px 2px;
	}
	.sus-table-attention {
		padding-left: 12px;
		font-size: 12px;
	}
	/* 写真 */
	.sus-cnt-photo {
		grid-template-columns: 1fr;
		row-gap: 35px;
	}
	.sus-cnt-photo p {
		font-size: 12px;
	}
}
/* ---------------------------
　サステナビリティ(Sustainability)
--------------------------- */
.sustainability .submenu li a.not {
	opacity: unset;
}
.sustainability .submenu li .box p.not:hover {
	opacity: 1;
}
/* ---------------------------
　ダイバーシティ(Diversity)
--------------------------- */
/* 有給取得率の推移 */
.social.diversity ul li .sus-cnt .sus-box.sub-box-m {
	margin-top: 62px;
}
@media (max-width: 767px) {
	.social.diversity ul li .sus-cnt .sus-box.sub-box-m {
		margin-top: 35px;
	}
}
/* ---------------------------
　健康経営(Health Management)
--------------------------- */
/* 年次有給休暇取得率 */
.social.healthManagement ul li .sus-cnt dl.sus-box.sub-box-m {
	margin-top: 94px;
}
@media (max-width: 767px) {
	.social.healthManagement ul li .sus-cnt dl.sus-box.sub-box-m {
		margin-top: 35px;
	}
}
/* ---------------------------
　人的資本への取組み(Human Capital Management)
--------------------------- */
.humanCapitalManagement .page-title-pattern03 {
	max-width: 260px;
	margin: 0 auto 20px;
}

/* ===========================
　20240517 追加
=========================== */
/* ---------------------------
　健康経営(Health Management)
--------------------------- */
.healthManagement-imgbox {
	margin: 40px auto 0;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 50px;
	max-width: 600px;
}
@media (max-width: 767px) {
	.healthManagement-imgbox {
		margin-top: 30px;
		gap: 15px;
	}
}


/* ===========================
　20240529 追加
=========================== */
/* ---------------------------
　サスティナビリティートップ
--------------------------- */
.sustainability-mark {
	margin-top: 30px;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 40px;
}

.sustainability-mark-img {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 180px;
}
.sustainability-mark-img img {
	max-height: 180px;
}
.sustainability-mark-text {
	margin-top: 20px;
	text-align: center;
}
@media (max-width: 767px) {
	.sustainability-mark {
		grid-template-columns: 1fr;
	}
	.sustainability-mark li {
		margin-bottom: 2.5rem;
	}
}


/* ===========================
　20250303 追加
=========================== */
.mt0 {
	margin-top: 0!important;
}


/* ===========================
　20250311 追加
=========================== */
/* ---------------------------
　サスティナビリティー
--------------------------- */
/* 取得認定マーク */
.sustainability-mark-img.--04 img {
	max-height: 200px;
}

/* ---------------------------
　健康経営(Health Management)
--------------------------- */
/* 健康経営の取り組みに対する評価 */
.healthManagement.--evaluation {
	padding-top: 80px;
	border-top: 1px solid #333;
}
.healthManagement.--evaluation dd {
	display: grid;
	grid-template-columns: 300px 1fr;
	align-items: center;
	gap: 35px;
}
@media (max-width: 767px) {
	.healthManagement.--evaluation {
		padding-top: 50px;
	}
	.healthManagement.--evaluation dd {
		grid-template-columns: 1fr;
		gap: 0;
	}
	.healthManagement.--evaluation img {
		max-width: 300px;
		margin: 0 auto;
		display: block;
		width: 100%;
	}
}

