@layer component {
    .p-sustainability-contribution-hero {
        position: relative;
        aspect-ratio: 1920/844;
    }
    @media screen and (max-width: 767px) {
        .p-sustainability-contribution-hero {
            aspect-ratio: 375/210;
        }
    }
    .p-sustainability-contribution-hero__movie {
        position: relative;
        width: 100%;
        height: 100%;
    }
    .p-sustainability-contribution-hero__movie video {
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
           object-fit: cover;
    }
    .p-sustainability-contribution-hero__txt-wrap {
        width: 100%;
        position: absolute;
        bottom: calc(60 / 844 * 100%);
        z-index: 2;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        gap: calc(1 * var(--base-unit));
    }
    @media screen and (max-width:  1599px) {
        .p-sustainability-contribution-hero__txt-wrap {
            width: var(--width-contents);
            left: 50%;
            transform: translateX(-50%);
        }
    }
    @media screen and (max-width: 767px) {
        .p-sustainability-contribution-hero__txt-wrap {
            bottom: calc(20 / 211 * 100%);
        }
    }
    .p-sustainability-contribution-hero__txt {
        position: relative;
        display: inline-block;
        width: -moz-fit-content;
        width: fit-content;
        background-color: #fff;
        font-size: calc(2 * var(--base-unit));
        line-height: 1;
        padding: calc(1 * var(--base-unit)) calc(2 * var(--base-unit));
        left: calc(230 / 1920 * 100%);
    }
    @media screen and (max-width:  1599px) {
        .p-sustainability-contribution-hero__txt {
            left: 0;
        }
    }
    @media screen and (max-width: 767px) {
        .p-sustainability-contribution-hero__txt {
            font-size: calc(1.5 * var(--base-unit));
            padding: calc(0.7 * var(--base-unit)) calc(1 * var(--base-unit));
        }
    }
    .p-hero__btn {
        position: absolute;
        z-index: 5;
        right: 20px;
        bottom: 20px;
        width: calc(4.8 * var(--base-unit));
        padding-top: calc(4.5 * var(--base-unit));
        height: 0;
        box-sizing: border-box;
        overflow: hidden;
        background-color: #000;
        border: 1px solid #fff;
        cursor: pointer;
        transition: background-color 0.3s, border-color 0.3s;
    }
    @media screen and (min-width: 768px){
        .p-hero__btn:hover {
            border-color: #A22041;
            background-color: #A22041;
        }
    }
    @media screen and (max-width: 767px) {
        .p-hero__btn {
            right: calc(2 * var(--base-unit));
            bottom: calc(1.6 * var(--base-unit));
            width: calc(3.6 * var(--base-unit));
            padding-top: calc(3.3 * var(--base-unit));
            border-width: max(1px, 0.1 * var(--base-unit));
        }
    }
    .p-hero__btn::before {
        content: "";
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        display: block;
        width: 13px;
        height: 19px;
        border-left: 2px solid #fff;
        border-right: 2px solid #fff;
        box-sizing: border-box;
    }
    @media screen and (max-width: 768px) {
        .p-hero__btn::before {
            width: calc(1.2 * var(--base-unit));
            height: calc(1.5 * var(--base-unit));
            border-width: calc(0.2 * var(--base-unit));
        }
    }
    .p-hero__btn.is-active::before {
        width: calc(1.5 * var(--base-unit));
        height: calc(1.7 * var(--base-unit));
        margin-left: 1px;
        border: none;
        clip-path: polygon(0 0, 100% 50%, 0 100%);
        background-color: #fff;
    }
    @media screen and (max-width: 767px) {
        .p-hero__btn.is-active::before {
            width: calc(1.2 * var(--base-unit));
            height: calc(1.4 * var(--base-unit));
            margin-left: calc(0.1 * var(--base-unit));
        }
    }
    .p-hero__btn .p-hero__btn-txt--play {
        display: none;
    }
    .p-hero__btn.is-active .p-hero__btn-txt--play {
        display: block;
    }
    .p-hero__btn.is-active .p-hero__btn-txt--pause {
        display: none;
    }
    .p-sustainability-contribution-box {
        width: min(1500px, 100vw - 120px, 100%);
        max-width: 100%;
        margin-inline: auto;
        margin-block: calc(12 * var(--base-unit)) calc(10 * var(--base-unit));
        background: #fff;
    }
    @media screen and (max-width: 1199px) {
        .p-sustainability-contribution-box {
            margin: calc(12 * var(--base-unit)) auto calc(10 * var(--base-unit));
        }
    }
    @media screen and (max-width: 767px) {
        .p-sustainability-contribution-box {
            width: var(--width-contents);
            margin-block: calc(4 * var(--base-unit)) calc(3 * var(--base-unit));
        }
    }
    .p-sustainability-contribution-box__container {
        margin-inline: auto;
        max-width: calc(150 * var(--base-unit));
        padding: calc(8 * var(--base-unit)) calc(150 / 1500 * 100%);
        border: calc(0.1 * var(--base-unit)) solid #bebebe;
        box-sizing: border-box;
        display: grid;
        grid-template-columns: 32% 1fr;
        gap: calc(4 * var(--base-unit));
    }
    @media screen and (max-width: 1199px) {
        .p-sustainability-contribution-box__container {
            width: 100%;
            padding: calc(4 * var(--base-unit)) calc(6 * var(--base-unit));
            grid-template-columns: 35.5555555556% 1fr;
        }
    }
    @media screen and (max-width: 767px) {
        .p-sustainability-contribution-box__container {
            display: block;
            padding: calc(2 * var(--base-unit)) calc(1.5 * var(--base-unit));
        }
    }
    .p-sustainability-contribution-box__img-wrap {
        display: grid;
        place-items: center;
    }
    @media screen and (max-width: 767px) {
        .p-sustainability-contribution-box__img-wrap {
            display: block;
            width: 100%;
            height: auto;
            aspect-ratio: 302/169;
        }
    }
    .p-sustainability-contribution-box__img {
        width: 100%;
        -o-object-fit: contain;
           object-fit: contain;
        height: auto;
    }
    @media screen and (max-width: 767px) {
        .p-sustainability-contribution-box__img {
            -o-object-fit: cover;
               object-fit: cover;
        }
    }
    .p-sustainability-contribution-box__ttl {
        font-size: calc(3.4 * var(--base-unit));
        letter-spacing: 0.1em;
        line-height: 2.1176470588;
        font-weight: 300;
    }
    @media screen and (max-width: 767px) {
        .p-sustainability-contribution-box__ttl {
            margin-top: calc(2 * var(--base-unit));
            font-size: calc(1.8 * var(--base-unit));
            letter-spacing: 0.05em;
            line-height: 1.5555555556;
            font-weight: 600;
        }
    }
    .p-sustainability-contribution-box__txt {
        margin-top: calc(1 * var(--base-unit));
        font-size: calc(1.8 * var(--base-unit));
        letter-spacing: 0.1em;
        line-height: 2.5555555556;
    }
    @media screen and (max-width: 767px) {
        .p-sustainability-contribution-box__txt {
            margin-top: calc(1 * var(--base-unit));
            font-size: calc(1.5 * var(--base-unit));
            line-height: 1.8;
        }
    }
    .p-sustainability-contribution-box__txt--2 {
        white-space: nowrap;
    }
    @media screen and (max-width: 1199px) {
        .p-sustainability-contribution-box__txt--2 {
            white-space: normal;
        }
    }
    @media screen and (max-width: 767px) {
        .p-sustainability-contribution-box__btn {
            margin-top: calc(2 * var(--base-unit)) !important;
        }
    }
    .p-sustainability-contribution-box__btn a {
        margin: 0 !important;
        min-width: calc(48.6 * var(--base-unit));
        min-height: calc(8 * var(--base-unit));
        color: #333;
        background: #fff;
        border: 1px solid #0f2350;
    }
    @media screen and (min-width: 768px){
        .p-sustainability-contribution-box__btn a:hover {
            color: #fff;
        }
    }
    @media screen and (max-width: 1199px) {
        .p-sustainability-contribution-box__btn a {
            min-width: 100% !important;
        }
    }
    @media screen and (max-width: 767px) {
        .p-sustainability-contribution-box__btn a {
            min-height: calc(5.4 * var(--base-unit));
        }
    }
    .p-sustainability-contribution-block {
        width: min(1500px, 100vw - 120px, 100%);
        margin-inline: auto;
        box-sizing: border-box;
        display: grid;
        gap: calc(2.4 * var(--base-unit));
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: auto 1fr;
        height: 100%;
    }
    @media screen and (max-width: 1199px) {
        .p-sustainability-contribution-block {
            grid-template-columns: repeat(1, 1fr);
        }
    }
    @media screen and (max-width: 767px) {
        .p-sustainability-contribution-block {
            max-width: 100%;
            width: var(--width-contents);
            margin-inline: auto;
        }
    }
    .p-sustainability-contribution-block__item {
        display: grid;
        background-color: #fff;
        padding: calc(4 * var(--base-unit)) calc(58 / 738 * 100%);
        grid-template-rows: subgrid;
        grid-row: span 2;
    }
    @media screen and (max-width: 767px) {
        .p-sustainability-contribution-block__item {
            display: block;
            padding: calc(2 * var(--base-unit)) calc(1.5 * var(--base-unit));
        }
    }
    .p-sustainability-contribution-block__ttl {
        width: -moz-fit-content;
        width: fit-content;
        margin-inline: auto;
        font-size: calc(2.8 * var(--base-unit));
        line-height: 1.5;
        font-weight: 300;
        /* white-space: nowrap; */
        overflow-wrap: anywhere;
    }
    @media screen and (max-width: 767px) {
        .p-sustainability-contribution-block__ttl {
            font-size: calc(1.8 * var(--base-unit));
            letter-spacing: 0.05em;
            line-height: 1.5555555556;
            font-weight: 400;
        }
    }
    .p-sustainability-contribution-block__main {
        display: flex;
        flex-direction: row;
        justify-content: flex-start;
        gap: calc(20 / 622 * 100%);
    }
    @media screen and (max-width: 767px) {
        .p-sustainability-contribution-block__main {
            margin-top: calc(1 * var(--base-unit));
            display: block;
        }
    }
    .p-sustainability-contribution-block__fig {
        display: block;
        width: calc(282 / 738 * 100%);
    }
    @media screen and (max-width: 1399px) {
        .p-sustainability-contribution-block__fig {
            width: calc(220 / 738 * 100%);
        }
    }
    @media screen and (max-width: 1199px) {
        .p-sustainability-contribution-block__fig {
            width: calc(282 / 738 * 100%);
        }
    }
    @media screen and (max-width: 767px) {
        .p-sustainability-contribution-block__fig {
            width: 100%;
        }
    }
    .p-sustainability-contribution-block__fig img {
        display: block;
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
           object-fit: cover;
    }
    .p-sustainability-contribution-block__btn-wrap {
        flex-shrink: 0;
        display: flex;
        flex-direction: column;
        gap: calc(1 * var(--base-unit));
        flex: 1;
    }
    @media screen and (max-width: 767px) {
        .p-sustainability-contribution-block__btn-wrap {
            margin-top: calc(2 * var(--base-unit));
        }
    }
    .p-sustainability-contribution-block__btn {
        margin-top: 0 !important;
    }
    .p-sustainability-contribution-block__btn a {
        width: 100% !important;
        min-width: -moz-fit-content !important;
        min-width: fit-content !important;
        margin-right: auto !important;
        font-size: calc(1.6 * var(--base-unit));
        padding-left: 10%;
        transition: background 0.3s ease 0s, color 0.3s ease 0s, border 0.3s ease 0s;
    }
    @media screen and (max-width: 767px) {
        .p-sustainability-contribution-block__btn a {
            padding-block: calc(0.7 * var(--base-unit));
            padding-left: calc(1.6 * var(--base-unit)) !important;
        }
    }
    .p-sustainability-contribution-block__btn a:after {
        display: none !important;
    }
    .p-sustainability-contribution-block__btn-ico {
        right: calc(2 * var(--base-unit));
    }
    .p-sustainability-contribution-block__movie-btn {
        position: relative;
        display: flex;
        align-items: center;
        background: #fff;
        color: #333333;
        border: 1px solid #0F2350;
        min-height: calc(5 * var(--base-unit));
        padding: 0;
        transition: background 0.3s ease 0s, color 0.3s ease 0s, border 0.3s ease 0s;
    }
    @media screen and (max-width: 767px) {
        .p-sustainability-contribution-block__movie-btn {
            min-height: calc(5.4 * var(--base-unit));
        }
    }
    @media screen and (min-width: 768px){
        .p-sustainability-contribution-block__movie-btn:hover {
            border-color: #a22041;
            background: #a22041;
            color: #fff;
            cursor: pointer !important;
        }
        .p-sustainability-contribution-block__movie-btn:hover .p-sustainability-contribution-block__movie-btn-ico {
            filter: brightness(0) invert(1);
        }
    }
    .p-sustainability-contribution-block__movie-btn-txt {
        display: block;
        -moz-text-align-last: left;
             text-align-last: left;
        font-size: calc(1.6 * var(--base-unit));
        padding: calc(1 * var(--base-unit)) calc(5 * var(--base-unit)) calc(1 * var(--base-unit)) calc(2 * var(--base-unit));
        font-family: var(--mc--str--of-font-family-name--basic);
    }
    @media screen and (max-width: 767px) {
        .p-sustainability-contribution-block__movie-btn-txt {
            font-size: calc(1.6 * var(--base-unit));
            font-weight: 600;
            line-height: 1.2941176471;
            padding-left: calc(1.6 * var(--base-unit)) !important;
        }
    }
    @media screen and (max-width: 767px) {
        .p-sustainability-contribution-block__movie-btn-txt--2 {
            padding-block: calc(0.7 * var(--base-unit));
        }
    }
    .p-sustainability-contribution-block__movie-btn-ico {
        display: block;
        width: calc(1.8 * var(--base-unit));
        height: calc(1.8 * var(--base-unit));
        position: absolute;
        top: 0;
        bottom: 0;
        right: calc(2 * var(--base-unit));
        margin: auto 0;
        transition: filter 0.3s ease 0s;
    }
    @media screen and (max-width: 767px) {
        .p-sustainability-contribution-block__movie-btn-ico {
            width: calc(2 * var(--base-unit));
            height: calc(2 * var(--base-unit));
            right: calc(1.2 * var(--base-unit));
        }
    }
    .p-sustainability-contribution-block__movie-btn-ico img {
        width: 100%;
        -o-object-fit: contain;
           object-fit: contain;
    }
    .p-sustainability-contribution-cp {
        background: #F7F7F8;
        padding-block: calc(8 * var(--base-unit));
    }
    @media screen and (max-width: 767px) {
        .p-sustainability-contribution-cp {
            padding-block: calc(3 * var(--base-unit));
        }
    }
    .p-sustainability-contribution-cp--white {
        background: #FFF;
    }
    @media screen and (max-width: 767px) {
        .p-sustainability-contribution-cp__container {
            max-width: 100%;
            width: var(--width-contents);
            margin-inline: auto;
        }
    }
    .p-sustainability-contribution-cp__body {
        margin-top: calc(6 * var(--base-unit));
    }
    @media screen and (max-width: 767px) {
        .p-sustainability-contribution-cp__body {
            margin-top: calc(3 * var(--base-unit));
        }
    }
    .p-sustainability-contribution-cp__body--s {
        margin-top: calc(4 * var(--base-unit));
    }
    .p-sustainability-contribution-cp__body--l {
        margin-top: calc(10 * var(--base-unit));
    }
    @media screen and (max-width: 767px) {
        .p-sustainability-contribution-cp__body--l {
            margin-top: calc(4 * var(--base-unit));
        }
    }
    @media screen and (max-width: 767px) {
        .p-sustainability-contribution-cp--last {
            padding-bottom: calc(4 * var(--base-unit));
        }
    }
    @media screen and (max-width: 767px) {
        .p-sustainability-contribution-cp__ttl-en {
            margin-top: calc(0.5 * var(--base-unit)) !important;
            line-height: 1.5 !important;
        }
    }
    @media screen and (max-width: 1199px) {
        .p-sustainability-contribution-cp__txt {
            padding-inline: calc(1.5 * var(--base-unit));
        }
    }
    @media screen and (max-width: 767px) {
        .p-sustainability-contribution-cp__txt {
            padding-inline: 0;
        }
    }
    .p-sustainability-contribution-activities {
        width: var(--width-contents);
        margin-inline: auto;
    }
    .p-sustainability-contribution-activities__item {
        display: flex;
        flex-direction: row;
    }
    .p-sustainability-contribution-activities__item + .p-sustainability-contribution-activities__item {
        margin-top: calc(12 * var(--base-unit));
    }
    @media screen and (max-width: 767px) {
        .p-sustainability-contribution-activities__item + .p-sustainability-contribution-activities__item {
            margin-top: calc(4 * var(--base-unit));
        }
    }
    @media screen and (max-width: 767px) {
        .p-sustainability-contribution-activities__item {
            display: block;
        }
    }
    .p-sustainability-contribution-activities__main {
        flex: 1;
    }
    .p-sustainability-contribution-activities__ttl {
        font-size: calc(3.4 * var(--base-unit));
        line-height: 1.5;
        letter-spacing: 0.1em;
        font-weight: 300;
        border-bottom: calc(0.1 * var(--base-unit)) solid #333;
        padding-bottom: calc(1.3 * var(--base-unit));
    }
    @media screen and (max-width: 1199px) {
        .p-sustainability-contribution-activities__ttl {
            padding-right: 10%;
        }
    }
    @media screen and (max-width: 767px) {
        .p-sustainability-contribution-activities__ttl {
            font-size: calc(2.2 * var(--base-unit));
            line-height: 1.3636363636;
            font-weight: 400;
            padding-right: 0;
        }
    }
    .p-sustainability-contribution-activities__txt-wrap {
        margin-top: calc(3 * var(--base-unit));
        width: calc(486 / 612 * 100%);
    }
    @media screen and (max-width: 1199px) {
        .p-sustainability-contribution-activities__txt-wrap {
            width: calc(555 / 612 * 100%);
        }
    }
    @media screen and (max-width: 767px) {
        .p-sustainability-contribution-activities__txt-wrap {
            margin-top: calc(2 * var(--base-unit));
            width: 100%;
        }
    }
    .p-sustainability-contribution-activities__txt {
        font-size: calc(1.8 * var(--base-unit));
        line-height: 2.1111111111;
    }
    @media screen and (max-width: 767px) {
        .p-sustainability-contribution-activities__txt {
            font-size: calc(1.5 * var(--base-unit));
            letter-spacing: 0.05em;
            line-height: 1.5555555556;
        }
    }
    .p-sustainability-contribution-activities__btn-wrap {
        margin-top: calc(4.6 * var(--base-unit));
        width: calc(486 / 612 * 100%);
    }
    @media screen and (max-width: 1199px) {
        .p-sustainability-contribution-activities__btn-wrap {
            width: calc(555 / 612 * 100%);
        }
    }
    @media screen and (max-width: 767px) {
        .p-sustainability-contribution-activities__btn-wrap {
            margin-top: calc(2 * var(--base-unit));
            width: 100%;
        }
    }
    .p-sustainability-contribution-activities__btn {
        margin-top: 0 !important;
    }
    .p-sustainability-contribution-activities__btn a {
        margin: 0 !important;
        width: 100% !important;
        min-width: initial !important;
        min-height: calc(8 * var(--base-unit));
        color: #333;
        background: #fff;
        border: 1px solid #0f2350;
    }
    @media screen and (min-width: 768px){
        .p-sustainability-contribution-activities__btn a:hover {
            color: #fff;
        }
    }
    @media screen and (max-width: 767px) {
        .p-sustainability-contribution-activities__btn a {
            min-width: 100% !important;
            min-height: calc(5.4 * var(--base-unit));
        }
    }
    .p-sustainability-contribution-activities__img {
        width: calc(588 / 1200 * 100%);
    }
    @media screen and (max-width: 767px) {
        .p-sustainability-contribution-activities__img {
            margin-top: calc(2 * var(--base-unit));
            width: 100%;
        }
    }
    .p-sustainability-contribution-activities__img img {
        display: block;
        width: 100%;
        height: auto;
        -o-object-fit: cover;
           object-fit: cover;
    }
    @media screen and (max-width: 1199px) {
        .p-sustainability-contribution-activities__img img {
            height: auto;
        }
    }
    .p-sustainability-contribution-btn a {
        margin-inline: auto !important;
        min-width: calc(58.8 * var(--base-unit));
        min-height: calc(8 * var(--base-unit));
        color: #333;
        background: #fff;
        border: 1px solid #0f2350;
        padding-left: calc(3 * var(--base-unit)) !important;
        font-size: calc(2 * var(--base-unit)) !important;
        transition: background 0.3s ease 0s, color 0.3s ease 0s, border 0.3s ease 0s;
    }
    @media screen and (min-width: 768px){
        .p-sustainability-contribution-btn a:hover {
            color: #fff;
        }
    }
    @media screen and (max-width: 767px) {
        .p-sustainability-contribution-btn a {
            min-width: 100% !important;
            min-height: calc(5.4 * var(--base-unit));
            font-size: calc(1.7 * var(--base-unit)) !important;
        }
    }
    .p-sustainability-contribution-btn--s a {
        min-width: calc(48.6 * var(--base-unit));
    }
    .p-sustainability-contribution-btn--s a:after {
        display: block !important;
    }
    @media screen and (max-width: 767px) {
        .p-sustainability-contribution-btn--s a {
            min-width: 100% !important;
        }
    }
    @media screen and (max-width: 767px) {
        .p-sustainability-contribution-slider {
            margin-top: calc(2 * var(--base-unit));
        }
    }
    /* .p-sustainability-contribution-carousel
    --------------------------------------------- */
    .p-sustainability-contribution-carousel {
        opacity: 0;
        transition: opacity 0.6s 0.7s;
        margin-top: calc(8 * var(--base-unit));
    }
    .p-sustainability-contribution-carousel:has(.splide.is-initialized) {
        opacity: 1;
    }
    @media screen and (max-width: 767px) {
        .p-sustainability-contribution-carousel {
            margin-top: calc(0.5 * var(--base-unit));
        }
    }
    .p-sustainability-contribution-carousel__ttl {
        font-size: calc(3.2 * var(--base-unit));
        font-size: min(32px, 1.6666666667vw);
        line-height: 1.5625;
    }
    @media screen and (max-width: 767px) {
        .p-sustainability-contribution-carousel__ttl {
            font-size: calc(2 * var(--base-unit));
        }
    }
    .p-sustainability-contribution-carousel__txt {
        margin-top: calc(2 * var(--base-unit));
        font-size: min(16px, 0.8333333333vw);
        line-height: 1.8;
    }
    @media screen and (max-width: 767px) {
        .p-sustainability-contribution-carousel__txt {
            font-size: calc(1.5 * var(--base-unit));
        }
    }
    @media screen and (max-width: 767px) {
        .p-sustainability-contribution-carousel__txt-wrap {
            padding-bottom: calc(2 * var(--base-unit)) !important;
        }
    }
    .p-sustainability-contribution-carousel__txt-inner {
        position: relative;
        height: 100%;
    }
    .p-sustainability-contribution-carousel__txt-inner::after {
        position: absolute;
        content: "";
        display: block;
        aspect-ratio: 1;
        width: calc(35 / 606 * 100%);
        background: url("https://www.mitsubishicorp.com/assets_r24/images/cmn-mark_arrow_3.svg") no-repeat center/contain;
        bottom: 0;
        right: 0;
    }
    @media screen and (max-width: 767px) {
        .p-sustainability-contribution-carousel__txt-inner::after {
            width: calc(2 * var(--base-unit));
        }
    }
    @media screen and (max-width: 767px) {
        .p-sustainability-contribution-carousel .splide__slide a {
            display: grid !important;
            grid-template-rows: auto 1fr;
            height: 100%;
        }
    }
    @media screen and (max-width: 767px) {
        .p-sustainability-contribution-carousel .c-carousel1__card {
            grid-template-columns: subgrid;
            grid-row: span 2;
        }
    }
    .p-sustainability-contribution-carousel .c-carousel1__image {
        aspect-ratio: 793/442;
    }
    .p-sustainability-contribution-carousel .c-carousel1__image img {
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
           object-fit: cover;
    }
    @media screen and (max-width: 767px) {
        .p-sustainability-contribution-carousel .c-carousel1__text {
            aspect-ratio: auto !important;
        }
    }
    .p-sustainability-contribution-library-list {
        margin: calc(4 * var(--base-unit)) auto 0;
        width: var(--width-contents);
    }
    @media screen and (max-width: 767px) {
        .p-sustainability-contribution-library-list {
            margin-top: calc(2 * var(--base-unit));
        }
    }
    .p-sustainability-contribution-library-list__list {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
    }
    @media screen and (max-width: 1199px) {
        .p-sustainability-contribution-library-list__list {
            grid-template-columns: repeat(2, 1fr);
        }
    }
    @media screen and (max-width: 767px) {
        .p-sustainability-contribution-library-list__list {
            display: block;
        }
    }
    .p-sustainability-contribution-library-list__list-item {
        background-color: #fff;
        border-right: 1px solid #D5D5D5;
        display: grid;
        grid-template-rows: subgrid;
        grid-row: span 2;
    }
    @media screen and (max-width: 1199px) {
        .p-sustainability-contribution-library-list__list-item:nth-of-type(n+3) {
            border-top: 1px solid #D5D5D5;
        }
    }
    @media screen and (max-width: 1199px) and (max-width: 767px) {
        .p-sustainability-contribution-library-list__list-item:nth-of-type(n+3) {
            border: 0;
        }
    }
    @media screen and (max-width: 1199px) {
        .p-sustainability-contribution-library-list__list-item:nth-of-type(3) {
            border-left: 1px solid #D5D5D5;
        }
    }
    @media screen and (max-width: 1199px) and (max-width: 767px) {
        .p-sustainability-contribution-library-list__list-item:nth-of-type(3) {
            border: 0;
        }
    }
    @media screen and (max-width: 767px) {
        .p-sustainability-contribution-library-list__list-item {
            border: 0;
        }
    }
    @media print, screen and (min-width: 768px) {
        .p-sustainability-contribution-library-list__list-item:first-of-type {
            border-left: 1px solid #D5D5D5;
        }
    }
    @media screen and (max-width: 767px) {
        .p-sustainability-contribution-library-list__list-item:first-of-type {
            border: 0;
        }
    }
    @media screen and (min-width: 768px){
        .p-sustainability-contribution-library-list__list-item:hover .p-sustainability-contribution-library-list__icon {
            background: #fff;
        }
    }
    @media screen and (max-width: 767px) {
        .p-sustainability-contribution-library-list__list-item + .p-sustainability-contribution-library-list__list-item {
            margin-top: calc(0.6 * var(--base-unit));
        }
    }
    .p-sustainability-contribution-library-list__link {
        display: grid;
        padding-block: calc(5 * var(--base-unit)) calc(5.6 * var(--base-unit));
        padding-inline: calc(0.5 * var(--base-unit));
        transition: background-color 0.3s ease 0s;
        gap: calc(4 * var(--base-unit));
    }
    @media print, screen and (min-width: 768px) {
        .p-sustainability-contribution-library-list__link {
            justify-items: center;
        }
    }
    @media screen and (max-width: 767px) {
        .p-sustainability-contribution-library-list__link {
            align-items: center;
            grid-template-columns: calc(4.8 * var(--base-unit)) 1fr;
            -moz-column-gap: calc(2.1 * var(--base-unit));
                 column-gap: calc(2.1 * var(--base-unit));
            padding: calc(1.6 * var(--base-unit)) calc(1.6 * var(--base-unit)) calc(1.6 * var(--base-unit)) calc(1.2 * var(--base-unit));
        }
    }
    @media screen and (min-width: 768px){
        .p-sustainability-contribution-library-list__link:hover {
            background-color: #a22041;
        }
    }
    .p-sustainability-contribution-library-list__icon {
        position: relative;
        display: block;
        width: calc(10 * var(--base-unit));
        height: calc(10 * var(--base-unit));
        transition: background-color 0.3s ease 0s;
    }
    @media screen and (max-width: 767px) {
        .p-sustainability-contribution-library-list__icon {
            width: calc(3.9 * var(--base-unit));
            height: calc(3.9 * var(--base-unit));
        }
    }
    .p-sustainability-contribution-library-list__icon--1 {
        background: #0F2350;
        -webkit-mask: url(https://www.mitsubishicorp.com/jp/en/sustainability/contribution/assets_r24/images/img_sus_library_1.svg) no-repeat center center/contain;
                mask: url(https://www.mitsubishicorp.com/jp/en/sustainability/contribution/assets_r24/images/img_sus_library_1.svg) no-repeat center center/contain;
    }
    .p-sustainability-contribution-library-list__icon--2 {
        background: #0F2350;
        -webkit-mask: url(https://www.mitsubishicorp.com/jp/en/sustainability/contribution/assets_r24/images/img_sus_library_2.svg) no-repeat center center/contain;
                mask: url(https://www.mitsubishicorp.com/jp/en/sustainability/contribution/assets_r24/images/img_sus_library_2.svg) no-repeat center center/contain;
    }
    .p-sustainability-contribution-library-list__icon--3 {
        background: #0F2350;
        -webkit-mask: url(https://www.mitsubishicorp.com/jp/en/sustainability/contribution/assets_r24/images/img_sus_library_3.svg) no-repeat center center/contain;
                mask: url(https://www.mitsubishicorp.com/jp/en/sustainability/contribution/assets_r24/images/img_sus_library_3.svg) no-repeat center center/contain;
    }
    .p-sustainability-contribution-library-list__icon--4 {
        background: #0F2350;
        -webkit-mask: url(https://www.mitsubishicorp.com/jp/en/sustainability/contribution/assets_r24/images/img_sus_library_4.svg) no-repeat center center/contain;
                mask: url(https://www.mitsubishicorp.com/jp/en/sustainability/contribution/assets_r24/images/img_sus_library_4.svg) no-repeat center center/contain;
    }
    .p-sustainability-contribution-library-list__txt-wrap {
        width: -moz-fit-content;
        width: fit-content;
        position: relative;
    }
    @media screen and (max-width: 767px) {
        .p-sustainability-contribution-library-list__txt-wrap {
            width: 100%;
        }
    }
    .p-sustainability-contribution-library-list__txt-wrap--1::after {
        right: calc(-2.9 * var(--base-unit));
    }
    .p-sustainability-contribution-library-list__txt-wrap--2::after {
        right: calc(-4 * var(--base-unit));
    }
    .p-sustainability-contribution-library-list__txt-wrap--3::after {
        right: calc(-2.6 * var(--base-unit));
    }
    .p-sustainability-contribution-library-list__txt-wrap--4::after {
        right: calc(-3.6 * var(--base-unit));
    }
    .p-sustainability-contribution-library-list__txt-wrap--4 .p-sustainability-contribution-library-list__txt {
        margin-left: -1em;
    }
    @media screen and (max-width: 767px) {
        .p-sustainability-contribution-library-list__txt-wrap--4 .p-sustainability-contribution-library-list__txt {
            margin-left: 0;
        }
    }
    .p-sustainability-contribution-library-list__txt-wrap::after {
        content: "";
        position: absolute;
        display: block;
        width: calc(2.8 * var(--base-unit));
        height: calc(2.8 * var(--base-unit));
        background-color: #666;
        -webkit-mask: url(https://www.mitsubishicorp.com/jp/en/ir/shareholder/assets_r24/images/icon_arrow.svg) no-repeat center center/contain;
                mask: url(https://www.mitsubishicorp.com/jp/en/ir/shareholder/assets_r24/images/icon_arrow.svg) no-repeat center center/contain;
        transition: background-color 0.3s ease 0s;
        top: 50%;
        transform: translateY(-50%);
    }
    @media screen and (max-width: 767px) {
        .p-sustainability-contribution-library-list__txt-wrap::after {
            width: calc(2.2 * var(--base-unit));
            height: calc(2.2 * var(--base-unit));
            right: 0 !important;
        }
    }
    .p-sustainability-contribution-library-list__link:hover .p-sustainability-contribution-library-list__txt-wrap::after {
        background-color: #fff;
    }
    .p-sustainability-contribution-library-list__txt {
        -moz-column-gap: calc(1.2 * var(--base-unit));
             column-gap: calc(1.2 * var(--base-unit));
        font-size: min(20px, 1.3333333333vw);
        letter-spacing: 0.1em;
        line-height: 1.3;
        transition: color 0.3s ease 0s;
        text-align: center;
        height: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }
    @media screen and (max-width: 1199px) {
        .p-sustainability-contribution-library-list__txt {
            font-size: calc(2 * var(--base-unit));
        }
    }
    @media screen and (max-width: 767px) {
        .p-sustainability-contribution-library-list__txt {
            display: block;
            font-weight: 500;
            font-size: calc(1.7 * var(--base-unit));
            text-align: left;
        }
    }
    .p-sustainability-contribution-library-list__txt--s {
        font-size: min(18px, 1.2vw);
    }
    @media screen and (max-width: 1199px) {
        .p-sustainability-contribution-library-list__txt--s {
            font-size: calc(1.8 * var(--base-unit));
        }
    }
    @media screen and (max-width: 1199px) {
        .p-sustainability-contribution-library-list__txt--s {
            font-size: calc(1.7 * var(--base-unit));
        }
    }
    @media screen and (min-width: 768px){
        .p-sustainability-contribution-library-list__link:hover .p-sustainability-contribution-library-list__txt {
            color: #fff;
        }
    }
    @media screen and (max-width: 767px) {
        .p-pagetitle1 {
            padding-block: calc(6 * var(--base-unit)) !important;
        }
    }
    .p-panel01 a {
        background-color: #fff;
        color: #333333;
        border-bottom: 1px solid #D5D5D5;
        transition: background-color 0.3s, border-color 0.3s, color 0.3s;
    }
    @media screen and (min-width: 768px){
        .p-panel01 a:hover {
            border-color: #a22041;
            background: #a22041;
            color: #fff;
        }
    }
    .p-panel01 a .p-panel01__img img {
        width: 100%;
        height: auto;
        max-height: none !important;
    }
    .p-img01__item--2 {
        width: calc(99.6 * var(--base-unit)) !important;
    }
    @media screen and (max-width: 767px) {
        .p-img01__item--2 {
            width: 100% !important;
        }
    }
    .c-carousel1__title {
        font-family: var(--mc--str--of-font-family-name--basic);
    }
}