@charset "UTF-8";
@layer component {
    .p-about-project {
        width: var(--width-contents);
        margin-inline: auto;
        margin-block: calc(6 * var(--base-unit)) calc(10 * var(--base-unit));
    }
    @media screen and (max-width: 767px) {
        .p-about-project {
            margin-block: calc(4 * var(--base-unit));
        }
    }
    .p-about-project__head {
        border-bottom: calc(0.1 * var(--base-unit)) solid #D5D5D5;
    }
    @media screen and (max-width: 767px) {
        .p-about-project__head {
            border-top: calc(0.1 * var(--base-unit)) solid #D5D5D5;
        }
    }
    .p-about-project__acc-trigger {
        position: relative;
        display: block;
        width: 100%;
        padding: calc(1.6 * var(--base-unit)) calc(6 * var(--base-unit)) calc(1.6 * var(--base-unit)) 0;
        border: none;
        background-color: transparent;
        cursor: pointer;
        text-align: left;
        font-size: calc(1.7 * var(--base-unit));
        font-weight: bold;
        color: #333;
    }
    .p-about-project__acc-trigger::before, .p-about-project__acc-trigger::after {
        content: "";
        position: absolute;
        background-color: #000;
    }
    .p-about-project__acc-trigger::before {
        top: 50%;
        transform: translateY(-50%);
        right: calc(1.7 * var(--base-unit));
        width: calc(2 * var(--base-unit));
        height: calc(0.2 * var(--base-unit));
    }
    .p-about-project__acc-trigger::after {
        top: 50%;
        right: calc(2.6 * var(--base-unit));
        transform: translateY(-50%);
        width: calc(0.2 * var(--base-unit));
        height: calc(2 * var(--base-unit));
    }
    .is-open .p-about-project__acc-trigger::after {
        display: none;
    }
    .p-about-project__txt {
        font-size: calc(1.8 * var(--base-unit));
        color: #333;
    }
    @media screen and (max-width: 767px) {
        .p-about-project__txt {
            font-size: calc(1.7 * var(--base-unit));
        }
    }
    @media print, screen and (min-width: 768px) {
        .p-about-project__acc-trigger{
            display: none;
        }
    }
    .p-about-project__radio-wrap {
        display: flex;
        flex-wrap: wrap;
        gap: calc(2 * var(--base-unit)) calc(3.9 * var(--base-unit));
        margin-top: calc(2 * var(--base-unit));
        padding-block: calc(2 * var(--base-unit));
        padding-left: calc(0.9 * var(--base-unit));
        border-top: 1px solid #D5D5D5;
    }
    @media screen and (max-width: 767px) {
        .p-about-project__radio-wrap {
            gap: calc(1.2 * var(--base-unit)) calc(1 * var(--base-unit));
            margin-top: 0;
            padding-left: calc(0.3 * var(--base-unit));
        }
    }
    .p-about-project__radio {
        font-size: calc(1.6 * var(--base-unit));
        cursor: pointer;
    }
    @media screen and (max-width: 767px) {
        .p-about-project__radio {
            font-size: calc(1.4 * var(--base-unit));
        }
    }
    .p-about-project__input {
        position: absolute;
        opacity: 0;
        pointer-events: none;
    }
    .p-about-project__radio-txt {
        display: flex;
        align-items: center;
        gap: calc(1.3 * var(--base-unit));
        position: relative;
        -webkit-user-select: none;
           -moz-user-select: none;
                user-select: none;
    }
    .p-about-project__radio-txt::before {
        content: "";
        box-sizing: border-box;
        display: inline-block;
        width: calc(2.2 * var(--base-unit));
        height: calc(2.2 * var(--base-unit));
        border: calc(0.1 * var(--base-unit)) solid #000;
        border-radius: 50%;
    }
    @media screen and (max-width: 767px) {
        .p-about-project__radio-txt::before {
            width: calc(1.8 * var(--base-unit));
            height: calc(1.8 * var(--base-unit));
        }
    }
    .p-about-project__input:focus-visible + .p-about-project__radio-txt::before {
        outline: 2px solid #000;
    }
    @media screen and (max-width: 767px) {
        .p-about-project__input:focus-visible + .p-about-project__radio-txt::before {
            outline-width: max(1px, 0.2 * var(--base-unit));
        }
    }
    .p-about-project__radio-txt::after {
        content: "";
        display: block;
        width: calc(1.2 * var(--base-unit));
        height: calc(1.2 * var(--base-unit));
        opacity: 0;
        background-color: #A22041;
        border-radius: 50%;
        position: absolute;
        top: 50%;
        left: calc(1.1 * var(--base-unit));
        transform: translate(-50%, -50%);
    }
    @media screen and (max-width: 767px) {
        .p-about-project__radio-txt::after {
            width: calc(1 * var(--base-unit));
            height: calc(1 * var(--base-unit));
            left: calc(0.9 * var(--base-unit));
        }
    }
    .p-about-project__input:checked + .p-about-project__radio-txt::after {
        opacity: 1;
    }
    .p-about-project .is-hide {
        display: none;
    }
    .p-about-project__hit-count {
        margin-top: calc(6 * var(--base-unit));
        font-size: calc(2.2 * var(--base-unit));
        letter-spacing: 0.1em;
    }
    @media screen and (max-width: 767px) {
        .p-about-project__hit-count {
            margin-top: calc(3 * var(--base-unit));
            font-size: calc(1.7 * var(--base-unit));
        }
    }
    .p-about-project__hit-count span {
        margin-right: 0.1em;
        font-size: calc(2.8 * var(--base-unit));
        font-weight: bold;
    }
    @media screen and (max-width: 767px) {
        .p-about-project__hit-count span {
            font-size: calc(2.2 * var(--base-unit));
        }
    }
    .p-about-project__list {
        margin-top: calc(3 * var(--base-unit));
    }
    @media screen and (max-width: 767px) {
        .p-about-project__list {
            margin-top: calc(1.2 * var(--base-unit));
        }
    }
    .p-pagetitle1__group-tag {
        margin: 0 auto;
        width: var(--width-contents);
    }
    .p-pagetitle1__group-tag span {
        display: inline-block;
        padding: calc(0.3 * var(--base-unit)) 1em calc(0.4 * var(--base-unit));
        font-size: calc(1.1 * var(--base-unit));
        font-weight: 400;
        letter-spacing: 0.12em;
        line-height: 1;
        border: calc(0.1 * var(--base-unit)) solid #333;
        border-radius: calc(0.2 * var(--base-unit));
        background-color: #fff;
        margin-left: 2em;
    }
    .p-btn01--lg a {
        width: calc(48.6 * var(--base-unit)) !important;
        max-width: 100% !important;
    }
    .p-btn02--lg a {
        min-height: calc(8 * var(--base-unit));
        margin-inline: auto;
        width: calc(48.6 * var(--base-unit)) !important;
        max-width: 100% !important;
    }
    @media screen and (max-width: 767px) {
        .p-btn02--lg a {
            min-height: calc(5.4 * var(--base-unit));
        }
    }
    /*  アコーディオン用
    --------------------------------------------- */
    .js-acc-target-sp {
        --acc-body-height: auto;
        height: auto;
        overflow: hidden;
    }
    @media print, screen and (min-width: 768px) {
        .js-acc-target-sp {
            height: auto !important;
        }
    }
    .js-acc-scope-sp.is-open .js-acc-target-sp {
        animation: openAccAnim 0.5s forwards;
    }
    .js-acc-scope-sp.is-close .js-acc-target-sp {
        animation: closeAccAnim 0.5s forwards;
    }
    @keyframes openAccAnim {
        0% {
            height: 0px;
            visibility: hidden;
        }
        99% {
            height: var(--acc-body-height);
            visibility: visible;
        }
        100% {
            height: auto;
        }
    }
    @keyframes closeAccAnim {
        0% {
            height: var(--acc-body-height);
        }
        99% {
            visibility: visible;
        }
        100% {
            height: 0px;
            visibility: hidden;
        }
    }
    /*  フェードインアップ
    --------------------------------------------- */
    .js-fadein-up {
        opacity: 0;
        transform: translateY(50px);
    }
    .js-fadein-up.is-active {
        transform: translateY(0);
        opacity: 1;
        transition: transform 0.8s, opacity 1s;
    }
    @media print {
        .js-fadein-up {
            opacity: 1;
            transform: none;
        }
    }
    /*  リスト
    --------------------------------------------- */
    .c-list {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        row-gap: calc(3 * var(--base-unit));
        -moz-column-gap: calc(2.4 * var(--base-unit));
             column-gap: calc(2.4 * var(--base-unit));
    }
    @media screen and (max-width: 1199px) {
        .c-list {
            grid-template-columns: repeat(2, 1fr);
        }
    }
    @media screen and (max-width: 767px) {
        .c-list {
            margin-top: calc(2 * var(--base-unit));
            grid-template-columns: repeat(1, 1fr);
            gap: calc(2 * var(--base-unit));
        }
    }
    .c-list__item {
        display: grid;
        grid-template-rows: auto 1fr;
        height: 100%;
    }
    .c-list__item a {
        display: grid;
        grid-template-rows: subgrid;
        grid-row: span 2;
        width: 100%;
        background: #fff;
        color: #333;
        border-bottom: calc(0.1 * var(--base-unit)) solid #d5d5d5;
        transition: background 0.3s ease 0s, color 0.3s ease 0s, border-color 0.3s ease 0s, border-bottom-color 0.3s ease 0s;
    }
    @media screen and (min-width: 768px) {
        .c-list__item a:hover {
            background: #a22041;
            color: #fff;
        }
        .c-list__item a:hover .c-list__set01-cat {
            border-color: #fff;
        }
        .c-list__item a:hover .c-list__img img {
            transform: scale(1.1);
            transition: 0.3s ease 0s;
        }
    }
    .c-list__item[data-filter-target=mineral-resources] .c-list__img::before {
        background: url(https://www.mitsubishicorp.com/jp/en/about/project/assets_r24/images/icon_group_mr.svg) center/cover no-repeat;
    }
    .c-list__item[data-filter-target=materials-solution] .c-list__img::before {
        background: url(https://www.mitsubishicorp.com/jp/en/about/project/assets_r24/images/icon_group_ms.svg) center/cover no-repeat;
    }
    .c-list__item[data-filter-target=environmental-energy] .c-list__img::before {
        background: url(https://www.mitsubishicorp.com/jp/en/about/project/assets_r24/images/icon_group_ee.svg) center/cover no-repeat;
    }
    .c-list__item[data-filter-target=ud-infrastructure] .c-list__img::before {
        background: url(https://www.mitsubishicorp.com/jp/en/about/project/assets_r24/images/icon_group_ui.svg) center/cover no-repeat;
    }
    .c-list__item[data-filter-target=food-industry] .c-list__img::before {
        background: url(https://www.mitsubishicorp.com/jp/en/about/project/assets_r24/images/icon_group_fi.svg) center/cover no-repeat;
    }
    .c-list__item[data-filter-target=mobility] .c-list__img::before {
        background: url(https://www.mitsubishicorp.com/jp/en/about/project/assets_r24/images/icon_group_m.svg) center/cover no-repeat;
    }
    .c-list__item[data-filter-target=power-solution] .c-list__img::before {
        background: url(https://www.mitsubishicorp.com/jp/en/about/project/assets_r24/images/icon_group_ps.svg) center/cover no-repeat;
    }
    .c-list__item[data-filter-target=smart-life-creation] .c-list__img::before {
        background: url(https://www.mitsubishicorp.com/jp/en/about/project/assets_r24/images/icon_group_slc.svg) center/cover no-repeat;
    }
    .c-list__img {
        position: relative;
        overflow: hidden;
        box-sizing: border-box;
        background: #fff;
    }
    .c-list__img img {
        -o-object-fit: contain;
           object-fit: contain;
        transition: 0.3s ease 0s;
        display: block;
        width: 100%;
        height: auto;
    }
    .c-list__img::before {
        content: "";
        position: absolute;
        top: calc(10 / 214 * 100%);
        left: calc(10 / 384 * 100%);
        width: calc(40 / 384 * 100%);
        height: calc(40 / 214 * 100%);
        z-index: 2;
    }
    .c-list__set01 {
        box-sizing: border-box;
        padding: calc(2 * var(--base-unit)) calc(2 * var(--base-unit)) calc(3 * var(--base-unit));
    }
    @media screen and (max-width: 767px) {
        .c-list__set01 {
            padding: calc(1.5 * var(--base-unit)) calc(1.5 * var(--base-unit)) calc(3 * var(--base-unit));
        }
    }
    .c-list__set01::after {
        display: block;
        width: calc(2 * var(--base-unit));
        height: calc(2 * var(--base-unit));
        position: absolute;
        right: calc(3 * var(--base-unit));
        top: 0;
        bottom: 0;
        margin: auto 0;
        content: "";
    }
    .c-list__set01-hd {
        font-weight: 500;
        font-size: calc(2 * var(--base-unit));
        letter-spacing: 0.1em;
        line-height: 1.6;
    }
    @media screen and (max-width: 767px) {
        .c-list__set01-hd {
            font-size: calc(1.8 * var(--base-unit));
        }
    }
    .c-list__set01-cat {
        margin-top: calc(1 * var(--base-unit));
        display: inline-block;
        padding: calc(0.3 * var(--base-unit)) 1em calc(0.4 * var(--base-unit));
        font-weight: 400;
        font-size: calc(1.2 * var(--base-unit));
        line-height: 1;
        border: calc(0.1 * var(--base-unit)) solid #333;
        border-radius: calc(0.2 * var(--base-unit));
        transition: border-color 0.3s ease 0s;
    }
    @media screen and (max-width: 767px) {
        .c-list__set01-cat {
            font-size: calc(1.3 * var(--base-unit));
        }
    }
    @media screen and (max-width: 1199px) {
        .p-panel01__list {
            grid-template-columns: repeat(2, 1fr) !important;
        }
    }
    @media screen and (max-width: 767px) {
        .p-panel01__list {
            margin-top: calc(2 * var(--base-unit));
            grid-template-columns: repeat(1, 1fr) !important;
            gap: calc(2 * var(--base-unit));
        }
    }
    .p-panel01__item a {
        background: #fff;
        transition: background 0.3s ease 0s, color 0.3s ease 0s, border-color 0.3s ease 0s, border-bottom-color 0.3s ease 0s;
    }
    @media screen and (min-width: 768px) {
        .p-panel01__item a:hover {
            color: #fff;
        }
        .p-panel01__item a:hover .p-panel01__txt-set {
            background: #a22041 !important;
            color: #fff;
        }
        .p-panel01__item a:hover .p-panel01__cat {
            border-color: #fff;
            color: #fff;
        }
    }
    .p-panel01__item[data-target=mineral-resources] .p-panel01__img::before {
        background: url(https://www.mitsubishicorp.com/jp/en/about/project/assets_r24/images/icon_group_mr.svg) center/cover no-repeat;
    }
    .p-panel01__item[data-target=materials-solution] .p-panel01__img::before {
        background: url(https://www.mitsubishicorp.com/jp/en/about/project/assets_r24/images/icon_group_ms.svg) center/cover no-repeat;
    }
    .p-panel01__item[data-target=environmental-energy] .p-panel01__img::before {
        background: url(https://www.mitsubishicorp.com/jp/en/about/project/assets_r24/images/icon_group_ee.svg) center/cover no-repeat;
    }
    .p-panel01__item[data-target=ud-infrastructure] .p-panel01__img::before {
        background: url(https://www.mitsubishicorp.com/jp/en/about/project/assets_r24/images/icon_group_ui.svg) center/cover no-repeat;
    }
    .p-panel01__item[data-target=food-industry] .p-panel01__img::before {
        background: url(https://www.mitsubishicorp.com/jp/en/about/project/assets_r24/images/icon_group_fi.svg) center/cover no-repeat;
    }
    .p-panel01__item[data-target=mobility] .p-panel01__img::before {
        background: url(https://www.mitsubishicorp.com/jp/en/about/project/assets_r24/images/icon_group_m.svg) center/cover no-repeat;
    }
    .p-panel01__item[data-target=power-solution] .p-panel01__img::before {
        background: url(https://www.mitsubishicorp.com/jp/en/about/project/assets_r24/images/icon_group_ps.svg) center/cover no-repeat;
    }
    .p-panel01__item[data-target=smart-life-creation] .p-panel01__img::before {
        background: url(https://www.mitsubishicorp.com/jp/en/about/project/assets_r24/images/icon_group_slc.svg) center/cover no-repeat;
    }
    .p-panel01__img {
        position: relative;
        overflow: hidden;
        box-sizing: border-box;
        border: none !important;
        aspect-ratio: 384/214 !important;
        place-content: inherit !important;
    }
    .p-panel01__img img {
        -o-object-fit: contain;
           object-fit: contain;
        transition: 0.3s ease 0s;
        display: block;
        width: 100%;
        height: auto;
    }
    .p-panel01__img::before {
        content: "";
        position: absolute;
        top: calc(10 / 214 * 100%);
        left: calc(10 / 384 * 100%);
        width: calc(40 / 384 * 100%);
        height: calc(40 / 214 * 100%);
        z-index: 2;
    }
    .p-panel01__txt-set {
        box-sizing: border-box;
        padding: calc(2 * var(--base-unit)) calc(2 * var(--base-unit)) calc(3 * var(--base-unit));
        background: #fff;
        color: #333;
        transition: background 0.3s ease 0s, color 0.3s ease 0s;
    }
    @media screen and (max-width: 767px) {
        .p-panel01__txt-set {
            padding: calc(1.5 * var(--base-unit)) calc(1.5 * var(--base-unit)) calc(3 * var(--base-unit));
        }
    }
    .p-panel01__hd {
        font-weight: 500;
        font-size: calc(2 * var(--base-unit));
        letter-spacing: 0.1em;
        line-height: 1.6;
    }
    @media screen and (max-width: 767px) {
        .p-panel01__hd {
            font-size: calc(1.8 * var(--base-unit));
        }
    }
    .p-panel01__cat {
        margin-top: calc(1 * var(--base-unit));
        display: block;
        width: -moz-fit-content;
        width: fit-content;
        padding: calc(0.3 * var(--base-unit)) 1em calc(0.4 * var(--base-unit));
        font-weight: 400;
        font-size: calc(1.2 * var(--base-unit));
        line-height: 1;
        border: calc(0.1 * var(--base-unit)) solid #333;
        border-radius: calc(0.2 * var(--base-unit));
        transition: border-color 0.3s ease 0s;
        color: #333;
        transition: color 0.3s ease 0s, border-color 0.3s ease 0s;
    }
    @media screen and (max-width: 767px) {
        .p-panel01__cat {
            font-size: calc(1.3 * var(--base-unit));
        }
    }
    .p-project-section {
        margin-bottom: calc(20 * var(--base-unit));
    }
    @media screen and (max-width: 767px) {
        .p-project-section {
            font-size: calc(10 * var(--base-unit));
        }
    }
    .p-img01__item--lg {
        width: 100% !important;
    }
    .p-txt01__txt-bold {
        font-weight: 700;
    }
    .c-image1__txt {
        position: absolute;
        display: block;
        bottom: 0;
        right: 0;
        width: -moz-fit-content;
        width: fit-content;
        margin-left: auto;
        padding: calc(0.2 * var(--base-unit)) calc(1 * var(--base-unit));
        font-size: calc(1.2 * var(--base-unit));
        color: #fff;
    }
    @media screen and (max-width: 767px) {
        .c-image1__txt {
            font-size: calc(0.8 * var(--base-unit));
        }
    }
    .p-project__img .p-img01__item-img {
        display: block;
    }
    .p-project__img .p-img01__item-img>img {
        width: 100%;
    }
}