  @charset "UTF-8";

@font-face {
    font-family: TOBI;
    src: url(/common/fonts/TOBI.woff) format("woff"), url(/common/fonts/TOBI.ttf) format("truetype")
}

@font-face {
    font-family: TOBI-fonts;
    src: url(/common/font/TOBI-fonts.eot);
    src: url(/common/font/TOBI-fonts.eot) format("eot"), url(/common/font/TOBI-fonts.woff) format("woff"), url(/common/font/TOBI-fonts.ttf) format("truetype"), url(/common/font/TOBI-fonts.svg) format("svg")
}

.icon:before {
    display: inline-block;
    font-family: TOBI-fonts;
    font-style: normal;
    font-weight: 400;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.icon-lg {
    font-size: 1.3333333333333333em;
    line-height: .75em;
    vertical-align: -15%
}

.icon-2x {
    font-size: 2em
}

.icon-3x {
    font-size: 3em
}

.icon-4x {
    font-size: 4em
}

.icon-5x {
    font-size: 5em
}

.icon-fw {
    width: 1.2857142857142858em;
    text-align: center
}

.icon-quality:before {
    content: "\EA01"
}

.icon-human_policy:before {
    content: "\EA02"
}

.icon-health:before {
    content: "\EA03"
}

.icon-diversity:before {
    content: "\EA04"
}

.icon-g_report:before {
    content: "\EA05"
}

.icon-a_report:before {
    content: "\EA06"
}

.icon-reconstrucion:before {
    content: "\EA07"
}

.icon-safety:before {
    content: "\EA08"
}

img {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    vertical-align: bottom
}

.pure-g {
    margin-top: -40px;
    margin-left: -40px;
    letter-spacing: -.31em;
    text-rendering: optimizespeed;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    -ms-flex-line-pack: start;
    align-content: flex-start
}

.pure-g-flow_reverse {
    -ms-flex-flow: row-reverse wrap;
    flex-flow: row-reverse wrap
}

.pure-g-align_center {
    -ms-flex-align: center;
    align-items: center
}

.pure-u-1-2,
.pure-u-1-3,
.pure-u-2-3 {
    display: inline-block;
    padding-top: 40px;
    padding-left: 40px;
    zoom: 1;
    letter-spacing: normal;
    word-spacing: normal;
    vertical-align: top;
    text-rendering: auto;
    box-sizing: border-box
}

.pure-u-1-2 img,
.pure-u-1-3 img,
.pure-u-2-3 img {
    max-width: 100%
}

.pure-u-1-2 {
    width: 50%
}

.pure-u-1-3 {
    width: 33.3333%
}

.pure-u-2-3 {
    width: 66.6667%
}

.secondcont .colum4_item .inner h3 .icon_font.icon:before {
    -ms-transform: scale(.6);
    transform: scale(.6)
}

#breadcrumbs {
    z-index: 1
}

#csr_environment {
    background: url(/shared/img/csr/bg_csr_environment.jpg) no-repeat;
    background-size: cover;
    padding: 0;
    padding-bottom: 11.5vw
}

#csr_environment h2 {
    padding: 4vw 0 0 5vw
}

#mainvisual_second p.title_mainvisual.twoline_en {
    top: 43%
}

.secondcont.csr_conts_activities,
.secondcont.csr_conts_environment,
.secondcont.csr_conts_gavernance,
.secondcont.csr_conts_social {
    background: url(/shared/img/csr/bg_env_contents.jpg) no-repeat;
    background-size: cover;
    padding: 5vw 2vw 20vw
}

.secondcont.csr_conts_activities h2,
.secondcont.csr_conts_environment h2,
.secondcont.csr_conts_gavernance h2,
.secondcont.csr_conts_social h2 {
    padding-left: 3vw
}

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

    .secondcont.csr_conts_activities h2,
    .secondcont.csr_conts_environment h2,
    .secondcont.csr_conts_gavernance h2,
    .secondcont.csr_conts_social h2 {
        padding: 10vw 0 !important
    }
}

#csr_csrreport,
#csr_gavernance,
#csr_risk,
#csr_social {
    padding: 0;
    padding-bottom: 11.5vw
}

#csr_csrreport h2,
#csr_gavernance h2,
#csr_risk h2,
#csr_social h2 {
    padding: 4vw 0 0 5vw
}

#csr_social {
    background: url(/shared/img/csr/bg_csr_social.jpg) no-repeat;
    background-size: cover
}

#csr_gavernance {
    background: url(/shared/img/csr/bg_csr_gavernance.jpg) no-repeat;
    background-size: cover
}

#csr_risk {
    background: url(/shared/img/csr/bg_csr_risk.jpg) no-repeat;
    background-size: cover;
    padding-bottom: 7vw
}

.csr-policy .policyBox {
    width: 100%;
    max-width: 100%
}

.csr-policy .policyBox .ol_normal li {
    list-style: none
}

.w20per {
    width: 20%
}

.w50per {
    width: 50%
}

.tac .table_normal.w50per {
    margin-left: auto;
    margin-right: auto
}

.csr-grayBlock {
    padding: 40px;
    background-color: #f1f1f1
}

.csr-sdgs-llist {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    margin-top: -10px;
    margin-left: -10px
}

.csr-sdgs-llist>li {
    width: 50%;
    padding-top: 10px;
    padding-left: 10px;
    box-sizing: border-box;
    text-align: center
}

.csr-sdgs-check {
    position: relative;
    padding-left: 30px;
    font-size: 18px
}

.csr-sdgs-check .icon {
    position: absolute;
    top: 4px;
    left: 0
}

.csr-linkList {
    text-align: center;
    letter-spacing: -.31em
}

.csr-linkList-li {
    position: relative;
    display: inline-block;
    padding: 0 20px;
    letter-spacing: normal;
    font-size: 15px
}

.csr-linkList-li:first-child:before {
    display: none
}

.csr-linkList-li:before {
    position: absolute;
    display: block;
    content: '';
    width: 1px;
    height: 15px;
    left: 0;
    top: 50%;
    background-color: #be004c;
    -ms-transform: translateY(-50%);
    transform: translateY(-50%)
}

#mainvisual_second h1 span,
#page_csr-env #mainvisual_second p.title_mainvisual.twoline_en,
#page_env-index #mainvisual_second p.title_mainvisual.twoline_en,
body.special #mainvisual_second p.title_mainvisual.twoline_en,
body.workstyle #mainvisual_second p.title_mainvisual.twoline_en {
    z-index: 1
}

#page_env-index #mainvisual_second p.title_mainvisual.twoline_en,
body.special #mainvisual_second p.title_mainvisual.twoline_en,
body.workstyle #mainvisual_second p.title_mainvisual.twoline_en {
    margin-top: 0;
    text-align: right
}

@media (max-width:600px) {

    #page_env-index #mainvisual_second p.title_mainvisual.twoline_en,
    body.special #mainvisual_second p.title_mainvisual.twoline_en,
    body.workstyle #mainvisual_second p.title_mainvisual.twoline_en {
        margin-top: 0;
        margin-right: .75rem;
        text-align: right
    }
}

#mainvisual_second h1 span {
    font-family: "メイリオ", Meiryo, sans-serif
}

.secondcont.csr_conts_gavernance {
    padding-bottom: 6vw
}

.leftupBox.leftup_btmflat:last-of-type {
    margin-bottom: unset
}

#contents_second,
#page_env-index #main_second {
    overflow: visible
}

.csr_sx_mat_head_wrap {
    position: -webkit-sticky;
    position: sticky;
    top: clamp(8.2rem, 12vh, 110px);
    z-index: 100
}

@media (max-width:1728px) {
    .csr_sx_mat_head_wrap {
        top: clamp(8rem, 10.2vh, 9rem)
    }
}

@media (max-width:1600px) {
    .csr_sx_mat_head_wrap {
        top: clamp(7.8rem, 10.3vh, 8.4rem)
    }
}

@media (max-width:1400px) {
    .csr_sx_mat_head_wrap {
        top: clamp(7rem, 10.3vh, 7.9rem)
    }
}

.csr_sx_mat_sdgs_icon,
.csr_sx_mat_wrap .csr_sx_mat_items .csr_sx_mat_sdgs_icon_wrap .csr_sx_mat_sdgs_icon {
    width: 4.5vw;
    max-width: 96px;
    height: auto;
    margin: 0;
    -o-object-fit: contain;
    object-fit: contain
}

section.csr_conts_sx span {
    display: inline-block
}

.csr_sx_wrap {
    margin-top: -8%;
    padding: 0 2vw 14vw
}

.csr_sx_wrap h2 {
    color: #707070;
    font-size: 4rem;
    font-family: "メイリオ", Meiryo, sans-serif
}

h3.csr_sx_catch {
    display: none;
    margin-bottom: 3rem;
    white-space: nowrap;
    font-size: min(3.2vw, 16px);
    text-align: center;
    font-weight: 800;
    color: #1f74b5
}

.csr_sx_desc {
    padding-left: 2.6%
}

.csr_sx_desc p {
    max-width: 70%
}

@media (max-width:767px) {
    .csr_sx_desc p {
        max-width: unset
    }
}

section.csr_conts_sx span.csr_sx_separator {
    display: none;
    width: 75%;
    margin: 2em auto 4rem;
    border-top: 2px solid #c0c5cc
}

.csr_sx_desc_col_wrap {
    display: flex;
    flex-direction: row;
    margin: 4rem auto 6vw 0;
    max-width: 1600px
}

.csr_sx_desc_col_text {
    flex: 1 0 40%
}

.csr_sx_desc_col_text p {
    font-size: 12px;
    box-sizing: border-box
}

@media (max-width:767px) {
    .csr_sx_desc_col_text p {
        max-width: 100%;
        margin: 0 auto 4rem;
        padding-left: 1em;
        text-indent: -1em;
        font-size: clamp(9px, 2.9vw, 11px) !important
    }
}

.csr_sx_desc_col_text p br:last-of-type {
    content: "";
    display: none
}

.csr_sx_desc_col_text p span:nth-of-type(n+3) {
    text-indent: 0
}

.csr_sx_desc_col_pix {
    flex: 1 0 40%;
    display: flex
}

.csr_sx_desc_col_pix img {
    max-width: 100%;
    -o-object-fit: contain;
    object-fit: contain
}

.csr_sx_mat_desc {
    padding-left: 2.6%
}

@media (max-width:767px) {
    .csr_sx_mat_desc {
        font-size: clamp(9px, 3.2vw, 12px);
        line-height: 2.5 !important
    }
}

.csr_sx_mat_desc_right {
    display: block !important;
    text-align: right
}

@media screen and (max-width:767px) {
    #csr_sx {
        display: block;
        margin-top: -8%;
        height: 4rem;
        padding: 0;
        padding-bottom: 11.5vw;
        background: #fff
    }

    .csr_sx_wrap {
        max-width: 100%;
        margin-top: 8%;
        padding: 0 5vw 40vw
    }

    .csr_sx_wrap .csr_sx_desc {
        margin-bottom: 5rem;
        padding: 0
    }

    .csr_sx_wrap .csr_sx_desc p {
        font-size: clamp(9px, 3.2vw, 12px);
        line-height: 2.5 !important
    }

    .csr_sx_wrap .csr_sx_desc .csr_sx_wrap .csr_sx_mat_desc {
        font-size: min(3.5vw, 12px);
        line-height: 2.5 !important;
        margin-bottom: 5rem
    }

    .csr_sx_wrap .csr_sx_desc span:not(.csr_sx_word) {
        display: unset
    }

    .csr_sx_wrap .csr_sx_mat_desc span:not(.csr_sx_word) {
        display: inline-block
    }

    .csr_sx_wrap .csr_sx_mat_desc br {
        display: none
    }

    .csr_esg-sdgs_wrap h2,
    .csr_sx_wrap h2 {
        font-size: 1.8rem;
        font-weight: 800;
        margin-bottom: 3rem
    }

    h3.csr_sx_catch {
        display: block
    }

    section.csr_conts_sx span.csr_sx_separator {
        display: block !important;
        border-top: 2px solid #c0c5cc
    }

    .csr_sx_desc_col_wrap {
        flex-direction: column
    }

    .csr_sx_desc_col_wrap .csr_sx_desc_col_text p span {
        display: unset
    }

    .csr_sx_desc_col_wrap .csr_sx_desc_col_pix {
        display: flex;
        flex-direction: column
    }

    .csr_sx_desc_col_wrap .csr_sx_desc_col_pix>a {
        margin-bottom: 3rem
    }
}

.f12c {
    font-size: clamp(9px, 3.2vw, 12px)
}

@media (max-width:1024px) {
    .f12c {
        font-size: clamp(9px, 1.2vw, 12px)
    }
}

.csr_sx_mat_content_wrap {
    position: relative;
    width: 98%;
    max-width: 1440px;
    height: -webkit-max-content;
    height: -moz-max-content;
    height: max-content;
    display: flex;
    flex-flow: column;
    margin: 2vw auto 6vw 2.6%;
    overflow: visible;
    font-family: Oswald, "メイリオ", Meiryo, sans-serif
}

@media (max-width:1900px) {
    .csr_sx_mat_content_wrap {
        width: 100%
    }
}

@media (max-width:1366px) {
    .csr_sx_mat_content_wrap {
        width: 95%;
        max-width: 100%
    }
}

@media (max-width:600px) {
    .csr_sx_mat_content_wrap {
        display: none
    }
}

.csr_sx_mat_head p {
    text-align: center
}

.csr_sx_mat_mat {
    width: 27.5%
}

.csr_sx_mat_details {
    width: 20%
}

.csr_sx_mat_kpi {
    width: 20%
}

.csr_sx_mat_achievements {
    width: 20%
}



.csr_sx_mat_target {
    width: 25%
}

.csr_sx_mat_target_year {
    width: 8%
}

.csr_sx_mat_target_num {
    width: 12%
}

.csr_sx_mat_target_achievements {
    width: 12%
}

.csr_sx_mat_target_achievementsyear {
    width: 12%
}


.csr_sx_mat_table {
    height: 100%
}

.csr_sx_mat_content p {
    font-size: 14px
}

@media (max-width:1600px) {
    .csr_sx_mat_content p {
        font-size: clamp(12px, .8vw, 14px)
    }
}

@media (max-width:768px) {
    .csr_sx_mat_content p {
        font-size: clamp(9px, 1.5vw, 14px)
    }
}

.csr_sx_mat_table_row_1st .csr_sx_mat_table_desc {
    border-bottom-style: none
}

.csr_sx_mat_table_row_nth .csr_sx_mat_table_desc {
    border-top-style: dashed;
    border-bottom-style: none
}

.csr_sx_mat_table_row_last .csr_sx_mat_table_desc {
    border-top-style: dashed
}

.csr_sx_mat_table_row_nth .csr_sx_mat_details_last {
    border-top-style: dashed;
    border-bottom-style: solid
}

.csr_sx_mat_target_year.csr_sx_mat_table_desc {
    border-right: none
}

.csr_sx_mat_target_num.csr_sx_mat_table_desc {
    border-left-style: dashed
}

.csr_sx_mat_table_head {
    width: 4%
}

.csr_sx_mat_table_head_content {
    display: flex;
    height: 100%;
    padding-top: 8rem;
    box-sizing: border-box
}

.csr_sx_mat_table_head p {
    max-width: 3em;
    margin: 0 auto;
    font-weight: 700;
    -ms-writing-mode: tb-lr;
    writing-mode: vertical-lr;
    line-height: 1 !important;
    letter-spacing: .5em
}

.csr_sx_mat_table_head p span {
    transform: translateX(-.07em);
    font-size: 20px;
    text-orientation: upright
}

.csr_sx_mat_table .csr_sx_mat_mat_issue {
    padding: 1em;
    padding-left: 4px;
    border-bottom: none
}

.csr_sx_mat_mat_issue h3 {
    font-size: 24px
}

@media (max-width:768px) {
    .csr_sx_mat_mat_issue h3 {
        font-size: clamp(14px, 2.5vw, 20px)
    }
}

.csr_sx_mat_table .csr_sx_mat_icon_col {
    width: 7%;
    padding: 0 6px;
    border-top: none
}

.csr_sx_mat_table .csr_sx_mat_icon_col .csr_sx_mat_icon_col_wrap {
    display: flex;
    flex-flow: column;
    height: 100%
}

.csr_sx_mat_icon_wrap:nth-of-type(n+2) {
    margin-top: 12px
}

.csr_sx_mat_icon_wrap img {
    width: 100%;
    max-width: 96px;
    height: auto;
    margin: 0;
    -o-object-fit: contain;
    object-fit: contain
}

td.csr_sx_mat_issue_desc {
    width: 16.5%;
    height: 100%
}

.csr_sx_mat_issue_desc h4 {
    font-size: 18px
}

.csr_sx_mat_issue_desc p {
    margin-top: 3em;
    line-height: 1.3 !important
}

.csr_sx_mat_issue_desc_narrow p {
    margin-top: 1em
}

.csr_sx_mat_issue_desc_content {
    display: flex;
    flex-flow: column;
    justify-content: flex-start;
    height: 100%;
    padding: 2em 1em 1em;
    box-sizing: border-box;
    font-family: "メイリオ", Meiryo, sans-serif
}

.csr_sx_mat_gov .csr_sx_mat_issue_desc_content h4:nth-of-type(2) {
    font-size: clamp(13px, .9vw, 16px)
}

.csr_sx_mat_table_desc {
    padding: 2em .5em
}

.csr_sx_mat_table_desc p {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: auto auto auto 0;
    font-family: "メイリオ", Meiryo, sans-serif;
    line-height: 1.3 !important
}

.csr_sx_mat_target_num.csr_sx_mat_table_desc p,
.csr_sx_mat_target_year.csr_sx_mat_table_desc p {
    margin: auto;
    text-align: center
}

.csr_sx_mat_table .csr_sx_mat_details.csr_sx_mat_table_desc p {
    margin: 0 auto auto 0
}

.csr_sx_mat_head td,
.csr_sx_mat_head th {
    background-color: #dee5e3;
    border: 2px solid #707070
}

.csr_sx_mat_env td,
.csr_sx_mat_env th,
div.csr_sx_mat_env {
    background-color: #ddedc9;
    border: 2px solid #88cb7f;
    box-sizing: border-box
}

.csr_sx_mat_soc td,
.csr_sx_mat_soc th,
div.csr_sx_mat_soc {
    background-color: #fdf6f9;
    border: 2px solid #f8c1d8;
    box-sizing: border-box
}

.csr_sx_mat_gov td,
.csr_sx_mat_gov th,
div.csr_sx_mat_gov {
    background-color: #eef2f9;
    border: 2px solid #96b9f6;
    box-sizing: border-box
}

.csr_sx_mat_env {
    margin-top: 0
}

.csr_sx_mat_head_cel p {
    text-align: center
}

td.border_dashed_top,
th.border_dashed_top {
    border-top-style: dashed
}

td.border_dashed_right,
th.border_dashed_right {
    border-right-style: dashed
}

td.border_dashed_bottom,
th.border_dashed_bottom {
    border-bottom-style: dashed
}

td.border_dashed_left,
th.border_dashed_left {
    border-left-style: dashed
}

.f10c {
    font-size: clamp(8px, 2.8vw, 10px)
}

.csr_sx_mat_content_wrap_sp {
    display: none;
    width: 100%;
    margin: 2vw auto 6vw;
    box-sizing: border-box
}

@media (max-width:767px) {
    .csr_sx_mat_content_wrap_sp {
        display: block
    }
}

.csr_sx_mat_table_wrap_sp {
    margin: 0 auto min(10vw, 7rem)
}

.csr_sx_mat_table_wrap_sp:first-of-type {
    margin-top: min(10vw, 7rem)
}

.csr_sx_mat_head_sp {
    padding: .5em
}

.csr_sx_mat_head_sp p {
    font-size: clamp(14px, 4.8vw, 18px);
    text-align: center;
    font-weight: 700;
    font-family: Oswald, sans-serif;
    letter-spacing: .2em
}

.csr_sx_mat_heading_wrap {
    margin: min(10vw, 7rem) auto
}

.csr_sx_mat_issue_wrap_sp {
    margin-bottom: min(10vw, 7rem)
}

.csr_sx_mat_issue_wrap_sp h3 {
    font-size: clamp(14px, 4.3vw, 16px);
    text-align: center;
    font-weight: 700
}

.csr_sx_mat_issue_wrap_sp h3::after {
    content: "";
    display: block;
    max-width: 3rem;
    margin: 1em auto;
    border-bottom: 1px solid #000
}

.csr_sx_mat_icons_wrap_sp {
    display: flex;
    justify-content: center;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    max-width: 85%;
    margin: 0 auto
}

.csr_sx_mat_icons_wrap_sp .csr_sx_mat_icon_wrap {
    flex-basis: 20%;
    flex-grow: 1;
    max-width: 54px;
    margin: 0 8px
}

.csr_sx_mat_icons_wrap_sp .csr_sx_mat_icon_wrap:nth-of-type(n+2) {
    margin-top: 0
}

.csr_sx_mat_issue_desc_wrap {
    width: 90%;
    margin: 0 auto min(10vw, 7rem);
    text-align: center
}

.csr_sx_mat_issue_desc_wrap h4 {
    margin-bottom: min(10vw, 7rem);
    font-size: clamp(10px, 3.8vw, 14px);
    font-family: "メイリオ", Meiryo, sans-serif
}

.csr_sx_mat_issue_desc_wrap p {
    font-size: clamp(9px, 3.2vw, 12px);
    font-family: "メイリオ", Meiryo, sans-serif
}

.csr_sx_mat_kpi_wrap_sp {
    margin-bottom: calc(min(10vw, 7rem)/ 2)
}

.csr_sx_mat_kpi_wrap_sp table {
    width: 100%
}

.csr_sx_mat_kpi_wrap_sp th {
    width: 30%;
    padding: 1rem .5rem
}

.csr_sx_mat_kpi_wrap_sp th p {
    text-align: center
}

.csr_sx_mat_kpi_wrap_sp td {
    width: 70%;
    padding: 1rem;
    background-color: transparent
}

.csr_sx_mat_kpi_wrap_sp p {
    font-size: clamp(9px, 3.2vw, 12px);
    font-family: "メイリオ", Meiryo, sans-serif
}

.csr_sx_mat_separator_sp {
    max-width: 4rem;
    margin: min(10vw, 7rem) auto
}

.csr_sx_youtube_wrap {
    width: 100%;
    max-width: 100vw;
    margin: 0 auto min(20vw, 15rem)
}

.csr_sx_youtube_wrap .csr_sx_youtube_title {
    margin-top: 4vw;
    margin-bottom: 2vw;
    text-align: center;
    color: #707070;
    font-family: Oswald, sans-serif;
    font-size: min(1vw, 20px);
    font-weight: 800
}

.csr_sx_youtube_content {
    margin: 0 auto;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    aspect-ratio: 16/9;
    min-width: 800px;
    max-width: 1280px
}

.csr_sx_youtube_content iframe {
    width: 100%;
    height: 100%
}

@media screen and (max-width:1366px) {
    .csr_sx_youtube_wrap .csr_sx_youtube_title {
        margin-top: 7rem;
        margin-bottom: 3rem;
        font-size: min(5vw, 16px)
    }

    .csr_sx_youtube_content {
        margin: 0 auto;
        width: 60%;
        aspect-ratio: 16/9;
        min-width: 480px;
        max-width: 100%
    }
}

@media screen and (max-width:767px) {
    .csr_sx_youtube_wrap .csr_sx_youtube_title {
        margin-top: 7rem;
        margin-bottom: 3rem;
        font-size: min(5vw, 16px)
    }

    .csr_sx_youtube_content {
        margin: 0 auto;
        width: 100%;
        aspect-ratio: 16/9;
        min-width: 240px
    }
}

.csr_sdgs_wrap .table_normal {
    width: 85%;
    max-width: 1440px;
    display: flex;
    flex-flow: column;
    margin: 2vw auto 3vw 2.6%
}

.csr_sdgs_wrap span {
    display: inline-block
}

.csr_sdgs_wrap .table_sp {
    display: none
}

.csr_sdgs_wrap .table_sp .csr-sdgs-sp-wrap:not(:last-of-type) {
    margin: 0 auto min(10vw, 7rem)
}

.csr_sdgs_wrap .table_sp .csr-sdgs-head {
    width: 100%;
    margin-bottom: 1rem;
    padding: .2rem;
    border: 2px solid #707070;
    background-color: #d7e3bd;
    box-sizing: border-box
}

.csr_sdgs_wrap .table_sp table {
    width: 100%
}

.csr_sdgs_wrap .table_sp tbody {
    box-sizing: border-box
}

.csr_sdgs_wrap .table_sp td,
.csr_sdgs_wrap .table_sp th {
    padding: 1rem 2rem;
    border: 2px solid #707070;
    box-sizing: border-box
}

.csr_sdgs_wrap .table_sp th {
    padding-right: 1.5rem;
    padding-left: 1.5rem
}

.csr_sdgs_wrap .table_sp th.csr-sdgs-issues {
    background-color: #f1f1f1
}

.csr_sdgs_wrap .table_sp td.csr-sdgs-keyissues {
    padding-top: .5rem;
    padding-bottom: .5rem;
    background-color: #707070
}

.csr_sdgs_wrap .table_sp td.csr-sdgs-keyissues h3 {
    color: #fff
}

.csr_sdgs_wrap .table_sp td.csr-sdgs-icons-cel {
    padding-right: min(1vw, 8px);
    padding-left: min(1vw, 8px)
}

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

    .csr_sx_desc_col_pix figure:target img,
    .csr_sx_mat_sdgs_icon_wrap figure:target img {
        width: 75vw;
        height: auto
    }
}

@media screen and (max-width:1900px) {
    .csr_sdgs_wrap {
        width: 100%
    }
}

@media screen and (max-width:1366px) {
    .csr_sdgs_wrap {
        width: 95%;
        max-width: 100%
    }
}

@media screen and (max-width:768px) {
    .csr_sdgs_wrap {
        width: 100%;
        margin: 0 auto min(10vw, 7rem)
    }

    .csr_sdgs_wrap .table_normal {
        display: none
    }

    .csr_sdgs_wrap .table_sp {
        display: block
    }

    .csr_sdgs_wrap .table_sp tbody {
        display: table;
        width: 100%
    }

    .csr_sdgs_wrap .table_sp tr {
        width: 100%
    }
}

@media screen and (max-width:768px) {
    .fmin16 {
        font-size: min(5vw, 16px)
    }

    .fmin14 {
        font-size: min(4vw, 14px)
    }

    .fmin12 {
        font-size: min(3vw, 12px)
    }

    .csr-sdgs-check {
        padding: 0
    }

    .csr-sdgs-check .icon {
        display: inline-block;
        position: relative;
        width: 2em;
        margin-top: -.3em;
        margin-right: .5em;
        line-height: 1.7
    }

    .csr-sdgs-icons-cel {
        width: 30%
    }
}

@media screen and (max-width:767px) {
    .csr_sx_mat_mobile_content_icons_wrap {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center
    }

    .csr_sx_mat_mobile_content_icons_wrap .csr_sx_mat_sdgs_icon_wrap {
        flex-basis: 39%;
        margin: min(2vw, .4rem)
    }

    .csr_sx_mat_mobile_content_icons_wrap .csr_sx_mat_sdgs_icon_wrap img {
        max-width: 96px
    }
}

.secondcont .colum4_item .inner {
    display: block;
    height: fit-content
}

.secondcont .colum4_item .inner div {
    display: flex;
    flex-flow: column;
    justify-content: space-between;
    align-items: center;
    min-height: 33rem;
    box-sizing: border-box
}

.secondcont .colum4_item:nth-child(even) {
    background-color: unset
}

.secondcont .colum4_item:nth-child(odd) {
    background-color: rgba(255, 255, 255, .8)
}

@media (max-width:600px) {
    .secondcont .colum4_item:nth-child(odd) {
        background-color: unset
    }

    .secondcont .colum4_item:nth-of-type(odd) {
        background-color: rgba(255, 255, 255, .8)
    }
}

.lightboxOverlay {
    max-width: 100%
}

@media (max-width:769px) and (min-width:768px) {
    .lightboxOverlay {
        max-width: unset
    }
}

.lightbox {
    display: flex;
    flex-flow: column-reverse;
    position: fixed;
    top: 25% !important;
    left: 50% !important;
    transform: translate(-50%);
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content
}

.lb-outerContainer {
    width: -webkit-fit-content !important;
    width: -moz-fit-content !important;
    width: fit-content !important;
    max-width: 60vw;
    height: -webkit-fit-content !important;
    height: -moz-fit-content !important;
    height: fit-content !important
}

.lb-image {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    -o-object-fit: contain;
    object-fit: contain;
    max-height: 50vh !important
}

.lb-dataContainer {
    width: 100% !important
}

.csr_kpi {
    margin-bottom: 10rem;
}

@media (max-width: 768px) {
    .csr_kpi {
        margin-bottom: 5rem;
    }
}

.csr_kpi_wrap {
    position: relative;
    display: block;
    box-sizing: border-box;
}

.titleBox_num {
    position: relative;
    display: flex;
    align-items: center;
    box-sizing: border-box;
    width: 100%;
    margin-left: unset;
    padding: 1rem;
    background-color: #f7f7f7;
    font-size: 26px;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.titleBox_num .num {
    font-size: 28px;
    font-weight: bold;
}

@media (max-width: 768px) {
    .titleBox_num .num {
        font-size: clamp(16px, 4vw, 18px);
    }
}

.titleBox_num .num span {
    border-color: #707070;
    font-weight: normal;
    color: #707070;
}

@media (max-width: 768px) {
    .titleBox_num .num span {
        width: 2em;
        height: 2em;
        font-size: clamp(16px, 4vw, 18px);
        line-height: 1.7;
    }
}

.titleBox_num h3 {
    position: relative;
    width: 100%;
    font-size: clamp(20px, 1.2vw, 28px);
    line-height: 1;
    font-weight: normal;
    color: #707070;
}

@media (max-width: 768px) {
    .titleBox_num h3 {
        font-size: clamp(16px, 4vw, 18px);
    }
}

.titleBox_num.show .accordion_icon::after {
    content: "－";
    transition: all 0.7s ease;
}

.titleBox_num .accordion_icon::after {
    content: "＋";
    display: block;
    width: 24px;
    height: 24px;
    border: solid 1px #555;
    position: absolute;
    top: 50%;
    right: 2em;
    transform: translateY(-50%);
    color: #555;
    line-height: 24px;
    text-align: center;
    font-size: 20px;
    transition: all 0.7s ease;
}

@media (max-width: 768px) {
    .titleBox_num .accordion_icon::after {
        right: 1em;
    }
}

.accordion_title {
    cursor: pointer;
}

.accordion_content {
    display: none;
    height: auto;
    transition: height 0.5s ease-out;
}

.accordion_content.show {
    overflow: visible;
}

.accordion_content.close {
    overflow: hidden;
}

p.csr_kpi_desc {
    max-width: 1280px;
    padding-left: 2.6%;
}

@media (min-width: 1921px) {
    p.csr_kpi_desc {
        padding-left: unset;
        margin: 0 auto;
    }
}

@media (max-width: 768px) {
    p.csr_kpi_desc.has_anchor {
        display: none;
    }
}

p.csr_kpi_desc.has_anchor_sp {
    display: none;
}

@media (max-width: 768px) {
    p.csr_kpi_desc.has_anchor_sp {
        display: block;
    }
}

@media (max-width: 768px) {
    p.csr_kpi_desc {
        padding-left: unset;
        font-size: clamp(10px, 3.5vw, 14px);
        line-height: 2 !important;
    }
}

.csr_kpi_category {
    position: relative;
    display: block;
    margin: 0 auto 4rem;
}

.csr_kpi_num {
    position: relative;
    display: block;
    width: 60%;
    max-width: 640px;
    margin: 4rem auto;
}

@media (max-width: 768px) {
    .csr_kpi_num {
        width: 100%;
        font-size: clamp(16px, 5.2vw, 20px);
    }
}

.csr_kpi_num h4 {
    position: relative;
    display: block;
    text-align: center;
    font-weight: bold;
    font-size: 20px;
}

@media (max-width: 768px) {
    .csr_kpi_num h4 {
        font-size: clamp(16px, 5.2vw, 20px);
    }
}

.csr_kpi_num h4::before {
    position: absolute;
    display: block;
    content: "";
    width: 100%;
    height: 1px;
    background-color: #333;
    top: calc(50% - 1px);
    left: 50%;
    transform: translate(-50%, -50%);
}

.csr_kpi_num h4 span {
    position: relative;
    padding: 0 3rem;
    background: #fff;
}

.csr_kpi_img {
    position: relative;
    display: block;
    margin: 2rem auto;
    width: 80%;
    max-width: 1024px;
}

.csr_kpi_img a {
    width: 100%;
    display: block;
    margin: 0 auto;
}

.csr_kpi_img a:has([src$="img_stakeholder.jpg"]) {
    width: 75%;
}

@media (max-width: 768px) {
    .csr_kpi_img a:has([src$="img_stakeholder.jpg"]) {
        width: 100%;
    }
}

.csr_kpi_img img {
    width: 100%;
    position: relative;
    display: block;
}

#lightbox:has([src$="img_csr_risk.jpg"]) {
    width: -moz-fit-content;
    width: fit-content;
    max-width: 90%;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%);
}

#lightbox .lb-outerContainer:has([src$="img_csr_risk.jpg"]) {
    width: 100%;
    max-width: 100vw;
}

@media (max-width: 768px) {
    #lightbox .lb-outerContainer {
        max-width: 100%;
    }
}

@media (max-width: 768px) {

    #lightbox:has([src$="img_stakeholder.jpg"]),
    #lightbox:has([src$="img_governance_flow.jpg"]),
    #lightbox:has([src$="img_csr_tcfd.jpg"]),
    #lightbox:has([src$="img_csr_risk.jpg"]) {
        width: 90%;
    }
}

#lightbox .lb-image[src$="img_csr_risk.jpg"] {
    max-height: 90vh !important;
}

.human-diversity_wrap {
    margin: 0 auto 5rem;
}

.human-diversity_head {
    position: relative;
    display: block;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto 3rem;
    font-size: 20px;
    font-weight: bold;
    text-align: center;
}

@media (max-width: 768px) {
    .human-diversity_head {
        font-size: clamp(16px, 4.8vw, 20px);
    }
}

.human-diversity_head span:nth-child(odd) {
    letter-spacing: -0.4em;
}

.human-diversity_head span:first-child {
    padding-right: 1em;
    text-align: left;
}

.human-diversity_head span:last-child {
    padding-left: 0.6em;
    text-align: right;
}

.anchor_kpi {
    display: inline-block;
}