/* ----- Common ----- */

.inactive {
    pointer-events: none;
}

.flex {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.flex_no_space {
    display: flex;
    flex-wrap: wrap;
}

.view_pc_inline {
    display: inline-block !important;
}

.view_sp_inline {
    display: none !important;
}

@media screen and (max-width: 768px) {
    .view_pc_inline {
        display: none !important;
    }
    .view_sp_inline {
        display: inline-block !important;
    }
}

.border_item {
    border: .3px solid #f7f7f7;
}

/* ----- main_visual ----- */

.main_visual {
    background-size: cover;
    min-height: 385px;
    position: relative;
    width: 100%;
    background-position: top center;
    background-repeat: no-repeat;
}

.environment .main_visual {
    background-image: url(/sustainability/environment/images/img-main-pc.jpg);
}

.society .main_visual {
    background-image: url(/sustainability/society/images/img-main-pc.jpg);
}

.governance .main_visual {
    background-image: url(/sustainability/governance/images/img-main-pc.jpg);
}

@media screen and (max-width: 768px) {
    .main_visual {
        background-size: cover;
        min-height: 80vw;
    }
    .environment .main_visual {
        background-image: url(/sustainability/environment/images/img-main-sp.jpg);
    }
    .society .main_visual {
        background-image: url(/sustainability/society/images/img-main-sp.jpg);
    }
    .governance .main_visual {
        background-image: url(/sustainability/governance/images/img-main-sp.jpg);
    }
}

.main_visual_inner {
    margin: 0 auto;
    padding: 0 15px;
}

.environment .main_visual_inner {
    max-width: 1285px;
}

.society .main_visual_inner {
    max-width: 1280px;
}

.governance .main_visual_inner {
    max-width: 1288px;
}

@media screen and (max-width: 768px) {
    .main_visual_inner {
        padding: 0 5.3vw;
    }
}

.main_visual h1 {
    border: none;
    position: absolute;
    text-align: left;
}

.environment .main_visual h1 {
    top: 23.6%;
}

.society .main_visual h1 {
    top: 20.5%;
}

.governance .main_visual h1 {
    top: 23.46%;
}

.main_visual .title_sub {
    color: #e60012;
    display: block;
    font-size: 20px;
    font-weight: 700;
}

.environment .main_visual .title_sub {
    letter-spacing: .05em;
    padding-left: .1em;
}

.society .main_visual .title_sub {
    letter-spacing: .05em;
}

.governance .main_visual .title_sub {
    letter-spacing: .03em;
    padding-left: .2em;
}

.main_visual .title_main {
    display: block;
    font-size: 40px;
    font-weight: 500;
    line-height: 1.63;
}

@media screen and (max-width: 768px) {
    .environment .main_visual h1 {
        top: 17.6%;
    }
    .society .main_visual h1 {
        top: 14.6%;
    }
    .governance .main_visual h1 {
        top: 19.9%;
    }
    .main_visual .title_sub {
        font-size: 2.67vw;
        padding-left: .12em;
    }
    .environment .main_visual .title_sub {
        padding-left: 0;
    }
    .governance .main_visual .title_sub {
        padding-left: .12em;
    }    
    .main_visual .title_main {
        font-size: 6.67vw;
    }
}

.main_visual p {
    font-size: 18px;
    font-weight: 500;
    position: absolute;
    text-align: left;
    top: 52%;
}

.environment .main_visual p {
    padding-left: .1em;
}

.society .main_visual p {
    max-width: 1280px;
    line-height: 2;
    top: 50%;
}

.governance .main_visual p {
    line-height: 2;
    max-width: 1280px;
    padding-left: .2em;
}

@media screen and (max-width: 768px) {
    .main_visual p {
        font-size: 3.733vw;
        padding-left: 0 !important;
        padding-right: 5.333vw;
        line-height: 1.75 !important;
        top: 40% !important;
    }
    .environment .main_visual p {
        line-height: 1.71 !important;
    }
}

/* ----- Content ----- */

.content img {
    display: block;
    width: 100%;
}

.block_inner {
    box-sizing: border-box;
    margin: 0 auto;
    max-width: 1310px;
    padding: 0 15px;
    width: 100%;
}

.block_goals {
    margin-top: 8.214286em;
}

@media screen and (max-width: 768px) {
    .block_inner {
        margin-top: 14.8vw;
        padding: 0 5.333vw;
    }
    .environment .block_inner {
        margin-top: 14.667vw;
    }
}

.title_inner {
    font-size: 28px;
    font-weight: 500;
    text-align: left;
}

@media screen and (max-width: 768px) {
    .title_inner {
        font-size: 5.333vw;
        text-align: center;
    }
}

.title_block {
    font-size: 26px;
    font-weight: 700;
}

@media screen and (max-width: 768px) {
    .title_block {
        font-size: 5.333vw;
    }
}

.goals_inner {
    align-items: center;
    margin-top: 4.571429em;
}

.governance .goals_inner {
    margin-top: 4em;
}

.goals_inner .list_goals::after{
    content:"";
    display:inline-block;
    width: calc(400 / 1280 * 100%);
}

.goals_inner .list_goals li {
    background: #c9caca;
    position: relative;
    width: calc(400 / 1280 * 100%);
}

.goals_inner .list_goals li:nth-child(n+4) {
    margin-top: 2.857143em;
}

@media screen and (max-width: 768px) {
    .goals_inner .list_goals li {
        width: 100%;
    }
    .goals_inner .list_goals li:nth-child(n+2) {
        margin-top: 7.467vw;
    }
}

.goals_inner .list_goals .list_num {
    max-width: 59px;
    position: absolute;
    left: 0;
    top: -13px;
    width: 100%;
}

.list_num span {
    color: #e60012;
    font-size: 16px;
    font-weight: 700;
    display: block;
    text-align: right;
    position: relative;
}

.list_num span::before {
    content: "";
    width: 30px;
    height: 1px;
    background: #e60012;
    position: absolute;
    left: 0;
    top: 13px;
}

@media screen and (max-width: 768px) {
    .goals_inner .list_goals .list_num {
        max-width: 10.667vw;
        top: -11px;
    }
    .list_num span {
        font-size: 3.467vw;
    }
    .list_num span::before {
        width: 5.333vw;
        top: 11px;
    }
}

.goals_inner .list_goals .list_goal_txt {
    align-items: center;
    box-sizing: border-box;
    display: flex;
    flex-wrap: wrap;
    font-size: 16px;
    font-weight: 700;
    min-height: 100px;
    padding: 1.3em 1.5625em 1.1em 1.25em;
    text-align: left;
    line-height: 1.75;
}

.goals_inner .list_goals .list_goal_txt>span>span {
    font-weight: 500;
}

@media screen and (max-width: 768px) {
    .goals_inner .list_goals .list_goal_txt {
        font-size: 3.733vw;
        min-height: 21.333vw;
        padding: 0 5.067vw;
        line-height: 1.75;
    }
}

.block_initiative {
    margin-top: 8.571429em;
    padding-top: 8.214286em;
    border-top: 1px solid #ddd;
}

.environment .block_initiative, .governance .block_initiative {
    padding-bottom: 9.285715em;
}

@media screen and (max-width: 768px) {
    .block_initiative {
        margin-top: 10.667vw;
        padding-top: 0;
        border-top: none;
    }
    .environment .block_initiative {
        margin-top: 8.8vw;
        padding-bottom: 35.467vw;
    }
    .governance .block_initiative {
        padding-bottom: 36.8vw;
    }
    .block_initiative .title_block {
        border-top: 1px solid #ddd;
        padding-top: 14.933vw;
    }
}

.list_initiative {
    margin-top: 3.928572em;
}

.list_initiative>li {
    width: calc(600 /1280 * 100%);
}

.list_initiative>li:nth-child(n+3) {
    margin-top: 5.5em;
}

.environment .list_initiative>li:nth-child(n+3) {
    margin-top: 5.714286em;
}

.environment .list_initiative>li a, .society .list_initiative>li a {
    display: block;
}

@media screen and (max-width: 768px) {
    .list_initiative {
        margin-top: 6.933vw;
    }
    .society .list_initiative {
        margin-top: 6.4vw;
    }
    .list_initiative>li {
        width: 100%;
    }
    .environment .list_initiative>li:nth-child(n+2) {
        margin-top: 8.8vw;
    }
    .society .list_initiative>li:nth-child(n+2) {
        margin-top: 9.333vw;
    }
    .governance .list_initiative>li:nth-child(n+2) {
        margin-top: 9.867vw;
    }
}

.title_list {
    margin-top: 1.142858em;
    text-align: left;
}

.title_list span {
    color: #333;
    display: inline-block;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: .05em;
    padding-right: 1.1em;
    position: relative;
}

.title_list span::after {
    background: url(/sustainability/share/images/ico-arrow01.png) right center no-repeat;
    background-size: contain;
    content: "";
    height: 15px;
    position: absolute;
    right: 0;
    top: 51%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    width: 9px;
}

.list_initiative a[href$=".pdf"] .title_list span::after {
    content: url(/share/images/icon_pdf_s.gif);
    vertical-align: middle;
    padding-left: 2px;
    transform: scale(1.1);
    background: none;
    top: 0;
}

@media all and (-ms-high-contrast:none) {
    .title_list span::after {
        top: 42%;
    }
}

@media screen and (max-width: 768px) {
    .title_list {
        margin-top: 3.2vw;
    }
    .environment .title_list {
        margin-top: 1.333vw;
    }
    .title_list span {
        font-size: 4.267vw;
        letter-spacing: 0;
        padding-right: 6.187vw;
    }
    .environment .title_list span {
        padding-right: 1.3em;
    }
    .society .title_list span::after, .governance .title_list span::after {
        top: 46%;
    }
}

.list_icon {
    margin-top: 1.857143em;
}

.list_icon li {
    margin-right: 1.5em;
    width: 82px;
}

.list_icon li:nth-child(6n) {
    margin-right: 0;
}

@media screen and (max-width: 768px) {
    .list_icon {
        margin-top: 4.533vw;
    }
    .list_icon li, .list_icon li:nth-child(6n) {
        margin-right: 4vw;
        width: 14.667vw;
    }
    .list_icon li:nth-child(5n) {
        margin-right: 0;
    }
    .list_icon li:nth-child(n+6) {
        margin-top: 4vw;
    }
}

.list_link {
    margin-top: .5em;
}

.list_link li {
    text-align: left;
}

.list_link li:nth-child(n+2) {
    margin-top: 1em;
}

.list_link li a {
    color: #333;
}

@media screen and (max-width: 768px) {
    .list_link li:nth-child(n+2) {
        margin-top: 2.933vw;
    }
}

.list_link li a span {
    color: #333;
    font-size: 16px;
    font-weight: 500;
    padding-right: 1.125em;
    position: relative;
}

.list_link li a span::after {
    background: url(/sustainability/share/images/ico-arrow01.png) right center no-repeat;
    background-size: contain;
    content: "";
    height: 12px;
    position: absolute;
    right: 0;
    bottom: .3em;
    width: 9px;
}

@media all and (-ms-high-contrast:none) {
    .environment .list_link li a span::after {
        top: 42%;
    }
    .society .list_link li a span {
        color: #333;
        font-size: 16px;
        font-weight: 500;
        padding-right: 1.125em;
        position: relative;
    }
    .society .list_link li a span::after {
        top: 42%;
    }
}

@media screen and (max-width: 768px) {
    .environment .list_link li a span {
        font-size: 3.413vw;
    }
    .environment .list_link li a span::after {
        height: .9em;
        bottom: .2em;
        width: .7em;
        max-width: 9px;
        max-height: 15px;
    }
    .society .list_link li a span {
        font-size: 3.413vw;
    }
    .society .list_link li a span::after {
        height: .9em;
        bottom: .2em;
        width: .7em;
        max-width: 9px;
        max-height: 15px;
    }
}

.block_icon {
    margin-top: 8.571429em;
}

.list_related_icon {
    margin-top: 1.5em;
}

.list_related_icon li {
    width: 120px;
    margin-right: 25px;
}

.list_related_icon li:nth-child(9n) {
    margin-right: 0;
}

.list_related_icon li:nth-child(n+10) {
    margin-top: 20px;
}

@media screen and (max-width: 768px) {
    .environment .block_icon,
    .society .block_icon,
    .governance .block_icon {
        margin-top: 8.8vw;
    }
    .list_related_icon {
        margin-top: 5.733vw;
    }
    .list_related_icon li {
        width: 20vw;
        margin-right: 4vw !important;
    }
    .society .list_related_icon li {
        width: 18vw;
        margin-right: 5.75vw !important;
    }

    .environment .list_related_icon li:nth-child(n+4), .governance .list_related_icon li:nth-child(n+4) {
        margin-top: 4vw;
    }
    .society .list_related_icon li:nth-child(4n) {
        margin-right: 0 !important;
    }
    .society .list_related_icon li:nth-child(n+5) {
        margin-top: 5.75vw;
    }
}

.environment .list_link_inner {
    margin-top: .5em;
    margin-left: 2em;
}

.environment .list_link_inner li:nth-child(n+2) {
    margin-top: .5em;
}

.society .list_link_inner {
    margin-top: .5em;
    margin-left: 2em;
}

.society .list_link_inner li:nth-child(n+2) {
    margin-top: .5em;
}