/* sustainability
-------------------------------- */

.page-bg-sustainability {
    background: #F5F0E6;
}

.tax-sustainability-news-cat {
    background: #F5F0E6;
}

.post-type-archive-sustainability-news {
    background: #F5F0E6;
}

.irinfo-link-bg {
    background: #fff;
}

.sus-org-bg {
    background: #fff;

}

.sus {
    position: relative;
}

.bg-round {
    position: absolute;
    left: 0;
    width: 17%;
    min-width: 92px;
    z-index: -1;
}



.sus-org-wrap {
    background: url(../img/hd-bg.jpg);
    background-size: cover;
    width: 100%;
}

.sus-org-ttl {
    padding: .7em 0;
}


.sus-org-content {
    padding: 48px 0;
}

@media(max-width: 767px) {
    .sus-org-content {
        padding: 24px 0;
    }
}

.sus-sec-ttl {
    color: #5AA435;
    margin-bottom: 24px;
    text-align: left;
}

@media(max-width: 767px) {
    .sus-sec-ttl {
        margin-bottom: 16px;
        font-size: 20px;
    }
}

/* 
-------------------------------- */

.sus-sec1 {
    text-align: center;
    font-size: min(5vw, 18px);
}

.sus-sec1-text {
    font-weight: bold;
    color: #5AA435;
    border: solid 2px #5AA435;
    background: #fff;
    width: 240px;
    margin: auto;
    margin-bottom: 32px;
}

.sus-sec1-text.-long {
    width: 100%;
    margin-bottom: 0;
}

.sus-sec1-text.v-line {
    position: relative;
}

.sus-sec1-text.v-line::after {
    content: "";
    position: absolute;
    z-index: -1;
    bottom: -100%;
    left: 0;
    right: 0;
    margin: auto;
    height: 100%;
    width: 2px;
    background: #5AA435;
}

.sdgs-logo {
    width: 100%;
    max-width: 604px;
    margin: auto;
    margin-top: 48px;
}

@media(max-width: 767px) {
    .sdgs-logo {
        margin-top: 16px;
    }
}

.sdgs-list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: 20px;
}

@media(max-width: 767px) {
    .sdgs-list {
        margin-top: 0;
    }
}

.sdgs-listitem {
    width: calc((100% - 60px)/ 4);
    background: #fff;
}

@media(max-width: 767px) {
    .sdgs-listitem {
        width: calc((100% - 15px)/ 2);
        margin-top: 16px;
    }


}

.sdgs-listitem-ttl {
    background: #5AA435;
    color: #fff;
    font-weight: bold;
}

@media(max-width: 767px) {
    .sdgs-listitem-ttl {
        font-size: min(4vw, 16px);
    }
}

.sdgs-log-list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding: 1em;
    gap: 13px;

}

@media(max-width: 767px) {
    .sdgs-log-list {
        padding: 10px;
        gap: 10px;
    }
}

.sdgs-log-listitem {
    width: calc((100% - 13px)/ 2);
}

@media(max-width: 767px) {
    .sdgs-log-listitem {
        width: calc((100% - 10px)/ 2);
    }
}




/* 
-------------------------------- */
.sus-sec2 {
    background: #fff;
}

.sus-sec2 .sec-p {
    padding-top: 24px;
    padding-bottom: 16px;
}



/* 
-------------------------------- */
.sus-sec3-flex {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.sus-sec3-content {
    width: 55%;
}

.sus-sec3-img {
    width: 41%;
}

@media(max-width: 767px) {
    .sus-sec3-content {
        width: 100%;
        order: 1;
    }

    .sus-sec3-img {
        width: 100%;
        order: 0;
        margin-bottom: 16px;
    }

}

.sus-sec3-img-ttl {
    font-size: 12px;
    text-align: right;
    margin-top: 5px;
}

.sus-sec3-ttl02 {
    position: relative;
    margin-bottom: 1em;
    padding-left: 10px;
    font-weight: bold;
}

.sus-sec3-ttl02.-mt {
    margin-top: 48px;
}

@media(max-width: 767px) {
    .sus-sec3-ttl02.-mt {
        margin-top: 40px;
    }

}

.sus-sec3-ttl02::before {
    position: absolute;
    content: "";
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 2px;
    height: 24px;
    background: #5AA435;
}

.sus-sec3-img-l {
    margin: 24px 0;
}

@media(max-width: 767px) {
    .sus-sec3-img-l {
        margin: 0;
        margin-top: 16px;
        margin-bottom: 24px;
    }
}

.sus-scope-flex {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: 1em;
}

.sus-scope-flex:first-of-type {
    margin-top: 24px;
}

.sus-scope-flex dl {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    color: #fff;
    padding: 0 40px;
    width: 50%;
}

.sus-scope-text {
    width: 50%;
    /* display: flex;
    align-items: center;
    flex-wrap: wrap; */
    padding: 35px;
}

@media(max-width: 767px) {
    .sus-scope-flex dl {
        width: 100%;
        padding: 16px;
    }

    .sus-scope-text {
        width: 100%;
        padding: 16px;
    }
}

.sus-scope-text.color01 {
    background: #DCDEEE;
}

.sus-scope-text.color02 {
    background: #E2EAE6;
}

.sus-scope-text.color03 {
    background: #E3E8DA;
}

.sus-scope-flex dl.color01 {
    background: #697EC8;
}

.sus-scope-flex dl.color02 {
    background: #7AB78F;
}

.sus-scope-flex dl.color03 {
    background: #9BB05A;
}

.sus-scope-flex dt {
    font-size: 20px;
    width: 25%;
    min-width: 100px;
}

.sus-scope-flex dd {
    font-size: 18px;
    width: 70%;
}

@media(max-width: 767px) {
    .sus-scope-flex dt {
        width: 100%;
        font-size: 18px;
    }

    .sus-scope-flex dd {
        width: 100%;
    }
}


/* product
-------------------------------- */

.product-bg {
    background: #E8EEF5;
}

.product-info-p {
    padding-bottom: 233px;
    padding-bottom: 200px;
}

@media (max-width: 1000px) {
    .product-info-p {
        padding-bottom: 40px;
    }
}

.product-ttl {
    margin-bottom: 48px;
    text-align: center;
}

.product-desc {
    margin-bottom: 40px;
}

@media (max-width: 1000px) {
    .product-desc {
        margin-bottom: 24px;
    }
}

.product-sec {
    position: relative;
    padding-top: 40vw;
}

@media (min-width: 900px) {
    .product-sec {
        padding-top: 265px;
    }
}


.teinetu {
    padding-bottom: 160px;
}

.egnis {
    padding-bottom: 245px;
    position: relative;
}

.taima {
    padding-bottom: 80px;
    padding-top: 465px;
    position: relative;
}

@media (max-width: 1000px) {
    .product-sec {
        padding-top: 0;
    }

    .teinetu {
        padding-bottom: 1px;
    }

    .egnis {
        padding-bottom: 40px;
    }

    .taima {
        padding-bottom: 40px;
    }
}


/* 
-------------------------------- */


.product-box {
    padding: 40px 80px;
    background: url(../img/product-bg.jpg);
    background-size: cover;
    position: absolute;
    top: -160px;
    z-index: 2;
}

@media (max-width: 1000px) {
    .product-box {
        padding: 0 20px;
        padding-top: 14px;
        padding-bottom: 45px;
        position: relative;
        top: 0;
    }
}

.product-box.-right {
    margin-right: calc(50% - 50vw);
    width: 100%;
}

@media (max-width: 1000px) {
    .product-box.-right {
        margin: 0 calc(50% - 50vw);
        width: 100vw;
        margin-bottom: 40px;
        padding: 32px 18px;
        position: relative;
        z-index: 4;
    }
}


.product-box-inner {
    max-width: 840px;
}


.product-box-ttl {
    margin-bottom: 16px;
}

@media (max-width: 1000px) {
    .product-box-ttl {
        font-size: 18px;
    }
}

.product-box-subttl {
    font-weight: 500;
    margin-bottom: 40px;
}



/* 
-------------------------------- */



.prd-table-mb {
    margin-bottom: 120px;
}

@media(max-width: 767px) {
    .prd-table-mb {
        margin-bottom: 40px;
    }
}

.prd-table01 {
    width: 100%;
    background: #FFFFFFCC;
    position: relative;
}

@media(max-width: 767px) {
    .prd-table01 {
        margin-bottom: 24px;
    }


}

.prd-table01 caption {
    background: #00397F;
    color: #fff;
    text-align: center;
    padding: 5px;
    font-size: 18px;
}

.prd-table01 th {
    background: #E9E9E9;
    color: #4585D3;
    font-size: 18px;
    text-align: center;
    vertical-align: middle;
    border-bottom: solid 1px #fff;
    min-width: 123px;
}

@media(max-width: 767px) {
    .prd-table01 th {
        min-width: 105px;
    }
}

.prd-table01 tr:last-child th {
    border-bottom: none;
}

.prd-table01 td {
    font-size: 14px;
    font-weight: normal;
    padding: 16px 18px;
}

@media(max-width: 767px) {
    .prd-table01 td {
        padding: 8px;
    }
}

/* 
-------------------------------- */
@media(max-width: 767px) {
.scrollbox table {
    white-space: nowrap;
}
}

/* 
-------------------------------- */

.prd-table02-mb {
    margin-bottom: 80px;
}

@media(max-width: 767px) {
    .prd-table02-mb {
        margin-bottom: 40px;
    }
}

.prd-table02 {
    width: 100%;
    font-size: 12px;
    position: relative;
    z-index: 1;
}

.prd-table02 th {
    background: #383838;
    color: #fff;
    border-top: 1px solid #383838;
    border-left: 1px solid #fff;
    border-bottom: 1px solid #fff;
    padding: 8px;
    font-weight: 500;
    text-align: center;
    vertical-align: middle;
    width: 69px;
    line-height: 1.3;
}



.prd-table02 td {
    background: #fff;
    border-left: 1px solid #E9E9E9;
    border-bottom: 1px solid #E9E9E9;
    padding: 8px;
    font-weight: 500;
    text-align: center;
    vertical-align: middle;
    line-height: 1.3;
}

.prd-table02 th.sideth {
    background: #E9E9E9;
    border-bottom: 1px solid #fff;
    border-left: none;
    color: #231815;
    width: 210px;
}

.prd-table02 tr:last-child th.sideth {
    border-bottom: none;
}

.prd-table02-note {
    font-size: 12px;
    text-align: right;
}

table .bg-gray {
    background: #E9E9E9;
    color: #231815;
}

/* 
-------------------------------- */

.prd-table03 {
    width: 100%;
    font-size: 12px;
    position: relative;
}

.prd-table03 th {
    background: #383838;
    color: #fff;
    border-top: 1px solid #383838;
    border-left: 1px solid #fff;
    border-bottom: 1px solid #fff;
    padding: 8px;
    font-weight: normal;
    text-align: center;
    vertical-align: middle;
    width: 100px;
    line-height: 1.3;
}

.prd-table03 td {
    background: #fff;
    border-left: 1px solid #E9E9E9;
    border-bottom: 1px solid #E9E9E9;
    padding: 8px;
    padding-left: 16px;
    vertical-align: middle;
    line-height: 1.3;
}

.prd-table03-flex {
    display: flex;
    gap: 40px;
    margin-bottom: 48px;
}

.prd-table03-box {
    width: 50%;
    position: relative;
    z-index: 3;
}

@media(max-width: 767px) {

    .prd-table03-flex {
        flex-wrap: wrap;
    }

    .prd-table03-box {
        width: 100%;
    }
}

.ttl-line {
    position: relative;
    display: inline-block;
    width: 100%;
    padding-left: 8px;
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 0.7em;
}

@media(max-width: 767px) {
    .ttl-line {
        font-size: 16px;
    }
}

.ttl-line::before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    content: "";
    background: #4585D3;
    width: 2px;
    height: 24px;
}

.table-ttl-bg {
    display: inline-block;
    width: 100%;
    background: #383838;
    color: #fff;
    text-align: center;
}

.table-add-note {
    font-size: 14px;
    margin-top: 5px;
}

/* 
-------------------------------- */

.egnis-table {
    width: 100%;
    font-size: 13px;
}


.egnis-table tr:first-child th {
    background: #106AB1;
}

.egnis-table th {
    background: #1D2185;
    padding: 0.5em;
    text-align: center;
    vertical-align: middle;
    color: #fff;
    border: 1px solid #fff;
}

.egnis-table td {
    padding: 0.5em 0px;
    text-align: center;
    vertical-align: middle;
    color: #fff;
    border: 1px solid #fff;
}

.egnis-table td:nth-of-type(1) {
    background: #231815;
}

.egnis-table td:nth-of-type(2) {
    background: #4C4948;
}

.egnis-table td:nth-of-type(3) {
    background: #717071;
}

.egnis-table td:nth-of-type(4) {
    background: #888888;
}




/* 
-------------------------------- */

.egnis-desc {
    margin-bottom: 40px;
}

@media(max-width: 767px) {
    .egnis-desc {
        margin-bottom: 32px;
    }
}

.egnis-feature-list {
    display: flex;
    align-items: center;
    margin-bottom: 40px;
}

@media(max-width: 767px) {
    .egnis-feature-list {
        border: solid 1px #eee;
        
    }
}

.egnis-feature-list dt {
    background: #383838;
    color: #fff;
    font-size: 18px;
    font-weight: bold;
    padding: .5em 2.5em;
    margin-right: 16px;
}

@media(max-width: 767px) {
    .egnis-feature-list dt {
        font-size: 16px;
        padding: 1.5em 3em;
    }
}

.egnis-feature-list dd {
    display: flex;
    font-size: 15px;
    position: relative;
    gap: 48px;

}

@media(max-width: 767px) {
    .egnis-feature-list dd {
        display: unset;
        font-size: 14px;
        padding: 1em 0;
    }
}

.egnis-feature-list p {
    position: relative;
    padding-left: 1.7em;
    display: flex;
    align-items: center;
}

.egnis-feature-list p::before {
    position: absolute;
    content: "";
    background: url(../img/icon-check.svg);
    background-size: cover;
    width: 18px;
    height: 18px;
    left: 0;
}

.product-sub-ttl-wrap {
    position: relative;
}

.product-sub-ttl {
    border-bottom: solid 4px #616161;
    font-size: 24px;
    margin-bottom: 16px;
    margin-right: calc(50% - 50vw);
}

@media(max-width: 767px) {
    .product-sub-ttl {
        font-size: 18px;
        margin-right: unset;
    }
}

.egnis-box-flex {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    border: solid 1px #eee;
    padding: 40px;
    background: #fff;
}

@media(max-width: 767px) {
    .egnis-box-flex {
        padding: 24px 20px;
        position: relative;
        z-index: 4;
    }
}

.egnis-box-flex.-mb {
    margin-bottom: 80px;
}

@media(max-width: 767px) {
    .egnis-box-flex.-mb {
        margin-bottom: 40px;
    }
}

.egnis-graph {
    width: 56%;
}

.egnis-img-list {
    width: 40%;
    font-size: 14px;
}

@media(max-width: 767px) {
    .egnis-graph {
        width: 100%;
        margin-bottom: 16px;
    }

    .egnis-img-list {
        width: 100%;
    }

}

.egnis-img-list li.-mb {
    margin-bottom: 32px;
}

.egnis-img-flex {
    display: flex;
    gap: 13px;
    margin-bottom: 16px;
}

/* 
-------------------------------- */
.taima-graph {
    margin-bottom: 48px;
}



/* 
-------------------------------- */
.sds-list {
    border-top: solid 1px #D9D9D9;
    margin-top: 1em;
}

.sds-list li {
    border-bottom: solid 1px #D9D9D9;
}

.sds-list li a {
    display: flex;
    align-items: center;
    width: 100%;
    padding: .7em 0;
    font-size: 14px;
    font-weight: normal;
}


/* 
-------------------------------- */

.prd-table01-wrap {
    position: relative;
    z-index: 1;
}

.bg-product01 {
    width: 30vw;
    min-width: 385px;
    position: absolute;
    top: -183px;
    left: 0;
}

.bg-product02 {
    width: 18vw;
    min-width: 260px;
    position: absolute;
    right: 0;
    bottom: -40px;
}

@media(max-width: 767px) {
    .bg-product02 {
        min-width: 110px;
        bottom: -90px;
    }
}

.bg-product03 {
    width: 18vw;
    min-width: 281px;
    position: absolute;
    left: 5px;
    bottom: -222px;
}

@media(max-width: 767px) {
    .bg-product03 {
        min-width: 106px;
        bottom: -660px;
    }
}

.bg-square-navy {
    width: 18vw;
    max-width: 220px;
    position: absolute;
    z-index: -1;
    right: 0;
    top: 100px;
}

@media(max-width: 767px) {
    .bg-square-navy {
        width: 18vw;
        max-width: 86px;
        z-index: -1;
        right: 0;
        top: 240px;
    }
}

@media(max-width: 410px) {
    .bg-square-navy {
        top: 270px;
    }
}

.bg-square-light {
    width: 38vw;
    max-width: 480px;
    position: absolute;
    z-index: -1;
    left: 0;
    bottom: 600px;
}

@media(max-width: 767px) {
    .bg-square-light {
        bottom: -15vw;
        left: -5vw;
    }
}

.bg-square-gray {
    width: 38vw;
    max-width: 220px;
    position: absolute;
    z-index: 0;
    right: 0;
    top: 100px;
}

@media(max-width: 767px) {
    .bg-square-gray {
        top: -100px;
    }
}

.bg-line-light {
    width: 25vw;
    max-width: 220px;
    position: absolute;
    z-index: 0;
    left: 0;
    top: -100px;
}

@media (max-width: 767px) {
    .bg-line-light {
        width: 40vw;
        top: -130px;
        left: -5vw;
    }
}

.bg-line-blue {
    width: 14vw;
    max-width: 154px;
    position: absolute;
    z-index: 0;
    right: -15vw;
    bottom: -40px;
}

@media(max-width: 767px) {
    .bg-line-blue {
        right: 0;
        bottom: -3vw;
    }
}