@media only screen and (max-width:1500px){

    .sustainability .sust_header02 .sust_en_bg.hpm{
        font-size: 9.6vw;
    }
}

/*--------------------------------------------------------------------------
1280px以下
--------------------------------------------------------------------------*/
@media only screen and (max-width:1280px){
    .sustainability .tbsp_no{
        display: none;
    }
    .sustainability [class^="sust_header"] .sust_en_ttl{
        font-size: 6.25vw;
    }
    .sustainability .sust_header02 .sust_en_bg{
        font-size: 11.25vw;
    }

    .sustainability .sust_contnt .index_box div ul.sust_list01{
        display: block;
    }
    .sustainability .sust_contnt .index_box div ul a{
        min-width: 17em;
    }
    .sustainability .sust_contnt .index_box div ul a br{
        display: none;
    }

    .sustainability .sust_page_nav li{
        padding: 0.25em 2.6%;
    }
    .sustainability .sust_page_nav li a::after{
        margin-left: 1em;
    }

    .sustainability .sust_width_img01 {
        grid-template-columns: repeat(2 ,1fr);
        gap: 2.5em;
    }

    .sustainability .sust_step{
        font-size: 1.25vw;
    }
    .sustainability .sust_risk{
        font-size: 1.5625vw;
    }
    .sustainability .sust_top_btn{
        font-size: 1.25vw;

    }
}

/*--------------------------------------------------------------------------
1070px以下
--------------------------------------------------------------------------*/
@media only screen and (max-width: 1070px){
    .sustainability .sust_cat_nav02 ul {
        gap: 3%;
        font-size: 1.4vw;
    }
    .sustainability .sust_contnt .index_box{
        width:100%;
        background-size: 50%;
    }

    .sustainability .sust_contnt .index_box:nth-of-type(odd){
        margin-left:0;
        padding:0 40% 4.6% 35px;
    }

    .sustainability .sust_contnt .index_box:nth-of-type(even){
        margin-right:0;
        padding:0 35px 4.6% 40%;
    }
    .sustainability .sust_page_nav{
        flex-wrap: wrap;
        justify-content: flex-start;
    }

    .sustainability .sust_page_nav li,
    .sustainability .sust_page_nav li:first-child{
        border: none;
    }

    .sustainability.sust_manage .sust_contnt {
            padding: 0 3em;
    }
    .sustainability .sust_purpose {
        font-size: 3.74vw;
    }
    .sustainability .sust_purpose span[class^="sust_purpose_bg"]{
        width: 47%;
    }

    .sustainability .sust_purpose span.sust_purpose_bg01{
        left: 3%;
    }
    .sustainability .sust_purpose span.sust_purpose_bg02{
        right: 3%;
    }

    .sustainability .sdgs_iconlist{
        right:0;
    }
}




/*--------------------------------------------------------------------------
980px以下
--------------------------------------------------------------------------*/
@media only screen and (max-width: 980px){
    .sustainability .sp_no{
        display: none;
    }
    .sustainability .sust_cat_nav01 li{
        margin: 0 0.5em;
    }
    .sustainability .sust_cat_nav02{
        width:calc(100% - 100px);
    }
    .sustainability .sust_cat_nav02 ul{
        grid-template-columns: repeat(2, 1fr);
        gap: 2em;
        font-size: 0.875em;
    }
    .sustainability .internal{
        margin-top:-188px;
        padding-top:188px;
    }
    .sustainability .sust_contnt .index_box h2 {
        font-size: 1.2em;
    }
    .sustainability .sust_materiality_index{
        grid-template-columns: repeat(1,1fr);
        font-size: 0.875em;
    }
    .sustainability .sust_cont_typ03 section p{
        transform: skewX(-10deg);
        padding: 1.5em 3em 1em;
    }
    .sustainability .sust_cont_typ03 section p span{
        transform: skewX(10deg);
    }
    .sustainability .sust_cont_typ03 h3{
        font-size: 1.8em;
    }
    .sustainability .table_typ05{
        font-size:0.75em;
    }
    .sustainability .sust_top_btn{
        font-size: 1em;
        grid-template-columns: repeat(3, 1fr);
    }
}

/*--------------------------------------------------------------------------
768px以下
--------------------------------------------------------------------------*/
@media only screen and (max-width: 768px){
     .sustainability .table_typ01{
        font-size: 0.875em;
        word-break:break-all ;
    }
    .sustainability .table_typ02{
        width: 1080px;
        margin-bottom: 0;
    }
    .sustainability .table_typ02 caption{
        font-size: 1em;
    }
    .sustainability .sust_ofl{
        overflow-x: auto;
        width: 100%;
    }
    .sustainability p + .sust_ofl .table_typ02{
        margin-top: 0;
    }
    .sustainability .mn_current ul:not(.opened_cmenu){
        display: none;
    }
    .sustainability .internal,
    .sustainability .internal_nohead{
        margin-top:0 !important;
        padding-top:0 !important;
    }
    .sustainability #crumb{
        background-color: #f8f8f8;
        margin-bottom: 1em;
    }
    .sustainability #crumb ul{
        padding: 0.25em 0;
    }
    .sustainability [class^="sust_header"] .sust_en_ttl{
        font-size:3em;
    }
    /*--sust_header01--*/
    .sustainability .sust_header01 {
        width: 100%;
        margin: 0 0 3em -4.5%;
        padding:1% 5% 30%;
        transform: skewX(-6deg);
    }
    .sustainability .sust_header01::before{
        width: 110%;
        left: -5%;
        transform: skewX(6deg);
    }
    .sustainability .sust_header01 div{
        transform:skewX(6deg);
    }
    .sustainability .sust_header01 div h1 + p{
        margin:1em 0 0;
        font-size: 0.875em;
        min-height: 8.75em;
    }
    .sustainability.top .sust_header01::before{
        background: linear-gradient(180deg, #f2f6fb 50%, transparent 100%) , url(img/sust/top_main.png) no-repeat right bottom / 100% auto;
    }
    .sustainability.social .sust_header01::before{
        background: linear-gradient(180deg, #f2f6fb 50%, transparent 100%) , url(img/social/top_main.png) no-repeat right bottom  / 100% auto;
    }
    .sustainability.governance .sust_header01::before{
        background: linear-gradient(180deg, #f2f6fb 50%, transparent 100%) , url(img/governance/top_main.png) no-repeat right bottom  / 100% auto;
    }
    .sustainability.environment .sust_header01::before{
        background: linear-gradient(180deg, #f2f6fb 50%, transparent 100%) , url(img/environment/top_main.png) no-repeat right bottom  / 100% auto;
    }

    /*--sust_header02--*/
    .sustainability .sust_header02 {
        min-height: 0;
    }

/*--sust_cat_nav01--*/
    .sustainability .sust_cat_nav01{
        display: none;
    }
/*--sust_cat_nav02--*/
.sustainability .sust_cat_nav02{
    width:calc(100% - 40px);
    transform: skewX(-3deg);
    padding: 2em 1em
}
.sustainability .sust_cat_nav02 > *{
    transform: skewX(3deg);
}
.sustainability .sust_cat_nav02 > p {
    font-size: 2em;
}


/*--index_box--*/
    .sustainability .sust_contnt .index_box:nth-of-type(odd),
    .sustainability .sust_contnt .index_box:nth-of-type(even){
        width: 106%;
        padding: 0 35px 37%;
        margin: 0 -3% 5em;
        background-size: 94%;
        background-position: right bottom;
    }
    .sustainability .sust_contnt .index_box h2{
        padding-left: 4%;
    }
    .sustainability .sust_contnt .index_box div ul.sust_list01{
        display: grid;
    }
    .sustainability .sust_contnt .index_box div ul a {
        min-width: 0;
        font-size: 0.875em;
    }
    .sustainability .sust_contnt .index_box div ul a br{
        display: inline;
    }

/*--sust_width_img--*/
.sustainability .sust_width_img01 {
    grid-template-columns: repeat(1 ,1fr);
    gap: 1.5em;
    justify-items: center;
}

/*--sust_cont_typ--*/

.sustainability .sust_cont_typ02{
    display: block;
}
.sustainability .sust_cont_typ03{
    display: block;
    margin: 2em -3.19% 0;
    width:106.38%;
    padding: 0 20px;
}
.sustainability .sust_cont_typ03 section{
    margin-top: 2em;

}
    /*--environment--*/
.sustainability .sust_env_nav{
    grid-template-columns: repeat(auto-fill , minmax(7em , 1fr));
    gap:1em;
}
.sustainability .sust_env_nav li{
    padding: 0.5em 0.75em;
}
/*--sust_column_box--*/
.sustainability .sust_column_box01 {
    grid-template-columns: repeat(1, 1fr);
    gap: 0;
}
.sustainability .sust_column_box01 p{
    margin-bottom: 3em;
}
.sustainability .sust_column_box02 {
    grid-template-columns: repeat(1, 1fr);
}
.sustainability .sdgs_iconlist {
    width:calc(100% - 20px);
    position: static;
    transform: skewX(-10deg);
    padding:1.5em;
    margin: 1em auto 0;
}
.sustainability .sdgs_iconlist ul{
    transform: skewX(10deg);
}
.sustainability .sust_step {
    grid-template-columns: repeat(1, 1fr);
    font-size:1em;
    max-width: 300px;
    margin: 4em auto 1.5em !important;
    gap: 4em;
}
.sustainability .sust_step li::after {
    border: 0.5em solid transparent;
    border-top-color: var(--blue);
    top: calc(100% + 1em);
    left:50%;
    transform: translateY(0);
    transform: translateX(-50%);
}
.sustainability .sust_risk {
    grid-template-columns: repeat(1, 1fr);
    max-width: 300px;
    font-size:1em;
    gap: 3em;
}
.sustainability .sust_risk li:nth-child(1) > span:last-child {
    width: auto;
    position: static;
    text-align: center;
    font-size: 0.875em;
    display: block;
}
.sustainability .sust_risk li:nth-child(1) > span:last-child br{
    display: none;
}
.sustainability .sust_risk li:nth-child(1)::after, .sustainability .sust_risk li:nth-child(2)::after {
    border: 1em solid transparent;
    border-top-color: var(--blue);
    top: calc(100% + 1em);
    left: 50%;
    transform: translateY(0);
    transform: translateX(-50%);
}

/*--sust_top--*/
.sustainability .sust_top_ttl {
    font-size: 1.5em;
    margin: 2em auto;
}
.sustainability .sust_top_btn{
    grid-template-columns: repeat(2, 1fr);
}
}

/*--------------------------------------------------------------------------
480px以下
--------------------------------------------------------------------------*/
@media only screen and (max-width: 480px){
    .sustainability .pc_no{
        display: inline;
    }
    .sustainability .table_typ01 th:first-child{
        width: 10%;
    }
    .sustainability .table_typ01 th:last-child{
        width: 25%;
    }
    .sustainability .table_typ03 {
        font-size: 0.875em;
    }
    .sustainability .table_typ03.table_typ03_res th,
    .sustainability .table_typ03.table_typ03_res td{
        display: block;
        border: none;
    }
    .sustainability .table_typ03.table_typ03_res th{
        border-bottom: var(--gray) 1px solid;
    }
    .sustainability .ptn_pdf{
        display:flex;
        min-width: 0;
        width: 80%;
        margin: 0 auto;
    }
    .sustainability .sust_cat_nav02 > p {
        font-size: 1.5em;
    }
    .sustainability .sust_cat_nav02 ul {
        grid-template-columns: repeat(1, 1fr);
        gap: 1em;
        font-size: 1em;
    }
    .sustainability .sust_header01 {
        margin: 0 0 3em -5.5%;
        padding: 1% 7% 30%;
    }
    .sustainability .sust_header02 {
        padding: 0 0 3em;
        overflow: hidden;
    }
    .sustainability [class^="sust_header"] .sust_en_ttl{
        font-size: 12.5vw;
    }
    .sustainability .sust_header02 .sust_en_bg {
        font-size: 4em;
        top: 0.2em;
    }

    .sustainability .sust_header01 div h1 + p br{
        display: none;
    }
    .sustainability .sust_page_nav{
        display: block;
        margin: 0 auto 2em;
        max-width: 250px;
        border-top: var(--gray) 1px solid;
    }
    .sustainability .sust_page_nav li,
    .sustainability .sust_page_nav li:first-child{
        padding: 0.75em 1em;
        border-bottom: var(--gray) 1px solid;
    }
    .sustainability .sust_page_nav li a{
        display: grid;
        grid-template-columns: 1fr auto;
        align-items: center;
    }
    .sustainability .sust_contnt{
        margin-bottom: 4em;
    }
    .sustainability .sust_contnt h3,
    .sustainability .big_ttl,
    .sustainability .sust_catch02{
        font-size: 1.25em;
    }
    .sustainability .sust_catch01{
        font-size: 1.5em;
    }
    .sustainability .sust_contnt p:not([class^="sust_"]){
        font-size: 0.875em;
    }
    .sustainability .sust_contnt .index_box:nth-of-type(odd),
    .sustainability .sust_contnt .index_box:nth-of-type(even) {
        padding: 0 30px 37%;
    }
    .sustainability .sust_contnt .index_box h2{
        font-size: 1em;
    }
    .sustainability .sust_contnt .index_box h2 a {
        font-size: 1.45em;
    }
    .sustainability .sust_contnt .index_box div{
        min-height:8em;
        padding: 1em 1em 2em;
    }
    .sustainability .sust_contnt .index_box div ul.sust_list01{
        display: block;
    }

    .sustainability .sust_contnt .index_box div ul a br{
        display: none;
    }

    .sustainability .sust_contnt p.sust_en_ttl{
        font-size:8vw;
    }
    .sustainability [class^="sust_cont_typ"] {
        margin-bottom: 4em;
    }

    .sustainability .iso_box{
        display: block;
        padding: 0;
        text-align: center;
    }
    .sustainability .iso_box img{
        max-width: 300px;
        width: 100%;
    }
    .sustainability .iso_box ul{
        display: flex;
        flex-wrap: wrap;
        column-gap: 1em;
        justify-content: flex-end;
        margin-top: 1em;
}
.sustainability .iso_box ul li:last-child{
    width: 100%;
}

.sustainability.sust_manage .sust_contnt {
    background-position:center 20em ;
    background-size: 150%;
    padding: 0 3%;
}
.sustainability .sust_purpose {
    font-size:1.5em;
    overflow: hidden;
    width: 106.38%;
    margin: 0 -3.19%;
    padding: 1em;
}
.sustainability .sust_purpose span[class^="sust_purpose_bg"] {
    position: relative;
    display: block;
    transform: skewX(-6deg);
    width:113%;
    height: auto;
    margin-left:-13%;
    left: auto;
    right: auto;
    bottom: auto;
}
.sustainability .sust_purpose span.sust_purpose_bg01{
    margin-top: 1em;
}
.sustainability .sust_purpose span.sust_purpose_bg02{
margin-left: -20.75%;
}
.sustainability .sust_purpose span[class^="sust_purpose_bg"] img{
    transform: skewX(6deg);
}
.sustainability .sust_materiality_index h4 {
    width: 7.5em;
    height: 7.5em;
    font-size:1em;
    padding: 1.5em 0 0;
}
.sustainability .sust_materiality_index ul {
    margin-left: -4em;
    padding: 0 0 1.5em 6.5em;
}

/*--sust_top--*/
.sustainability .sust_top_ttl {
    grid-template-columns: auto 1fr;
}
.sustainability .sust_top_ttl a {
    display: grid;
    grid-template-columns: 1fr 1em;
    max-width: 300px;
}
.sustainability .sust_top_btn {
    grid-template-columns: repeat(1, 1fr);
    max-width: 300px;
    gap: 1em;
}
.sustainability.top .sust_contnt .index_box:nth-of-type(odd),
.sustainability.top .sust_contnt .index_box:nth-of-type(even) {
    padding: 0 25px 37%;
}
.sustainability.top .sust_contnt .index_box h3{
    font-size: 5.3vw;
}
.sustainability.top .sust_contnt .index_box h3 a {
    font-size: 1.5em;
}
.sustainability.top .sust_contnt .index_box div {
    min-height:13.5em;
    padding: 2em 1.5em 4em;
}
.sustainability.top .sust_contnt .index_box h3 a::after {
    bottom: -11.5rem;
}
}