  @charset "UTF-8";

.pc {
display: block;
}

.img_brd {
border: 1px solid #d0d0d0;
}

.img_title {
margin: 24px 0 20px;
font-size: 1.8rem;
font-weight: 500;
line-height: 1.5;
color: #000;
}

.c-figure img.w40 {
display: block;
margin: 0 auto;
width: 40%;
}

.c-figure img.w50 {
display: block;
margin: 0 auto;
width: 50%;
}

.c-figure img.w60 {
display: block;
margin: 0 auto;
width: 60%;
}

.c-figure img.w70 {
display: block;
margin: 0 auto;
width: 70%;
}

.c-figure img.w80 {
display: block;
margin: 0 auto;
width: 80%;
}

.c-figure img.w90 {
display: block;
margin: 0 auto;
width: 90%;
}

table img {
width: 100%;
height: auto;
}

.zoom {
display: inline-block;
font-size: 14px;
}

.zoom_img {
transition: .5s;
}

.zoom_img:hover {
cursor: zoom-in;
opacity: .5;
}

.zoom::before {
content: "";
}

.js-modal__document img {
width: 100%;
height: auto;
}

.index-hero--typeTextColor02--large .index-hero__title {
/* margin-bottom: 50px; */
}

.mat .c-link-block__item+.c-link-block__item {
margin-top: 60px;
}

.mat .c-link-block__item h3 {
display: flex;
justify-content: left;
flex-direction: unset;
margin-top: 0;
padding-bottom: 12px;
font-size: 2rem;
border-bottom: 1px solid #b3b3b3;
align-items: center;
flex-wrap: wrap;
}

.mat .c-link-block__item h3 span:first-child {
margin-right: 20px;
margin-bottom: 10px;
}

.mat .c-link-block__item__link+img,
.mat .c-link-block__item__link+span img {
width: 70px;
height: 70px;
margin-bottom: 10px;
}

.mat .c-link-block__item__link+img:not(:last-child) {
margin-right: 10px;
}

.mat.c-link-block--col2 {
grid-template-columns: unset;
}

.mat .c-link-block__item__text span,
.materiality .c-accordion__section__content .c-text span {
background: #ededed;
padding: 5px 30px;
display: inline-block;
border-radius: 10px;
margin: 0 10px 10px 0;
min-width: 170px;
text-align: center;
}

.mat_inn {
display: grid;
grid-template: auto / 15em 1fr;
margin-top: 20px;
}

.mat_inn dt {
grid-column: 1;
}

.mat_inn dt span {
background: #ededed;
padding: 5px;
border-radius: 10px;
min-width: 170px;
text-align: center;
height: 100%;
width: 100%;
display: flex;
justify-content: center;
align-items: center;
}

.mat_inn dd {
grid-column: 2;
}

.mat_inn dt,
.mat_inn dd {
margin: 15px 15px 15px 0;
display: flex;
align-items: center;
}

.mat_inn dd .c-list {
margin: 0;
}

.materiality .c-accordion {
margin-bottom: 60px;
}

.second_stage .main header {
background: url(/company/sustainability/img/2023/main_01.jpg)no-repeat center right/ cover !important;
}

.materiality .c-heading-c {
line-height: 2.4;
}

.materiality .c-accordion__section__title__heading {
display: flex;
justify-content: left;
flex-direction: unset;
margin-top: 0;
padding-bottom: 22px;
padding-top: 12px;
flex-wrap: wrap;
align-items: center;
}

.materiality .c-accordion__section__title__heading p {
margin-top: 10px;
margin-right: 20px;
}

.materiality .c-accordion__section__title__heading img {
width: 70px;
height: 70px;
}

.materiality .c-accordion__section__title__heading::before,
.materiality .c-accordion__section__title__heading::after {
top: 55px;
}

.materiality .c-accordion__section__title__heading.nomal {
padding: 22px 52px 25px 0;
}

.materiality .c-accordion__section__title__heading.nomal::before,
.materiality .c-accordion__section__title__heading.nomal::after {
top: 39px;
}

.materiality .sdgs {
flex-wrap: wrap;
}

.materiality .sdgs img {
margin-top: 10px;
}

.materiality .c-accordion__section__content {
padding-top: 20px;
}

.activity {
background: #f3f3f3;
padding: 100px 0 1px 0;
}

.activity .c-media__item {
display: flex;
flex-direction: column;
justify-content: space-between;
padding: 20px;
position: relative;
}

.activity .c-media__item h4 {
font-size: 16px;
margin-bottom: 20px;
}

.activity .c-media__item .note {
position: absolute;
right: 0;
bottom: 0;
font-size: 10px;
}

.activity .c-media__item+.c-media__item {
border-left: 1px solid #000;
}

.activity .c-heading-c {
margin-top: 0;
}

.main header:not(.highlight .main header) {
height: 270px;
background: url(/company/sustainability/business/img/2023/main_02.jpg)no-repeat center center/ cover;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
margin-bottom: 10px;
}

.main header .c-heading__subtitle,
.main header .c-heading-a {
text-align: center;
}

.header_out {
background: linear-gradient(180deg, #ffffff 0%, #ffffff 50%, #ededed 50%, #ededed 100%);
}

.header_out .main-inner {
padding-bottom: 20px
}

.header_out+.sdgs {
align-items: center;
justify-content: center;
flex-wrap: wrap;
background: linear-gradient(180deg, #ededed 0%, #ededed 50%, #ffffff 50%, #ffffff 100%);
padding: 0 0 40px 0;
}

.header_out+.sdgs img {
width: 100px;
height: 100px;
}

.header_out+.sdgs h2 {
margin: 0 0 10px 0;
}

.header_out+.sdgs li:first-child {
width: 100%;
text-align: center;
justify-content: center;
align-items: center;
color: #fff;
margin-bottom: 10px;
}

.header_out+.sdgs li:first-child {
width: 100%;
text-align: center;
}

h1.c-heading-a img,
h2.c-heading-a img,
h3.c-heading-a img,
h4.c-heading-a img,
h4.c-heading-d img {
width: 1.5em;
height: auto;
}

h4.c-heading-d a:after {

content: "";

display: inline-block;

width: 0.5em;

height: 1em;

margin: 0 0 0.2em 0.5em;

vertical-align: middle;

background: url(/assets/img/icon_angle-right.svg) no-repeat 0 0;

background-size: contain;

}

h3.c-heading-c img {
width: 57px;
}

h2.c-heading-a a {
position: relative;
display: block;
}

.js-modal__document h5.c-heading-b {

margin: 40px 0 32px;

font-size: 3rem;

font-weight: 500;

line-height: 1.5;

color: #000;

}

.fierd h2.c-heading-a a {
display: inline-block;
}

h2.c-heading-a a::after,
.sus ol a::after,
.sus_imgmap p:after,
h4.c-heading-a a::after {
content: "";
display: inline-block;
width: 0.5em;
height: 1em;
margin: 0 0 0.2em 0.5em;
vertical-align: middle;
background: url(/assets/img/icon_angle-right.svg) no-repeat 0 0;
background-size: contain;
}

.message .main {
background: url(/company/sustainability/img/2023/pic_02.png)no-repeat right top / 15%;
}

.main-inner {
position: relative;
z-index: 20;
}

.message h2.c-heading-a {

margin: 0;

}

.highlight .c-heading-header {
justify-content: center;
}

.highlight .main {
background: url(/company/sustainability/highlight/img/2024/bg_highlight.png)no-repeat center bottom/ 100%;

padding-bottom: 100px;
}

.citizenship .main {
background: url(/company/sustainability/citizenship/img/2024/bg_citizenship.png)no-repeat center bottom/ 100%;

padding-bottom: 90px;
}

.second_stage .main {
background: url(/company/sustainability/img/2024/bg_all.png?241127)no-repeat center bottom/ 100%;

padding-bottom: 190px;
}

.second_stage.report .main {
padding-bottom: 300px;
}

.citizenship .sdgs:not(.citizenship .not_img) {
width: 100%;
justify-content: center;
height: 100%;
align-items: center;
position: absolute;
top: 0;
left: 0;
}

.citizenship .sdgs img {
max-width: 150px;
max-height: 150px;
width: 100%;
height: auto;
}

.citizenship .c-media__item {
position: relative;
}

.citizenship a img {

transition: .5s;

}

.citizenship a img:hover {

opacity: .5;

}

.sus .c-list--optional .c-list__marker {

padding-top: 10px;

}

.c-heading__subtitle_ud {
margin-top: 12px;
font-size: 1.6rem;
font-weight: 500;
line-height: 1.5;
}


/* 4分野-------------------------------------------------- */
.c-panel--grey.picup {
background: #74a4a340;
position: relative;
padding-bottom: 15%;
border: none;
}

.picup::before {
content: "";

background: url(/company/sustainability/business/img/2024/bg_business_01.png)no-repeat top 2% center/100%;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 2;
}

.picup::after {
content: "";
background: url(/company/sustainability/business/img/2024/bg_business_02.png)no-repeat bottom center/100%;
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 2;
}

.picup_sct {
background: #fff;
border-top: 2px solid #fce132;
padding: 60px 40px 40px 40px;
position: relative;
z-index: 3;
box-shadow: 0px 0px 15px -5px #5b8180;
}

.picup_sct .c-media-block {
margin-top: 0;
}

.picup_sct .c-media-block--float .c-media-block__media {
margin: 0 0 0 40px;
}

.picup_sct+.picup_sct {
margin-top: 60px;
}

.environment,
.social,
.business,
.governance {
.c-list .c-list {
padding-left: 0.875em;
margin-top: 0;
}
}

.environment,
.social,
.business,
.governance {
.c-list .c-list li {
margin-top: 4px;
padding-left: 0.875em;
}
}

/* 第3階層 */
.ov {

display: flex;

justify-content: space-between;

flex-wrap: wrap;

}

.ov>div {

width: 30%;

border-radius: 10px;

background: #ededed;

padding: 0 10px 10px 10px;

}

.ov.mat5>div:nth-child(1) {
width: 40%;
}

.ov.mat5>div:nth-child(2),
.ov.mat5>div:nth-child(3) {
width: 25%;
}

.ov.mat11>div,
.ov.mat12>div {
width: 47%;
}

.ov>div h2 {
font-weight: bold;
background: #ededed;
padding: 10px;
text-align: center;
}

.ov img {
max-width: 70px;
max-height: 70px;
width: 30%;
height: auto;
}

.ov img+img {
margin-left: 10px;
}

.ov.mat5 img {
width: 6vw;
height: auto;
}

.ov.mat5 img+img {
margin-left: 5px;
}

.ov>div>div {
background: #fff;
border-radius: 5px;
min-height: 100px;
box-sizing: border-box;
display: flex;
justify-content: center;
align-items: center;
text-align: center;
padding: 10px;
height: calc(100% - 47px);
}

.ov .c-list {
margin-top: 0!important;
text-align: left;
}

/* 事業-------------------------------------------------- */

.business .main header {
background: url(/company/sustainability/business/img/2024/main_03.jpg)no-repeat center bottom/ cover !important;
}

.main header .c-heading__subtitle,
.main header .c-heading-a {
color: #000;
}

.header_out {
background: none;
}

.header_out+.sdgs {
background: linear-gradient(180deg, #ffffff 0%, #ffffff 50%, #ededed 50%, #ededed 100%);
width: auto;
max-width: 1280px;
margin: 0 auto;
}

/* 環境-------------------------------------------------- */

.environment .main header {
background: url(/company/sustainability/environment/img/2024/main_02.jpg)no-repeat center bottom/ cover !important;
}

.environment .picup::before {
background: url(/company/sustainability/environment/img/2023/bg_env_01.png)no-repeat top 2% center/100%;
}

.environment .picup::after {
background: url(/company/sustainability/environment/img/2024/bg_env_02.png)no-repeat bottom center/100%;
}



/* 社会-------------------------------------------------- */

.social .main header {
background: url(/company/sustainability/society-labor/img/2024/main_02.jpg?241127)no-repeat center bottom/ cover !important;
}

.social .picup::after {
background: url(/company/sustainability/society-labor/img/2024/bg_scl_02.png?241127)no-repeat bottom center/100%;
}



/* ガバナンス-------------------------------------------------- */

.governance .main header {
background: url(/company/sustainability/governance/img/2024/main_02.jpg)no-repeat center bottom/ cover !important;
;
}

.governance .bg {
background: url(/company/sustainability/governance/img/2024/bg_gvn_02.png)no-repeat bottom center/100%;

position: relative;

padding-bottom: 180px;
}

.brd_r_none {
border-right: none;
}

.news-label {
min-width: 110px;
}

@media screen and (min-width: 1099px) {
.tab-sp {
display: none;
}
}
.mb12_pc{
margin-bottom: 140px;
}

@media screen and (max-width: 1099px) {
.pc {
display: none;
}


.main header:not(.highlight .main header) {
background: url(/company/sustainability/business/img/2023/main_02_tab.jpg)no-repeat center center/ cover;
}

.message .main {
background: url(/company/sustainability/img/2023/pic_02.png)no-repeat right top / 200px;
}

.materiality .main {
background: url(/company/sustainability/img/2024/bg_all.png?241127)no-repeat center bottom/ 240%;

padding-bottom: 160px;
}

.business .picup::before {
background: url(/company/sustainability/business/img/2023/bg_business_01_sp.png)no-repeat top 2% right/100%;
}

.environment .picup::before {
background: url(/company/sustainability/environment/img/2023/bg_env_01_sp.png)no-repeat top 2% right/100%;
}

.highlight .main {
background: url(/company/sustainability/highlight/img/2024/bg_highlight.png)no-repeat center bottom/ 140%;
}

.citizenship .main {
background: url(/company/sustainability/citizenship/img/2024/bg_citizenship.png)no-repeat center bottom/ 160%;

padding-bottom: 40px;
}

.second_stage .main {
background: url(/company/sustainability/img/2024/bg_all.png?241127)no-repeat center bottom/ 170%;
padding-bottom: 25vw;
}

.activity .c-media .c-media__item:last-child {
border-left: none;
border-top: 1px solid #000;
}

.fierd .c-grid .c-grid__item:nth-child(2).pc {
display: none;
}

.fierd .business .c-grid .c-grid__item img:not(h2 img).sp,
.fierd .c-grid .c-grid__item img:not(h2 img).sp {
margin: 0 auto;
position: relative;
display: block;
}
}

@media screen and (max-width: 700px) {

.ov>div,
.ov.mat11>div,
.ov.mat12>div {

width: 100%;

}

.ov>div+div {

margin-top: 10px;

}

.ov img,

.ov.mat5 img {

width: 70px;

height: 70px;

}

.ov.mat5 img {
margin-bottom: 5px
}

.ov.mat5>div>div {

flex-wrap: wrap;

padding: 10px 10px 5px 10px;

}

.ov>div>div {

min-height: unset;

}



.ov.mat5>div:nth-child(1),

.ov.mat5>div:nth-child(2),

.ov.mat5>div:nth-child(3) {
width: 100%;
}

}

@media screen and (min-width: 520px) {
.sp {
display: none;
}
}

@media screen and (max-width: 519px) {
.mb20sp {
margin-bottom: 20px;
}

.tab {
display: none;
}

.index-hero::before {
padding-top: calc(100% * (720 / 630));
}

.activity .c-media__item+.c-media__item {
border-left: none;
border-top: 1px solid #000;
}

.picup::after {

background: url(/company/sustainability/business/img/2023/bg_business_02.png)no-repeat bottom right/190%;
}

.main header:not(.highlight .main header) {
background: url(/company/sustainability/business/img/2023/main_02_sp.jpg)no-repeat center center/ cover;
}

.second_stage .main {
background: url(/company/sustainability/img/2024/bg_all.png?241127)no-repeat left bottom/ 260%;
}

.business .picup::before {
background: url(/company/sustainability/business/img/2023/bg_business_01.png)no-repeat top right/270%;
}

.environment .picup::before {
background: url(/company/sustainability/environment/img/2023/bg_env_01.png)no-repeat top right/270%;
}

.environment .picup::after {

background: url(/company/sustainability/environment/img/2024/bg_env_02.png)no-repeat bottom left/190%;

}

.social .picup::after {
background: url(/company/sustainability/society-labor/img/2024/bg_scl_02.png?241127)no-repeat bottom center/210%;
}

.governance .bg {
background: url(/company/sustainability/governance/img/2024/bg_gvn_02.png)no-repeat bottom center/233%;
padding-bottom: 100px;
}

.highlight .main {
background: url(/company/sustainability/highlight/img/2024/bg_highlight.png)no-repeat right 20% bottom/ 360%;
padding-bottom: 100px;
}

.citizenship .main {
background: url(/company/sustainability/citizenship/img/2024/bg_citizenship.png)no-repeat right bottom/ 250%;
padding-bottom: 100px;
}

.materiality .c-accordion__section__title__heading {
display: block;
}

.picup_sct .c-media-block--float .c-media-block__media {
margin: 0 0 20px 0;
}

.citizenship .sdgs {
position: relative;
}

.mat .c-link-block__item__link h3 span:first-child {
width: 100%;
}

.c-panel--grey.picup {
padding: 1% 0 15% 0;
}

.picup_sct {
padding: 30px 20px;
}

.business h1+.c-figure img,
.environment h1+.c-figure img,
.governance h1+.c-figure img,
.social h1+.c-figure img {
height: 300px;
object-fit: cover;
object-position: 92% 50%;
}

.mat_inn {
display: block;
}


.brd_r_none:not(.not_sp) {
border-right: 1px solid #000 !important;
}

.sdgs>li {
margin-bottom: 10px;
}

.citizenship .sdgs:not(.citizenship .not_img) {

position: relative;

}

.citizenship .not_img {

justify-content: center;

}
}

.news-label {
min-width: 165px;
}

@media screen and (max-width: 1099px) {

/* [class^="c-media__col"], [class*=" c-media__col"] {
grid-template-columns: repeat(1, 1fr);
gap: 95px 0;
} */
.min_1100 {

display: none;

}
}

@media screen and (min-width: 1500px) {

.second_stage .main {
padding-bottom: 360px;
}

}

/* [class^="c-media__col"],
[class*=" c-media__col"] {

display: grid;

gap: 0px;

} */

@media screen and (max-width: 1099px) {

/* [class^="c-media__col"],

[class*=" c-media__col"] {

gap: 0;

} */

.activity .c-media__item+.c-media__item,
.activity .c-media .c-media__item:last-child {

border: none;

}

}

/* ===============================================
2025追記▼▼▼▼▼▼▼▼▼▼
=============================================== */
/* 第2階層目メインイメージ */
.main_img {
width: 100%;
display: flex;
height: 410px;
box-sizing: border-box;
margin-top: 40px;
}

.main_img>div {
height: 100%;
box-sizing: border-box;
}

.main_img h1 {
display: flex;
align-items: center;
margin-bottom: 20px;
font-size: 42px;
}

.main_img h1 img {
width: 50px;
height: 50px;
margin-right: 10px;
}

.main_img p {
font-size: 14px;
}

.main_img .txt_box {
width: 35%;
background: #f3f3f3;
padding: 40px;
height: auto;
display: flex;
flex-direction: column;
justify-content: center;
border-radius: 10px 0 0 10px;
}

.business .main_img .txt_box {
background: #f2ecc5;
}

.environment .main_img .txt_box {
background: #e6f1d7;
}

.social .main_img .txt_box {
background: #fcefe7;
}

.governance .main_img .txt_box {
background: #e4e6f4;
}

.main_img .img_box {
width: 65%;
}

.main_img .img_box img {
width: 100%;
height: 100%;
object-fit: cover;
border-radius: 0 10px 10px 0;
}

.col3_note_right {
width: 30%;
margin: 0 0 0 auto;
}

@media screen and (max-width: 1099px) {
.col3_note_right {
width: 45%;
margin: 0 0 auto 0;
}
}

@media screen and (max-width: 519px) {
.col3_note_right {
width: 100%;
}
}

/* 第3階層目メインイメージ */
.main_img.lv2 {
margin-bottom: 40px;
height: 300px;
}

.main_img.lv2 .txt_box {
align-items: flex-start;
}

.main_img.lv2 h1 {
font-size: 27px;
margin-bottom: 0;
}

.main_img.lv2 p {
font-size: 18px;
border-bottom: 1px solid #000;
margin-bottom: 20px;
font-weight: bold;
display: inline-block;
line-height: 1;
}

.main_img.lv2 p span {
font-size: 28px;
margin-left: 10px;
display: inline-block;
}

/* 環境アクション */
.env_action .main_img.lv2 h1 {
font-size: clamp(29px, 1.8vw, 32px);
}

.env_action .main_img.lv2 {
aspect-ratio: 3/1;
height: auto;
}

.env_action .main_img.lv2 p {
border-bottom: unset;
font-weight: normal;
line-height: 1.5em;
font-size: clamp(14px, 1.8vw, 15px);
margin-top: 20px;
}

.env_action h2 {
font-size: 34px;
margin-block: 60px;
}

.env_action_pickup img {
width: 100%;
}

.env_action_pickup {
padding-bottom: 60px;
}

.env_action_pickup h3 {
margin-bottom: 20px;
font-size: 20px;
}

.env_action_pickup h3 p {
text-decoration: underline;
margin-bottom: 20px;
font-size: 16px;
}

.env_action_pickup .c-link-block__item__text {
margin-bottom: 40px;
}

.env_action_pickup .c-button {
display: inline-block;
}

.env_action_report h3 {
font-size: 20px;
margin-bottom: 20px;
}

.env_action_report .c-link-block__item__image {
position: relative;
}

.env_action_report .c-link-block__item__image>div {
background: #fce132;
width: 120px;
height: 36px;
display: flex;
justify-content: center;
align-items: center;
position: absolute;
top: 0;
right: 0;
font-size: 14px;
font-weight: bold;
}

/* 環境アクション記事ページ */
.env_action.article h1,
.env_action.article h2 {
text-align: center;
}

.env_action.article h1 {
font-size: 40px;
line-height: 1.5em;
margin-block: 40px;
}

.env_action.article h1 span {
font-size: 18px;
line-height: 1em;
margin-bottom: 40px;
text-decoration: underline;
display: inline-block;
}

.action_title_sub span {
font-size: 18px;
display: block;
}

.c-heading__subtitle_ud {
margin-top: 12px;
font-size: 1.8rem;
font-weight: 500;
line-height: 1.5;
}

@media screen and (max-width: 1300px) {
.txt_box_lg {
width: 45%!important;
}
}
@media screen and (max-width: 1200px) {
.txt_box_lg h1{
font-size: 20px!important;
}
}

@media screen and (max-width: 900px) {
.main_img {
flex-direction: column;
height: auto;
}

.main_img>div {
width: 100% !important;
}

.main_img .txt_box {
border-radius: 10px 10px 0 0;
padding: 30px;
}

.main_img .img_box {
aspect-ratio: 2.5/1;
}

.main_img .img_box img {
border-radius: 0 0 10px 10px;
}

.main_img.lv2 {
height: auto;
}

.env_action .main_img .img_box {
aspect-ratio: 2/1;
height: auto;
}
.env_action h1 {
font-size: 30px!important;
}
}

@media screen and (max-width: 519px) {
.main_img .txt_box {
padding: 20px;
}

.main_img .img_box {
height: auto;
aspect-ratio: 2/1;
}

.env_action.article h1 {
font-size: 30px!important;
}

.env_action h2 {
font-size: 24px;
}
}

/* ===============================================
2025追記▲▲▲▲▲▲▲▲▲▲
=============================================== */