@charset "utf-8";

.fnt_s_20 {
	font-size: 20%;
}

.fnt_s_50 {
	font-size: 50%;
}

.fnt_s_80 {
	font-size: 80%;
}

.fnt_s_100 {
	font-size: 100%;
}

.fnt_s_110 {
	font-size: 110%;
}

.fnt_s_120 {
	font-size: 120%;
}

.fnt_s_130 {
	font-size: 130%;
}

.fnt_s_140 {
	font-size: 140%;
}

.fnt_s_150 {
	font-size: 150%;
}

.fnt_s_160 {
	font-size: 160%;
}

.fnt_s_170 {
	font-size: 170%;
}

.fnt_s_180 {
	font-size: 180%;
}

.fnt_s_190 {
	font-size: 190%;
}

.fnt_s_200 {
	font-size: 200%;
}

.fnt_s_170,
#materiality h4.fnt_s_170 {
	font-size: 170%;
}


.top_img {
	position: relative;
}


.env {
	border-color: #4C8141!important ;
}
.gov {
	border-color:#0F7AC9!important ;
}

.soc{
	border-color:#FF6C29!important ;
}
.env a{
	color:#4C8141!important ;
}
.gov a{
	color:#0F7AC9!important ;
}

.soc a{
	color:#FF6C29!important ;
}

.bt_env span {
	background-color: #4C8141!important ;
}
.bt_gov  span {
	background-color: #0F7AC9!important ;
}
.bt_soc span {
	background-color: #FF6C29!important ;
}


@media print,
screen and (min-width: 768px) {

	.link_hd{
		position: relative;
		border-bottom: #333 solid 2px;
		text-align: center;
line-height: 1;
margin-bottom: 20px;
	}
	.link_hd b{
font-size: 24px;
padding-left: 1em;
	}
	.link_hd b::after {
		content: "";
		position: absolute;
		top: 0.2em;
		left: 23px;
		width: 13px !important;
		height: 13px !important;
		/* margin-left: 0; */
		background: none;
		border-top: 2px solid !important;
		border-right: 2px solid !important;
		-webkit-transform: rotate(45deg) !important;
		transform: rotate(45deg) !important;
}
.link_hd b:hover::after {
	animation: pattern05 .4s;
}
.bt_env b::after {
	left: 42px;

}
.bt_gov b::after {
	left: 11px;

}
.bt_soc b::after {
	left: 85px;

}
	.link_l{
		position: relative;
		padding-left: 20px;
		display: flex;
		justify-content: space-between;
	}
	.link_l a::after{
		content: "";
		position: absolute;
		line-height: 1;
		width: 0;
		height: 0;
		left: 0;
		top: 2.5px;
		margin-left: 0;
		border-style: solid;
		border-color: transparent;
		border-width:0.5em 0.7em;
		border-left-color: currentColor;
	}
	.link_s{
		position: relative;
		padding-left: 45px;
	}
	.link_s a::after{
		content: "";
		position: absolute;
		top: .4em;
		left: 23px;
		width: 8px !important;
		height: 8px !important;
		margin-left: 0;
		background: none;
		border-top: 1px solid !important;
		border-right: 1px solid !important;
		-webkit-transform: rotate(45deg) !important;
		transform: rotate(45deg) !important;
}

.top-link-text span{
background-color: #000;
color: #fff;
font-size: 10px;
text-align: center;
    padding: 4px 12px;
    border-radius: 50px;
		margin-left: 1rem;
		display: inline-block;
		vertical-align: 0.3em;

}

.bt_env span {
	background-color: #4C8141!important ;
}
.bt_gov  span {
	background-color: #0F7AC9!important ;
}
.bt_soc span {
	background-color: #FF6C29!important ;
}

	/* tpoページ */

	/* .top-pagetitle {
  padding-top: 42px;
  display: flex;
  align-items: center;
  font-size: 4.2rem;
  color: #fff;
  background: url(/sustainabilityreport/download/2024/images/index_bg01.png) no-repeat;
  background-size: cover;
  height: 420px;
  max-width: 1920px;
  background-position: center;
  margin-right: auto;
  margin-left: auto;
} */
	/* .top-block {
		width: 1200px;
		margin: 0 auto;
	} */
	.top-index-layout {
		display: flex;
		flex-wrap: wrap;
		max-width: 1200px;
		margin-left: auto;
		margin-right: auto;
		justify-content: space-between;
	}

	.top-index-panel {
		position: relative;
		width: 48%;
		height: 343px;
		display: block;
	}
	.top-index-panel_2 {
		position: relative;
		width: 100%;
		height: 400px;
		display: block;
	}
	.top-index-panel_2.type-link,
	.top-index-panel.type-link {
		-webkit-transition: ease all 0.3s;
		transition: ease all 0.3s;
	}
	.top-index-panel_2.type-link:hover,
	.top-index-panel.type-link:hover {
		opacity: 0.8;
	}
	.top-index-panel_2.type-link:hover .top-index-title-inner::after,
	.top-index-panel.type-link:hover .top-index-title-inner::after {
		animation: pattern01 .4s;
	}

	.top-index-panel_2.type-cat01 {
		background: url(/sustainabilityreport/download/2024/images/index_bg02.png) no-repeat;
		background-size: cover;
		display: block;
	}

	.top-index-panel_2.type-cat02 {
		background: url(/sustainabilityreport/download/2024/images/index_bg03.png) no-repeat;
		background-size: cover;
		display: block;
	}
	.top-index-panel_2.type-cat02 .top-index-title-inner,
	.top-index-panel.type-cat02 .top-index-title-inner {
		color: #fff;
	}
	.top-index-panel_2.type-cat02 .top-index-title-inner::after,
	.top-index-panel.type-cat02 .top-index-title-inner::after {
		border-color: #fff;
	}

	.top-index-panel.type-cat03 {
		background: url(/sustainabilityreport/download/2024/images/index_bg04.png) no-repeat;
		background-size: cover;
		display: block;
	}

	.top-index-panel.type-cat04 {
		background-color: #f4f4f4;
	}

	.top-index-panel.type-cat04 .link-button {
		margin-top: 0;
	}

	.top-index-panel.type-cat04 .top-index-title-inner {
		color: #00ada9;
	}

	.type-cat04 .image_inner {
		text-align: center;
	}

	.type-cat04 img {
		height: 220px;
		width: auto;
	}


	.top-index-panel:nth-child(odd) {
		background-position: 100% 50%;
	}

	.top-index-panel:nth-child(even) {
		background-position: 0% 50%;
	}

	.top-index-panel-inner {
		padding: 40px;
		width: 600px;
	}

	.top-index-title {
		margin: 0 0 40px;
		font-size: 3.2rem;
		line-height: 1.2;
	}

	.top-index-title-inner {
		position: relative;
		display: inline-block;
		padding-right: 35px;
		color: inherit;
	}

	.top-index-title-inner:not(.not_arrow)::after {
		content: "";
		position: absolute;
		top: 50%;
		right: 12px;
		width: 16px;
		height: 16px;
		margin-top: -9px;
		border-top: 2px solid;
		border-right: 2px solid;
		transform: rotate(45deg);
		transition-property: right;
		transition-duration: .2s;
	}

	.top-index-title-inner:hover::after {
		animation: pattern01 .4s;
	}

	.top-index-desc {
		margin-top: 40px;
	}

	.top-index-desc dt {
		font-size: 1.6rem;
	}

	.top-index-desc dd {
		font-size: 2.0rem;
		font-weight: bold;
	}

	.top-index-box {
		padding: 20px 15px;
		border: 2px solid #fff;
		color: #fff;
		font-size: 2.1rem;
		text-align: center;
	}

	.top-index-bg--sp {
		display: none;
	}


	.link-button[data-row-pc]>div>li,
	.link-button-v2[data-row-pc]>div>li {
		margin-bottom: 15px;
	}

	.link-button[data-row-pc]>div>li>a,
	.link-button-v2[data-row-pc]>div>li>a {
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.link-button>div>li>a {
		overflow: hidden;
		position: relative;
		display: inline-block;
		min-width: 240px;
		padding: 12px 40px 12px 30px;
		background-color: #fff;
		border: 1px solid #ccc;
		text-align: center;
		text-decoration: none;
		font-size: 13px;
	}

	.top_vc_100 {
		height: 100px !important;
	}

	.index-layout-v2_label>span {
		font-size: 1.8rem;
		line-height: 1.6;
	}

	.topimg_txt_pc {
		position: absolute;
		top: 0;
		right: 0;
		padding: 35px 35px 0 35px;
		margin: 0;
		color: #fff;
		font-size: 1.6rem;
		line-height: 2;
	}

	.topimg_txt_pc h1 {
		font-size: 4.2rem;
	}

	.top_link-button>li {
		height: 100px;
	}

	.top_link-button[data-row-pc]>li>a,
	.top_link-button-v2[data-row-pc]>li>a {
		display: -webkit-flex;
		display: flex;
		-webkit-align-items: center;
		align-items: center;
		-webkit-justify-content: center;
		justify-content: center;
		background-color: #E0EEED;
	}

	.top_link-button>li>a {
		overflow: hidden;
		position: relative;
		display: inline-block;
		min-width: 240px;
		padding: 37px 40px 37px 30px;
		text-align: center;
		text-decoration: none;
		color: #00ada9;
		background-size: cover;
	}

	.button_esg>a {
		background-image: url(/sustainabilityreport/download/2024/images/index_bg07.png);
	}

	.button_soc>a {
		background-image: url(/sustainabilityreport/download/2024/images/index_bg08.png);
	}

	.button_gri>a {
		background-image: url(/sustainabilityreport/download/2024/images/index_bg09.png);
	}

	.button_edit>a {
		background-image: url(/sustainabilityreport/download/2024/images/index_bg10.png);
	}

	.top_link-button>li>a::after {
		content: "";
		position: absolute;
		top: 50%;
		right: 16px;
		width: 10px;
		height: 10px;
		margin-top: -5px;
		border-top: 1px solid #00ada9;
		border-right: 1px solid #00ada9;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		transition-property: right;
		transition-duration: .2s;
	}

	/* tpoページ */

	div.item| .top_img h1 {
		position: absolute;
		top: 0;
		left: 0;
		padding: 35px 0 0 35px;
		margin: 0;
		color: #fff;
		font-size: 4.2rem;
	}

	.img-container {
		max-width: 1920px;
		margin: 0 auto;
		padding-top: 80px;
	}

	.pc_mt-80 {
		margin-top: -80px;
	}

	.topics_title {
		font-size: 2rem;
	}

	.topics_title>span {
		font-size: 1.6rem;
		color: #009E3B;
	}
}

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

	/* tpoページ */
	.top-link-text span{
		background-color: #000;
		color: #fff;
		font-size: 8px;
		text-align: center;
				padding: 4px 12px;
				border-radius: 50px;
				margin-left: 1rem;
				display: inline-block;
				vertical-align: 0.3em;
		
		}

	.top-pagetitle {
		display: flex;
		align-items: center;
		font-size: 2.3rem;
		color: #fff;
		/* background: url(/sustainabilityreport/download/2024/images/index_bg01_sp.jpg) 50% 0 no-repeat; */
		background-size: cover;
		height: 74px;
	}

	.top-block {
		padding: 0 15px;
	}

	.top-index-panel {
		position: relative;
		display: block;
	}
	.top-index-panel_2 {
		position: relative;
		display: block;
	}
	.top-index-panel_2.type-cat02 .top-index-title-inner,
	.top-index-panel.type-cat02 .top-index-title-inner {
		color: #fff;
	}
	.top-index-panel_2.type-cat02 .top-index-title-inner::after,
	.top-index-panel.type-cat02 .top-index-title-inner::after {
		border-color: #fff;
	}

	.top-index-panel.type-cat04 {
		background-color: #f4f4f4;
	}

	.top-index-panel.type-cat04 .link-button {
		margin-top: 0;
	}

	.top-index-panel.type-cat04 .top-index-title-inner {
		color: #00ada9;
	}

	.top-index-panel.type-cat04 .top-index-panel-inner {
		position: static;
	}

	.top-index-panel-inner {
		position: absolute;
		z-index: 2;
		top: 0;
		left: 0;
		width: 100%;
		padding: 20px 15px;
	}

	.top-index-title {
		margin: 0 0 20px;
		font-size: 2.1rem;
		line-height: 1.2;
	}

	.top-index-title-inner {
		position: relative;
		display: inline-block;
		padding-right: 20px;
		color: inherit;
	}

	.top-index-title-inner::after {
		content: "";
		position: absolute;
		top: 50%;
		right: 0px;
		width: 8px;
		height: 8px;
		margin-top: -4px;
		border-top: 1px solid #969696;
		border-right: 1px solid #969696;
		transform: rotate(45deg);
		transition-property: right;
		transition-duration: .2s;
	}

	.top-index-desc {
		margin-top: 40px;
	}

	.top-index-desc dt {
		font-size: 1.3rem;
	}

	.top-index-desc dd {
		font-size: 1.5rem;
		font-weight: bold;
	}

	.top-index-box {
		padding: 15px 8px;
		border: 2px solid #fff;
		color: #fff;
		font-size: 1.3rem;
	}

	.topimg_txt_sp {
		position: absolute;
		top: 0;
		right: 0;
		padding: 35px 35px 20px 35px;
		margin: 0;
		color: #fff;
		font-size: 2.2rem;
		line-height: 2;
	}

	.link-button[data-row-sp] li a,
	.link-button-v2[data-row-sp] li a {
		display: -webkit-flex;
		display: flex;
		-webkit-justify-content: center;
		justify-content: center;
		-webkit-align-items: center;
		align-items: center;
	}

	.link-button li a {
		position: relative;
		display: block;
		width: 100%;
		padding: 5px 25px 5px;
		background-color: #fff;
		border: 1px solid #ccc;
		text-align: center;
		text-decoration: none;
		margin-bottom: 5px;
	}

	.top_link-button[data-row-sp]>li>a,
	.link-button-v2[data-row-sp]>li>a {
		display: -webkit-flex;
		display: flex;
		-webkit-justify-content: center;
		justify-content: center;
		-webkit-align-items: center;
		align-items: center;
	}

	.top_link-button>li>a::after {
		content: "";
		position: absolute;
		top: 50%;
		right: 16px;
		width: 10px;
		height: 10px;
		margin-top: -5px;
		border-top: 1px solid #00ada9;
		border-right: 1px solid #00ada9;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		transition-property: right;
		transition-duration: .2s;
	}

	.top_link-button>li>a {
		position: relative;
		display: block;
		width: 100%;
		padding: 5px 25px 5px;
		text-align: center;
		text-decoration: none;
		margin-bottom: 5px;
		background-color: #E0EEED;
	}

	.top_link-button>li>a {
		overflow: hidden;
		position: relative;
		display: inline-block;
		min-width: 240px;
		padding: 37px 40px 37px 30px;
		text-align: center;
		text-decoration: none;
		color: #00ada9;
		background-repeat: no-repeat;
	}

	.button_env>a {
		background-image: url(/sustainabilityreport/download/2024/images/index_bg07.png);
	}

	.button_soc>a {
		background-image: url(/sustainabilityreport/download/2024/images/index_bg08.png);
	}

	.button_esg>a {
		background-image: url(/sustainabilityreport/download/2024/images/index_bg09.png);
	}

	.button_edit>a {
		background-image: url(/sustainabilityreport/download/2024/images/index_bg10.png);
	}
	.link_hd{
		position: relative;
		border-bottom: #333 solid 2px;
line-height: 1;
margin-bottom: 20px;
	}
	.link_hd b{
font-size: 20px;
padding-left: 1em;
padding-left: 28px;
	}
	.link_hd b::after {
		content: "";
		position: absolute;
		top: 0.1em;
		left: 0px;
		width: 13px !important;
		height: 13px !important;
		background: none;
		border-top: 2px solid !important;
		border-right: 2px solid !important;
		-webkit-transform: rotate(45deg) !important;
		transform: rotate(45deg) !important;
}
.link_hd b:hover::after {
	animation: pattern05 .4s;
}
	.link_l{
		position: relative;
		padding-left: 17px;
		display: flex;
		justify-content: space-between;
	}
	.link_l a::after{
		content: "";
		position: absolute;
		line-height: 1;
		width: 0;
		height: 0;
		left: 0;
		top: 2.5px;
		margin-left: 0;
		border-style: solid;
		border-color: transparent;
		border-width:0.5em 0.7em;
		border-left-color: currentColor;
	}
	.link_s{
		position: relative;
		padding-left: 36px;
	}
	.link_s a::after{
		content: "";
		position: absolute;
		top: .4em;
		left: 17px;
		width: 8px !important;
		height: 8px !important;
		margin-left: 0;
		background: none;
		border-top: 1px solid !important;
		border-right: 1px solid !important;
		-webkit-transform: rotate(45deg) !important;
		transform: rotate(45deg) !important;
}
	/* tpoページ */

	.topics_title {
		font-size: 1.5rem;
	}

	.topics_title>span {
		font-size: 1rem;
		color: #009E3B;
	}

	.top_img h1 {
		position: absolute;
		top: 0;
		left: 0;
		padding: 5% 0 0 5%;
		margin: 0;
		color: #fff;
		font-size: 2.5rem;
	}

	.sp-w10 {
		width: 10% !important;
	}

	.sp-w20 {
		width: 20% !important;
	}

	.sp-w30 {
		width: 30% !important;
	}

	.sp-w40 {
		width: 40% !important;
	}

	.sp-w50 {
		width: 50% !important;
	}

	.sp-w60 {
		width: 60% !important;
	}

	.sp-w70 {
		width: 70% !important;
	}

	.sp-w80 {
		width: 80% !important;
	}

	.sp-w90 {
		width: 90% !important;
	}
/* ↓ sustainability アニメーション画像追加 */
@media only screen and (max-width: 767px) {
	.img-wrap.sp-scroll {
		overflow-x: scroll;
	}
	.img-wrap.sp-scroll object {
		width: 1150px;
	}
}
/* ↑ sustainability アニメーション画像追加 */
}