  @import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap");

/* Start Setting */
:root {
    --green: #4DAB74;
    --green2: #D7EFE0;
    --blue2: #41A1BE;
    --white: #FFFFFF;
    --gray1: #5D6065;
    --font2: 'Jost', sans-serif;
    --font3: 'Arial', sans-serif;
    --purple: #865F89;
    --purple2: #806286;
    --purple3: #E3DBE3;
    --blue: #002C45;
    --blue3: #0E649E;
    --black: #333333;
    --white: #FFFFFF;
    --gray: #EBECEC;
    --buttlet: #2B2E34;
    --yellow: #D8DC40;
    --yellow2:#FBF8D1;
    --border: #2B2E34;
    --border2: #806286;
    --gray2:#f6f7f7;
    --blue4: #04487b;
    --blue5: #e4eaed;
    --purple4:#d2dbed;
    --blue6: #d5e4f6;
    --green3:#dce7d4;
    --blue7:#dbeaef;
    --gray3:#cedae8;
    --gray4:#CCCCCC;
}
body {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 14px;
    font-size: 0.875rem;
    font-weight: 400;
    -moz-text-size-adjust: none;
    -ms-text-size-adjust: none;
    text-size-adjust: none;
    -webkit-text-size-adjust: none;
}

ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
ul.normal {
    list-style:disc;
    margin: 0.5em 0 0.5em 0;
    padding: 0 0 0 1.2em;


}

ul.disc {
    list-style: disc;
    margin-block-start: 1em;
    margin-block-end: 1em;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
    padding-inline-start: 40px;
}
ul.disc li {
    padding-bottom: 0.25em;
    line-height: 1.8;

}

.block {
    display: block;
}

.inl-block {
    display: inline-block;
}

figure {
    margin: 0;
    display: block;
    font-size: 0;
}

p {
    margin: 0;
}

h1,
h2,
h3,
h4 {
    margin-top: 0;
}

.align-top {
    vertical-align: top;
}

.align-middle {
    vertical-align: middle;
}
.align-bottom {
    vertical-align: bottom;
}
.align-top {
    vertical-align:top;
}

.align-left {
    text-align: left !important;
}

.align-center {
    text-align: center !important;
}

.align-right {
    text-align: right !important;
}

.mb0 {
    margin-bottom: 0px !important;
}

.mt0 {
    margin-top: 0px !important;
}
.mb8 {
    margin-bottom: 8px !important;
}

.mt8 {
    margin-top: 8px !important;
}

.mt10 {
    margin-top: 10px !important;
}

.mt16 {
    margin-top: 16px !important;
}
.mt32 {
    margin-top: 32px !important;
}

.mb0 {
    margin-bottom: 0 !important;
}

.mb16 {
    margin-bottom: 16px !important;
}
.mb24 {
    margin-bottom: 24px !important;
}
.mb48 {
    margin-bottom: 48px !important;
}

.mt24 {
    margin-top: 24px !important;
}
.mt36 {
    margin-top: 36px !important;
}
.mt48 {
    margin-top: 48px !important;
}
.mt64 {
    margin-top: 64px !important;
}
.mt80 {
    margin-top: 80px !important;
}
.mb24 {
    margin-bottom: 24px !important;
}

.indent {
    display: block;
    padding-left: 1em;
}

.bg_white{
    background: var(--white);
}
.tategaki{
    writing-mode: vertical-rl; 
    white-space: pre; 
    display: inline-block;
}

/* End Setting */

/* Default */

.icon-circle {
    color: var(--green);
    position: relative;
    padding-left: 18px;
    font-weight: 500;
    margin-bottom: 8px;
    font-size: 18px;
    font-size: 1.125rem;
    line-height: 27px;
}

@media screen and (max-width: 991px) {
    .icon-circle {
        font-size: 16px;
        font-size: 1rem;
        line-height: 22px;
    }
}

.icon-circle::before {
    content: '';
    position: absolute;
    width: 12px;
    height: 12px;
    background: var(--green);
    border-radius: 50%;
    left: 0;
    top: 8px;
}

.bg_text-color {
    background: var(--gray1);
    color: var(--white);
    margin-bottom: 6px;
    font-size: 15px;
    line-height: 20px;
    padding: 5px;
    font-weight: 500;
}

.sustainability-layout-environment .bg_text-color {
    background: var(--green);
}

.sustainability-layout-governance .bg_text-color {
    background: var(--purple);
}

.sustainability-layout-social .bg_text-color {
    background: var(--blue2);
}

.has-icon {
    padding-left: 16px;
    position: relative;
}

.has-icon::before {
    content: "";
    position: absolute;
    width: 12px;
    height: 12px;
    background: var(--yellow);
    left: 0px;
    top: 8px;
}

.sustainability-layout-governance .has-icon::before {
    background: var(--purple);
}

.common-header-info-language-option.active {
    color: #DAE000;
}

.common-page-header-wrapper::after {
    content: '';
    position: absolute;
    left: 0;
    width: 100%;
    height: 100%;
    background: #002C45;
    opacity: .5;
    z-index: -1;
}

@media screen and (max-width: 320px) {
    .common-page-header-breadcrumb-list {
        top: 5px;
    }
}

.sustainability-paragraph {
    margin-bottom: 24px;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 22px;
}
.sustainability-notice {
    text-indent: -1.2em;
    padding-left: 2.4em;
}

.sustainability-paragraph:last-child {
    margin-bottom: 0;
}

.sustainability-heading {
    color: var(--blue);
    margin-bottom: 30px;
    font-weight: 500;
    font-size: 28px;
    font-size: 1.75rem;
    line-height: 1.6;
}
.sustainability-heading.statement,.sustainability-heading.stakeholder,.sustainability-heading.business,.sustainability-heading.materiality {
    padding-left: 54px;
    line-height: 42px;
    background: url('/images/sustainability/statement/heading-icon2025.svg') no-repeat;
}
h3.sustainability-heading.business{
    font-size: 1.5em;
    color: var(--blue);
    margin-block-end: 0.2em;
    padding-left: 0;
    background: none;
}
.circle-number {
    display: inline-block; 
    width: 1.5em; 
    height: 1.5em;
    border-radius: 50%; 
    background-color: var(--blue);
    text-align: center; 
    line-height: 1.5em; 
    color: var(--yellow);
    font-weight: bold;
    margin-right: 0.2em;
}

.number-color {
    color: var(--yellow)
}
.square-number {
    display: inline-block; 
    width: 1.5em; 
    height: 1.5em;
    background-color: var(--black);
    text-align: center; 
    line-height: 1.5em; 
    color: var(--yellow);
    font-weight: bold;
    margin-right: 0.4em;
}
.square-number-color {
    color: var(--white)
}





@media screen and (max-width: 767px) {
    .sustainability-heading {
        font-size: 22px;
        font-size: 1.375rem;
        line-height: 28px;
    }
}

.sustainability-sub-heading {
    font-size: 14px;
    font-size: 1rem; 
    font-weight: 500;
    color: var(--black);
    line-height: 27px;
    margin-top: 0;
    margin-bottom: 8px;
    font-feature-settings: "palt";
}
.sustainability-sub-heading-underline {
    padding: 0 0.5em 0 0;
    color: var(--yellow);
    font-family: Jost;
    font-size: larger;

}
.sustainability-sub-heading .label {
    background-color: var(--blue);
    padding: 2px 16px;
    border-radius: 16px;
    margin-bottom: 4px;
    display: inline-block;
    color: var(--yellow);
}

.ESG .sustainability-sub-heading {
    font-size: 1.25rem; 
}

.sustainability-sub-heading--blue {
    color: var(--blue);
}
.sustainability-sub-heading.head-indent {
    text-indent: -1.5em;
    padding-left: 2em;
    padding-bottom: 0.5em;
    border-bottom: dotted var(--white) 1px;
    color: var(--white);
}

.sustainability-sub-title {
    font-size: 16px;
    font-size: 1rem;
    font-weight: 500;
    line-height: 22px;
    margin-top: 0;
    margin-bottom: 8px;
}

.sustainability-paragraph-custom {
    font-size: 16px;
    font-size: 1.0rem;
    line-height: 1.8;
    margin-bottom: 0;
}

@media screen and (max-width: 991px) {
    .sustainability-paragraph-custom {
        font-size: 14px;
        font-size: 0.875rem;
        line-height: 22px;
    }
    .biodiversity-layout .item-padding{
        padding-bottom: 24px;
    }
}

.common-link-underline {
    text-underline-position: under;
    text-underline-offset: 1px;
    text-decoration: none;
    border-bottom: 1px solid;
}

.flex-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
}

.flex-image {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 74px;
    padding-right: 18px;
}

.flex-list {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    padding-bottom: 50px;
}
@media screen and (max-width: 350px) {
    .flex-image {
        margin: 0 auto 16px;
    }
    .flex-list{
        flex: unset;
    }
}

@media screen and (max-width: 991px) {
    .flex-list {
        padding-bottom: 24px;
    }
}

.flex-list-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 18px;
}

.flex-list-item:not(:last-child) {
    margin-bottom: 24px;
}

@media screen and (max-width: 991px) {
    .flex-list-item:not(:last-child) {
        margin-bottom: 16px;
    }
}

.flex-list-title {
    background: var(--green);
    color: var(--white);
    margin-bottom: 10px;
    font-weight: 500;
    padding: 2px 8px;
    font-size: 18px;
    font-size: 1.125rem;
    line-height: 27px;
}

.flex-list-sub-title {
    border: 1px solid var(--green);
    margin-bottom: 10px;
    font-weight: 500;
    font-size: 15px;
    font-size: 0.9375rem;
    line-height: 22px;
    padding: 12.5px 15px;
}

@media screen and (max-width: 500px) {
    .flex-list-title {
        font-size: 16px;
        font-size: 1rem;
        line-height: 22px;
    }

    .flex-list-sub-title {
        font-size: 14px;
        font-size: 0.875rem;
        line-height: 18px;
        padding: 12px;
    }
}

.icon {
    display: inline-block;
    vertical-align: top;
    background-repeat: no-repeat;
    background-position: center left;
}

.reponsive-table {
    overflow-x: auto;
    padding-bottom: 4px;
}

table {
    border-spacing: 0;
    width: 100%;
    border-right: solid 1px;
    border-bottom: solid 1px;
}

@media screen and (max-width: 991px) {
    table {
        width: 1000px;
    }
}

th,
td {
    padding: 5px 8px;
    line-height: 20px;
    text-align: center;
    color: #333333;
    box-sizing: border-box;
}

th .icon-circle,
td .icon-circle {
    color: #333333;
    font-size: 14px;
    line-height: 20px;
    font-weight: 400;
    padding-left: 16px;
    margin-bottom: 0;
}

th .icon-circle::before,
td .icon-circle::before {
    width: 11px;
    height: 11px;
    top: 5px;
}

th {
    border: thin solid;
    border-right: 0;
    font-weight: 500;
    border-bottom: 0;
}

td {
    border-top: solid 1px;
    border-left: solid 1px;
}

figcaption, small {
    display: block;
    font-size: 12px;
    font-size: 0.75rem;
    line-height: 18px;
    margin-top: 4px;
}

figcaption .row,
small .row {
    margin-left: 18px;
}

/* End Default */

/* Start Infroneer 1220 */
.common-page-header-company-report-sustainability::before {
    background-image: url("/images/sustainability/header-report-sustainability.jpg");
    left: 0;
    right: 0;
}

.sustainability-layout {
    margin-top: 80px;
}

.sustainability-section {
    padding-bottom: 72px;
}
.item-padding{
    padding-bottom: 50px;
}
@media screen and (max-width: 991px) {
    .sustainability-layout {
        margin-top: 24px;
    }
    .sustainability-section {
        padding-bottom: 32px;
    }
}

.bg_text-color.inl-block {
    /*padding: 0 8px;*/
    padding: 5px;
}

.sustainability-desc {
    margin-right: 45px;
    flex: 1;
}

@media screen and (max-width:767px){
    .sustainability-desc{
        margin-right: 0;
        margin-bottom: 24px;
    }
}

.sustainability-paragraph-image img {
    margin-top: -66px;
    max-width: 383px;
    object-fit: contain;
}

.environment-table th,
.environment-table td {
    border-color: var(--gray1);
}

.table-group th,
.row-bg {
    background: var(--gray);
    color: var(--black);
    font-weight: 500;
    border-color: var(--gray1);
}
.table-group td {
    border-color: var(--gray1);
}


.environment-table th,
.sustainability-layout-environment .row-bg {
    background: var(--green);
    color: var(--white);
}
.environment-table th.type2,.environment-table tr.type2 th {
    background: var(--gray3);
    color: var(--black);
}


.table-group td {
    text-align: left;
    vertical-align: top;
}

th.table-blank,td.table-blank   {
    border-top: none; 
    border-bottom: none; 
    background-color: transparent;
}
.table-bottom-border td, td.table-bottom-border {
    border-bottom: 1px solid;
}

.table-text-left td,
.table-text-left th {
    text-align: left;
}

.td-fs {
    font-size: 12px;
    font-size: 0.75rem;
    line-height: 20px;
    vertical-align: top;
}

.sustainability-reduction-image {
    margin-bottom: 24px;
    padding: 0 12px;
}

.hidden-desktop {
    display: none;
}

.sustainability-flex-info {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
}

.flex-info--bg {
    background: var(--green2);
    padding: 16px 22px 16px 16px;
}
.flex-info--bg.social {
    background: var(--blue6);
    padding: 16px 22px 16px 16px;
}
.social-topics-2 {
    display: flex;
    gap: 40px;
    background-color: #F0F2F4;
    padding: 1em 2em;
    border-radius: 12px;
    color: var(--blue);
}


.flex-info-item {
    width: calc(100% - 255px);
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding-right: 18px;
}
.flex-info-item2 {
    width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding-right: 18px;
    
}
.flex-info-item3 {
    width: calc(100% - 160px);
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding-right: 18px;
}
.flex-info-item2.bg {
    background: #465a6c;
    padding: 24px 32px;
    margin-bottom: 1em;

}
figure.flex-info-item {
    flex: 1;
    padding-right: 0;
}
figure.flex-info-item-col {
display: flex;
gap: 20px;
}

.common-panel-bar.social-hotline {
    width:  40%;
    margin: 0;
}

@media screen and (min-width:768px) {
    .flex-second .flex-info-item {
        width: calc(100% - 400px);
        margin-right: 50px;
        padding-right: 0;
    }

    .flex-second figure.flex-info-item {
        width: 350px;
        margin-right: 0;
    }
}

@media screen and (max-width:767px) {
    .flex-info-item,.flex-info-item3 {
        width: 100%;
        padding-right: 0;
    }

    figure.flex-info-item {
        margin-top: 16px;
        text-align: center;
        flex: auto;
    }
    figure.flex-info-item-col {
        display: block;
        text-align: center;
        margin: auto;
        padding: 1em 10%;
    }

    .common-panel-bar.social-hotline {
        width:  calc(100% - 87px);
    }
    
}

.industrial-image {
    margin: 0 auto 55px;
    max-width: 825px;
}

.para-link {
    display: inline-block;
    margin-bottom: 16px;
}

.sustainability-paragraph-image {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

@media screen and (max-width: 767px) {
    .sustainability-paragraph-image {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }

    .sustainability-paragraph-image img {
        margin: 0 auto;
        max-width: 100%;
    }
}

.sustainability-title-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.sustainability-title-item {
    position: relative;
    width: calc((100%/3) - 12px);
    overflow: hidden;
    font-size: 0;
    z-index: 2;
}

.sustainability-title-item img {
    -webkit-transition: .3s linear;
    -o-transition: .3s linear;
    transition: .3s linear;
}

@media screen and (min-width: 768px) {
    .sustainability-title-item img{
        height: 100%;
    }
}

.sustainability-title-item:hover img {
    -webkit-transform: scale(1.05);
    -ms-transform: scale(1.05);
    transform: scale(1.05);
    transition: .3s linear;
}

.sustainability-title-item:hover::before {
    opacity: .3;
    -webkit-transition: .3s linear;
    -o-transition: .3s linear;
    transition: .3s linear;
}

@media (min-width: 501px) and (max-width: 767px) {
    .sustainability-title-item {
        width: calc((100%/2) - 10px);
        margin-bottom: 20px;
    }
}

@media (max-width: 500px) {
    .sustainability-title-item {
        width: 100%;
        margin-bottom: 20px;
    }
}

.sustainability-title-item::before {
    content: '';
    position: absolute;
    z-index: 2;
    width: 100%;
    height: 100%;
    background-color: #002c45;
    opacity: 0;
    transition: opacity 0.5s;
}

.sustainability-title {
    position: absolute;
    width: 100%;
    left: 0;
    bottom: 0;
    padding-left: 24px;
    font-size: 20px;
    line-height: 27px;
    color: #fff;
    font-weight: 500;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background: rgba(0, 44, 69, 0.5);
    padding: 12px 24px 11px;
    z-index: 2;
}

.title-layout {
    height: 100%;
    display: flex;
    align-items: center;
    background: transparent;
}

.flex-space-image{
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
}
.flex-space-item{
    width: calc((100%/2) - 25px);
    cursor: zoom-in;
}
.flex-space-item figure{
    transition: opacity .3s;
}


.flex-space-item figure:hover{
    opacity: .5;
    transition: opacity .3s;

}

.flex-space-item img{
    border: 1px solid;
}

@media(max-width:991px) {
    .flex-space-item{
        width: calc((100%/2) - 5px);
    }
}

#lightbox{
    position: fixed;
    opacity: 0;
    visibility: hidden;
    z-index: 100;
    top: 50%;
    left: 50%;
    transform: translate3d(-50%,-50%,0);
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, .6);
    transition: .5s ease-in-out;
    display: flex;
    align-items: center;
    justify-content: center;
   }
   
   #lightbox.active{
    opacity: 1;
    visibility: visible;
    transition: .5s ease-in-out;
   }
   
  @media (min-width:551px){
    #lightbox img{
        height: 90%;
      }
  }

   .fixHidden{
    overflow: hidden;
   }

/* End Infroneer 1220 */

/* Start Infroneer 1229 */

.sustainability-layout-governance .sustainability-section{
    padding-bottom: 40px;
}

.sustainability-layout-governance .sustainability-sub-heading {
    margin-bottom: 8px;
}

.sustainability-layout-governance .sustainability-sub-title {
    color: var(--purple);
    margin-top: 28px;
    font-size: 18px;
    font-size: 1.125rem;
    line-height: 27px;
    font-weight: 500;
}

.common-page-header-sub-governance::before {
    background-image: url("/images/sustainability/header-sub-governance.jpg");
}

.flex-list-governance .flex-list-title {
    background: var(--purple);
}

.flex-list-governance .flex-list-sub-title {
    border: 1px solid var(--border2);
}

.group-name {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.group-name+.group-name {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.group-name+.group-name .team-item {
    width: calc(22% - 25px);
}

.group-name+.group-name .team-item:nth-child(2)::before {
    top: 4px;
}

.group-name .team-top {
    padding: 0 0 5px;
    position: relative;
    border-bottom: 2px solid var(--gray);
    margin: 0 0 15px;
    width: 100%;
}

.team-item {
    margin: 0 0 8px;
    width: calc((100% / 5) - 25px);
    position: relative;
    padding-left: 12px;
    min-height: 70px;
}

.team-item::before {
    content: "";
    position: absolute;
    width: 6px;
    height: 70px;
    background: var(--yellow);
    left: 0;
    top: 5px;
}

.team-item:nth-child(5) .group-text .text-total:first-child {
    padding: 0 4px 0 0;
}

.position {
    font-size: 15px;
    font-size: 0.9375rem;
    line-height: 19px;
}

.group-text {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
}

.text-total:first-child {
    padding: 0 12px 0 0;
}

.text-total:not(:first-child) .name-upper {
    text-align: center;
}

.text-total.special {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
}

.name-upper {
    font-size: 18px;
    font-size: 1.125rem;
    line-height: 15px;
}

.pos-upper {
    font-size: 11px;
    font-size: 0.6875rem;
    line-height: 17px;
    background: var(--gray);
    text-align: center;
    width: 100%;
    max-width: 160px;
    margin: 8px 0 0;
    padding: 2px;
}

.name-upper span {
    padding: 0 6px 0 0;
}

.name-upper span:last-child {
    padding: 0;
}

.text-total.special>p {
    line-height: 12px;
}

.text-total.special>p:first-child {
    padding: 0 6px 0 0;
}

.text-total.special>p .name {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.text-total.special>p .name-upper {
    display: inline-block;
}

.name {
    font-size: 8px;
    font-size: 0.5rem;
    line-height: 12px;
    text-align: left;
    letter-spacing: 1.5px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.team-content{
    margin-bottom: 40px;
}

.has-mg-top{
    margin-top: 48px;
}

.sustainability-layout-governance .governancemain{
    padding-bottom: 128px;
}

.sustainability-layout-governance .sustainability-section-banner{
    padding-bottom: 160px;
}

@media (max-width:991px){
    .sustainability-layout-governance .governancemain,
    .sustainability-layout-governance .sustainability-section-banner{
        padding-bottom: 48px;
    }
}

@media screen and (max-width: 767px) {
    .group-name+.group-name {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        max-width: 50%;
    }

    .team-content {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
        -webkit-box-align: baseline;
        -ms-flex-align: baseline;
        align-items: baseline;
    }

    .group-name+.group-name .team-item {
        width: 100%;
        padding-right: 0;
        width: 100%;
    }

    .team-content>* {
        padding: 0 15px;
        width: 50%;
    }

    .team-item {
        width: 100%;
        padding-right: 5px;
        min-height: 75px;
    }
}

@media screen and (min-width: 992px) {
    .group-name+.group-name .team-item {
        left: 10px;
    }

    .group-name+.group-name .team-item:nth-child(1) {
        left: 20px;
        top: -5px;
    }

    .group-name+.group-name .team-item:nth-child(2) {
        left: 16px;
        top: -4px;
    }
}


.governance-table th {
    background: var(--purple);
    border-color: var(--gray);
    color: var(--white);
    /*padding: 5px 1px;
    line-height: 17px;*/
}

.governance-table td{
    /*padding: 5px 2px;
    line-height: 17px;*/
    border-color: var(--gray1);
}

.governance-table th.table-sticky {
    border-left: 1px solid var(--purple);
}

.governance-table-child tr:nth-child(2n) td {
    background: var(--purple3);
}

.governance-table-child td .bullet {
    font-family: var(--font3);
    font-size: 18px;
    font-size: 1.125rem;
    line-height: 21px;
    color: var(--buttlet);
}

.download-pdf .icon {
    padding: 16px;
    background-size: 31px;
}

.download-pdf a {
    line-height: 20px;
    -webkit-transition: opacity 0.3s;
    -o-transition: opacity 0.3s;
    transition: opacity 0.3s;
    border-bottom: 1px solid;
    text-decoration: none;
}

.icon-pdf {
    background-image: url("/images/sustainability/file-pdf-solid-govermance.svg");
}

.scroll-image {
    overflow-x: auto;
}

@media screen and (min-width:768px) {
    .hide-pc {
        display: none;
    }

    .scroll-image img {
        max-width: 960px !important;
    }
}

@media screen and (max-width:767px) {
    .hide-sp {
        display: none;
    }

    .-mobile img {
        max-width: 669px !important;
    }

    .table-sticky {
        left: 0;
        position: -webkit-sticky;
        position: sticky;
        z-index: 1;
        width: 95px;
        top: 0;
        background: #fff;
    }

    .table-sticky::before,
    .table-sticky::after {
        content: "";
        display: block;
        height: 100%;
        position: absolute;
        top: 0;
        width: 1px;
    }

    .table-sticky::before {
        border-left: 1px solid var(--border);
        left: -1px;
    }

    .table-sticky::after {
        border-right: 1px solid var(--border);
        right: -1px;
    }

    .table-sticky.group.second-col::after {
        bottom: 35px;
        top: auto;
        height: calc(100% - 35px);
    }

    .table-sticky.group.no-border::after,
    .table-sticky.group.first-col::after {
        border-color: #fff;
    }

    .table-sticky.group {
        background-color: #fff;
    }
}

@media(max-width:991px) {
    .table__body {
        overflow-x: auto;
    }
}

.has-table {
    width: 810px;
}

.has-table th {
    background: var(--white);
    color: var(--purple);
    font-size: 18px;
    line-height: 17px;
    font-weight: normal;
}

.has-table td {
    text-align: left;
    padding: 15px 6px;
    box-sizing: border-box;
}

.has-table .icon-circle::before {
    background: #333;
    width: 10px;
    height: 10px;
}

.has-table .icon-circle{
    display: block;
    min-width: 83px;
}

.has-table .bg-lightpurple {
    background: var(--purple3);
}
.has-table .has-spacing span{
    line-height: 1.2;
    display: block;
}
.has-table .has-spacing span:first-child{
    padding: 0 0 30px;
    position: absolute;
    top: 5px;
    left: 50%;
    transform: translateX(-50%);
    content: "";
}

.has-table .has-spacing span:nth-child(2){
    position: absolute;
    top: 230px;
    left: 50%;
    transform: translateX(-50%);
    content: "";
}

.has-table .has-spacing span:last-child{
    padding: 0;
    position: absolute;
    top: auto;
    bottom: 80px;
    left: 50%;
    transform: translateX(-50%);
    content: "";
}

.has-table .first-col {
    width: 29px;
    left: 0px;
    min-width: 29px;
    max-width: 29px;
}

.has-table .second-col {
    width: 33px;
    left: 29px;
    min-width: 33px;
    max-width: 33px;
}

.has-table .third-col {
    width: 33px;
    left: 62px;
    padding: 24px 0;
    min-width: 33px;
    max-width: 33px;
}

.no-border-top{
    border-top:1px solid var(--purple);
}

.has-table .no-border{
    border-left: 0 none;
}

.has-table .no-border::before{
    border: 0;
}

.has-table .bg-pink {
    background: var(--purple);
    color: var(--white);
    font-size: 17px;
    text-align: center;
}

/* End Infroneer 1229 */

/* Start Infroneer 1230 */
.common-page-header-default::before {
    background-image: url('/images/sustainability/sustainability_top_banner.jpg');
}

.sustainability-section-banner {
    padding-bottom: 160px;
}

@media screen and (max-width:991px) {
    .sustainability-section-banner {
        padding-bottom: 32px;
    }
}

/* End Infroneer 1230 */

/* Start Infroneer 1231 */
.social section,
.sustainability-layout-social section {
    padding-bottom: 48px;
}

@media screen and (max-width:991px) {
    .social section,
    .sustainability-layout-social section {
        padding-bottom: 32px;
    }
}

.sustainability-layout-social .sustainability-sub-title {
    color: var(--blue2);
    margin-top: 28px;
    font-size: 18px;
    font-size: 1.125rem;
    line-height: 27px;
    font-weight: 500;
}

.sustainability-layout-social .icon-circle::before,
.sustainability-layout-social .sustainability-sub-title.has-icon::before {
    content: '';
    position: absolute;
    width: 12px;
    height: 12px;
    background: var(--blue2);
    border-radius: 50%;
    left: 0;
    top: 8px;
}

.common-page-header-social::before {
    background-image: url('/images/sustainability/header-social-sustainability.jpg');
    background-position: center 70%;
    left: 0;
    right: 0;
}

.flex-list-social .flex-list-title {
    background: var(--blue2);
}

.flex-list-social .flex-list-sub-title {
    border: 1px solid var(--blue2);
}

.social-image {
    text-align: center;
}

.social-image img {
    max-width: 750px;
}

.img-scroll {
    overflow-x: auto;
}

.img-scroll .w-100 {
    max-width: 960px;
}

.social .icon-circle,
.sustainability-layout-social .icon-circle {
    color: var(--blue2);
}

.social .icon-circle::before,
.sustainability-layout-social .icon-circle::before {
    background: var(--blue2);
}

.figure-image {
    max-width: 530px;
    margin: 0 auto 24px;
}
.float-right.photo {
    float: right;
    width: 30%;
    max-width: 500px;
    margin: 5px 0 16px 30px;
}

.social-table th,
.table-social th,
.sustainability-layout-social th {
    background: var(--blue2);
    color: var(--white);
    border-color: var(--border);
}

.list-number {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.social-table td,
.table-social td{
    text-align: right;
    border-color: var(--border);
}

@media screen and (max-width: 991px) {
    .list-number {
        max-width: 890px;
    }
}

.list-number h3 {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
}

.list-number span {
    width: 65px;
    margin-right: -16px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.cs-width-50{
    width: 100%;
}

@media screen and (min-width:768px) {
    .cs-width-50{
        width: 50%;
    }
}


.flex-direction-content{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

.support-flex{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 48px;
}

.support-flex:last-child{
    margin-bottom: 0;
}

.support-flex-item{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 12px;
}

.support-flex-item:last-child{
    margin-bottom: 0;
}

.box-flex{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
   
    background: #41A1BE;
    color: #fff;
    font-size: 17px;
    font-size: 1.0625rem;
    line-height: 25px;
    box-sizing: border-box;
}

.support-flex-text{
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
}

@media screen and (min-width:681px) {
    .box-flex{
        flex-direction: column;
    }
    .support-flex-item:first-child .box-flex{
        padding: 48px 56px;
    }
    
    .support-flex-item:last-child .box-flex{
        padding: 56px 48px;
    }

    .support-flex-text{
        margin-left: 32px;
    }
}

@media screen and (max-width:680px) {
    .box-flex{
        width: 100%;
        padding: 24px;
        margin-bottom: 16px;
    }

    .cs-mg-mobile{
        margin-bottom: 16px;
    }
}



.support-flex .sustainability-sub-title{
    width: 100%;
}

.support-flex .flex-info-item{
    display: flex;
    width: 100%;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-orient: vertical;
    flex-wrap: wrap;
    margin-top: 0;
}
@media screen and (min-width:601px) {
    .support-flex .flex-info-item{
        width: calc(100% - 146px);
        padding-right: 18px;
        flex-wrap: nowrap;
        flex-direction: column;
    }
    figure.flex-info-item{
        justify-content: center;
    }
}

@media (min-width:601px) and (max-width:830px) {
    .support-flex .flex-info-item{
        width: calc(100% - 180px);
    }
}

.support-flex figure.flex-info-item{
    justify-content: center;
}

.support-flex:last-child .flex-info-item{
    width: calc(100% - 341px);
}
.w-50{
    width: 50%;
}
.w40{
    width: 40%;
}
.w30{
    width: 30%;
}
.w-25{
    width: 25%;
}
.w100{
    width: 100px;
}
.w170{
    width: 170px;
}
@media screen and (max-width:767px){
    .support-flex:last-child .flex-info-item{
        width: 100%;
    }

    .support-flex:last-child figure.flex-info-item{
       margin-top: 16px;
       text-align: left;
       justify-content: left;
    }

    .table-mobile{
        width: 100%;
    }

    .table-mobile th{
        min-width: 90px;
    }

    .tb-01 .mobile-resize{
        width: 200px;
    }

    .tb-02 .mobile-resize{
        width: 55%;
    }
    .tb-02 th{
        min-width: 120px;
    }

    .tb-04 th,
    .tb-05 th{
        min-width: 100px;
    }

    .tb-05 .mobile-resize{
        width: auto;
    }

    .tb-06 .first-resize{
        width: 70px;
        min-width: 70px;
    }

    .tb-06 .mobile-resize{
        min-width: 160px;
    }

    .tb-07 th{
        width: auto;
        min-width: 160px;
     }

    .tb-07 .mobile-resize{
        width: 110px;
        min-width: unset;
    }

    .tb-08 th{
        min-width: 60px;
    }
}

.support-flex:last-child figure.flex-info-item{
   padding-right: 0;
}

.author{
    width: 100%;
    text-align: right;
    margin-top: 8px;
}

.has-mobile{
    display: none;
}

@media screen and (max-width:600px) {
    .author{
        display: none;
    }

    .author.has-mobile{
        display: block;
        text-align: center;
    }
}

.note{
    margin-top: 12px;
    font-size: 12px;
    font-size: 0.75rem;
    line-height: 18px;
}
/* End Infroneer 1231 */


/* Mobile Table Sticky */
@media(max-width:767px){
    .sticky-table{
        position: -webkit-sticky;
        position: sticky;
        left: 0;
        z-index: 1;
    }

    .sticky-table::before, 
    .sticky-table:after{
        content: '';
        position: absolute;
        width: 1px;
        background: var(--gray1);
        top: 0;
        bottom: 0;
    }

    .sticky-table::before{
        left: 0;
    }

    .sticky-table:after{
        right: -1px;
    }

    .not-after::after{
        content: unset;
    }
    .no-bor-lr{
        border-left: 0;
        border-right: 0;
    }

    .no-bor-l{
        border-left: 0;
    }

    .col-w35{
        width: 35px;
        min-width: 35px;
        max-width: 35px;
        left: 0;
    }

    .col-l35{
        left: 35px;
    }
}

/* Start Infroneer 1242 */
.biodiversity-layout{
    margin: 48px auto;
}
@media(max-width:991px){
    .biodiversity-layout{
        margin: 24px auto;
    }
}
.bg_green{
    background: #4DAB74;
    border-color: #4DAB74;
    color: #4DAB74;
}
.bg_blue{
    background: #466F86;
    border-color: #466F86;
    color: #466F86;
}
.bg_yellow{
    background: #A7AB4D;
    border-color: #A7AB4D;
    color: #A7AB4D;
}

.history-list{
    display: inline-block;
}

@media(min-width:991px){
    .history-list{
        overflow: hidden;
        background-image: url('/images/sustainability/bg.png');
    }
    
}

.history-list-item{
    float: right;
    width: 55.3%;
    position: relative;
    min-height: 300px;
    transition: margin-top .3s;
}

.history-list-item:last-child{
    min-height: unset;
}


.history-list-item:before {
    content: '';
    position: absolute;
    left: 20px;
    top: 110px;
    background: url('/images/sustainability/icon-line.svg');
    width: 70px;
    height: calc(100% - 217px);
    transition: top .3s;
}
.history-list-item:last-child:before{
    background-image: unset;
}


.history-year{
    float: left;
    font-size: 30px;
    font-weight: 500;
    color: #fff;
    border-radius: 30px;
    position: relative;
    min-height: 100px;
    min-width: 100px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
}

.history-year::before{
    content: '';
    position: absolute;
}

.icon-border-right::before{
    border-top: 7px solid transparent;
    border-bottom: 8px solid transparent;
    border-left: 13px solid #4DAB74;
    right: -13px;
    top: 50%;
    transform: translateY(-50%);
}

.icon-border-left::before{
    border-top: 7px solid transparent;
    border-bottom: 8px solid transparent;
    border-right: 13px solid #4DAB74;
    left: -13px;
    top: 50%;
    transform: translateY(-50%);
}

.history-heading{
    float: right;
    width: calc(100% - 15px);
    border-radius: 50px;
    border: 6px solid;
    box-sizing: border-box;
    font-size: 20px;
    line-height: 22px;
    font-weight: 500;
    background: #fff;
    margin: 10px 0;
    display: flex;
    align-items: center;
    padding-right: 50px;
    transition: opacity .3s;
    font-feature-settings: "palt";
}
.icon-plus{
    position: absolute;
    width: 20px;
    height: 20px;
    right: 25px;
    -webkit-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}
.history-heading.expend .icon-plus{
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
}

.icon-plus::before,
.icon-plus::after{
    display: flex;
    content: '';
    border-radius: 10px;
    width: 20px;
    height: 2px;
    position: absolute;
    top: 9px;
    left: 0;
}

.icon-plus::before{
    width: 2px;
    height: 20px;
    top: 0;
    left: 9px;
}

.history-heading .icon{
    width: 80px;
    height: 80px;
    border-radius: 50%;
    margin: -6px 10px -6px -6px;
    min-width: 80px;
    background-position: center;
}
.icon-green{
    background-color: #4DAB74;
}
.icon-blue{
    background-color: #466F86;
}
.icon-yellow{
    background-color: #A7AB4D;
}

.icon-plus-green::before,
.icon-plus-green::after{
    background-color: #4DAB74;
}

.icon-plus-blue::before,
.icon-plus-blue::after{
    background-color: #466F86;
}

.icon-plus-yellow::before,
.icon-plus-yellow::after{
    background-color: #A7AB4D;
}

.icon-01{
    background-image: url('/images/sustainability/icon-01.svg');
}
.icon-02{
    background-image: url('/images/sustainability/icon-02.svg');
}
.icon-measures-yel{
    background-image: url('/images/sustainability/icon-measures-yel.svg');
}
.icon-measures-blue{
    background-image: url('/images/sustainability/icon-measures-blue.svg');
}
.icon-measures-green{
    background-image: url('/images/sustainability/icon-measures-green.svg');
}
.icon-gift{
    background-image: url('/images/sustainability/icon-gift.svg');
}
.icon-gift-green{
    background-image: url('/images/sustainability/icon-gift_green.svg');
}
.icon-gift-blue{
    background-image: url('/images/sustainability/icon-gift_blue.svg');
}
.icon-tree{
    background-image: url('/images/sustainability/icon-tree.svg');
}
.icon-tree-green{
    background-image: url('/images/sustainability/icon-tree_green.svg');
}
.icon-tree-blue{
    background-image: url('/images/sustainability/icon-tree_blue.svg');
}
.icon-technology-green{
    background-image: url('/images/sustainability/icon-technology-green.svg');
}

.icon-educate-green{
    background-image: url('/images/sustainability/icon-educate-green.svg');
    background-size: 15px!important;
}

.icon-technology-blue{
    background-image: url('/images/sustainability/icon-technology-blue.svg');
}
.icon-technology-yel{
    background-image: url('/images/sustainability/icon-technology-yel.svg');
}
@media(max-width: 991px){
    .history-heading .icon.icon-technology-green{
        background-size: 35px;
    }
    .history-heading .icon.icon-technology-blue{
        background-size: 35px;
    }
    .history-heading .icon.icon-technology-yel{
        background-size: 35px;
    }
}
.icon-09{
    background-image: url('/images/sustainability/icon-09.svg');
    background-size: 45px;
}

.history-content{
    float: right;
    width: 100%;
    margin-left: 15px;
    line-height: 1.6;
    display: none;
}

.history-content h3{
    font-size: 20px;
}

.history-content h3,
.history-content p{
    color: #002C45;
}
.history-content p{
    padding-bottom: 1em;
}
.accordion-content{
    display: flex;
    flex-wrap: wrap;
    background: #fff;
}
.history-content p a {
    text-decoration: underline;
}


.accordion{
    width: 100%;
}
@media(min-width:992px){
    .history-heading:hover{
        opacity: .7;
        transition: opacity .3s;
    }

    .bg-pos358::before{
        background-position-y: 358px;
    }
    .bg-pos268::before{
        background-position-y: 268px;
    }
    .bg-pos-90::before{
        background-position-y: -90px;
    }
    .bg-pos360::before{
        background-position-y: 360px;
    }
    .bg-pos448::before{
        background-position-y: 448px;
    }
    .history-list-item.item-04::before{
        height: calc(100% - 228px);
    }
    
    .history-list-item:nth-child(2n) {
        float: left;
    }
    
    .history-list-item:not(:first-child){
        margin-top: -98px;
    }

    .history-list-item.item-05{
        margin-top: -207px;
    }

    .history-list-item.item-08{
        margin-top: -198px;
    }
    
    .history-list-item:nth-child(2n)::before {
       left: auto;
       right: 10px;
    }
    
    .history-list-item:nth-child(2n) .history-year{
        float: right;
    }
    .history-list-item:nth-child(2n) .history-heading{
        float: left;
        margin-left: 0;
        width: calc(100% - 15px);
    }
    .history-list-item:nth-child(2n) .history-content{
        float: left;
        margin-left: 0;
        margin-right: 10px;
    }
    .history-list-item:nth-child(2n) .icon-plus{
        right: 140px;
    }

}


@media(max-width:991px){

    .bg-pos358::before{
        background-position-y: 358px;
    }
    .bg-pos268::before{
        background-position-y: 268px;
    }
    .bg-pos-90::before{
        background-position-y: -90px;
    }
    .bg-pos360::before{
        background-position-y: 360px;
    }
    .bg-pos448::before{
        background-position-y: 448px;
    }

    .history-list-item {
        width: 100%;
        min-height: 122px;
    }
    .icon-border-left::before{
        border-right: 0;
        border-left: 13px solid #4DAB74;
        right: -13px;
        left: auto;
    }
    .history-list-item:before{
        left: 20px;
        top: 75px;
        width: 35px;
        height: calc(100% - 80px);
        background-size: 35px;
    }
    .history-year{
        font-size: 19px;
        border-radius: 20px;
        min-height: 66px;
        min-width: 66px;
    }
    .history-heading{
        font-size: 15px;
        line-height: 20px;
        padding-right: 26px;
        margin: 6px 0;
    }

    .history-heading .icon{
        width: 54px;
        height: 54px;
        min-width: 54px;
        background-size: 22px;
    }
    .history-heading .icon-06{
        background-size: 10px;
    }
    .icon-plus{
        right: 16px;
        width: 14px;
        height: 14px;
    }
    .icon-plus::before{
        height: 14px;
        left: 6px;
    }
    .icon-plus::after{
        width: 14px;
        top: 6px;
    }

    .history-content{
        margin-bottom: 8px;
    }
}

@media(max-width:400px){
    .history-content {
        width: 100%;
        max-width: 256px;
        margin-right: -10px;
        margin-bottom: 24px;
    }
    .history-content p{
        margin-bottom: 24px;
    }
}

.bg_green::before{
    border-left-color: #4DAB74;
    border-right-color: #4DAB74;
}
.bg_blue::before{
    border-left-color: #466F86;
    border-right-color: #466F86;
}
.bg_yellow::before{
    border-left-color: #A7AB4D;
    border-right-color: #A7AB4D;
}
/* End Infroneer 1242 */

.sustainability-top {
    margin-top: 64px;
}

.sustainability-top .sustainability-section-banner {
    padding-bottom: 48px;
}

.sustainability-title-box {
    display: flex;
    justify-content: space-between;
}

.sustainability-title-heading {
    position: relative;
    width: 100%;
    margin: 0 48px 0 0;
    padding: 36px 0 8px 0;
    font-size: 30px;
    font-weight: bold;
    color: var(--blue);
    line-height: 1.5;
}

.sustainability-title-heading::before,
.sustainability-title-heading::after {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    width: 100%;
    height: 1px;

}

.sustainability-title-heading::before {
    top: 0;
    background-color: var(--blue);
}

.sustainability-title-heading::after {
    bottom: 0;
    background-color: var(--yellow);
}
.sustainability-title-heading img {
    width: 400px;
    padding: 0 0 0 18px;

}

.sustainability-report {
    width: 400px;
    flex: 1 0 auto;
}

.sustainability-report-link {
    position: relative;
    display: block;
    padding: 20px 0;
    background-color: #c3e3ec;
    border-radius: 8px;
    transition: background-color .4s ease-out;
}

    @media (min-width: 768px) {
        .sustainability-report-link:hover {
            background-color: #8fb8c3;
        }
    }

.sustainability-report-image {
    width: 240px;
    margin: 0 20px;
    margin-left: auto;
}

.sustainability-report-text {
    position: absolute;
    top: 31px;
    left: -42px;
    width: 134px;
    padding: 8px 16px 8px 16px;
    background-color: var(--blue);
    border-radius: 32px 8px 32px 8px;
    font-size: 18px;
    font-weight: bold;
    color: var(--white);
    line-height: 1.45;
}

@media (max-width: 767px) {
    .sustainability-top {
        margin-top: 40px;
    }

    .sustainability-top .sustainability-section-banner {
        padding-bottom: 16px;
    }

    .sustainability-title-box {
        display: block;
        margin-bottom: 40px;
    }

    .sustainability-title-heading {
        padding: 20px 0;
        font-size: 24px;
    }

    .sustainability-report {
        margin: 40px auto 0;
    }

    .sustainability-report-text {
        top: 29px;
    }
    .sustainability-title-heading img {
    width: 400px;
    padding: 12px 0 0 0;
}
}

.sustainability-nav {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: 1fr;
    grid-gap: 24px;
}
.sustainability-nav.is-type-03 {
    grid-template-columns: repeat(2, 1fr);
}
.sustainability-nav.is-type-02 {
    margin-bottom: 4em;
}

.sustainability-nav-image{
    overflow: hidden;
}


.sustainability-nav-image img{
    transition: transform .5s ease;
}

.is-type-02 .sustainability-nav-image img{
    width: 304px;
    height: 44px;
    object-fit: cover;
}

.sustainability-nav-link {
    position: relative;
    display: block;
    transition: opacity .4s ease-out;
}
    @media (min-width: 768px) {
        .sustainability-nav-link:hover {
            opacity: 0.85;
        }
        .sustainability-nav-link:hover img{
            transform: scale(1.1);
        }
    }

.sustainability-nav-text {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 10px 10px 10px 24px;
    box-sizing: border-box;
    background-color: rgba(0, 44, 69, 0.5);
    font-size: 20px;
    font-weight: bold;
    line-height: 1.5;
    color: var(--white);
}
.is-type-02 .sustainability-nav-text {
    font-size: 16px;
}

@media (max-width: 767px) {
    .sustainability-nav {
        grid-template-columns: repeat(1, 1fr);
        grid-gap: 32px;
    }
    .sustainability-nav.is-type-03 {
        grid-template-columns: repeat(1, 1fr);
    }

    .sustainability-nav.is-type-01 {
        grid-gap: 24px;
    }
    .sustainability-nav-ESG{
        height: 160px;

    }
}
.sustainability-nav-item.environment{
    background-color: #D7EFE0;

}
.sustainability-nav-item.social{
    background-color: #D8EAF0;

}
.sustainability-nav-item.governance{
    background-color: #F2ECEE;

}
.sustainability-nav-submenu-list {
    margin: 1em 1em 2em;
    padding-left: 12px;
    min-width: 168px;
}
.sustainability-nav-submenu-item {
    position: relative;
    list-style: none;
    margin: 12px 0;
    font-size: 16px;
}
.is-type-02 .sustainability-nav-submenu-item{
    font-size: 14px;
}

.sustainability-nav-submenu-item::before {
    content: '-';
    position: absolute;
    margin-left: -12px;
    margin-right: 6px;
    width: 6px;
    color: #808c9b;
  }
  .sustainability-nav-submenu-item.index::before {
    content: ' ';
  }
  .sustainability-nav-submenu-item  {
    color: #666;
    font-weight:bold;
    font-feature-settings: "palt";
  }
  .sustainability-nav-submenu-item a {
    color: #002c45;
    font-weight: normal;
  }


.sustainability-card {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: 1fr;
    grid-gap: 16px;
    margin-top: 64px;
}

.sustainability-card-link {
    position: relative;
    display: block;
    border: 1px solid #466F86;
    border-radius: 3px;
    text-align: center;
}

.sustainability-card-inner {
    padding: 33px 0px;
    border: 1px solid transparent;
    border-radius: 2px;
    transition: background-color .3s ease-out;
}
@media (min-width: 768px) {
    .sustainability-card-inner {
        padding: 40px 0px;
    }
    
    .sustainability-card-inner:hover {
        background-color: #dae8fa;
    }
}

.sustainability-card-icon {
    display: block;
    width: 48px;
    margin: 0 auto;
}
@media (min-width: 768px) {
    .sustainability-card-icon {
        width: 60px;
    }   
}

.sustainability-card-text {
    margin-top: 10px;
    font-size: 1rem;
    min-height: 2.95rem;
    display: flex;
    align-items: end;
    justify-content: center;

}

@media (max-width: 834px) {
    .sustainability-card {
        grid-gap: 20px;
    }
}

@media (max-width: 767px) {
    .sustainability-card {
        margin-top: 40px;
        grid-template-columns: repeat(2, 1fr);
    }

    .sustainability-card-link {
        height: auto;
    }

    .sustainability-card-text {
        height: 36px;
        align-items: center;
        margin-top: 20px;
    }
}

.sustainability-title-lv3 {
    margin: 64px 0 32px;
    font-size: 24px;
    font-weight: bold;
    color: var(--blue);
    line-height: 1.4;
}

@media (max-width: 767px) {
    .sustainability-title-lv3 {
        margin: 40px 0 24px;
        font-size: 20px;
    }
}

/* .sustainability-card-wrap {
    max-width: 200px;
    width: 100%;
    margin: 64px auto 0;
}


@media (max-width: 767px) {
    .sustainability-card-wrap {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: 1fr;
        grid-gap: 20px;
        max-width: 100%;
        margin: 40px auto 0 0;
    }
} */

.sustainability-layout-ir {
    background-color: #F5F5F5;
}
.sustainability-layout-ir-inner {
    padding: 64px 0 80px;
    max-width: 960px;
    margin: 0 auto;
    background-color: #F5F5F5;
    display: flex;
    justify-content: center;
}

.sustainability-ir {
    position: relative;
    display: block;
    max-width: 960px;
    height: 120px;
    width: 100%;
    margin: 0 auto;
    transition: opacity .4s ease-out;
}

.sustainability-ir-image{
    height: 120px;
    overflow: hidden;
}

.sustainability-ir-image img{
    transition: transform .5s ease;
}

@media (min-width: 768px) {
    .sustainability-ir:hover {
        opacity: 0.85;
    }
    .sustainability-ir:hover img{
        transform: scale(1.1);
    }
}

.sustainability-ir-text {
    position: absolute;
    /* bottom: 42px;
    left: 30px; */
    top: 50%;
    left: 6%;
    transform: translateY(-50%);
    font-size: 22px;
    font-weight: bold;
    color: var(--white);
}

@media (max-width: 767px) {
    .sustainability-layout-ir-inner {
        padding: 64px 20px;
        flex-direction: column;
    }
    .sustainability-ir{
        padding-top: 10px;
    }

    .sustainability-ir-text {
        font-size: 17px;
    }
}

.sustainability-layout-topicsArea {
    background-color: #F5F5F5;
}
.sustainability-layout-topics-inner {
    padding: 32px 20px;
    max-width: 960px;
    margin: 0 auto;
    background-color: #F5F5F5;

}
.topics-banners{
    display: grid;
    gap: 1.5em;
    /* grid-template-rows: 200px; */
    grid-template-columns: 1fr 1fr;
}
.sustainability-layout-topics-inner h3 {
    margin: 0 0 16px 12px;
}

.sustainability-topics {
    position: relative;
    display: block;
    margin: 0 auto;
    transition: opacity .4s ease-out;
}
/* ¥È¥Ô¥Ã¥¯¥¹¥¨¥ê¥¢
A | B 
C | D 
E | F 
*/
.sustainability-topics.boxA-wide{
    grid-row: 1 / 2;
    grid-column: 1 / 3;
}
.sustainability-topics.boxC-wide{
    grid-row: 2 / 3;
    grid-column: 1 / 3;
}
.sustainability-topics.boxA{
    grid-row: 1 / 2;
    grid-column: 1 / 2;
}
.sustainability-topics.boxB{
    grid-row: 1 / 2;
    grid-column: 2 / 3;
}
.sustainability-topics.boxC{
    grid-row: 2 / 3;
    grid-column: 1 / 2;
}
.sustainability-topics.boxD{
    grid-row: 2 / 3;
    grid-column: 2 / 3;
}
.sustainability-topics.boxE{
    grid-row: 3 / 4;
    grid-column: 1 / 2;
}
.sustainability-topics.boxF{
    grid-row: 3 / 4;
    grid-column: 2 / 3;
}
.sustainability-topics-image{
    overflow: hidden;

}
.sustainability-topics-image img{
    object-fit: cover;
    height: auto;
    width: 468px;
}
.sustainability-topics-image img.ir-banner{
    width: 100%;
    height: 120px;
}

.sustainability-topics-image img{
    transition: transform .5s ease;
    
}

@media (min-width: 768px) {
    .sustainability-topics:hover {
        opacity: 0.85;
    }
    .sustainability-topics:hover img{
        transform: scale(1.1);
    }
}

.sustainability-topics-text {
    position: absolute;
    left: 0;
    bottom: 0;
    box-sizing: border-box;
    font-size: 18px;
    font-weight: bold;
    color: var(--white);
    width: 100%;
    padding: 10px 10px 10px 24px;
    background-color: rgba(0, 44, 69, 0.5);
}

@media (max-width: 767px) {
    .topics-banners{
        display: flex;
        flex-direction: column;
    }
    .sustainability-layout-topics-inner {
        padding: 32px 20px;

    }
    .sustainability-topics{
        padding-top: 10px;
        max-width: 100%;
        width: 100%;
    }

    .sustainability-topics-text {
        font-size: 17px;
    }
    .sustainability-topics-image img{
        height: 150px;
        width: 100%;
    }
    .sustainability-report-image {
    width: 150px;
    }
    .sustainability-report-text {
    left: -12px;
    }
    .sustainability-report {
    width: 100%;
    }
}
@media (max-width: 767px) {
    .common-pc-only {
        display: none !important;
    }
}

@media (min-width: 768px) {
    .common-sp-only {
        display: none !important;
    }
}

/* integrated_report css */
.mt10 {
    margin-top: 10px !important;
}

.mb12 {
    margin-bottom: 12px !important;
}

.common-layout-container-report {
    margin-top: 0;
    padding: 64px 42px;
}

@media screen and (max-width: 767px) {
    .common-layout-container-report {
        padding: 40px 20px;
    }
}

.report-section:not(:last-child) {
    padding-bottom: 66px;
}

.report-heading {
    font-size: 28px;
    font-size: 1.75rem;
    font-weight: 500;
    line-height: 1.3;
    margin-bottom: 24px;
    padding: 20px 0 18px;
    color: #002C45;
    border-top: 1px solid #002C45;
    border-bottom: 1px solid #D8DC40;
}

.report-sub-heading {
    font-size: 20px;
    font-size: 1.25rem;
    line-height: 24px;
    font-weight: 500;
    color: #002C45;
    margin-bottom: 24px;
    padding-left: 1em;
}

.report-paragraph {
    margin-bottom: 24px;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 22px;
}

.icon {
    display: inline-block;
    vertical-align: top;
    background-repeat: no-repeat;
    background-position: center left;

}

.report-icon-item .icon {
    margin: 48px auto 16px;
}

@media (min-width: 768px) and (max-width: 900px) {
    .report-icon-item .icon {
        margin: 24px auto 8px;
    }
}

@media (min-width: 401px) and (max-width: 600px) {
    .report-icon-item .icon {
        margin-top: 32px;
    }
}

@media (max-width: 400px) {
    .report-icon-item .icon {
        margin-top: 24px;
    }
}

/*
.icon-business-model {
    background-size: 45px;
    padding: 27px 23px 28px 23px;
    background-image: url("/images/company/report/report-icon-1.svg");
}

.icon-business-segment-introduction {
    background-size: 51px;
    padding: 27px 27px 28px 27px;
    background-image: url("/images/company/report/report-icon-2.svg");
}

.icon-financial-highlights {
    background-size: 51px;
    padding: 27px 27px 28px 27px;
    background-image: url("/images/company/report/report-icon-3.svg");
}
*/

.scroll-image,
.reponsive-table {
    overflow-x: auto;
    padding-bottom: 4px;
}

.report-common-list-pdf {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 24px;
}

.list-pdf-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-direction: column;
    width: calc((100%/2) - 12px);
    padding: 14px 16px 15px;
    background-color: #e6f481;
    border-radius: 8px;
    box-sizing: border-box;
}
.list-pdf-item.full-width-item {
    width: 100%;
}


@media screen and (max-width:834px) {
    .list-pdf-item {
        width: 100%;
    }
}

@media screen and (max-width:767px) {
    .list-pdf-item {
        position: relative;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        justify-content: left;
        align-items: normal;
        padding: 14px 16px 65px;
    }
}

.list-pdf-item a {
    flex: 0 0 auto;
    width: 118px;
    font-size: 14px;
    font-size: 0.8125rem;
    line-height: 1.3;
    font-weight: 300;
    color: #fff;
    padding: 8px 8px 8px 28px;
    margin-top: 2px;
    background: #002C45 url('../images/sustainability/report/report-downloadicon.svg') no-repeat 8px center;
    background-size: 16px;
    display: block;
    border-bottom: none;
    border-radius: 8px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: background-color 0.3s;
    -o-transition: background-color 0.3s;
    transition: background-color 0.3s;
}
[lang="en"] .list-pdf-item a {
    width: 114px;
}


@media screen and (max-width:767px) {
    .list-pdf-item a {
        position: absolute;
        left: 16px;
        bottom: 16px;
    }
}

.list-pdf-item a:hover {
    background-color: #456679;
}

.list-pdf-title {
    display: flex;
    align-items: center;
    width: 100%;
    font-weight: 500;
    font-size: 18px;
    font-size: 1.125rem;
    color: #002C45;
    line-height: 27px;
    box-sizing: border-box;
    border-bottom: 1px solid #002C45;
    padding-bottom: 5px;
}

@media screen and (max-width:767px) {
    .list-pdf-title {
        width: 100%;
        padding-bottom: 14px;
    }
}

.list-pdf-title span {
    display: inline-block;
    width: 100%;
    font-weight: 700;
    text-indent: -12px;
}
[lang="en"] .list-pdf-title span {
    font-size: 17px;
}

.pdf-text {
    display: block;
    font-size: 14px;
    font-size: 0.875rem;
    font-weight: normal;
    color: #002C45;
    margin: 16px 0 0;
    line-height: 1.5;
}

@media screen and (max-width:767px) {
    .pdf-text {
        white-space: pre-wrap;
    }
}

.underline {
    border-bottom: 1px solid;
}

table {
    border-collapse: separate;
    border-spacing: 0;
    width: 100%;
    border-right: solid 1px;
    border-bottom: solid 1px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

@media screen and (max-width: 991px) {
    table {
        width: 1000px;
    }
    .business-wrap-1 table.business-table-1,.environment-wrap table,.governance-table.fit table {
        width: auto;
    }
    .governance-2-wrap {
        flex-direction: column;
        gap: 24px;
    }
}

th,
td {
    padding: 8px;
    line-height: 20px;
    text-align: center;
    color: #333333;
}
table.mini
{
    width: 300px;; 
}
table.mini th,
table.mini td {
    padding: 2px 6px;
    white-space: nowrap;
}

th {
    border: thin solid;
    border-right: 0;
    font-weight: 500;
    border-bottom: 0;
}

td {
    border-top: solid 1px #E3DBE3;
    border-left: solid 1px #E3DBE3;
}
td {
    border-top: solid 1px #E3DBE3;
    border-left: solid 1px #E3DBE3;
}
table.ESG-data tr td:nth-child(-n+2) {
    background-color: #F5F5F5;
}
table.ESG-data tr.additional td:nth-child(-n+3) {
    background-color: #F5F5F5;
}
table.ESG-data tr.additional td {
    border-top: 1px solid var(--gray1);
}
.social-table td,
.table-social td,
.environment-table td,
.table-environment td,
.governance-table td,
.table-governance td
{
    border-color: var(--gray4);
    border-left-color: var(--black);
}
.social-table tr.additional td, .table-social tr.additional td,
.environment-table tr.additional td, .table-environment tr.additional td,
.governance-table tr.additional td, .table-governance tr.additional td
{
    border-top: 1px solid var(--gray1);
}
.table-tume tr td{
    font-feature-settings: "palt";
}



figcaption, small {
    display: block;
    font-size: 12px;
    line-height: 1.2;
    margin-top: 4px;
}

.common-page-header-company-report::before {
    background-color: red; /* error */
    /*background-image: url('/images/company/report/header-company-report.png');*/
}

.top-report {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    color: #000;
}
.report-download {
    display: flex;
    gap: 20px;
}
.report-image {
    flex: 1;
}
.report-link {
    width: 275px;
}

.top-report>.report-image {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    width: 468px;
}
.top-report>.report-image img {
    width: 350px;
}

.top-report>.report-content {
    flex: 1;
    padding-left: 24px;
}

@media screen and (max-width:834px) {
    .top-report>.report-image {
        width: 350px;
    }

    .top-report>.report-content {
        padding-left: 44px;
    }
    .report-download {
        flex-direction: column;
    }
    .report-image {
        flex: 1;
    }
    .report-link {
        width: 100%;
    }
}

@media screen and (max-width:767px) {
    .top-report>.report-image {
        width: 100%;
    }

    .top-report>.report-content {
        flex: unset;
        padding-left: 0;
        margin-top: 40px;
    }

}

.top-report .report-paragraph {
    line-height: 1.8;
    color: #002C45;
}

.top-report .report-sub-heading {
    font-size: 20px;
    font-weight: 700;
    margin: 0 0 22px;
    color: #002C45;
    line-height: 29px;
}

.top-report .underline {
    border-color: #707070;
}

.report-issue-time {
    font-size: 12px;
    font-weight: 500;
    margin: 0 0 26px;
    line-height: 20px;
    color: #002C45;
}

.report-link a {
    display: inline-flex;
    align-items: center;
    background: #002C45;
    color: #fff;
    padding: 20px 9px 20px 16px;
    border-radius: 8px;
    text-align: center;
    font-size: 13px;
    font-weight: 500;
    line-height: 19px;
    -webkit-transition: background-color 0.3s;
    -o-transition: background-color 0.3s;
    transition: background-color 0.3s;
}

.report-link a:hover {
    background-color: #456679;
}

.report-link img {
    padding: 0 8px 0 0;
    display: inline-block;
}

.borderBox {
    font-size: 16px;
    font-weight: 500;
    color: #002C45;
    line-height: 29px;
    padding: 12px 32px 17px 32px;
    border: 4px solid #DBE000;
    margin-top: 50px;
}

.report-table {
    margin-top: 16px;
    width: 100%;
    border-color: #E3DBE3;
}

.report-table th,
.report-table td {
    font-weight: normal;
    text-align: left;
    padding: 6px 10px;
}

.report-table th {
    font-size: 16px;
    font-weight: bold;
    color: #002C45;
    line-height: 1.3;
    background: #E3DBE3;
    padding: 16px;
    border-color: #E3DBE3;
}

.report-table th:last-child {
    border-left-color: #fff;
}

.report-table td {
    text-align: left;
    font-size: 14px;
    color: #002C45;
    line-height: 1.8;
    padding: 16px;
    vertical-align: top;
}

.report-table td:first-child {
    font-size: 16px;
    font-weight: bold;
    line-height: 1.3;
    padding: 15px 16px;
}


.report-table td:last-child {
    border-left: none;
}

@media (max-width: 767px) {
    .report-table {
        border-right: none;
        margin-top: 22px;
    }

    .report-table tr,
    .report-table th,
    .report-table td {
        display: block;
        width: 100% !important;
        box-sizing: border-box;
    }

    .report-table th:last-child {
        border-top: 1px solid #fff;
        border-left: none;
    }

    .report-table td:last-child {
        border-top: none;
        border-left: 1px solid #E3DBE3;
        padding-top: 2px;
    }

    .report-table td {
        border-right: 1px solid #E3DBE3;
    }
}

.common-page-header-company-report-topmessage::before {
    /*background-image: url('/images/company/report/header-company-report-topmessage.png');*/
    background-color: red; /* error */
    left: 0;
    right: 0;
}

.common-page-header-company-report::after {
    opacity: .2;
}

.common-page-header-label {
    background: #CCE70B;
    color: #263E55;
    font-size: 18px;
    line-height: 25px;
    padding: 1px 13px;
    display: inline-block;
    font-weight: bold;
    margin-bottom: 5px;
}

.topmessage-report-section .report-paragraph {
    margin-bottom: 0;
    line-height: 23px;
}

.report-download-pdf {
    margin-top: 8px;
}

.report-download-pdf .icon {
    padding: 12px;
    background-size: 24px;
}

.report-download-pdf a:hover {
    opacity: 0.85;
}

.icon-pdf {
    background-image: url("/images/sustainability/file-pdf-solid-govermance.svg");
}

@media screen and (max-width: 320px) {
    .common-page-header-breadcrumb-list {
        top: 15px;
    }
}

.sustainability-report-list-back {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 24px;
}

.sustainability-report-list-back > li {
    width: calc((100%/2) - 12px);
    padding: 16px 16px 15px;
    background-color: #EBECEC;
    border-radius: 8px;
    box-sizing: border-box;
}

@media screen and (max-width: 767px) {
    .sustainability-report-list-back > li {
        width: 100%;
    }
}

.sustainability-report-card-back {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.sustainability-report-card-image {
    width: 140px;
    flex: 0 0 auto;
}

.sustainability-report-card-image > img {
    width: 100%;
    height: auto;
}

.sustainability-report-card-detail {
    padding-left: 24px;
}

.sustainability-report-card-title {
    font-weight: 700;
    font-size: 18px;
    font-size: 1.125rem;
    line-height: 27px;
    color: #002C45;
    border-bottom: 1px solid #002C45;
    padding-bottom: 14px;
}

.sustainability-report-card-text {
    display: block;
    font-size: 14px;
    font-size: 0.875rem;
    font-weight: normal;
    color: #002C45;
    margin: 16px 0 0;
    line-height: 1.5;
    font-feature-settings: "palt";
}

.sustainability-report-card-button {
    width: 137px;
    font-size: 14px;
    font-size: 0.8125rem;
    line-height: 1.3;
    font-weight: 300;
    color: #fff;
    padding: 8px 8px 8px 40px;
    margin-top: 15px;
    background: #002C45 url(../images/sustainability/report/report-downloadicon.svg) no-repeat 15px center;
    background-size: 16px;
    display: block;
    border-bottom: none;
    border-radius: 8px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: background-color 0.3s;
    -o-transition: background-color 0.3s;
    transition: background-color 0.3s;
}

.sustainability-report-card-button:hover {
    background-color: #014369;
}

.report-lead-text {
    font-size: 16px;
    font-size: 1rem;
    font-weight: normal;
    color: #002C45;
}

.sustainability-paragraph-text {
    margin-bottom: 0;
    font-size: 17px;
    font-size: 1.0625rem;
    line-height: 27px;
    text-align: center;
}

.sustainability-paragraph-link {
    margin-top: 30px;
    text-align: center;
}

.environment-heading {
    margin-bottom: 24px;
    padding: 5px 10px;
    background: var(--green);
    color: var(--white);
    font-size: 24px;
    font-size: 1.5rem;
    font-weight: 500;
}
@media(max-width:767px){
    .environment-governance-img {
        width: 500px;
        max-width: 100%;
    }
}
.environment-ghg-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 45px;
}
.environment-ghg-item {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
}
@media(max-width:767px){
    .environment-ghg-wrap {
        flex-direction: column;
        gap: 24px;
    }
    .environment-ghg-item figure {
        width: 500px;
        max-width: 100%;
        margin: auto;
    }
    .environment-ghg-item img {
        width: 100%;
    }
    .environment-ghg-item:first-child {
        margin-bottom: 2em;
    }
}
.environment-recycle-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 33px;
}
.environment-recycle-text {
    flex-basis: calc(37.5% - 33px);
    min-width: 320px;
}
.environment-recycle-img {
    flex-basis: 62.5%;
}
@media(max-width:767px){
    .environment-recycle-wrap {
        flex-direction: column;
        align-items: center;
        gap: 24px;
    }
    .environment-recycle-text,
    .environment-recycle-img {
        flex-basis: auto;
        width: 100%;
    }
    .environment-recycle-img img {
        width: 500px;
        max-width: 100%;
        display: block;
        margin: auto;
    }
}

@media(max-width:767px){
    .environment-dividend-wrap {
        width: 500px;
        max-width: 100%;
        margin: auto;
    }
}

tr.d td {
    border-top: 3.5px double;
    background-color: #F5F5F5;
}


.materiality-type-list {
    width:100%;
    height:auto;
    display:flex;
    flex-wrap:wrap; 
    justify-content: center;
    gap: 8px; 
}
.materiality-type {
    box-sizing: border-box;
    padding: 4px 10px;
    text-align: center;
    font-size: 1.0625rem;
    font-weight: 500;
    color: var(--white);
    width:32%;
    border-radius: 8px;
}
.materiality-type:nth-of-type(n+4) {
    margin-top:16px;
}
@media screen and (max-width: 991px) {
    .materiality-type {
        font-size: 14px;
        font-size: 0.875rem;
    }
}
@media screen and (max-width: 767px) {
    .materiality-type-list {
        justify-content:center;
    }
    .materiality-type {
        flex-basis: 100%;
        margin-top:16px;
        max-width: 500px;
    }
}
.materiality-type01, .materiality-type03 {
    background: var(--blue);
}
.materiality-type02 {
    background: #f7aa00;
    color: var(--white);
}
.materiality-type04 {
    background: #47a86c;
}
.materiality-type05 {
    background: #42a0b6;
}
.materiality-type06 {
    background: #78466a;
}
.materiality-extraction-img,.social-extraction-img,.environment-extraction-img {
    max-width: 960px;
}
.materiality-extraction-img.size-fit,.social-extraction-img.size-fit,.environment-extraction-img.size-fit {
    
    margin: 0 210px;
}
.social-develop-img.size-fit {
    margin: 0 40px;
}
.materiality-info {
    padding: 20px;
    background: #e5edf4;
}
.materiality-vmv-figure {
    display: flex;
    justify-content: center;
}
.materiality-vmv-label {
    display: block;
    margin: 16px 0 8px;
    padding: 2px;
    text-align: center;
}
.materiality-vmv-list {
    font-weight: 500;
}
.materiality-vmv-vision {
    background: #dadf00;
    color: var(--blue);
}
.materiality-vmv-mission {
    background: #99a6b3;
    color: var(--white);
}
.materiality-vmv-value {
    background: var(--blue);
    color: var(--white);
}
.materiality-theme-list {
    background: #f7f9fc;
    padding: 20px;
    display: flex;
    gap: 20px;
}
.materiality-theme-list ul {
    flex-basis: 50%;
}
@media screen and (max-width: 767px) {
    .materiality-theme-list {
        flex-direction: column;
        gap: 0;
    }
    .materiality-theme-list ul {
        flex-basis: 100%;
    }
    .materiality-extraction-img.size-fit,.social-extraction-img.size-fit,.environment-extraction-img.size-fit {
        margin: 0 auto;
    }
}
.materiality-theme-list li {
    font-weight: 500;
    padding-left: 20px;
    text-indent: -20px;
    padding-bottom: 0.5em;
    border-bottom: 1px solid #ccc;
    margin-bottom: 0.5em;
}
.materiality-theme-list ul:last-child li {
    padding-bottom: 0.72em;
    margin-bottom: 0.72em;
}
.materiality-theme-list li::before {
    content: '';
    display: inline-block;
    width: 15px;
    height: 12.5px;
    margin-right: 5px;
    background: url(/images/sustainability/icon-check.png) no-repeat 50% 50%/cover;
}

.materiality-table table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    border: 0;
    border-right: solid 1px #000;
    border-bottom: solid 1px #000;
}

.materiality-table th {
    font-weight: 500;
    background: #E0D800;
    text-align: left;
    border: thin solid #000;
    border-bottom: 0;
    border-right: 0 none;
}

.materiality-table th:first-child {
    border-left: 1px solid #000;
}

.materiality-table td {
    text-align: left;
    border: 0;
    border-top: solid 1px #000;
    border-left: solid 1px #000;
}
.materiality-kpi-label{
    padding: 2px 6px;;
    display: inline-block;
    margin: 4px;


}
.materiality-kpi-label.doboku{
    background-color: var(--purple4);
}
.materiality-kpi-label.kenchiku{
    background-color: var(--blue7);
}
.materiality-kpi-label.hosou{
    background-color: var(--green3);
}
.materiality-kpi-label.kikai{
    background-color: var(--blue7);
}

@media screen and (min-width: 768px) {
    .materiality-table td.bg_gray {
        min-width: 150px;
    }
    td.kpi-head {
        /* width: 20%; */
    }
}

@media screen and (max-width: 767px) {
    .materiality-table td.bg_gray {
        min-width: 120px;
    }
}

.td-circle {
    display: block;
    position: relative;
    padding-left: 14px;
}

.td-circle::before {
    content: '';
    position: absolute;
    width: 10px;
    height: 10px;
    background: #B2B2B3;
    border-radius: 50%;
    left: 0;
    top: 5px;
}

.bg_yel {
    background: #FBF8D1;
}

.bg_gray {
    background: #D4D5D5;
}

@media screen and (max-width: 767px) {
    .materiality-table th,
    .materiality-table td {
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        font-size: 12px;
    }

    .bg_yel {
        width: 120px;
    }

    .td-circle {
        padding-left: 12px;
    }

    .td-circle::before {
        width: 8px;
        height: 8px;
        top: 7px;
    }

    .flex-write-mode{
        display: flex;
        align-items: flex-start;
        justify-content: center;
    }
    .write-mode{
        writing-mode: tb-rl;
        width: 20px;
        text-align: left;
    }

    .text-first{
        order: 2;
        min-height: 130px;
    }
    .text-second{
        order: 1;
        min-height: 168px;
    }
    .height-01{
        min-height: 210px;
    }
    .height-03, .height-05{
        min-height: 154px;
    }
    .height-06{
        min-height: 112px;
    }

    .table-sdgs .td-type {
        width: 80px;
    }

    .table-sdgs th, .table-sdgs td{
        box-sizing: border-box;
        text-align: left;
        font-size: 14px;
        line-height: 18px;
    }
}

@media (max-width:550px) {
    .materiality-table table {
        width: 800px;
    }

    .table-sdgs th, .table-sdgs td{
        font-size: 12px;
    }
}

.table-sdgs{
    min-width: 960px;
    width: 100%;
    border-collapse: collapse;
}

.flex-table-item{
    margin-bottom: 24px;
    overflow-y: hidden;
}
.table-sdgs .th-pillar {
    background: #f6f7f7;
    color: var(--blue);
    font-size: 20px;
    font-weight: normal;
    line-height: 1.5;
}

.table-sdgs .td-circle{
    padding-left: 10px;
    margin: 8px;
    font-feature-settings: "palt";
}

.table-sdgs .td-circle::before{
    width: 7px;
    height: 7px;
    background: #231815;
    top: 7px;
}

.table-sdgs .has-bg-pink::before{
    background: #935E83;
}
.table-sdgs .has-bg-blue::before{
    background: #41A1BE;
}
.table-sdgs .has-bg-green::before{
    background: #4CA36B;
}

.table-sdgs th, .table-sdgs td{
    border: 1px solid #231815;
    box-sizing: border-box;
    text-align: left;
    font-size: 14px;
    line-height: 18px;
}

.table-img{
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
}

.table-img img {
    border: 1px solid var(--white);
}
td img{
    max-width: 36px;
    margin: 0px;
}
img.plus-arrow-rotate45{
    transform: rotate( 45deg );
}
img.minus-arrow-rotate45{
    transform: rotate( -45deg );
}

.governance-heading {
    margin-bottom: 24px;
    padding: 5px 10px;
    background: var(--purple);
    color: var(--white);
    font-size: 24px;
    font-size: 1.5rem;
    font-weight: 500;
}

.governance-committee-box {
    background: var(--gray);
    padding: 20px 30px;
    border-radius: 20px;
    margin-top: 16px;
}

.governance-committee-box .gcb-title {
    color: var(--purple);
}

.governance-committee-box .gcb-name {
    font-size: 18px;
    border-bottom: 1px solid var(--border);
    margin-top: 5px;
    padding-bottom: 5px;
    margin-bottom: 0.75em;
}

.governance-committee-box .gcb-name span {
    font-size: 11px;
    margin-left: 1em;
}



.sustainability-sub-sub-title {
    display: inline-block;
    font-size: 14px;
    font-weight: 500;
    color: var(--blue);
    border-bottom: 1px dashed var(--blue);
    line-height: 18px;
    margin-top: 0;
    margin-bottom: 8px;
}
.sustainability-layout-governance .sustainability-sub-sub-title {
    color: var(--purple);
    border-bottom: 1px dashed var(--purple);
}
.sustainability-layout-social .sustainability-sub-sub-title {
    color: var(--blue2);
    border-bottom-color: var(--blue2);
}
.sustainability-layout-social h4 {
    margin-block-end: 0;
}

.governance-fig5 {
    max-width: 480px;
}

@media screen and (max-width: 767px) {
}


.social-heading {
    margin-bottom: 24px;
    padding: 5px 10px;
    background: var(--blue2);
    color: var(--white);
    font-size: 24px;
    font-size: 1.5rem;
    font-weight: 500;
}
.social-heading-type2 {
    margin-bottom: 24px;
    padding: 5px 10px;
    background: var(--blue);
    color: var(--white);
    font-size: 18px;
    font-size: 1.125rem;
    font-weight: 500;
}
.social-heading-type3 {
    margin-bottom: 24px;
    padding: 5px 10px;
    background: #91D0ED;
    color: var(--blue);
    font-size: 20px;
    font-weight: 500;
}
.social-heading-type4 {
    margin-bottom: 24px;
    padding: 5px 10px;
    background: #FFC578;
    color: var(--blue);
    font-size: 20px;
    font-weight: 500;
}
.social-heading-topics {
    margin-bottom: 24px;
    padding: 5px 0;
    color: var(--blue);
    font-size: 18px;
    font-size: 1.125rem;
    font-weight: 500;
    border-bottom: 3px solid var(--yellow);
}


.social-union {
    background: var(--gray);
    padding: 20px;
    position: relative;
    margin-left: 20px;
    padding-top: 40px;
    height: calc(100% - 40px);
}


.social-union h3 {
    position: absolute;
    top: -20px;
    left: -20px;
    height: calc(65px - 1em);
    padding: 0.5em 0.5em 0.5em 1em;
    background: var(--blue2);
    color: white;
    display: flex;
    align-items: center;
}

.social-union h3::before {
    position: absolute;
    content: '';
    top: 100%;
    left: 0;
    border: none;
    border-bottom: solid 15px transparent;
    border-right: solid 20px var(--black);
}

.social-union h3::after {
    position: absolute;
    content: '';
    top: 0;
    right: -39px;
    border: none;
    border-left: solid 40px var(--blue2);
    border-top: solid 65px transparent;
}

.social-union .msg {
    display: flex;
    gap: 10px;
    flex-direction: row-reverse;
    margin-top: 15px;
    margin-bottom: 15px;
}

.social-union .msg figure {
    flex: 1;
}

.social-union .msg p {
    flex: 2.5;
}

.social-union table {
    width: 100%;
    border: none;
}

.social-union table th,
.social-union table td {
    border: none;
}

.social-union table td {
    text-align: left;
    padding-bottom: 7px;
}

.social-union table td:first-child {
    color: var(--blue2);
    font-weight: 500;
    border-right: 1px dotted var(--gray1);
}

.social-union table tr:nth-child(2n-1) td {
    background-color: rgba(255,255,255, 0.75);
}

.social-wrap-1,
.social-wrap-2 {
    display: flex;
    /*flex-direction: row-reverse;*/
    gap: 40px;
}

.social-wrap-1 .social-wrap-1-img,
.social-wrap-2 .social-wrap-2-img {
    flex: 1;
}

.social-wrap-1 .social-wrap-1-txt,
.social-wrap-2 .social-wrap-2-txt {
    flex: 3;
}

.social-wrap-3 {
    display: flex;
    background-color: var(--gray);
}

.social-wrap-3 .social-wrap-3-title {
    width: 100px;
    text-align: center;
    font-weight: 500;
    background-color: var(--blue2);
    color: var(--white);
    padding: 20px;
    display: flex;
    align-items: center;
    gap: 0;
}

.social-wrap-3 .social-wrap-3-title p {
    width: 80px;
}

.social-wrap-3 .social-wrap-3-content {
    display: flex;
    gap: 20px;
    padding: 20px;
}

.social-wrap-3 .social-wrap-3-content .social-wrap-3-img {
    flex: 1;
}

.social-wrap-3 .social-wrap-3-content .social-wrap-3-txt {
    flex: 3;
    display: flex;
    align-items: center;
}


.social-wrap-4,
.social-wrap-5 {
    display: flex;
    /*flex-direction: row-reverse;*/
    gap: 40px;
}

.social-wrap-4 .social-wrap-4-img,
.social-wrap-5 .social-wrap-5-img {
    flex: 1;
}

.social-wrap-4 .social-wrap-4-img img {
    width: 600px;
}

.social-wrap-4 .social-wrap-4-txt {
    flex: 0.85;
}

.social-wrap-5 .social-wrap-5-txt {
    flex: 3;
}

.data-about-human-rights table th {
    white-space: nowrap;
}


@media screen and (max-width: 767px) {
    .social-wrap-1,
    .social-wrap-2,
    .social-wrap-3,
    .social-wrap-3 .social-wrap-3-content,
    .social-wrap-4,
    .social-wrap-5 {
        display: block;
        margin-bottom: 2em;
    }    
    .social-wrap-1 .social-wrap-1-img,
    .social-wrap-2 .social-wrap-2-img,
    .social-wrap-5 .social-wrap-5-img {
        text-align: center;
        margin-top: 1em;
    }

    .social-wrap-1 .social-wrap-1-img img,
    .social-wrap-2 .social-wrap-2-img img,
    .social-wrap-5 .social-wrap-5-img img {
        width: 90%;
        max-width: 300px;
    }

    .social-wrap-4 .social-wrap-4-img img {
        width: auto;
        max-height: 280px;
    }


    .social-wrap-3 .social-wrap-3-title,
    .social-wrap-3 .social-wrap-3-title p {
        display: block;
        width: auto;
        text-align: left;
    }

    .social-wrap-3 .social-wrap-3-title br {
        display: none;
    }

    .social-wrap-3 .social-wrap-3-content .social-wrap-3-img {
        margin-top: 1em;
        text-align: center;
    }
}

.sustainability-layout-topmessage .sustainability-paragraph,
.sustainability-layout-topmessage small {
    text-align: justify;
    
}

.topmessage-mv-pc {
    position: relative;
    width: 100%;
    margin-bottom: 5em;
}

.topmessage-mv-pc div {
    position: relative;
    padding-top: calc(100% * 9 / 16);
}
.topmessage-mv-pc div.kibe {
    position: relative;
    padding-top: calc(100% * 100 / 165);
}

.topmessage-mv-pc img {
    position: absolute;
    top: 0;
    left: 0;
}

.topmessage-mv-pc .sustainability-heading {
    position: absolute;
    width: calc(100% - 60px);
    top: 27%;
    left: 30px;
    font-size: clamp(24px, 3.2vw, 34px);
    font-weight: 600;
    text-shadow: white 0px 1px 1px;
    font-feature-settings: "palt";

}
.topmessage-mv-pc .company-name-heading,.topmessage-mv-sp .company-name-heading {
    color: var(--white);
    background-color: var(--blue);
    padding: 0.5em ;
    text-align: center;
    font-size: 1.8em;
    margin-block-end: 0;
}
.topmessage-mv-sp .company-name-heading {
    font-size: 1.3em;

}
.topmessage-mv-pc .company-name-heading {
    color: var(--white);
    background-color: var(--blue);
    padding: 0.5em ;
    text-align: center;
    font-size: 1.8em;
    margin-block-end: 0;
}


.topmessage-mv-pc .sustainability-heading.right {
    width: calc(48% - 60px);
    top: 27%;
    right: 20px;
    left:auto;
    font-feature-settings: "palt";
    font-size: clamp(25px, 3.2vw, 34px);
    line-height: 1.6;
}
.topmessage-mv-pc .sustainability-heading.outside {
    text-shadow: 0 0 6px #edf2f7,0 0 6px #edf2f7,0 0 6px #edf2f7;
    /* background-color: rgba(255,255,255, 0.6); */
    top: 5%;
    width: calc(100% - 40px);
    left: 20px;
    right:auto;
    font-feature-settings: "palt";
    font-size: 30px;
    line-height: 1.6;
    padding-left: 0.5em;
}
.topmessage-mv-pc .sustainability-heading.outside {
    /* background-color: rgba(255,255,255, 0.4); */
    top: 5%;
    width: calc(100% - 40px);
    left: 0px;
    right:auto;
    font-feature-settings: "palt";
    font-size: 35px;
    text-align: center;
    font-weight: 600;
}
.topmessage-mv-pc .sustainability-heading span {
    font-size: 0.6em;
    line-height: 1.5;
    

}
.topmessage-mv-pc .sustainability-heading.white {
    color:var(--white);
    font-feature-settings: "palt";
    text-shadow: var(--blue) 0px 1px 1px;

}
.topmessage-mv-pc .topmessage-author {
    position: absolute;
    bottom: calc(10% + 2.5em);
    left: 30px;
    width: calc(50% - 60px);
    line-height: 1.2;
    font-size: clamp(14px, 1vw, 16px);
    text-shadow: white 0px 1px 1px;
    font-weight: 500;
}
.topmessage-mv-pc .topmessage-author.white {
    text-shadow: black 0px 1px 1px;
    color: var(--white);
}
.topmessage-mv-pc .topmessage-author-base {
    position: absolute;
    width: calc(100% - 3em);
    bottom: 0;
    left: 0;
    margin-bottom: 0;
    line-height: clamp(1.85, 1.9, 2);
    font-weight: 600;
    color: var(--white);
    height: 50px;;
    text-shadow: var(--blue) 0px 1px 1px;
    padding: 1em 1.5em;
    background: rgba(0, 44, 69, 0.75);
}
.topmessage-mv-pc .topmessage-author.right {
    width: calc(48% - 60px);
    left: auto;
    right:20px;
}
.topmessage-mv-pc .topmessage-author.outside-center {
    bottom: calc(20% + 0em);
    width: calc(60% - 60px);
    left: 44%;
    color: var(--white);
    text-shadow: var(--blue) 0px 0px 8px;
}
.topmessage-mv-pc .topmessage-author.outside-left {
    bottom: calc(20% + 0em);
    width: calc(60% - 60px);
    right: auto;
    left:9%;
    color: var(--white);
    text-shadow: var(--blue) 0px 0px 8px;
}
.topmessage-mv-pc .topmessage-author.outside-m-left {
    bottom: calc(20% + 0em);
    width: calc(60% - 60px);
    right: auto;
    left:25%;
    color: var(--white);
    text-shadow: var(--blue) 0px 0px 8px;
}
.topmessage-mv-pc .topmessage-author.outside-m-right {
    /* background: var(--black) ;
    padding: 0.25em; */
    bottom: calc(20% + 0em);
    width: calc(26% - 80px);
    left: auto;
    right:19%;
    color: var(--white);
    text-shadow: var(--blue) 0px 0px 8px;
}
.topmessage-mv-pc .topmessage-author.outside-right {
    bottom: calc(20% + 0em);
    width: calc(23% - 80px);
    left: auto;
    right: 3%;
    color: var(--white);
    text-shadow: var(--blue) 0px 0px 8px;
}
.topmessage-mv-pc .topmessage-author.outside-center {
    width: calc(60% - 60px);
    left: 41%;
    color: var(--white);
    text-shadow: var(--blue) 0px 0px 8px,var(--blue) 0px 0px 8px,var(--blue) 0px 0px 8px;
}
.topmessage-mv-pc .topmessage-author.outside-left {
    width: calc(60% - 60px);
    right: auto;
    left:13%;
    color: var(--white);
    text-shadow: var(--blue) 0px 0px 8px,var(--blue) 0px 0px 8px,var(--blue) 0px 0px 8px;
}
.topmessage-mv-pc .topmessage-author.outside-m-left {
    bottom: calc(20% + 0em);
    width: calc(60% - 60px);
    right: auto;
    left:26%;
    color: var(--white);
    text-shadow: var(--blue) 0px 0px 8px,var(--blue) 0px 0px 8px,var(--blue) 0px 0px 8px;
}
.topmessage-mv-pc .topmessage-author.outside-m-right {
    /* background: var(--black) ;
    padding: 0.25em; */
    bottom: calc(20% + 0em);
    width: calc(26% - 80px);
    left: auto;
    right:26%;
    color: var(--white);
    text-shadow: var(--blue) 0px 0px 8px,var(--blue) 0px 0px 8px,var(--blue) 0px 0px 8px;
}
.topmessage-mv-pc .topmessage-author.outside-m2-right {
    width: calc(23% - 80px);
    bottom: calc(20% + 0em);
    left: auto;
    right: 16%;
    color: var(--white);
    text-shadow: var(--blue) 0px 0px 8px,var(--blue) 0px 0px 8px,var(--blue) 0px 0px 8px;
}
.topmessage-mv-pc .topmessage-author.outside-right {
    width: calc(23% - 80px);
    bottom: calc(20% + 0em);
    left: auto;
    right: 4%;
    color: var(--white);
    text-shadow: var(--blue) 0px 0px 8px,var(--blue) 0px 0px 8px,var(--blue) 0px 0px 8px;
}
.topmessage-mv-pc .topmessage-author.white {
    color:var(--white);
    text-shadow: var(--blue) 0px 1px 1px;
}

.topmessage-mv-pc .topmessage-author strong {
    display: block;
    margin-top: 0.25em;
    font-size: 150%;
}
.outside-directer .topmessage-author strong {
        font-size: 130%;
}

.topmessage-mv-pc .topmessage-profile {
    position: absolute;
    width: calc(48% - 60px);
    left: 30px;
    bottom: 4%;
    font-weight: 500;
    font-size: clamp(11px, 0.85vw, 12px);
    text-shadow: white 0px 1px 1px;
}
.topmessage-mv-pc .topmessage-profile.right {
    width: calc(48% - 60px);
    left: auto;
    right:20px;
}
.topmessage-mv-pc .topmessage-profile.white {
    color:var(--white);
    text-shadow: var(--blue) 0px 1px 1px;
}
hr{
    background-color: var(--gray);
    height: 3px;
    border: none;
}


@media screen and (max-width: 767px) {
    .topmessage-mv-sp .sustainability-heading {
        font-size: 1.2rem;
        margin-bottom: 0.5em;
    }
    .topmessage-mv-sp img {
        width: 100%;
    }
    .topmessage-mv-sp .topmessage-author {
        text-align: left;
        font-size: 0.875rem;
    }
    .topmessage-mv-sp .topmessage-author strong {
        display: block;
        font-size: 1.1rem;
        margin-top: 0.25em;
    }
    .topmessage-mv-sp .topmessage-profile {
        margin-top: 0.25em;
        font-size: 0.75rem;
        line-height: 1.5;
        margin-bottom: 3em;
    }
}

@media screen and (max-width: 400px) {
    .topmessage-mv-sp .sustainability-heading br {
        display:none;
    }
}

.topmessage-wrap-1 {
    display: flex;
    flex-direction: row-reverse;
    gap: 40px;
}

.topmessage-wrap-1 .topmessage-wrap-1-img {
    flex: 1;
}

.topmessage-wrap-1 .topmessage-wrap-1-txt {
    flex: 3;
}


@media screen and (max-width: 767px) {
    .topmessage-wrap-1 {
        display: block;
        margin-bottom: 2em;
    }    
    .topmessage-wrap-1 .topmessage-wrap-1-img {
        text-align: center;
        margin-bottom: 2em;
    }
    .topmessage-wrap-1 .topmessage-wrap-1-img p {
        text-align: left;
    }
    .topmessage-wrap-1 .topmessage-wrap-1-img img {
        width: 100%;
    }

    .topmessage-wrap-1-txt .sustainability-heading br {
        display: none;
    }
}

.topmessage-box {
    padding: 30px;
}

.topmessage-box.topmessage-box-fill {
    background-color: rgba(235,236,236,0.2);
}

@media screen and (min-width: 768px) {
    .topmessage-box .scroll-image img {
        max-width: 960px !important;
        width: 100%;
    }
}


.general-heading {
    margin-bottom: 24px;
    padding: 5px 10px;
    background: var(--blue);
    color: var(--white);
    font-size: 24px;
    font-size: 1.5rem;
    font-weight: 500;
}

.general-heading.with-number {
    position: relative;
    padding: 0 0.5em 0 3.5em;
}

.general-heading.with-number strong {
    position: absolute;
    top: 0;
    left: 0;

    display: flex;
    align-items: center;
    height: 100%;
    padding: 0 1em;
    margin-right: 15px;
    border-right: 3px solid #fff;
    color: var(--yellow);
}

.sustainability-sub-heading.general-sub-heading {
    font-size: 21px;
    font-size: 1.5rem;
    font-weight: 500;
    margin-bottom: 24px;
}


@media screen and (max-width: 767px) {
    .general-heading {
        font-size: 18px;
    }
    
    .general-heading.with-number {
        font-size: 18px;
    }

    .sustainability-sub-heading.general-sub-heading {
        font-size: 16px;
    }
}


.paragraph-link {
    margin-top: 28px;
    padding-bottom: 21px;
}
.paragraph-link.multiple-lines{
    text-indent: -0.6em;
    padding-left: 1.5em;
}



.paragraph-link small {
    color: var(--blue);
    font-size: 12px;
    display: inline-block;
    vertical-align: baseline;
    margin-right: 6px;
}

.common-link-underline {
    text-underline-position: under;
    text-underline-offset: 1px;
    text-decoration: none;
    border-bottom: 1px solid;
    font-feature-settings: "palt";
}

.paragraph-link a {
    border-bottom: none;
    margin: 0 2px;
    font-weight: 600;
    text-decoration: underline;
    transition: opacity 0.3s;
    font-size: 13px;
}



.topmessage-wrap-2 {
    display: flex;
    gap: 40px;
}

.topmessage-wrap-2.topmessage-wrap-reverse {
    flex-direction: row-reverse;
}

.topmessage-wrap-2 .topmessage-wrap-2-img {
    width: 400px;
}

.topmessage-wrap-2 .topmessage-wrap-2-txt {
    flex: 1;
}

@media screen and (max-width: 767px) {
    .topmessage-wrap-2 {
        display: block;
        margin-bottom: 2em;
    }    
    .topmessage-wrap-2 .topmessage-wrap-2-img {
        width: auto;
        text-align: center;
        margin-top: 1em;
    }

    .topmessage-wrap-2 .topmessage-wrap-2-img img {
        width: 90%;
        max-width: 300px;
    }

    .topmessage-wrap-2.topmessage-wrap-reverse .topmessage-wrap-2-img {
        margin-bottom: 1.5em;
    }
    .common-link-underline {
        display: inline;
    }
}


.value-wrap-1,.environment-wrap,.social-wrap-6 {
    display: flex;
    gap: 40px;
}
.value-wrap-1 table{
    width: auto;
}

.value-wrap-1 .value-wrap-1-img,.social-wrap-6 .social-wrap-6-img {
    /* width: 400px; */
    flex: 1;
    width: auto;
    padding-right:2em ;
}

.value-wrap-1.vw1-1 .value-wrap-1-img {
    text-align: center;
}

.value-wrap-1.vw1-4 .value-wrap-1-img {
    width:500px;
}

.value-wrap-1 .value-wrap-1-txt,.environment-wrap-txt,.social-wrap-6-txt {
    flex: 1;
}

.value-wrap-1 small {
    text-align: left;
}

.value-table-5 td.row-bg {
    width: 15em;
}

@media screen and (max-width: 767px) {
    .value-wrap-1,.social-wrap-6 {
        display: block;
        margin-bottom: 2em;
    }    
    .value-wrap-1 .value-wrap-1-img, .social-wrap-6 .social-wrap-6-img {
        text-align: center;
        margin-bottom: 2em;
        width: auto;
    }
    .value-wrap-1 .value-wrap-1-img p, .social-wrap-6 .social-wrap-6-img p {
        text-align: left;
    }
    .value-wrap-1 .value-wrap-1-img img,  .social-wrap-6 .social-wrap-6-img img {
        width: auto;
    }

    .value-wrap-1-txt .sustainability-heading br {
        display: none;
    }

    .value-wrap-1.vw1-4 .value-wrap-1-img {
        width: auto;
    }

    .value-wrap-1 table.table-group {
        width: 100%;
    }

    .value-wrap-1.vw1-1 .value-wrap-1-img img {
        max-width: 300px;
    }

    .value-table-5 td.row-bg {
        width: 9em;
    }
}



.business-wrap-1 ,.social-wrap-7{
    display: flex;

    gap: 40px;
}

.business-wrap-1 .business-wrap-1-img,.social-wrap-7 .social-wrap-7-img {
    width: 360px;
}
.business-wrap-1.vw1-6 .business-wrap-1-img,.social-wrap-7.vw1-6 .social-wrap-7-img {
    width: 460px;
}

.business-wrap-1.vw1-1 .business-wrap-1-img,.social-wrap-7.vw1-1 .social-wrap-7-img {
    text-align: center;
}

.business-wrap-1 .business-wrap-1-txt,.social-wrap-7 .social-wrap-7-txt {
    flex: 1;
}

.business-wrap-1 small,.social-wrap-7 small {
    text-align: left;
}


.bw2-2 .business-wrap-1-img {
    width: 360px;
}

.business-table-1 {
    border-collapse: separate;
    border-spacing: 10px;
}

.business-table-1 td.row-bg {
    text-align: center;
    width: 8em;
    vertical-align: middle;
    background: var(--blue5);
    color:var(--blue);
}

.business-table-1,
.business-table-1 * {
    border: none;
}


.business-wrap-2 {
    display: flex;
    gap: 40px;
}

.business-wrap-2 .business-wrap-2-txt {
    flex: 1;
}

ol.business-ol-1 {
    position: relative;
    margin: 0;
    padding: 0
}

ol.business-ol-1 li  {
    list-style: none;
    list-style-position: outside;
    margin: 0.5em 0;
    padding-left: 1.5em
}

ol.business-ol-1 li span {
    position: absolute;
    left: 0;
    margin: 0
}


.sustainability-layout-business .sustainability-sub-heading {
    background-color: var(--blue);
    color: var(--white);
    text-align: center;
    padding: 0.5em;
}

.sustainability-layout-business .sustainability-sub-heading strong {
    color: var(--yellow);
    font-weight: 500;
}

@media screen and (max-width: 767px) {
    .business-wrap-1,
    .business-wrap-2,
    .environment-wrap,
    .social-wrap-7 {
        display: block;
        margin-bottom: 2em;
    }
    .business-wrap-1 .business-wrap-1-txt,.social-wrap-7 .social-wrap-7-txt {
        margin-bottom: 2em;
    }

    .business-wrap-1 .business-wrap-1-img,.business-wrap-1.vw1-6 .business-wrap-1-img,.social-wrap-7 .social-wrap-7-img {
        text-align: center;
        margin-bottom: 2em;
        width: auto;
    }
    .business-wrap-1 .business-wrap-1-img p {
        text-align: left;
    }
    .business-wrap-1 .business-wrap-1-img img,.social-wrap-7 .social-wrap-7-img img {
        width: auto;
    }

    .business-wrap-1-txt .sustainability-heading br {
        display: none;
    }

    .business-wrap-1.vw1-4 .business-wrap-1-img {
        width: auto;
    }

    table.table-group {
        width: 100%;
    }

    .business-wrap-1.vw1-1 .business-wrap-1-img img, .social-wrap-7.vw1-1 .social-wrap-7-img img {
        max-width: 300px;
    }

    .business-table-5 td.row-bg {
        width: 9em;
    }

    .sustainability-sub-heading.general-sub-heading br {
        display:none;
    }

    .business-table-1,
    .business-table-1 td {
        display: block;
    }
}


:root {
    --mt: 0;
    --mb: 0;
}

.mt {
    margin-top: var(--mt) !important;
}

.mb {
    margin-bottom: var(--mb) !important;
}


.stakeholder-case-wrap {
    display: flex;
    flex-wrap : wrap;
    gap: 40px;
}

.stakeholder-case-wrap article {
    width: 460px;
}

.stakeholder-case-wrap article img {
    display:block;
    width: 100%;
    object-fit: cover;
    aspect-ratio: 3 / 2;
    margin-bottom: 16px;
}

.stakeholder-case-wrap article .bg_text-color.inl-block {
    width: 10em;
    text-align: center;
    background-color: var(--yellow);
    color: var(--black);
}


.stakeholder-wrap-1 {
    display: flex;
    flex-direction: row-reverse;
    gap: 40px;
}
.stakeholder-wrap-2 {
    display: flex;
    gap: 40px;
    background-color: #fef8ea;
    padding: 1em 2em;
    border-radius: 12px 0 12px 0;
    color: var(--blue);
}
h3.stakeholder-heading{
    font-size: 1.6em;
    text-align: center;
    background-color: var(--yellow);
    padding: 0.2em;
    border-radius: 1.6em;
}
h4.stakeholder-heading{
    font-size: 1.5em;
    color: var(--blue);
    margin-block-end: 0.2em;
}
.stakeholder-heading-voice{
    font-size: 1.5em;
    color: #f7aa00;
    text-underline-offset: 6px;
    margin-block-end: 0.5em;
}

.stakeholder-case-name{
    color: var(--black);
    margin-bottom: 1em;
}


.stakeholder-wrap-1 .stakeholder-wrap-1-img {
    width: 300px;
}

.stakeholder-wrap-2 .stakeholder-wrap-2-img {
    width: 160px;
    align-self:flex-start;
    margin-top: 3.2em;
}

.stakeholder-wrap-1 .stakeholder-wrap-1-img img {
    width: 100%;
    object-fit: cover;
    aspect-ratio: 16 / 10;
}

.stakeholder-wrap-1 .stakeholder-wrap-1-txt {
    flex: 1;
    padding: 0 1em;
}
.stakeholder-wrap-2 .stakeholder-wrap-2-txt {
    flex: 1;
    font-feature-settings: "palt";
}
.stakeholder-dialogue-case:not(:last-child){
    margin-bottom: 4em;

}

.stakeholder-wrap-1 .stakeholder-wrap-1-txt .bg_text-color.inl-block {
    width: 10em;
    text-align: center;
    background-color: var(--blue);
}

.stakeholder-wrap-1 small {
    text-align: left;
}

.stakeholder-wrap-1-txt .marathon-toggle .hidden,
.stakeholder-wrap-1-txt .stakeholder-toggle-button .hidden {
    display: none;
}

.stakeholder-toggle-button {
    display: inline-block;
    padding: 0.5em 0.75em;
    border: 1px solid var(--blue);
    color: var(--blue);
    cursor:pointer;
    margin-top: 1em;
}

@media screen and (max-width: 767px) {
    .stakeholder-wrap-1 {
        display: block;
        margin-bottom: 2em;
    }
    .stakeholder-wrap-1 .stakeholder-wrap-1-txt {
        margin-bottom: 2em;
    }
    .stakeholder-wrap-2 {
        display: block;
        margin-bottom: 2em;
    }
    .stakeholder-wrap-2 .stakeholder-wrap-2-img {
        width: 100%;
        margin-top: 1em;
    }
    .stakeholder-wrap-2 .stakeholder-wrap-2-img img {
        width: 160px;
        margin: auto;
        display: block;
    }

    .stakeholder-wrap-1 .stakeholder-wrap-1-img {
        text-align: center;
        margin-bottom: 1em;
        width: auto;
    }
    
    .stakeholder-wrap-1 .stakeholder-wrap-1-img p {
        text-align: left;
    }
    .stakeholder-wrap-1 .stakeholder-wrap-1-img img {
        width: auto;
    }

    .stakeholder-wrap-1.vw1-4 .stakeholder-wrap-1-img {
        width: auto;
    }

}


.stakeholder-communication-pc {
    display: block;
}

.stakeholder-communication-sp {
    display: none;
}

.stakeholder-table {
    position: relative;
    width: 100%;
}

.stakeholder-table caption {
    position: absolute;
    content: '';
    top: 12px;
    bottom: 12px;
    left: 6px;
    height: calc(100% - 24px);
    background: linear-gradient(rgba(176, 209, 54, 1), rgba(176, 209, 54, 0.2));
    mix-blend-mode: darken;
    width: 24px;
    writing-mode: vertical-lr;
    display: flex;
    justify-content: space-between;
    align-items: center;
}


.stakeholder-table caption::before {
    content: "";
    position: absolute;
    top: -12px;
    left: 0;
    width: 0;
    height: 0;
    border-left: 12px solid transparent;
    border-right: 12px solid transparent;
    border-bottom: 12px solid rgba(176, 209, 54, 1);
}

.stakeholder-table caption::after {
    content: "";
    position: absolute;
    bottom: -12px;
    left: 0;
    width: 0;
    height: 0;
    border-left: 12px solid transparent;
    border-right: 12px solid transparent;
    border-top: 12px solid rgba(176, 209, 54, 0.2);
}

.stakeholder-table td.v {
    writing-mode: vertical-rl;
    text-align: center;
    font-weight: 500;
}

.stakeholder-table .td1 {
    width: 80px;
}

.stakeholder-table .td2 {
    width: 20%;
}

.stakeholder-table .td3 {
    width: 30%;
}

.stakeholder-table .td4 {
    width: 7%;
}

.stakeholder-table .td5 {
    width: auto;
}

.stakeholder-table td small {
    display: inline;
}

.stakeholder-table th.sh1,
.stakeholder-table td.sh1 {
    background-color: #dadf00;
}

.stakeholder-table td.sh1 {
    vertical-align: top;
}

.stakeholder-table td.sh2 {
    background-color :#e1e434;
    vertical-align: middle;
    padding-left: 35px;
}

.stakeholder-table td.sh3 {
    background-color :#e6e865;
    vertical-align: middle;
    padding-left: 35px;
}

.stakeholder-table td.sh4 {
    background-color :#eced8d;
    vertical-align: top;
}

.stakeholder-table td.sh5 {
    background-color :#f1f3b0;
    vertical-align: middle;
    padding-left: 35px;
}

.stakeholder-table td.sh6 {
    background-color :#f5f7d0;
    vertical-align: middle;
    padding-left: 35px;
}

.stakeholder-table td.sh7 {
    background-color :#cedbe8;
    vertical-align: middle;
    padding-left: 35px;
}

.stakeholder-table td p {
    margin-bottom: 16px;
}

.stakeholder-table td ul li,
.stakeholder-communication-sp ul li {
    list-style-type: none;
    position: relative;
    padding-left: 0.6em;
    margin-bottom: 0.25em;
}
.stakeholder-table td ul li:before,
.stakeholder-communication-sp ul li::before {
    border-radius: 50%;
    width: 5px;
    height: 5px;
    display: block;
    position: absolute;
    left: 0;
    top: 0.6em;
    content: "";
    background: var(--yellow);
}

.stakeholder-table td ul.sh7 li:before,
.stakeholder-communication-sp ul.sh7 li::before {
    background: var(--blue2);
}

.stakeholder-table td.op {
    border-right: 0;
    border-top: 0;
    border-bottom: 1px dotted var(--border);
}

.stakeholder-table td.fq {
    border-left: 0;
    border-top: 0;
    border-bottom: 1px dotted var(--border);
    text-align: right;
}

.stakeholder-table td.op.op1,
.stakeholder-table td.fq.fq1 {
    border-top: 1px solid var(--border);
}

.stakeholder-table td.op.op-1,
.stakeholder-table td.fq.fq-1 {
    border-bottom: 0;
}

@media screen and (max-width: 767px) {
    .stakeholder-communication-pc {
        display: none;
    }
    .stakeholder-communication-sp {
        display: block;
    }
    .stakeholder-communication-sp small {
        display: inline;
    }
    .stakeholder-communication-sp .stakeholder-table {
        border: none;
        margin-bottom: 24px;
    }
    .stakeholder-communication-sp .stakeholder-table td.op {
        border-left: none;
        padding-left: 0;
    }
    .stakeholder-communication-sp .stakeholder-table td.fq {
        width: 4em;
        padding-right: 0;
    }
    .stakeholder-communication-sp .stakeholder-table td.op.op1,
    .stakeholder-communication-sp .stakeholder-table td.fq.fq1 {
        border-top: none;
    }
    .stakeholder-communication-sp .stakeholder-table td.op.op-1,
    .stakeholder-communication-sp .stakeholder-table td.fq.fq-1 {
        border-bottom: 1px dotted var(--border);
    }

    .sustainability-sub-title {
        font-size: 1.1rem;
    }

    .stakeholder-communication-sp .sustainability-paragraph {
        margin-bottom: 16px;
    }

    .stakeholder-communication-sp ul li {
        margin-bottom: 8px;
    }
}



.evaluation-wrap-1 {
    display: flex;
    gap: 40px;
}

.evaluation-wrap-1 .evaluation-wrap-1-img {
    width: 300px;
    text-align: center;
}

.evaluation-wrap-1 .evaluation-wrap-1-txt {
    flex: 1;
}

.evaluation-wrap-1 small {
    text-align: left;
}

.evaluation-wrap-1 .paragraph-link {
    margin-left: 24px;
    text-indent: -12px;
}
.evaluation-wrap-1 .paragraph-link small {
    margin-right: 0px;
}



@media screen and (max-width: 767px) {
    .evaluation-wrap-1 {
        display: block;
        margin-bottom: 2em;
    }
    .evaluation-wrap-1 .evaluation-wrap-1-txt {
        margin-bottom: 1em;
    }

    .evaluation-wrap-1 .evaluation-wrap-1-img {
        text-align: center;
        margin-bottom: 3em;
        width: auto;
    }
    .evaluation-wrap-1 .evaluation-wrap-1-img p {
        text-align: left;
    }
    .evaluation-wrap-1 .evaluation-wrap-1-img img {
        width: auto;
        max-width: 250px;
        max-height: 150px;
    }

    .evaluation-wrap-1.vw1-4 .evaluation-wrap-1-img {
        width: auto;
    }

}



.sustainability-layout-segment {
    margin-top: 63px;
}

.sustainability-layout-segment .sustainability-section {
    padding-bottom: 50px;
}

.sustainability-layout-segment .report-heading {
    font-size: 28px;
    font-size: 1.75rem;
    font-weight: 500;
    line-height: 41px;
    margin-bottom: 30px;
    color: #002C45;
}

.sustainability-layout-segment .report-heading-line {
    border-left: 20px solid #2B8EB3;
    border-bottom: 2px solid #2B8EB3;
    line-height: 52px;
    text-indent: 20px;
    margin-bottom: 18px;
    padding: 0;
    border-top: 0;
}

.sustainability-layout-segment .report-sub-heading {
    font-size: 18px;
    font-size: 1.125rem;
    line-height: 24px;
    font-weight: 500;
    margin-bottom: 8px;
}

.sustainability-layout-segment .report-flex-info {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
}

.sustainability-layout-segment .flex-info-item {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: auto;
    padding-right: 0;
}

.sustainability-layout-segment figure.flex-info-item {
    flex: 1;
    width: auto;
    padding-right: 0;
}

/* start map location */
.sort-map {
    background: #FFF;
    margin-bottom: 64px;
    position: relative;
}

#list-map-tutorial {
    display: none;
}

.list-map-area {
    position: absolute;
    width: 15%;
    height: 30%;
    /*
    background: red;
    opacity: 0.1;
    */
    top: 58%;
    left: 65%;
    /*clip-path: polygon(60% 0, 100% 0, 100% 100%, 0 100%, 0 35%, 60% 35%);*/
}

.list-map {
    display: flex;
    align-items: flex-end;
    margin: 0 206px 0 70px;
    position: relative;
}

.list-checkBox {
    margin-left: 40px;
    margin-right: 112px;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
}

.map {
    display: flex;
    align-items: flex-start;
}

.map-checkBox label {
    display: flex;
    font-size: 16px;
    margin-top: 8px;
    width: calc(100%/2);
    cursor: pointer;
}

.map-checkBox {
    visibility: visible;
}

.map-checkBox.hidden {
    visibility: hidden;
}

/* .map-item-checkBox label {
    cursor: pointer;
} */

.map-checkBox input[type="checkbox"] {
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 15px;
    height: 25px;
    margin: 0 9px 0 0;
    position: relative;
    background-size: 40px;
    background-position: 0 0;
    top: 1px;
}

.map-checkBox input[type="checkbox"]:checked {
    width: 24px;
    margin-right: 0;
    background-position: -17px 0;
}

.bg_checkOff_01 {
    background: url('/images/sustainability/segment/icon-check-01.png') no-repeat;
}

.bg_checkOff_02 {
    background: url('/images/sustainability/segment/icon-check-02.png') no-repeat;
}

.bg_checkOff_03 {
    background: url('/images/sustainability/segment/icon-check-03.png') no-repeat;
}

.bg_checkOff_04 {
    background: url('/images/sustainability/segment/icon-check-04.png') no-repeat;
}

.bg_checkOff_05 {
    background: url('/images/sustainability/segment/icon-check-05.png') no-repeat;
}

.bg_checkOff_06 {
    background: url('/images/sustainability/segment/icon-check-06.png') no-repeat;
}

.bg_checkOff_07 {
    background: url('/images/sustainability/segment/icon-check-07.png') no-repeat;
}

.map:not(.map-checkBox):first-child {
    padding-right: 25px;
}

.map:not(.map-checkBox) {
    flex-direction: column;
}

.map-checkBox {
    justify-content: space-between;
    margin-top: 24px;
    flex-wrap: wrap;
}

.map-checkBox:not(:last-child) {
    width: 40%;
}

.map-item {
    display: flex;
}

.map-CTA {
    background: #ccc;
    width: 48px;
    height: 39px;
    min-width: 48px;
    border: 1px solid #fff;
    border-radius: 2px;
    display: inline-block;
    box-sizing: border-box;
    font-size: 12px;
    font-weight: 500;
    text-align: center;
    line-height: 39px;
    color: #002C45;
    vertical-align: middle;
    pointer-events: none;
}


.map-CTA span {
    position: relative;
}
.hokkaido.map-CTA span {
    top:30%;
}

.map-CTA.hidden span {
    opacity: 0;
}

.map-CTA span::before,
.earth-item span::before {
    content: '';
    position: absolute;
    width: 19px;
    height: 30px;
    background-repeat: no-repeat;
    right: -13px;
    top: -22px;
    background-size: 16px;
    background-image: url('/images/sustainability/segment/map.svg');
    display: none;
}

.map-CTA.active span::before {
    display: block;
}

.map-CTA span::after,
.earth-item span::after {
    position: absolute;
    font-weight: bold;
    color: #fff;
    background: #000;
    border: 1px solid #fff;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    top: -33px;
    right: -24px;
    z-index: 2;
    font-size: 13px;
    line-height: 17px;
    display: none;
}

.map-CTA.active span::after {
    display: block;
}


.earth-item {
    pointer-events: none;
}

.earth-item.active {
    pointer-events: unset;
}

.icon-earth {
    background-image: url('/images/sustainability/segment/icon-earth.svg');
    background-repeat: no-repeat;
    background-size: 74px;
    width: 74px;
    height: 74px;
    position: absolute;
    margin-left: 72px;
    margin-top: -40px;
}

.map-CTA span.not_map::before {
    content: unset;
}

.map-CTA span[data-count="1"]::after {
    content: '1';
}

.map-CTA span[data-count="2"]::after {
    content: '2';
}

.map-CTA span[data-count="3"]::after {
    content: '3';
}

.map-CTA span[data-count="4"]::after {
    content: '4';
}

.map-CTA span[data-count="5"]::after {
    content: '5';
}

.map-CTA span[data-count="6"]::after {
    content: '6';
}

.map-CTA span[data-count="7"]::after {
    content: '7';
}

.map-CTA span[data-count="8"]::after {
    content: '8';
}

.map-CTA span[data-count="9"]::after {
    content: '9';
}

.map-CTA span[data-count="10"]::after {
    content: '10';
}


.map-item .cbx-map-01.CTA-01.active,
.map-item .cbx-map-02.CTA-02.active,
.map-item .cbx-map-03.CTA-03.active,
.map-item .cbx-map-05.CTA-05.active,
.map-item .cbx-map-06.CTA-06.active {
    pointer-events: unset;
    background: #A4E000;
}

.map-item .cbx-map-01.CTA-01.active span::before,
.map-item .cbx-map-02.CTA-02.active span::before,
.map-item .cbx-map-03.CTA-03.active span::before,
.map-item .cbx-map-04.CTA-04.active span::before,
.map-item .cbx-map-05.CTA-05.active span::before,
.map-item .cbx-map-06.CTA-06.active span::before {
    display: block;
}

.map-item .cbx-map-01.CTA-01.active span::after,
.map-item .cbx-map-02.CTA-02.active span::after,
.map-item .cbx-map-03.CTA-03.active span::after,
.map-item .cbx-map-04.CTA-04.active span::after,
.map-item .cbx-map-05.CTA-05.active span::after,
.map-item .cbx-map-06.CTA-06.active span::after {
    display: block;
}


.map .map-item-width {
    width: 96px;
}

.map .map-item-width-resize {
    width: 48px;
}

.map .map-item-height {
    height: 78px;
    line-height: 78px;
}

.map .not_bg {
    background: transparent;
    border: transparent;
}

.config-item {
    font-size: 0;
}

.config-item-width {
    width: 192px;
}

.map-item.first-col a {
    width: 184px;
    height: 116px;
    margin-bottom: 24px;
}

.map-note {
    margin-bottom: 40px;
    padding-bottom: 25px;
    width: 100%;
    position: relative;
}

.map-note a {
    margin-left: 20px;
}

.map-note::before,
.map-note::after {
    content: '';
    position: absolute;
    width: calc(100% - 40px);
    background: #818181;
    height: 1px;
}

.map-note::before {
    width: calc(100% - 55px);
    bottom: 0;
}

.map-note::after {
    bottom: 37px;
    right: -34px;
    transform: rotate(-45deg);
}

.map-indepen {
    flex-direction: column;
    margin-bottom: -80px;
    transform: translateY(-20px);
}

.map-indepen .config-item {
    width: 100px;
    padding: 0 25px
}

.map-item a.active {
    pointer-events: unset;
    background: #A4E000;
}

/* end map location */

/* start modal */
.group-modal .modal-items {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
}
.group-modal-contents {
    display: none;
}


.fixed {
    overflow: hidden;
}

.modal {
    position: fixed;
    width: 100vw;
    height: 100vh;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
    top: 50%;
    left: 50%;
    transform: translate3d(-50%, -50%, 0);
    z-index: 99;
    display: none;
}

.modal-container {
    width: 98%;
    max-width: 475px;
    min-height: 480px;
    max-height: 480px;
    color: #002C45;
    font-weight: 500;
    background: #fff;
    padding: 16px;
    box-sizing: border-box;

    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate3d(-50%, -50%, 0);

    z-index: 9999;
}

.modal-container .swiper-button-next {
    right: calc(50% - 280px);
    outline: 2px solid var(--white);
}

.modal-container .swiper-button-prev {
    left: calc(50% - 280px);
    outline: 2px solid var(--white);
}

.modal-container a.wrap {
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    height: 100%;
    transition: opacity .3s;
    gap: 10px;
    cursor: pointer;
}

.modal-container a.wrap:hover {
    opacity: 0.5;
}

.modal-header{
    display: inline-block;
    text-align: left;
}
.modal.open {
    visibility: visible;
    opacity: 1;
    transition-delay: 0s;
    display: flex;
    justify-content: center;
    align-items: center;
}

.icon-close {
    background-image: url('/images/sustainability/segment/icon-close.svg');
    width: 22px;
    height: 22px;
    background-size: 22px;
    background-repeat: no-repeat;
    position: absolute;
    top: -30px;
    right: 0px;
    cursor: pointer;
    font-size: 0;
}

.modal-bg {
    position: absolute;
    width: 100%;
    height: 1000vh;
    background: #000000;
    opacity: .5;
    top: -100%;
    z-index: -1;
}

.modal-heading {
    font-size: 13px;
    line-height: 1.4;
    padding-left: 18px;
    position: relative;
}

.modal-heading::before {
    content: '';
    position: absolute;
    width: 14px;
    height: 14px;
    background: #2B8EB3;
    left: 0px;
    top: 2px;
}

.bf_heading-02::before {
    background: #0E649E;
}

.bf_heading-03::before {
    background: #FFA44D;
}

.bf_heading-04::before {
    background: #0E9EA8;
}

.bf_heading-05::before {
    background: #45A059;
}

.bf_heading-06::before {
    background: #719bad;
}

.modal-title {
    font-size: 14px;
    margin-bottom: 0;
    white-space: normal;
}

.modal-image img {
    max-height: 250px;
    /*max-height: 330px;*/
}


.modal-link {
    font-size: 14px;
    float: right;
    color: #41AAC0;
}

.modal-body{
    text-align: center;
}

.flex-modal {
    width: calc(100%/2 - 16px);
    position: relative;
    background: #fff;
    padding: 16px;
    box-sizing: border-box;
    margin: 0 8px;
    min-height: 480px;
    max-height: 480px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.flex-modal:last-child {
    margin-bottom: 0;
}

.modal-width {
    max-width: 950px;
    background: transparent;
    padding: 30px 0 0;
    flex-direction: unset;
    box-sizing: unset;
}

.modal-width .icon-close {
    right: 8px;
    top: 0;
}

.modal-slide .modal-container{
    display: block;
}

.modal-slide .swiper-slide{
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 448px;
}

@media(max-width:550px){
    .modal-container{
        max-height: 280px;
        min-height: 280px;
    }
}

.CTA-01 .modal-02 {
    display: none;
}

.CTA-06 .modal-01 {
    display: none;
}

.CTA-02 .modal-03 {
    display: none;
}

.CTA-06 .modal-04 {
    display: none;
}

.CTA-01 .modal-05 {
    display: none;
}

.CTA-03 .modal-06 {
    display: none;
}

.CTA-01 .modal-width,
.CTA-02 .modal-width,
.CTA-03 .modal-width,
.CTA-06 .modal-width {
    max-width: 475px;
}

.CTA-01 .flex-modal,
.CTA-02 .flex-modal,
.CTA-03 .flex-modal,
.CTA-06 .flex-modal {
    width: 100%;
}

.CTA-01.CTA-06 .modal-width,
.CTA-02.CTA-06 .modal-width,
.CTA-01.CTA-03 .modal-width {
    max-width: 950px;
}


.earth.active span::before {
    display: block;
    right: 16px;
    top: 18px;
}

.earth.active span::after {
    display: block;
    text-align: center;
    top: 4px;
    right: 7px;
}

.earth-item.active span {
    background-image: url('/images/sustainability/segment/icon-earth-active.svg');
}


@media(min-width:501px) {
    .CTA-01.CTA-06 .flex-modal,
    .CTA-02.CTA-06 .flex-modal,
    .CTA-01.CTA-03 .flex-modal {
        display: flex;
        width: calc(100%/2 - 16px);
    }

    .earth-item.active span[data-count="1"]::after {
        content: '1';
    }

    .earth-item.active span[data-count="2"]::after {
        content: '2';
    }

    .earth-item.active span[data-count="3"]::after {
        content: '3';
    }

    .earth-item.active span[data-count="4"]::after {
        content: '4';
    }

    .earth-item.active span[data-count="5"]::after {
        content: '5';
    }

    .earth-item.active span[data-count="6"]::after {
        content: '6';
    }

    .earth-item.active span[data-count="7"]::after {
        content: '7';
    }

    .earth-item.active span[data-count="8"]::after {
        content: '8';
    }

    .earth-item.active span[data-count="9"]::after {
        content: '9';
    }

    .earth-item.active span[data-count="10"]::after {
        content: '10';
    }

}


@media(max-width:500px) {

    .modal-width .icon-close {
        top: 0;
        right: 0;
    }

    .CTA-01.CTA-06 .flex-modal,
    .CTA-02.CTA-06 .flex-modal,
    .CTA-01.CTA-03 .flex-modal {
        display: flex;
        width: 100%;
    }

    .modal-width{
        display: block;
        max-height: unset;
        min-height: unset;
    }
    .modal-image img{
        max-height: 160px;
    }
    .modal-width{
        max-height: 620px;
    }
    .flex-modal{
        width: 100%;
        margin: 0 0 8px;
        min-height: 290px;
        max-height: 290px;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
    }
}

/* list pdf */
.report-list-download-pdf {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0 -10px;
}

.download-pdf-item {
    flex-basis: calc((100%/4) - 44px);
    line-height: 36px;
    border-left: 18px solid;
    border-bottom: 2px solid;
    text-align: center;
    position: relative;
    font-size: 20px;
    transition: opacity .3s;
    margin: 0 12px 32px;
    color: #002C45;
}


.report-section.report-section-pdf {
    padding-bottom: 50px;
}

.filter-image {
    display: flex;
    align-items: center;
    margin-top: 16px;
}

.filter-image img {
    max-width: 80px;
    margin-right: 16px;
}

.report-flex-sort .flex-info-item .filter-image~.report-title {
    padding-top: 8px;
}

.download-pdf-item:hover {
    opacity: .5;
    transition: opacity .3s;
}

.download-pdf-item::after {
    content: url('/images/sustainability/segment/file-pdf-icon.png');
    margin-left: 8px;
    vertical-align: middle;
}

.staff-item{
    background: #DAE000;
    /* border-color: #DAE000; */
    border-left: 0;
    line-height: 40px;
    border-bottom: 0;
    flex-basis: calc((100%/4) - 26px);
}

@media(max-width:991px){
    #list-map-tutorial {
        margin-bottom: 2em;
    }
    
    .staff-item:hover{
        opacity: 1;
    }
}

.staff-item::after{
    content: url('/images/sustainability/segment/icon-play.svg');
    right: 8px;
    position: absolute;
    top: 6px;
    height: 28px;
}

.report-heading-line {
    border-left: 20px solid #2B8EB3;
    border-bottom: 2px solid #2B8EB3;
    line-height: 52px;
    text-indent: 20px;
    margin-bottom: 18px;
}

.report-flex-sort {
    background: #DDEBF1;
    padding-left: 16px;
    align-items: stretch;
    margin-bottom: 24px;
}

.bd_blue {
    border-color: #002C45;
}

.bd_blue-1 {
    border-color: #2B8EB3;
}

.bd_blue-2 {
    border-color: #0E649E;
}

.bd_green {
    border-color: #45A059;
}

.bd_green-1 {
    border-color: #0E9EA8;
}

.bd_green-2 {
    border-color: #A4E000;
}

.bd_orange {
    border-color: #FFA44D;
}

.bd_blue-3 {
    border-color: #719bad;
}

.carousel {
    overflow: hidden;
    position: relative;
    align-items: stretch;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.info-staff{
    font-size: 13px;
    line-height: 18px;
    margin-top: 0;
    color: #002C45;
    text-align: left;
}
@media(max-width:991px) {
    .info-staff{
        text-align: center;
        width: 100%;
        margin-top: 8px;
        font-size: 12px;
    }
    .info-staff.hidden-desktop {
        display: block;
    }
}

.earthItem-06, .earthItem-05, .earthItem-04{
    pointer-events: unset;
}

/* swiper slide modal */
.earthItem-04 .swiper-container:not(.swip-04){
    display: none;
}
.earthItem-05 .swiper-container:not(.swip-05){
    display: none;
}
.earthItem-06 .swiper-container:not(.swip-06){
    display: none;
}
.earthItem-04.earthItem-05 .swiper-container:not(.swip-45){
    display: none;
}
.earthItem-04.earthItem-05 .swip-45{
    display: block;
}
.earthItem-04.earthItem-06 .swiper-container:not(.swip-46){
    display: none;
}
.earthItem-04.earthItem-06 .swip-46{
    display: block;
}
.earthItem-05.earthItem-06 .swiper-container:not(.swip-56){
    display: none;
}
.earthItem-05.earthItem-06 .swip-56{
    display: block;
}
.earthItem-04.earthItem-05.earthItem-06 .swiper-container:not(.swip-all){
    display: none;
}
.earthItem-04.earthItem-05.earthItem-06 .swip-all{
    display: block;
}
/* swiper slide mdal */
.report-flex-sort .flex-info-item .report-title {
    color: #1286B0;
}
@media(min-width:992px) {
    .list-map-wrapper {
        display: none;
    }

    .report-flex-sort .carousel {
        width: 450px;
        background-color: var(--white);
    }

    .report-flex-sort .carousel img{
        height: 100%;
        object-fit: cover;
    }

    .report-flex-sort .carousel .contain img{
        object-fit: contain;
    }

    .report-flex-sort .flex-info-item:not(.carousel) {
        flex: 1;
        padding-right: 16px;
        padding-bottom: 10px;
        box-sizing: border-box;
    }

    .report-flex-sort .flex-info-item .report-title {
        padding-top: 16px;
    }

    .list-location {
        display: none;
    }

}

@media(max-width:991px) {
    .common-layout-segment {
        margin: 24px auto;
    }

    /* .hidden-mobile {
        display: none;
    } */

    .sort-map {
        background: #FFF;
        margin-bottom: 24px;
    }

    .report-section.report-section-pdf {
        padding-bottom: 0;
    }

    .report-list-download-pdf {
        justify-content: left;
    }

    .gallery-list {
        position: relative;
    }

    .report-flex-sort {
        padding: 16px;
    }

    .carousel {
        margin: 16px auto 0;
    }

    .list-checkBox {
        margin: 0;
        flex-direction: column;
    }

    .map-checkBox:not(:last-child) {
        width: calc(100% + 10px);
        margin: 0 -5px 14px;
    }

    .map-checkBox label {
        display: flex;
        align-items: center;
        margin-top: 0;
        margin-bottom: 8px;
        padding: 5px 10px;
        border: solid 2px #eee;
        border-radius: 6px;
        margin: 0 5px 10px;
        width: calc(100%/3 - 10px);
        box-sizing: border-box;
        height: 65px;
    }

    .map-checkBox input[type="checkbox"] {
        width: 17px;
        min-width: 17px;
        top: 0;
    }

    .map-checkBox input[type="checkbox"]:checked {
        margin-right: 2px;
        min-width: 24px;
    }

    .list-map-wrapper {
        width: 100%;
        background: rgba(182, 235, 252, .3);
    }

    .list-map-inner {
        display: flex;
        flex-wrap: wrap;
        padding: 10px 5px;
        width: auto;
        height: auto;
    }

    .area {
        padding: 0 10px 15px;
        width: calc(100%/3);
        box-sizing: border-box;
    }

    .area li b {
        border-bottom: solid 2px #000;
        display: block;
        padding-bottom: 5px;
        width: 100%;
    }

    .area li b a {
        color: #ccc;
        pointer-events: none;
        display: inline-block;
        line-height: 1.4;
        position: relative;
        text-decoration: none;
        padding-left: 20px;
        cursor: default;
    }

    .area li b:has(+ul .active) a {
        color: #333;
    }

    .prefecture li a:not(.active) {
        color: #ccc;
        cursor: default;
        pointer-events: none;
    }
    .area .earthItem-04 a,
    .area .earthItem-05 a,
    .area .earthItem-06 a,
    .area .CTA-01 a.shizuka,
    .area .CTA-06 a.shizuka{
        color: #000!important;
        pointer-events: unset!important;
        cursor: pointer!important;
    }

    .area .earthItem-04 b a,
    .area .earthItem-05 b a,
    .area .earthItem-06 b a,
    .area .CTA-01 a.shizuka,
    .area .CTA-06 a.shizuka{
        cursor: default!important;
    }

    .area .CTA-01 .prefecture a.shizuka .icon-chevron-down::after,
    .area .CTA-06 .prefecture a.shizuka .icon-chevron-down::after{
        border-bottom-color: #000!important;
        border-right-color: #000!important;
    }

    .area .CTA-01 a.shizuka::after,
    .area .CTA-06 a.shizuka::after{
        background: #000!important;
    }

    .area .earthItem-04 a::after,
    .area .earthItem-05 a::after,
    .area .earthItem-06 a::after{
        background: #000!important;
        cursor: pointer!important;
    }

    .area .earthItem-04 b a::after,
    .area .earthItem-05 b a::after,
    .area .earthItem-06 b a::after{
        cursor: default!important;
    }

    .area .earthItem-04 .prefecture li a .icon-chevron-down::after,
    .area .earthItem-05 .prefecture li a .icon-chevron-down::after,
    .area .earthItem-06 .prefecture li a .icon-chevron-down::after{
        border-bottom-color: #000!important;
        border-right-color: #000!important;
    }

    .prefecture {
        margin-top: 5px;
        width: 100%;
    }

    .prefecture li {
        display: inline-block;
        width: 70px;
    }

    .prefecture li a {
        text-decoration: none;
        position: relative;
        padding-left: 15px;
        cursor: pointer;
    }

    .area li b a::after {
        content: '';
        position: absolute;
        left: 1px;
        top: 3px;
        width: 14px;
        height: 14px;
        z-index: 1;
        border-radius: 50%;
        z-index: 1;
    }

    .icon-chevron-down {
        position: relative;
    }

    .icon-chevron-down::after {
        content: "";
        display: block;
        box-sizing: border-box;
        position: absolute;
        width: 6px;
        height: 6px;
        border-bottom: 2px solid #fff;
        border-right: 2px solid #fff;
        transform: rotate(45deg);
        left: -15px;
        top: 6px!important;
        z-index: 2;
    }

    .prefecture .icon-chevron-down::after {
        width: 8px;
        height: 8px;
        top: 4px;
        left: -13px;
    }

    .area .prefecture .icon-chevron-down::after {
        border-bottom-color: #000000;
        border-right-color: #000000;
    }

    /*
    .area li b a:not(.active)::after {
        background: #ccc;
        cursor: default;
    }
    */

    .area .prefecture li a:not(.active) .icon-chevron-down::after {
        border-bottom-color: #ccc;
        border-right-color: #ccc;
        cursor: default;
    }

    .area li b a::after {
        cursor: default;
        background: #ccc;
    }

    .area li b:has(+ul .active) a::after {
        background: #333;
    }


}

@media (min-width:768px) and (max-width:991px) {
    .download-pdf-item {
        flex-basis: calc((100%/3) - 42px);
    }
    .staff-item{
        flex-basis: calc((100%/3) - 24px);
    }
}

@media (min-width:501px) and (max-width:767px) {
    .download-pdf-item {
        flex-basis: calc((100%/2) - 42px);
    }

    .staff-item{
        flex-basis: calc((100%/2) - 24px);
    }

    .map-checkBox label {
        width: calc(100%/2 - 10px);
    }

    .area {
        width: calc(100%/2);
    }
}

@media(max-width:500px) {
    .CTA-01.CTA-06 .flex-modal .modal-image img,
    .modal-height figure img{
        max-height: 160px;
    }

    .CTA-01.CTA-06 .flex-modal .modal-image,
    .modal-height figure{
        text-align: center;
    }
    .area {
        width: 100%;
    }

    .download-pdf-item {
        flex-basis: 100%;
        margin: 0 0 24px;

    }

    .staff-item{
        flex-basis: 100%;
    }

    .report-list-download-pdf {
        margin: 0;
    }

    .map-checkBox label {
        width: calc(100%/2 - 10px);
    }
}
.swiper-container {
    overflow: hidden;
    position: relative;
}
.swiper-button-lock{
    display: block;
    pointer-events: unset!important;
    opacity: 1!important;
    cursor: pointer!important;
}

.swiper-button-prev.swiper-button-lock{
    pointer-events: none!important;
    opacity: .35!important;
}

.modal .swiper-horizontal>.swiper-pagination-bullets, 
.modal .swiper-pagination-bullets.swiper-pagination-horizontal, 
.modal .swiper-pagination-custom, .swiper-pagination-fraction{
    bottom: 50px;
}
.swiper-slide{
    text-align: center;
}
.filter-item {
    /* display: none; */
    opacity: 0!important;
    visibility: hidden;
    height: 0;
}

.filter-item.active{
    opacity: 1!important;
    visibility: visible;
    height: auto;
}

.filter-item .report-flex-sort,
.filter-item .report-sub-heading,
.filter-item .swiper-container{
    position: absolute;
    top: -100%;
}

.filter-item.active .report-flex-sort,
.filter-item.active .report-sub-heading,
.filter-item.active .swiper-container{
    position: unset;
}
/*  */
.report-section.filter-item:not(:last-child){
    padding-bottom: 0;
}
.report-section.filter-item.active:not(:last-child){
    padding-bottom: 88px;
}
@media(max-width:991px){
    .report-section.filter-item.active:not(:last-child){
        padding-bottom: 24px;
    }
}
@media(max-width:500px){
    .modal-slide .swiper-button-next,
    .modal-slide .swiper-button-prev,
    .modal-slide .swiper-pagination{
        display: none;
    }

    .modal-slide .modal-container{
        max-height: 600px;
        overflow-y: auto;
        overflow-x: hidden;
        padding: 30px 0 0!important;
        background: transparent;
    }

    .modal-slide .swiper-wrapper{
        display: block;
        height: 100%!important;
        transform: translate3d(0px, 0px, 0px)!important;
    }

    .modal-slide .swiper-container{
       overflow: unset;
    }

    .modal-slide .swiper-slide{
        box-sizing: border-box;
        background: #fff;
        padding: 16px;
        margin-bottom: 8px;
        height: 100%;
        min-height: 280px;
        max-height: 281px;
    }

    .modal-slide .icon-close{
        top: 0;
    }

    .modal-slide .swiper-slide:last-child{
        margin-bottom: 0;
    }

    .modal-width {
        max-height: 620px;
    }

    .CTA-01.CTA-06 .flex-modal {
        max-height: 290px;
        min-height: 290px;
    }
    .CTA-01.CTA-06 .modal-img{
        display: block;
        margin-top: 16px;
    }
    
}

.js-add-image{
    opacity: 0;
}
.carousel-staff{
    background: #fff;
}
.carousel-staff .swiper-slide{
    display: flex;
    align-items: center;
}

.carousel-staff .swiper-slide:not(:last-child).swiper-slide-active{
    margin-right: 2px;
}



@media(min-width:992px){
    .image-resize{
        padding: 0 75px;
        box-sizing: border-box;
     }
}
@media(max-width:991px){
    .sustainability-layout-segment .flex-info-item.carousel-staff{
        padding: 16px;
    }
}





.report-gri table{
    table-layout: fixed;
    border-top: solid 1px #333333;
    margin-bottom: 24px;
}
.report-gri th{
    border-top: none;
    background: #dae000;
}
.report-gri .report-sub-heading{
    font-size: 28px;
    margin-bottom: 30px;
}

.report-gri th:nth-child(1){
    width: 150px;
}
.report-gri th:nth-child(2){
    width: 60px;
}
.report-gri th:nth-child(4){
    width: 150px;
}
.report-gri th:nth-child(5){
    width: 270px;
}
.report-gri .bg-777{
    background: #002c45;
    border-top: solid 1px #333;
}
.report-gri td.bg-777 span{
    color: #fff;
}
.report-gri td{
    border-top: solid 1px var(--gray);
    border-left: solid 1px var(--gray);
}
.report-gri .border-ccc td,
.report-gri td.bg_gray{
    border-top: solid 1px #333333;
}
.report-gri td.bg_gray{
    background: #9aa9b8;
}
.report-gri a.common-link-underline{
    color: #1374c1;
}
.report-gri a.link-icon::after {
    content: url(/css/'data:image/svg+xml,<svg xmlns="http:/www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 14 14"><path d="M8,33a1,1,0,0,1,1-1h3.972a1.024,1.024,0,0,1,.409.076,1.441,1.441,0,0,1,.325.215s0,0,0,0A1.127,1.127,0,0,1,14,33v4a1,1,0,1,1-2,0V35.416L6.706,40.706a1,1,0,0,1-1.412-1.413L10.584,34H9a1,1,0,0,1-1-1ZM0,35a2,2,0,0,1,2-2H5a1,1,0,1,1,0,2H2v9h9V41a1,1,0,1,1,2,0v3a2,2,0,0,1-2,2H2a2,2,0,0,1-2-2Z" transform="translate(0 -32)" fill="steelblue"/></svg>');
    margin-left: 7px;
    vertical-align: -1px;
    color:#0E9EA8
  }
@media(min-width: 550px){
    .report-gri table{
        min-width: 960px;
    }
}
@media (max-width: 1200px){
    .report-table-sticky::before{
        display: none;
    }
    .report-table-sticky.whilte:after{
        border-top: 1px solid #fff
    }
    .report-table-sticky.border-top-none::before{
        border-top: none;
    }
    .report-gri .materiality-table table:nth-child(1){
        border-top: none;
    }
    .report-gri .materiality-table tr:not(.border-ccc) td{
        border-top: solid 1px  var(--gray);
    }
    .report-gri .border-ccc td,
    .report-gri .materiality-table{
        border-top: solid 1px #333333;
    }
    .report-table-sticky{
        width: 120px!important;
        left: 0;
    }
    .report-gri .materiality-table th {
        border-top: none;
    }
}



.sustainability-layout-topics .sustainability-paragraph,
.sustainability-layout-topics small {
    text-align: justify;
}
.sustainability-layout-topics h3{
    font-size: 1.6em;
}

.topics-mv-pc {
    position: relative;
    width: 100%;
    margin-bottom: 2em;
}

.topics-mv-pc div header {
    position: relative;
    padding-top: calc(100% * 9 / 16);
}

.topics-mv-pc img {
    position: absolute;
    top: 0;
    left: 0;
}

.topics-mv-pc .sustainability-heading {
    position: absolute;
    width: calc(100% - 3em);
    bottom: 0;
    left: 0;
    margin-bottom: 0;
    font-size: clamp(21px, 2vw, 28px);
    line-height: clamp(1.85, 1.9, 2);
    font-weight: 600;
    color: var(--white);
    text-shadow: var(--blue) 0px 1px 1px;
    padding: 1em 1.5em;
    background: rgba(0, 44, 69, 0.75);
}

.topics-mv-pc .sustainability-heading-subtitle {
    font-size: clamp(14px, 1vw, 18px);
}


.sustainability-layout-topics .hidden-mobile {
    display: block;
}
.sustainability-layout-topics .hidden-desktop {
    display: none;
}

@media screen and (max-width: 767px) {
    .sustainability-layout-topics .hidden-mobile {
        display: none;
    }
    .sustainability-layout-topics .hidden-desktop {
        display: block;
    }
    
    .topics-mv-sp .sustainability-heading {
        font-size: 1.2rem;
        margin-bottom: 0.5em;
    }
    .topics-mv-sp .sustainability-heading-subtitle {
        font-size: 0.85rem;
        margin-bottom: 0.5em;
    }

    .topics-mv-sp img {
        width: 100%;
    }

    .sustainability-layout-topics .sustainability-paragraph-custom {
        font-weight: 500;
    }
}

@media screen and (max-width: 400px) {
    .topics-mv-sp .sustainability-heading br {
        display:none;
    }
}

.sustainability-layout-topics .sustainability-paragraph {
    line-height: 1.9;
}

.sustainability-layout-topics .sustainability-paragraph.strong {
    color: var(--blue);
    font-weight: bold;
}

/*
.sustainability-layout-topics .sustainability-paragraph sup {
}
*/

.sustainability-layout-topics .sustainability-paragraph span {
    color: var(--blue);
    font-weight: bold;
    margin-right: 1em;
}

.sustainability-flex-image-container {
    display: flex;
    gap: 32px;
    justify-content: center;
    margin-bottom: 2em;
}
.sustainability-layout-topmessage .float-left,
.sustainability-layout-topics .float-left {
    float: left;
    width: 40%;
    max-width: 400px;
    margin: 5px 50px 30px 0;
}
.sustainability-layout-topmessage .float-right,
.sustainability-layout-topics .float-right {
    float: right;
    width: 40%;
    max-width: 400px;
    margin: 5px 0 30px 50px;
}
.sustainability-layout-topics .float-right.scene{
    width: 60%;
    max-width: 500px;
    margin: 5px 0 16px 30px;
}

.sustainability-layout-topmessage .float-right.photo,
.sustainability-layout-topics .float-right.photo {
    width: 50%;
    max-width: 500px;
    margin: 5px 0 16px 30px;
}
.sustainability-layout-topmessage .float-left.photo,
.sustainability-layout-topics .float-left.photo {
    float: left;
    width: 50%;
    max-width: 500px;
    margin: 5px 50px 30px 0;
}

.sustainability-layout-topics .float-left figcaption,
.sustainability-layout-topics .float-right figcaption {
    font-size: 13px;
    line-height: 1.6;
    margin-top: 1em;
}

.sustainability-layout-topics .float-left figcaption strong,
.sustainability-layout-topics .float-right figcaption strong {
    font-size: 16px;
    font-weight: 400;
}


@media screen and (max-width: 767px) {
    .sustainability-layout-topics .float-left,
    .sustainability-layout-topics .float-right,
    .sustainability-layout-topmessage .float-right {
        float: none;
        margin: 0 auto 20px auto;
        width: 50%;
        max-width: 300px;
    }
    .sustainability-layout-topmessage .float-right.photo,
    .sustainability-layout-topmessage .float-left.photo,
    .sustainability-layout-topics .float-right.scene,
    .sustainability-layout-topics .float-left.scene,
    .sustainability-layout-topics .float-right.photo,
    .sustainability-layout-topics .float-left.photo,
    .sustainability-flex-image-container figure {
        width: 100%;
        max-width: 100%;
        margin: 16px 0;
    }

    .sustainability-layout-topics .float-left figcaption,
    .sustainability-layout-topics .float-right figcaption {
        font-size: 11px;
    }
    .sustainability-layout-topics .float-left figcaption strong,
    .sustainability-layout-topics .float-right figcaption strong {
        font-size: 13px;
    }
    .sustainability-flex-image-container {
        display: block;
    }
}

/* ESG¥¤¥ó¥Ç¥Ã¥¯¥¹¥Ú©`¥¸ÓÃ¥¹¥¿¥¤¥ë */
.ESG-half-container {
    display: flex;
    flex-wrap: wrap;
    margin: 14px -10px;
    margin-bottom: 4em;
}

.ESG-half-container > .common-panel-bar {
    padding-left: 32px; 
    flex-basis: calc(50% - 55px);
    margin: 6px 10px;
    font-size: 16px;
}
.ESG-half-container > .common-panel-bar.current {
    background-color: var(--gray);
}
.ESG-heading {
    border-left: solid 5px var(--gray1);
    padding-left: 10px;
    text-decoration: underline;
    color: #002c45;
    font-size: 16px;
}

@media (max-width: 767px) {
    .ESG-half-container {
    display: block;
    margin: 20px -10px;
    margin-bottom: 4em;
    }

    .ESG-half-container > .common-panel-bar {
    margin: 20px 10px;
    }
}
.statement-info {
    padding: 20px;
    background: #e5edf4;
    border-radius: 10px; 
}
.statement-info .general-heading{
    border-radius: 10px 10px 0 0; 
}
.statement-list{
    color: var(--blue);
    font-size: 16px;
}
.statement-list {
    position: relative;
    padding-left: 2em; 
    margin-top: 1em;
}

.statement-list::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
     width: 8px; /* »ÆÉ«¤Î¥é¥¤¥ó¤ÎÌ«¤µ */
     height: 100%; /* ÓHÒªËØ¤Î¸ß¤µ¤ËºÏ¤ï¤»¤ë */
    background-color: var(--yellow);
    border-radius: 5px; /* ¥é¥¤¥ó¤ÎÏÈ¶Ë¤òÍè¤¯¤¹¤ë */
}
.statement-label{
    margin-left: 0px;
    display: inline-block;
    font-size: 1.2em;
    margin-bottom: 0.5em;
}
.statement-label-ex{
    background-color: var(--gray);
    padding: 2px 16px;
    border-radius: 16px;
    margin-bottom: 4px;
    margin-right: 1em;
    display: inline-block;
    color: var(--blue);

}
.B-type.statement-list{
    color: var(--blue3);
}
.C-type.statement-list{
    color: var(--blue4);
}

.statement-issue{
    color: var(--blue);
}
.statement-issue.B-type{
    color: var(--blue3);
}
.statement-issue.C-type{
    color: var(--blue4);
}

@media screen and (max-width: 767px) {
    .hidden-mobile {
        display: none;
    }
    .hidden-desktop {
        display: inherit;
    }

    .table-group.table-variable {
        width: auto;
    }
}