@charset "UTF-8";
.prj-covr_mv_video {
    position: relative;
    width: 100%;
    overflow: hidden;
}
.prj-covr_mv_video video {
    position: relative;
    width: 100%;
}
.prj-covr_mv_video::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.2);
}
@media all and (min-width: 750px) {
    .prj-covr_mv {
        position: relative;
        width: 100%;
        min-height: 680px;
        max-height: 100vh;
        margin: 0 auto;
    }
    .prj-covr_mv_video {
        position: relative;
        width: 100%;
    }
}
@media all and (max-width: 749px) {
    .prj-covr_mv {
        position: relative;
        width: 100%;
    }
    .prj-covr_mv_video {
        position: relative;
        width: 304.53333vw;
        margin-left: -133.33333vw;
    }
}
@media all and (min-width: 750px) {
    .prj-covr_mv_nozomiLogo {
        position: absolute;
        left: 50%;
        top: 0;
        width: 186px;
        margin: 32px 0 0 -93px;
    }
}
@media all and (max-width: 749px) {
    .prj-covr_mv_nozomiLogo {
        position: absolute;
        left: 50%;
        top: 0;
        width: 24.8vw;
        margin: 4.26667vw 0 0 -12.4vw;
    }
}
@media all and (min-width: 750px) {
    .prj-covr_mv_catch {
        position: absolute;
        left: 0;
        top: 50%;
        margin: 0 0 0 12.5%;
        color: #fff;
        transform: translateY(-50%);
        transform-origin: 0 50%;
    }
    .prj-covr_mv_catch_en span {
        display: inline-block;
        position: relative;
        margin-top: -0.1em;
        font-family: Jost, "Noto Sans JP", -apple-system, "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
        font-weight: 500;
        font-size: 88px;
        font-size: 5.5rem;
        letter-spacing: 0.025em;
    }
    .prj-covr_mv_catch_ja {
        margin-top: 35px;
    }
    .prj-covr_mv_catch_ja span {
        display: inline-block;
        position: relative;
        margin-top: -0.1em;
        font-weight: 500;
        font-size: 30px;
        font-size: 1.875rem;
        letter-spacing: 0.1em;
    }
}
@media all and (max-width: 749px) {
    .prj-covr_mv_catch {
        position: absolute;
        left: 0;
        top: 50%;
        margin: 0 0 0 12.8vw;
        color: #fff;
        transform: translateY(-50%);
    }
    .prj-covr_mv_catch_en span {
        display: inline-block;
        position: relative;
        margin-top: -0.1em;
        font-family: Jost, "Noto Sans JP", -apple-system, "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
        font-weight: 500;
        font-size: 48px;
        font-size: 12.8vw;
        letter-spacing: 0.025em;
    }
    .prj-covr_mv_catch_ja {
        margin-top: 5.2vw;
    }
    .prj-covr_mv_catch_ja span {
        display: inline-block;
        position: relative;
        margin-top: -0.1em;
        font-weight: 500;
        font-size: 18px;
        font-size: 4.8vw;
        letter-spacing: 0.1em;
        line-height: 1.33333;
    }
}
@media all and (min-width: 750px) {
    .prj-covr_scrollSign {
        position: absolute;
        left: 50%;
        bottom: 0;
        width: 14px;
        margin: 0 0 24px -7px;
    }
    .prj-covr_scrollSign svg {
        fill: #fff;
    }
}
@media all and (max-width: 749px) {
    .prj-covr_scrollSign {
        position: absolute;
        left: 50%;
        bottom: 0;
        width: 2.4vw;
        margin: 0 0 3.2vw -1.2vw;
    }
    .prj-covr_scrollSign svg {
        fill: #fff;
    }
}
@media all and (min-width: 750px) {
    .prj-aboutSec {
        margin-top: 10px;
    }
    .prj-aboutSec > .prj-secInner {
        padding: 100px 0 145px;
    }
}
@media all and (max-width: 749px) {
    .prj-aboutSec {
        margin-top: 1.33333vw;
    }
    .prj-aboutSec > .prj-secInner {
        padding: 13.33333vw 0 24vw;
    }
    .prj-aboutSec .prj-secMain {
        width: 87.2vw;
        margin: 0 auto;
    }
}
@media all and (min-width: 750px) {
    .prj-abou_desc {
        display: flex;
        justify-content: space-between;
        width: 1160px;
        margin: 0 auto;
    }
    .prj-abou_desc > * {
        width: 560px;
    }
}
@media all and (max-width: 749px) {
    .prj-abou_desc {
        display: flex;
        flex-wrap: wrap;
        flex-direction: column-reverse;
    }
    .prj-abou_desc > :nth-of-type(1) {
        margin-top: 13.33333vw;
    }
}
@media all and (min-width: 750px) {
    .prj-abou_nozomiLogo {
        position: relative;
        width: 524px;
        margin: 65px auto 0;
    }
}
@media all and (max-width: 749px) {
    .prj-abou_nozomiLogo {
        position: relative;
        width: 69.86667vw;
        margin: 13.33333vw auto 0;
    }
}
@media all and (min-width: 750px) {
    .prj-visionSec .prj-secHeader {
        min-width: 1500px;
        padding-top: 200px;
    }
    .prj-visionSec .prj-secHeader_pic {
        position: absolute;
        left: 0;
        top: 0;
        width: 1400px;
    }
    .prj-visionSec .prj-secHeader_heading {
        transform: translateX(-100px);
    }
    .prj-visionSec .prj-secHeader_heading .en {
        color: #fff;
    }
    .prj-visionSec .prj-secMain {
        margin-top: 110px;
    }
}
@media all and (max-width: 749px) {
    .prj-visionSec .prj-secHeader {
        padding-top: 28.66667vw;
    }
    .prj-visionSec .prj-secHeader_pic {
        position: absolute;
        left: 0;
        top: 0;
        width: 93.6vw;
    }
    .prj-visionSec .prj-secHeader_heading {
        margin-left: -1.46667em;
    }
    .prj-visionSec .prj-secHeader_heading .en {
        color: #fff;
    }
    .prj-visionSec .prj-secMain {
        margin-top: 16vw;
    }
}
@media all and (min-width: 750px) {
    .prj-visi_desc {
        display: flex;
        justify-content: center;
        position: relative;
        left: 30px;
        width: 1240px;
        padding: 100px 0;
        margin: 0 auto;
        background: #bcf5b2;
    }
    .prj-visi_desc > * {
        width: 480px;
    }
    .prj-visi_desc > :nth-of-type(2) {
        margin-left: 75px;
    }
}
@media all and (max-width: 749px) {
    .prj-visi_desc {
        display: flex;
        flex-direction: column-reverse;
        flex-wrap: wrap;
        width: 93.6vw;
        padding: 14.66667vw 0;
        margin: 0 0 0 auto;
        background: #bcf5b2;
    }
    .prj-visi_desc > * {
        width: 74.66667vw;
        margin: 0 0 0 12.66667vw;
    }
    .prj-visi_desc > :nth-of-type(1) {
        margin-top: 12vw;
    }
}
@media all and (min-width: 750px) {
    .prj-businessSec {
        margin-top: 160px !important;
    }
    .prj-businessSec .prj-secHeader {
        padding-top: 55px;
    }
    .prj-businessSec .prj-secHeader_pic {
        position: absolute;
        left: 50%;
        top: 0;
        width: 680px;
        margin-left: 125px;
    }
    .prj-businessSec .prj-secHeader_heading {
        transform: translateX(-240px);
    }
    .prj-businessSec .prj-secHeader_heading .ja {
        background: #6bc8f0;
    }
    .prj-businessSec .prj-secMain {
        margin-top: 65px;
    }
}
@media all and (max-width: 749px) {
    .prj-businessSec {
        margin-top: 23.33333vw !important;
    }
    .prj-businessSec .prj-secHeader {
        padding-top: 29.33333vw;
    }
    .prj-businessSec .prj-secHeader_pic {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
    }
    .prj-businessSec .prj-secHeader_heading .ja {
        background: #6bc8f0;
    }
    .prj-businessSec .prj-secMain {
        margin-top: 16vw;
    }
}
@media all and (min-width: 750px) {
    .prj-busi_desc {
        display: flex;
        justify-content: center;
        width: 990px;
        padding: 100px 0;
        margin: 0 0 0 65px;
        background: #fff;
    }
    .prj-busi_desc > * {
        width: 384px;
    }
    .prj-busi_desc > :nth-of-type(2) {
        margin-left: 32px;
    }
}
@media all and (max-width: 749px) {
    .prj-busi_desc {
        display: flex;
        flex-wrap: wrap;
        flex-direction: column-reverse;
        width: 93.6vw;
        padding: 14.66667vw 0;
        background: #fff;
    }
    .prj-busi_desc > * {
        width: 76.53333vw;
        margin-left: 6.66667vw;
    }
    .prj-busi_desc > :nth-of-type(1) {
        margin-top: 14.66667vw;
    }
}
@media all and (min-width: 750px) {
    .prj-teamSec {
        margin-top: 160px !important;
        background: #c0e9fb;
    }
    .prj-teamSec > .prj-secInner {
        padding: 110px 0 280px;
    }
    .prj-teamSec .prj-secMain {
        margin-top: 100px;
    }
}
@media all and (max-width: 749px) {
    .prj-teamSec {
        margin-top: 24vw !important;
        background: #c0e9fb;
    }
    .prj-teamSec > .prj-secInner {
        padding: 20vw 0 23.33333vw;
    }
    .prj-teamSec .prj-secMain {
        margin-top: 10.66667vw;
    }
}
@media all and (min-width: 750px) {
    .prj-team_members {
        display: flex;
        flex-wrap: wrap;
        /* justify-content: center; */
        align-items: flex-start;
        row-gap: 150px;
        column-gap: 216px;
        position: relative;
        width: 1280px;
        margin: 0 auto;
    }
    .prj-team_member {
        position: relative;
        width: calc(50% - 108px);
        /* margin-right: 240px; */
    }

    .prj-team_member_portrait {
        width: calc(100% - 200px);
    }

    .prj-team_member .prj-team_member_profile {
        width: 320px;
        padding: 35px 27px;
        margin: 0 0 -25px 0;
    }

    .prj-team_member .prj-team_member_profile .position {
        font-size: 20px;
        font-size: 1.25rem;
    }
    .prj-team_member .prj-team_member_profile .name_en {
        font-size: 30px;
        font-size: 1.875rem;
    }
    .prj-team_member .prj-team_member_profile .name_ja {
        font-size: 16px;
        font-size: 1rem;
    }
}

@media all and (min-width: 750px) {
    .prj-team_member_profile {
        position: absolute;
        right: 0;
        bottom: 0;
        box-sizing: border-box;
        background: #fff;
        box-shadow: 4px 4px 10px 0 rgba(24, 116, 156, 0.3);
    }
    .prj-team_member_profile .position {
        margin: -3px 0;
        font-family: Jost, "Noto Sans JP", -apple-system, "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
        font-weight: 600;
        letter-spacing: 0.05em;
        line-height: 1.3;
        color: #71bd64;
    }
    .prj-team_member_profile .name_en {
        margin-top: 0.6em;
        font-family: Jost, "Noto Sans JP", -apple-system, "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
        font-weight: 600;
        line-height: 1.2;
        letter-spacing: 0.01em;
        /* white-space: nowrap; */
    }
    .prj-team_member_profile .name_ja {
        margin-top: 0.4em;
        font-weight: 700;
        letter-spacing: 0.05em;
    }
}
@media all and (max-width: 749px) {
    .prj-team_members {
        display: flex;
        flex-direction: column;
        gap: 34px;
        position: relative;
        width: 87.2vw;
        margin: 0 auto;
    }

    .prj-team_member { 
        position: relative;
    }

    .prj-team_member_portrait {
        position: relative;
        width: 42.66667vw;
    }

    /* .prj-team_member .prj-team_member_profile {
        position: absolute;
        right: 0;
        bottom: 0;
        width: 53.33333vw;
        padding: 6.66667vw 8.53333vw 10vw;
        margin: 0 0 -4.66667vw 0;
    } */

    /* .prj-team_member .prj-team_member_profile .name_en {
        margin-top: 5.06667vw;
    } */



    .prj-team_member_profile {
        position: absolute;
        right: 0;
        bottom: 0;
        width: 53.33333vw;
        padding: 6.66667vw 8.53333vw 10vw;
        margin: 0 0 -4.66667vw 0;
        box-sizing: border-box;
        background: #fff;
        box-shadow: 0 0.8vw 1.6vw 0 rgba(24, 116, 156, 0.3);
    }
    .prj-team_member_profile .position {
        margin: -0.53333vw 0 -0.53333vw;
        font-family: Jost, "Noto Sans JP", -apple-system, "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
        font-size: 14px;
        font-size: 3.73333vw;
        font-weight: 600;
        letter-spacing: 0.05em;
        line-height: 1.28571;
        color: #71bd64;
    }
    .prj-team_member_profile .name_en {
        margin-top: 5.06667vw;
        font-family: Jost, "Noto Sans JP", -apple-system, "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
        font-weight: 600;
        letter-spacing: 0.01em;
        line-height: 1.25;
        /* white-space: nowrap; */
    }
    .prj-team_member_profile .name_ja {
        margin-top: 0.4em;
        font-weight: 700;
        font-size: 11px;
        font-size: 2.93333vw;
        letter-spacing: 0.05em;
        line-height: 1.25;
    }
}
.prj-projectsSec__projectlist {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 48px;
    color: #222;
    text-align: center;
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 0.48px;
}
.prj-projectsSec__projectlist li a {
    color: #222222;
}
@media all and (min-width: 750px) {
    .prj-projectsSec > .prj-secInner {
        padding-top: 160px;
    }
    .prj-projectsSec .prj-secHeader_heading .ja {
        background: #6bc8f0;
    }
    .prj-projectsSec .prj-secMain {
        margin-top: 32px;
    }
}
@media all and (max-width: 749px) {
    .prj-projectsSec > .prj-secInner {
        padding-top: 19.33333vw;
    }
    .prj-projectsSec .prj-secHeader_heading .ja {
        background: #6bc8f0;
    }
    .prj-projectsSec__projectlist {
        font-size: 3.73333vw;
    }
    .prj-projectsSec .prj-secMain {
        margin-top: 8.66667vw;
    }
}
@media all and (min-width: 750px) {
    .prj-proj_coming {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 1080px;
        height: 480px;
        margin: 0 auto;
        background: url(../img/projects/proj_coming_bg.jpg) 50% 50% no-repeat;
        background-size: cover;
    }
    .prj-proj_coming p {
        font-family: Jost, "Noto Sans JP", -apple-system, "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
        font-weight: 500;
        font-size: 40px;
        font-size: 2.5rem;
        letter-spacing: 0.1em;
        color: #fff;
    }
}
@media all and (max-width: 749px) {
    .prj-proj_coming {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 87.2vw;
        height: 64vw;
        margin: 0 auto;
        background: url(../img/projects/proj_coming_bg_sp.jpg) 50% 50% no-repeat;
        background-size: cover;
    }
    .prj-proj_coming p {
        font-family: Jost, "Noto Sans JP", -apple-system, "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
        font-weight: 500;
        font-size: 20px;
        font-size: 5.33333vw;
        letter-spacing: 0.1em;
        color: #fff;
    }
}
@media all and (min-width: 750px) {
    .prj-companySec {
        margin-top: 160px !important;
    }
    .prj-companySec .prj-secHeader {
        padding-top: 55px;
    }
    .prj-companySec .prj-secHeader_pic {
        position: absolute;
        right: 50%;
        top: 0;
        width: 680px;
        margin-right: 125px;
    }
    .prj-companySec .prj-secHeader_heading {
        transform: translateX(220px);
    }
    .prj-companySec .prj-secMain {
        margin-top: 65px;
    }
}
@media all and (max-width: 749px) {
    .prj-companySec {
        margin-top: 17.33333vw !important;
    }
    .prj-companySec .prj-secHeader {
        padding-top: 28.66667vw;
    }
    .prj-companySec .prj-secHeader_pic {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
    }
    .prj-companySec .prj-secMain {
        margin-top: 16vw;
    }
}
@media all and (min-width: 750px) {
    .prj-comp_info {
        display: flex;
        justify-content: center;
        width: 1040px;
        padding: 100px 0;
        margin: 0 60px 0 auto;
        background: #fff;
    }
    .prj-comp_info > * {
        width: 384px;
    }
    .prj-comp_info > :nth-of-type(2) {
        margin-left: 32px;
    }
}
@media all and (max-width: 749px) {
    .prj-comp_info {
        display: flex;
        flex-wrap: wrap;
        flex-direction: column-reverse;
        width: 93.6vw;
        padding: 14.66667vw 0;
        margin: 0 0 0 auto;
        background: #fff;
    }
    .prj-comp_info > * {
        width: 76.53333vw;
        margin-left: 10.66667vw;
    }
    .prj-comp_info > :nth-of-type(1) {
        margin-top: 20vw;
    }
}
@media all and (min-width: 750px) {
    .prj-comp_info_outline {
        font-family: Inter, "Noto Sans JP", -apple-system, "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
        font-size: 16px;
        font-size: 1rem;
        letter-spacing: 0.01em;
    }
    .prj-comp_info_outline dt {
        font-weight: 700;
        color: #666;
    }
    .prj-comp_info_outline dt:nth-of-type(n + 2) {
        margin-top: 1.5625em;
    }
    .prj-comp_info_outline dd {
        padding-left: 1.5em;
        margin: 0.6875em 0 -0.4375em;
        line-height: 1.875;
    }
    .prj-comp_info_outline dd ul li {
        position: relative;
    }
    .prj-comp_info_outline dd ul li::before {
        content: "■";
        position: absolute;
        left: 0;
        margin-left: -1.2em;
        color: #19be76;
        transform: scale(0.3);
    }
    .prj-comp_info_outline dd ul li:nth-of-type(n + 2) {
        margin-top: 0.8em;
    }
}
@media all and (max-width: 749px) {
    .prj-comp_info_outline {
        font-family: Inter, "Noto Sans JP", -apple-system, "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
        font-size: 15px;
        font-size: 4vw;
        letter-spacing: 0.05em;
    }
    .prj-comp_info_outline dt {
        font-weight: 700;
        color: #666;
    }
    .prj-comp_info_outline dt:nth-of-type(n + 2) {
        margin-top: 1.66667em;
    }
    .prj-comp_info_outline dd {
        padding-left: 1.33333em;
        margin: 0.5em 0 -0.33333em;
        line-height: 1.66667;
    }
    .prj-comp_info_outline dd ul li {
        position: relative;
    }
    .prj-comp_info_outline dd ul li::before {
        content: "■";
        position: absolute;
        left: 0;
        margin-left: -1.2em;
        color: #19be76;
        transform: scale(0.3);
    }
    .prj-comp_info_outline dd ul li:nth-of-type(n + 2) {
        margin-top: 0.6em;
    }
}
@media all and (min-width: 750px) {
    .prj-newsSec {
        margin-top: 60px !important;
    }
    .prj-newsSec > .prj-secInner {
        padding-top: 100px;
    }
    .prj-newsSec .prj-secHeader_heading {
        transform: translateX(-515px);
    }
    /* .prj-newsSec .prj-secHeader_heading .ja {
        background: #6bc8f0;
    } */
    .prj-newsSec .prj-secMain {
        margin-top: -110px;
    }
}
@media all and (max-width: 749px) {
    .prj-newsSec {
        margin-top: 12vw !important;
    }
    .prj-newsSec > .prj-secInner {
        padding-top: 13.33333vw;
    }
    /* .prj-newsSec .prj-secHeader_heading .ja {
        background: #6bc8f0;
    } */
    .prj-newsSec .prj-secMain {
        margin-top: 6.66667vw;
    }
}
@media all and (min-width: 750px) {
    .prj-news_topics {
        position: relative;
        width: 930px;
        margin-left: 510px;
        border-top: 1px solid #dfdfdf;
        border-bottom: 1px solid #dfdfdf;
    }
    .prj-news_topics > li {
        position: relative;
        padding: 2.5em 0;
    }
    .prj-news_topics > li:nth-of-type(n + 2)::before {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 1px;
        background: #dfdfdf;
    }
    .prj-news_topics dd,
    .prj-news_topics dt {
        font-family: Inter, "Noto Sans JP", -apple-system, "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
    }
    .prj-news_topics dt {
        position: absolute;
        left: 0;
        padding-left: 0.5em;
        font-weight: 700;
        font-size: 18px;
        font-size: 1.125rem;
        line-height: 1.66667;
        color: #666;
    }
    .prj-news_topics dd {
        position: relative;
        padding: 0 0.5em 0 10.625em;
        margin: -0.4375em 0;
        font-size: 16px;
        font-size: 1rem;
        line-height: 1.875;
    }
    .prj-news_topics dd div:nth-of-type(n + 2) {
        margin-top: 0.8em;
    }
    .prj-news_topics dd div.en {
        letter-spacing: 0.05em;
    }
    .prj-news_topics dd div.ja {
        letter-spacing: 0.09em;
    }
    .prj-news_topics dd a {
        color: #333;
    }
}
@media all and (max-width: 749px) {
    .prj-news_topics {
        position: relative;
        width: 87.2vw;
        margin: 0 auto;
        border-top: 1px solid #dfdfdf;
        border-bottom: 1px solid #dfdfdf;
    }
    .prj-news_topics > li {
        position: relative;
        padding: 1.71875em 0;
    }
    .prj-news_topics > li:nth-of-type(n + 2)::before {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 1px;
        background: #dfdfdf;
    }
    .prj-news_topics dd,
    .prj-news_topics dt {
        font-family: Inter, "Noto Sans JP", -apple-system, "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
    }
    .prj-news_topics dt {
        padding-left: 0.3em;
        font-weight: 700;
        font-size: 16px;
        font-size: 4.26667vw;
        line-height: 1.25;
        color: #666;
    }
    .prj-news_topics dd {
        position: relative;
        padding: 0 0.3em;
        margin-top: 1.21875em;
        font-size: 14px;
        font-size: 3.73333vw;
        line-height: 1.42857;
    }
    .prj-news_topics dd div:nth-of-type(n + 2) {
        margin-top: 0.8em;
    }
    .prj-news_topics dd div.en {
        letter-spacing: 0.05em;
    }
    .prj-news_topics dd div.ja {
        letter-spacing: 0.09em;
    }
    .prj-news_topics dd a {
        color: #333;
    }
}
@media all and (min-width: 750px) and (max-width: 1440px) {
    .prj-newsSec .prj-secHeader_heading {
        transform: translateX(0);
    }
    .prj-newsSec .prj-secMain {
        margin-top: 65px;
    }
    .prj-news_topics {
        width: 1080px;
        margin: 0 auto;
    }
}
@media all and (min-width: 750px) {
    .prj-contactSec {
        margin-top: 160px !important;
    }
    .prj-contactSec .prj-secHeader {
        right: 0;
        width: 840px;
        padding: 120px 0 130px;
        background: #c0e9fb;
    }
    .prj-contactSec .prj-secMain {
        margin-top: -300px;
    }
}
@media all and (max-width: 749px) {
    .prj-contactSec {
        margin-top: 21.33333vw !important;
    }
    .prj-contactSec .prj-secHeader {
        width: 91.46667vw;
        padding: 12vw 0 18vw;
        background: #c0e9fb;
    }
    .prj-contactSec .prj-secHeader_heading .en {
        text-align: center;
    }
    .prj-contactSec .prj-secMain {
        margin-top: -8.66667vw;
    }
}
@media all and (min-width: 750px) {
    .prj-cont_phone {
        display: flex;
        flex-wrap: wrap;
        width: 840px;
        box-sizing: border-box;
        padding: 100px 0 100px 120px;
        margin-left: 760px;
        background: #bcf5b2;
    }
    .prj-cont_phone dd,
    .prj-cont_phone dt {
        font-family: Jost, "Noto Sans JP", -apple-system, "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
    }
    .prj-cont_phone dt > span {
        display: block;
    }
    .prj-cont_phone dt .en {
        font-weight: 600;
        font-size: 40px;
        font-size: 2.5rem;
        letter-spacing: 0.025em;
        color: #0ca5c1;
    }
    .prj-cont_phone dt .ja {
        font-weight: 500;
        margin-top: 0.66667em;
        font-size: 18px;
        font-size: 1.125rem;
        letter-spacing: 0.1em;
        color: #555;
    }
    .prj-cont_phone dd {
        position: relative;
        padding-left: 1em;
        margin-top: 0.5em;
        font-weight: 600;
        font-size: 60px;
        font-size: 3.75rem;
        letter-spacing: 0.05em;
    }
    .prj-cont_phone dd::before {
        content: "";
        position: absolute;
        left: 0;
        top: 50%;
        width: 0.8em;
        height: 0.8em;
        margin-top: -0.4em;
        background: url(../img/common/cmn_ico_phone_blue.svg) 50% 50% no-repeat;
        background-size: contain;
    }
}
@media all and (max-width: 749px) {
    .prj-cont_phone {
        display: flex;
        flex-wrap: wrap;
        width: 91.46667vw;
        box-sizing: border-box;
        padding: 9.33333vw 0 13.33333vw 10.66667vw;
        margin: 0 0 0 auto;
        background: #bcf5b2;
    }
    .prj-cont_phone dd,
    .prj-cont_phone dt {
        font-family: Jost, "Noto Sans JP", -apple-system, "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
    }
    .prj-cont_phone dt > span {
        display: block;
    }
    .prj-cont_phone dt .en {
        font-weight: 600;
        font-size: 26px;
        font-size: 6.93333vw;
        letter-spacing: 0.025em;
        color: #0ca5c1;
    }
    .prj-cont_phone dt .ja {
        font-weight: 500;
        margin-top: 0.5em;
        font-size: 12px;
        font-size: 3.2vw;
        letter-spacing: 0.1em;
        color: #555;
    }
    .prj-cont_phone dd {
        position: relative;
        padding-left: 1em;
        margin-top: 0.58333em;
        font-weight: 600;
        font-size: 30px;
        font-size: 8vw;
        letter-spacing: 0.05em;
    }
    .prj-cont_phone dd::before {
        content: "";
        position: absolute;
        left: 0;
        top: 50%;
        width: 0.8em;
        height: 0.8em;
        margin-top: -0.4em;
        background: url(../img/common/cmn_ico_phone_blue.svg) 50% 50% no-repeat;
        background-size: contain;
    }
}
@media all and (min-width: 750px) and (max-width: 1440px) {
    .prj-contactSec .prj-secMain {
        margin-top: -80px;
    }
    .prj-cont_phone {
        margin-left: auto;
    }
}
@media all and (min-width: 750px) {
    .prj-sustainabilitySec {
        margin-top: 60px !important;
    }
    .prj-sustainabilitySec > .prj-secInner {
        padding: 100px 0 80px;
        /* padding: 0 0 80px; */
    }
    .prj-sustainabilitySec .prj-secHeader_heading .en {
        font-size: 36px;
        font-size: 2.25rem;
        letter-spacing: 0.1em;
        text-transform: uppercase;
    }
    .prj-sustainabilitySec .prj-secHeader_heading .ja {
        margin-top: 1em;
        background: #6bc8f0;
        font-size: 20px;
        font-size: 1.25rem;
    }
    .prj-sustainabilitySec .prj-secMain {
        margin-top: 65px;
    }
}
@media all and (max-width: 749px) {
    .prj-sustainabilitySec {
        margin-top: 10.66667vw !important;
    }
    .prj-sustainabilitySec > .prj-secInner {
        padding: 13.33333vw 0 8.66667vw;
        /* padding: 0 0 8.66667vw; */
    }
    .prj-sustainabilitySec .prj-secHeader_heading .en {
        margin: -0.16667em auto;
        font-size: 24px;
        font-size: 6.4vw;
        letter-spacing: 0.1em;
        line-height: 1.16667;
        text-align: center;
        text-transform: uppercase;
    }
    .prj-sustainabilitySec .prj-secHeader_heading .ja {
        margin-top: 1.2em;
        background: #6bc8f0;
        font-size: 12px;
        font-size: 3.2vw;
    }
    .prj-sustainabilitySec .prj-secMain {
        margin-top: 65px;
    }
}
@media all and (min-width: 750px) {
    .prj-sust_actisBtn {
        width: 640px;
        margin: 0 auto;
    }
    .prj-sust_actisBtn a {
        display: block;
        position: relative;
        padding: 2.8125em 0 2.375em;
        background: #e8b700;
        font-family: Jost, "Noto Sans JP", -apple-system, "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
        font-weight: 500;
        letter-spacing: 0.1em;
        color: #fff;
        text-decoration: none;
        text-align: center;
    }
    .prj-sust_actisBtn a span {
        display: block;
    }
    .prj-sust_actisBtn a .en {
        font-size: 24px;
        font-size: 1.5rem;
        text-transform: uppercase;
    }
    .prj-sust_actisBtn a .ja {
        margin-top: 0.66667em;
        font-size: 18px;
        font-size: 1.125rem;
    }
    .prj-sust_actisBtn a::before {
        content: "";
        position: absolute;
        right: 0;
        top: 50%;
        width: 2em;
        height: 2em;
        margin: -1em 2.5em 0 0;
        background: url(../img/common/cmn_ico_newwindow.svg) 50% 50% no-repeat;
        background-size: contain;
    }
}
@media all and (max-width: 749px) {
    .prj-sust_actisBtn {
        width: 87.2vw;
        margin: 0 auto;
    }
    .prj-sust_actisBtn a {
        display: block;
        position: relative;
        padding: 1.25em 0 1.1875em;
        background: #e8b700;
        font-family: Jost, "Noto Sans JP", -apple-system, "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
        font-weight: 500;
        letter-spacing: 0.1em;
        color: #fff;
        text-decoration: none;
        text-align: center;
    }
    .prj-sust_actisBtn a span {
        display: block;
    }
    .prj-sust_actisBtn a .en {
        font-size: 18px;
        font-size: 4.8vw;
        text-transform: uppercase;
    }
    .prj-sust_actisBtn a .ja {
        margin-top: 0.66667em;
        font-size: 12px;
        font-size: 3.2vw;
    }
    .prj-sust_actisBtn a::before {
        content: "";
        position: absolute;
        right: 0;
        top: 50%;
        width: 1.25em;
        height: 1.25em;
        margin: -0.625em 1.1875em 0 0;
        background: url(../img/common/cmn_ico_newwindow.svg) 50% 50% no-repeat;
        background-size: contain;
    }
}
@media all and (min-width: 750px) {
    .prj-sust_sdgs {
        width: 1080px;
        padding: 60px 0 70px;
        margin: 80px auto 0;
        background: #f7f7f7;
    }
    .prj-sust_sdgs_logo {
        width: 444px;
        margin: 0 auto;
    }
    .prj-sust_sdgs_menu {
        display: flex;
        justify-content: space-between;
        width: 616px;
        margin: 30px auto 0;
    }
    .prj-sust_sdgs_menu > li {
        width: 96px;
    }
    .prj-sust_sdgs_desc {
        margin: 27px 0 -8px;
        font-family: Inter, "Noto Sans JP", -apple-system, "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
        font-weight: 500;
        font-size: 16px;
        font-size: 1rem;
        letter-spacing: 0.05em;
        line-height: 2;
        text-align: center;
    }
    .prj-sust_sdgs_desc > span {
        display: block;
    }
}
@media all and (max-width: 749px) {
    .prj-sust_sdgs {
        width: 87.2vw;
        padding: 8.66667vw 0 9.33333vw;
        margin: 6.66667vw auto 0;
        background: #f7f7f7;
    }
    .prj-sust_sdgs_logo {
        width: 59.2vw;
        margin: 0 auto;
    }
    .prj-sust_sdgs_menu {
        display: flex;
        justify-content: space-between;
        width: 82.13333vw;
        margin: 4vw auto 0;
    }
    .prj-sust_sdgs_menu > li {
        width: 12.8vw;
    }
    .prj-sust_sdgs_desc {
        margin: 1.75em 0 -0.21429em;
        font-family: Inter, "Noto Sans JP", -apple-system, "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
        font-weight: 500;
        font-size: 14px;
        font-size: 3.73333vw;
        letter-spacing: 0.05em;
        line-height: 1.42857;
        text-align: center;
    }
    .prj-sust_sdgs_desc > span {
        display: block;
    }
    .prj-sust_sdgs_desc > span:nth-of-type(n + 2) {
        margin-top: 1em;
    }
}
@media all and (min-width: 750px) {
    .prj-sust_actisLogo {
        width: 182px;
        margin: 80px auto 0;
    }
}
@media all and (max-width: 749px) {
    .prj-sust_actisLogo {
        width: 24.26667vw;
        margin: 8.66667vw auto 0;
    }
}
.prj-header {
    transition: transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1) 2.5s;
    transform: translateY(-150%);
}
.prj-covr_mv_nozomiLogo {
    z-index: 1;
    transition: transform 1.2s cubic-bezier(0.215, 0.61, 0.355, 1) 0.8s;
    transform: translateY(-150%);
}
.prj-covr_scrollSign {
    transition: transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1) 2.5s;
    transform: translateY(150%);
}
body.-show .prj-covr_mv_nozomiLogo,
body.-show .prj-covr_scrollSign,
body.-show .prj-header {
    transform: translateY(0);
}
.prj-covr_mv {
    overflow: hidden;
}
.prj-covr_mv_video {
    transition: all 2s cubic-bezier(0.075, 0.82, 0.165, 1) 0.9s;
    opacity: 0;
    transform: scale(1.5);
}
body.-show .prj-covr_mv::after {
    height: 0;
    transform: translateY(0);
}
body.-show .prj-covr_mv_video {
    opacity: 1;
    transform: scale(1);
}
.prj-covr_mv_catch_en > span,
.prj-covr_mv_catch_ja > span {
    position: relative;
    height: 1.18em;
    overflow: hidden;
    transition: all 0.8s cubic-bezier(0.215, 0.61, 0.355, 1) 1s;
    transform: translateX(-100px);
}
.prj-covr_mv_catch_en > span > span,
.prj-covr_mv_catch_ja > span > span {
    position: relative;
    transition: visibility 0s linear 1.5s;
    visibility: hidden;
}
.prj-covr_mv_catch_en > span::after,
.prj-covr_mv_catch_ja > span::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    transition: width 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 1s, transform 0.6s cubic-bezier(0.215, 0.61, 0.355, 1) 1.5s;
    width: 0;
}
.prj-covr_mv_catch_en > span:nth-of-type(1),
.prj-covr_mv_catch_ja > span:nth-of-type(1) {
    transition-delay: 1.12s;
}
.prj-covr_mv_catch_en > span:nth-of-type(1) > span,
.prj-covr_mv_catch_ja > span:nth-of-type(1) > span {
    transition-delay: 1.62s;
}
.prj-covr_mv_catch_en > span:nth-of-type(1)::after,
.prj-covr_mv_catch_ja > span:nth-of-type(1)::after {
    transition-delay: 1.12s, 1.62s;
}
.prj-covr_mv_catch_en > span:nth-of-type(2),
.prj-covr_mv_catch_ja > span:nth-of-type(2) {
    transition-delay: 1.24s;
}
.prj-covr_mv_catch_en > span:nth-of-type(2) > span,
.prj-covr_mv_catch_ja > span:nth-of-type(2) > span {
    transition-delay: 1.74s;
}
.prj-covr_mv_catch_en > span:nth-of-type(2)::after,
.prj-covr_mv_catch_ja > span:nth-of-type(2)::after {
    transition-delay: 1.24s, 1.74s;
}
.prj-covr_mv_catch_en > span:nth-of-type(3),
.prj-covr_mv_catch_ja > span:nth-of-type(3) {
    transition-delay: 1.36s;
}
.prj-covr_mv_catch_en > span:nth-of-type(3) > span,
.prj-covr_mv_catch_ja > span:nth-of-type(3) > span {
    transition-delay: 1.86s;
}
.prj-covr_mv_catch_en > span:nth-of-type(3)::after,
.prj-covr_mv_catch_ja > span:nth-of-type(3)::after {
    transition-delay: 1.36s, 1.86s;
}
.prj-covr_mv_catch_en > span:nth-of-type(4),
.prj-covr_mv_catch_ja > span:nth-of-type(4) {
    transition-delay: 1.48s;
}
.prj-covr_mv_catch_en > span:nth-of-type(4) > span,
.prj-covr_mv_catch_ja > span:nth-of-type(4) > span {
    transition-delay: 1.98s;
}
.prj-covr_mv_catch_en > span:nth-of-type(4)::after,
.prj-covr_mv_catch_ja > span:nth-of-type(4)::after {
    transition-delay: 1.48s, 1.98s;
}
.prj-covr_mv_catch_en > span:nth-of-type(5),
.prj-covr_mv_catch_ja > span:nth-of-type(5) {
    transition-delay: 1.6s;
}
.prj-covr_mv_catch_en > span:nth-of-type(5) > span,
.prj-covr_mv_catch_ja > span:nth-of-type(5) > span {
    transition-delay: 2.1s;
}
.prj-covr_mv_catch_en > span:nth-of-type(5)::after,
.prj-covr_mv_catch_ja > span:nth-of-type(5)::after {
    transition-delay: 1.6s, 2.1s;
}
.prj-covr_mv_catch_en > span:nth-of-type(6),
.prj-covr_mv_catch_ja > span:nth-of-type(6) {
    transition-delay: 1.72s;
}
.prj-covr_mv_catch_en > span:nth-of-type(6) > span,
.prj-covr_mv_catch_ja > span:nth-of-type(6) > span {
    transition-delay: 2.22s;
}
.prj-covr_mv_catch_en > span:nth-of-type(6)::after,
.prj-covr_mv_catch_ja > span:nth-of-type(6)::after {
    transition-delay: 1.72s, 2.22s;
}
body.-show .prj-covr_mv_catch_en > span,
body.-show .prj-covr_mv_catch_ja > span {
    transform: translateX(0);
}
body.-show .prj-covr_mv_catch_en > span > span,
body.-show .prj-covr_mv_catch_ja > span > span {
    visibility: visible;
}
body.-show .prj-covr_mv_catch_en > span::after,
body.-show .prj-covr_mv_catch_ja > span::after {
    width: 100%;
    transform: translateX(102%);
}
@-webkit-keyframes example {
    0% {
        opacity: 0;
        transform: translateY(-5px);
    }
    10% {
        opacity: 0;
        transform: translateY(-5px);
    }
    20% {
        opacity: 1;
        transform: translateY(0);
    }
    80% {
        opacity: 1;
        transform: translateY(0);
    }
    90% {
        opacity: 0;
        transform: translateY(5px);
    }
    100% {
        opacity: 0;
        transform: translateY(5px);
    }
}
@keyframes example {
    0% {
        opacity: 0;
        transform: translateY(-5px);
    }
    10% {
        opacity: 0;
        transform: translateY(-5px);
    }
    20% {
        opacity: 1;
        transform: translateY(0);
    }
    80% {
        opacity: 1;
        transform: translateY(0);
    }
    90% {
        opacity: 0;
        transform: translateY(5px);
    }
    100% {
        opacity: 0;
        transform: translateY(5px);
    }
}
.prj-covr_scrollSign_a3 {
    -webkit-animation: example 2.5s cubic-bezier(0.55, 0.055, 0.675, 0.19) 0.1s infinite;
    animation: example 2.5s cubic-bezier(0.55, 0.055, 0.675, 0.19) 0.1s infinite;
}
.prj-covr_scrollSign_a2 {
    -webkit-animation: example 2.5s cubic-bezier(0.55, 0.055, 0.675, 0.19) 0.2s infinite;
    animation: example 2.5s cubic-bezier(0.55, 0.055, 0.675, 0.19) 0.2s infinite;
}
.prj-covr_scrollSign_a1 {
    -webkit-animation: example 2.5s cubic-bezier(0.55, 0.055, 0.675, 0.19) 0.3s infinite;
    animation: example 2.5s cubic-bezier(0.55, 0.055, 0.675, 0.19) 0.3s infinite;
}
.prj-cmn_desc_heading::before {
    transition: all 0.8s cubic-bezier(0.645, 0.045, 0.355, 1) 0.1s;
    transform: scaleX(0);
    transform-origin: 0 0;
}
.prj-cmn_desc_heading.-show::before {
    transform: scaleX(1);
}




/* Project: 20240528 */
/* Updated: 20250826 */

/* .prj-mapImg {
max-width: 1480px;
} */

.prj-mapImg_wrap {
    max-width: 1480px;
    margin: 0 auto;
    position: relative;
    white-space: nowrap;
}

.prj-location {
    display: flex;
    position: absolute;
    border-style: solid;
    border-color: #222222;
    color: #ffffff;
}

.prj-location--posTopRight {
    justify-content: flex-end;
    align-items: flex-start;
}

.prj-location--posBottomRight {
    justify-content: flex-end;
    align-items: flex-end;
}



.prj-location_text {
    /* margin-top: -45px; */
    position: relative;
    display: inline-flex;
    text-shadow: 0px 0px 10px #00000080;
}

.prj-location_text--posLeft {
    transform: translateX(calc(-100% - 6px)) translateY(-20px);
}

.prj-location_text--posRight {
    transform: translateX(calc(100% + 6px)) translateY(16px);
}

.prj-location--posTopRight .prj-location_text--posRight {
    transform: translateX(calc(100% + 6px)) translateY(-20px);
}

.prj-location--posBottomRight .prj-location_text--posRight { 

}

.prj-location--posBottomRight .prj-location_text--posBottomRight {
    transform: translateX(calc(100% - 23px)) translateY(47px);
}

@media (max-width: 749px) {
    .prj-location_text {
        width: 100%;
        transform: none !important;
    }
}



.prj-location_num {
    display: none;
}

.prj-location_list {
    position: relative;
    padding-left: 52px;
}

div[class*="prj-location_list--icon-"]::before {
    content: '';
    display: block;
    position: absolute;
    top: -7px;
    left: 0;
    width: 44px;
    height: 44px;
    background-size: 100%;
    background-position: center;
    background-repeat: no-repeat;
}

.prj-location_list--icon-solar::before {
    background-image: url(../img/projects/icon_solar_power.svg);
}

.prj-location_list--icon-wind::before {
    background-image: url(../img/projects/icon_wind_power.svg);
}

.prj-location_list--icon-battery::before {
    background-image: url(../img/projects/icon_battery_storage.svg);
}

@media (max-width: 749px) {
    .prj-location_list {
        padding-left: 0;
    }

    div[class*="prj-location_list--icon-"]::before {
        display: none;
    }
}

.prj-location_name,
.prj-location_name:visited,
.prj-location_name:link {
    display: block;
    /* margin-bottom: 16px; */
    font-size: 22px;
    font-weight: 700;
    text-decoration: none;
    line-height: normal;
    color: #ffffff;
}

.prj-location_name span {
    font-weight: 400;
}

.prj-location_details {
    padding-left: 16px;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.45;
}

.prj-locationsSp {
    display: none;
}

@media (max-width: 749px) {
    .prj-location_num,
    .prj-location_num:visited,
    .prj-location_num:link {
        display: flex;
        justify-content: center;
        align-items: center;
        position: absolute;
        top: -17px;
        left: -33px;
        width: 32px;
        height: 32px;
        border-radius: 50%;
        border: 1px solid #000000;
        font-size: 16px;
        font-weight: 700;
        line-height: 1;
        text-align: center;
        text-decoration: none;
        color: #ffffff;
    }

    .prj-location_name:link,
    .prj-location_details {
        display: none;
    }

    .prj-locationsSp {
        display: block;
        width: 87.2vw;
        max-height: 340px;
        overflow: scroll;
        margin: 32px auto 0;
    }

    .prj-locationSp {
        margin-top: 32px;
    }

    .prj-locationsSp > div:first-of-type {
        margin-top: 0;
    }

    .prj-locationSp_text {

    }

    .prj-locationSp_numName {
        display: flex;
        gap: 8px;
        margin-bottom: 4px;
    }

    .prj-locationSp_num {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 32px;
        height: 32px;
        border-radius: 50%;
        border: 1px solid #000000;
        font-size: 16px;
        font-weight: 700;
        line-height: 1;
    }

    .prj-locationSp_name,
    .prj-locationSp_name:link,
    .prj-locationSp_name:visited {
        align-self: center;
        font-size: 16px;
        font-weight: 700;
        line-height: 1;
        text-decoration: none;
        color: #000000;
    }

    .prj-locationSp_name span {
        font-weight: 400;
    }

    .prj-locationSp_details {
        font-size: 14px;
        line-height: 1.4;
    }

    .prj-locationSp_subList {
        display: flex;
        flex-direction: column;
        gap: 16px;
        margin-top: 16px;
        padding-left: 42px;
    }

    .prj-locationSp_sub {
        padding-left: 8px;
        border-left: 1px solid #6BC8F0;
    }
}



.prj-energy {
    position: relative;
    z-index: 1;
    max-width: 718px;
    width: 100%;
    margin: -92px auto 0;
    padding: 24px;
    box-shadow: 4px 4px 10px 0px rgba(0, 0, 0, 0.3);
    background-color: #ffffff;
    text-align: center;
}

.prj-energyTextEn,
.prj-energyTextJa {
    font-size: 24px;
    line-height: 1.2;
}

.prj-energyTextEn {
    margin-bottom: 8px;
    font-family: Jost, "Noto Sans JP", -apple-system, "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
    font-weight: 500;
    color: #71BD64;
}

.prj-energyTextJa {
    font-weight: 500;
}

.prj-energyCounter {
    margin-top: 20px;
    font-family: Jost, "Noto Sans JP", -apple-system, "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
    font-size: 64px;
    line-height: 1;
}

.prj-energyCounter strong {
    font-weight: 500;
}

@media (max-width: 749px) {
    .prj-energy {
        width: calc(87.2vw - 48px);
        margin: -30px auto 0;
    }

    .prj-energyTextEn {
        font-size: 18px;
    }

    .prj-energyTextJa {
        font-size: 14px;
    }

    .prj-energyCounter {
        font-size: 28px;
    }
}


/* Matsu */
.prj-location--matsu {
    width: 16%;
    height: 10.5%;
    bottom: 83%;
    right: 42.1%;
    border-top-width: 2px;
    border-right-width: 2px;
}

@media (max-width: 749px) {
    .prj-location--matsu {
        top: 10%;
        left: auto;
        right: 30.5%;
        width: 47%;
        height: 7.3%;
        border-top-width: 1px;
        border-right-width: 1px;
    }
}


/* Futago */
.prj-location--futago {
    width: 19.7%;
    height: 4%;
    bottom: 85.8%;
    right: 28.2%;
    border-top-width: 2px;
    border-right-width: 2px;
}

@media (max-width: 749px) {
    .prj-location--futago {
        top: 6.8%;
        right: 7%;
        width: 70.6%;
        height: 7%;
        border-top-width: 1px;
        border-right-width: 1px;
    }

    .prj-location--futago .prj-location_num {
        top: -17px;
        left: -33px;
        bottom: auto;
        right: auto;
    }
}


/* Shiraoi */
.prj-location--shiraoi {
    width: 1.8%;
    height: 7.3%;
    top: 19%;
    left: 59.37%;
    border-bottom-width: 2px;
    border-left-width: 2px;
}

/* .prj-location--shiraoi .prj-location_name,
.prj-location--shiraoi .prj-location_name:visited,
.prj-location--shiraoi .prj-location_name:link,
.prj-location--shiraoi .prj-location_details {
    padding-left: 60px;
} */

@media (max-width: 749px) {
    .prj-location--shiraoi {
        top: 19.3%;
        left: auto;
        right: 28%;
        width: 49.6%;
        height: 0;
        border-bottom-width: 1px;
        border-left-width: 1px;
    }

    .prj-location--shiraoi .prj-location_num {
        top: auto;
        left: auto;
        bottom: -17px;
        right: 100%;
    }
} 


/* Aoba */
.prj-location--aoba {
    width: 16.5%;
    height: 6%;
    bottom: 77%;
    right: 43.4%;
    border-top-width: 2px;
    border-right-width: 2px;
}

@media (max-width: 749px) {
    .prj-location--aoba {
        top: 23.1%;
        left: 66.8%;
        width: 19.7%;
        height: 4.3%;
        border-top-width: 0;
        border-right-width: 0;
        border-bottom-width: 1px;
        border-left-width: 1px;
    }

    .prj-location--aoba .prj-location_num {
        right: auto;
        left: 100%;
        top: 0;
    }
}


/* Hayama */
.prj-location--hayama {
    width: 12%;
    height: 22.5%;
    bottom: 48.2%;
    right: 45.3%;
    border-top-width: 2px;
    border-right-width: 2px;
}

@media (max-width: 749px) {
    .prj-location--hayama {
        bottom: 49%;
        left: auto;
        right: 36%;
        width: 41.5%;
        height: 14.5%;
        border-top-width: 1px;
        border-right-width: 1px;
    }
}



/* Fukushima */
.prj-location--fukushima {
    display: none;
}

@media (max-width: 749px) {
    .prj-location--fukushima {
        display: block;
        top: 36.5%;
        left: 68.6%;
        width: 18%;
        height: 14.7%;
        border-left-width: 1px;
        border-top-width: 1px;
    }

    .prj-location--fukushima .prj-location_num {
        top: -34px;
        left: auto;
        bottom: auto;
        right: -33px;
    }
}



/* Fukushima Kaseki */
.prj-location--fukushima-kaseki {
    width: 5.2%;
    height: 14%;
    bottom: 50.7%;
    left: 56.74%;
    border-top-width: 2px;
    border-left-width: 2px;
}

@media (max-width: 749px) {
    .prj-location--fukushima-kaseki {
        display: none;
    }
}


/* Iitate */
.prj-location--iitate {
    width: 4.5%;
    height: 9%;
    bottom: 48.7%;
    left: 57.43%;
    border-top-width: 2px;
    border-left-width: 2px;
}

@media (max-width: 749px) {
    .prj-location--iitate {
        display: none;
    }
}


/* Tochigi */
.prj-location--tochigi {
    width: 7%;
    height: 2.9%;
    bottom: 44.3%;
    left: 54.9%;
    border-top-width: 2px;
    border-left-width: 2px;
}

@media (max-width: 749px) {
    .prj-location--tochigi {
        bottom: 43.5%;
        left: 62.5%;
        width: 28%;
        height: 4.7%;
        border-top-width: 0;
        border-left-width: 0;
        border-right-width: 1px;
        border-bottom-width: 1px;
    }

    .prj-location--tochigi .prj-location_num {
        top: -34px;
        left: auto;
        bottom: auto;
        right: -18px;
    }
}


/* Iroha */
.prj-location--iroha {
    width: 13.5%;
    height: 11.5%;
    bottom: 43%;
    right: 45.95%;
    border-top-width: 2px;
    border-right-width: 2px;
}

@media (max-width: 749px) {
    .prj-location--iroha {
        display: none;
        /* top: 45%;
        left: auto;
        right: 39.6%;
        width: 38%;
        height: 14.1%;
        border-top-width: 1px;
        border-right-width: 1px; */
    }

    /* .prj-location--iroha .prj-location_num {
        top: -34px;
        left: auto;
        right: -17px;
        bottom: auto;
    } */
}


/* Chichibu */
.prj-location--chichibu {
    width: 10.3%;
    height: 8.6%;
    bottom: 39.3%;
    right: 47.4%;
    border-top-width: 2px;
    border-right-width: 2px;
}

@media (max-width: 749px) {
    .prj-location--chichibu {
        top: 45%;
        left: auto;
        right: 39.6%;
        width: 38%;
        height: 14.1%;
        border-top-width: 1px;
        border-right-width: 1px;
    }
}


/* Maki */
.prj-location--maki {
    width: 0;
    height: 17.9%;
    top: 64.6%;
    left: 56.35%;
    border-bottom-width: 2px;
    border-left-width: 2px;
}

@media (max-width: 749px) {
    .prj-location--maki {
        top: 63.5%;
        left: 66.7%;
        width: 19.4%;
        height: 4%;
        border-bottom-width: 1px;
        border-left-width: 1px;
    }

    .prj-location--maki .prj-location_num {
        top: auto;
        left: auto;
        bottom: -17px;
        right: -33px;
    }
}



/* Kyoto Ocha */
.prj-location--kyoto-ocha {
    width: 20.5%;
    height: 9%;
    bottom: 32.6%;
    right: 57.6%;
    border-top-width: 2px;
    border-right-width: 2px;
}

@media (max-width: 749px) {
    .prj-location--kyoto-ocha {
        bottom: 34%;
        left: auto;
        right: 56.9%;
        width: 20.6%;
        height: 12.1%;
        border-top-width: 1px;
        border-right-width: 1px;
    }

    /* .prj-location--nogata .prj-location_num {
        left: 100%;
    } */
}

/* Oita Taki */
.prj-location--oita-taki {
    width: 8.4%;
    height: 13%;
    bottom: 21.6%;
    right: 71.9%;
    border-top-width: 2px;
    border-right-width: 2px;
}

@media (max-width: 749px) {
    .prj-location--oita-taki {
        top: 75.8%;
        left: 19%;
        width: 67.1%;
        height: 0;
        border-bottom-width: 1px;
        border-left-width: 0;
        border-top-width: 0;
        border-right-width: 0;
    }

    .prj-location--oita-taki .prj-location_num {
        top: auto;
        left: auto;
        bottom: -17px;
        right: -33px;
    }
}

/* Nogata */
.prj-location--nogata {
    width: 5.8%;
    height: 2%;
    bottom: 25.6%;
    right: 75.8%;
    border-top-width: 2px;
    border-right-width: 2px;
}

@media (max-width: 749px) {
    .prj-location--nogata {
        top: auto;
        bottom: 27.5%;
        left: 12.1%;
        width: 1.5%;
        height: 10.4%;
        border-top-width: 1px;
        border-left-width: 1px;
        border-right-width: 0;
    }

    .prj-location--nogata .prj-location_num {
        left: 100%;
    }
}


/* Nozu */
.prj-location--nozu {
    width: 9.7%;
    height: 0;
    bottom: 21.1%;
    right: 73.4%;
    border-top-width: 2px;
    border-right-width: 2px;
}

@media (max-width: 749px) {
    .prj-location--nozu {
        top: 76.8%;
        left: 16.6%;
        width: 31.6%;
        height: 5%;
        border-bottom-width: 1px;
        border-left-width: 1px;
        border-top-width: 0;
        border-right-width: 0;
    }

    .prj-location--nozu .prj-location_num {
        top: auto;
        left: auto;
        bottom: -17px;
        right: -33px;
    }
}


/* Kuma */
.prj-location--kuma {
    width: 7%;
    height: 0;
    bottom: 17.9%;
    left: 24.35%;
    border-bottom-width: 2px;
    border-left-width: 0;
}

.prj-location--kuma .prj-location_text {
    /* margin-top: 23px; */
    margin-top: -7.8%;
}

/* .prj-location--kuma .prj-location_name,
.prj-location--kuma .prj-location_name:visited,
.prj-location--kuma .prj-location_name:link,
.prj-location--kuma .prj-location_details {
    padding-left: 146px;
} */

@media (max-width: 749px) {
    .prj-location--kuma {
        top: 80.8%;
        left: 12.6%;
        width: 16.6%;
        height: 6.5%;
        border-bottom-width: 1px;
        border-left-width: 1px;
        border-top-width: 0;
        border-right-width: 0;
    }

    .prj-location--kuma .prj-location_num {
        top: auto;
        left: auto;
        bottom: -17px;
        right: -33px;
    }
}

/* END - Project: 20240528 */



/* Project Popup: 20240528 */
.nze-overlay {
    display: none;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1000;
}

.nze-popup {
    display: none;
    position: fixed;
    z-index: 1000;
    left: 50%;
    top: 50%;
    max-width: 626px;
    width: 100%;
    transform: translate(-50%, -50%);
}

.nze-popup .prj-locationSp {
    margin-top: 0;
}

.nze-popup_wrap {
    /* max-width: calc(626px - 48px); */
    width: calc(100% - 48px);
    padding: 24px;
    border-radius: 8px;
    background-color: #fff;
}

.nze-popup_imageWrap {
    position: relative;
    margin-bottom: 21px;
}

.nze-popup_imageWrap:before {
    display: block;
    content: "";
    width: 100%;
    padding-top: calc((163 / 289) * 100%);
}    

#NZEpopup_image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.nze-popup_sections {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.nze-popup_sectionTitle {
    position: relative;
    z-index: 1;
    padding-bottom: 4px;
    margin-bottom: 22px;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.45;
    text-align: center;
}

.nze-popup_sectionTitle:before {
    content: '';
    position: absolute;
    z-index: -1;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 20px;
    background-color:#6BC8F0;
}

.nze-popup_links {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.nze-popup_link {
    padding: 12px;
    background-color: #F5F5F5;
}

.nze-popup_link a {
    font-size: 24px;
    line-height: 1.5;
    text-decoration: underline;
    color: #6BC8F0;
}

.NZEpopup_details {
    display: flex;
    gap: 2px;
}

.NZEpopup_details table {
    width: calc(50% - 1px);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.2;
}

.NZEpopup_details table tr {
    border-bottom: 1px solid #ffffff;
}

.NZEpopup_details table tr td {
    padding: 12px;
}

.NZEpopup_details table tr td:first-of-type {
    width: 124px;
    background-color: #C0E9FB;
    text-align: center;
}

.NZEpopup_details table tr td:last-of-type {
    background-color: #F5F5F5;
}

.nze-popup_close {
    display: block;
    width: 32px;
    height: 32px;
    margin: 15px auto 0;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url("data:image/svg+xml,%3Csvg width='32' height='33' viewBox='0 0 32 33' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_26_21920)'%3E%3Crect width='32' height='32' rx='16' transform='matrix(-1 0 0 1 32 0.5)' fill='%23666666'/%3E%3Cpath d='M0.75 16.5C0.75 24.9223 7.57766 31.75 16 31.75C24.4223 31.75 31.25 24.9223 31.25 16.5C31.25 8.07766 24.4223 1.25 16 1.25C7.57766 1.25 0.75 8.07766 0.75 16.5Z' stroke='white' stroke-width='1.5'/%3E%3Cpath d='M11.1882 10.5097C10.8628 10.1843 10.3351 10.1843 10.0097 10.5097C9.68426 10.8351 9.68426 11.3628 10.0097 11.6882L14.822 16.5005L10.0098 21.3127C9.68431 21.6381 9.68431 22.1658 10.0098 22.4912C10.3352 22.8167 10.8628 22.8167 11.1883 22.4912L16.0005 17.679L20.8127 22.4912C21.1382 22.8167 21.6658 22.8167 21.9912 22.4912C22.3167 22.1658 22.3167 21.6381 21.9912 21.3127L17.179 16.5005L21.9912 11.6882C22.3167 11.3628 22.3167 10.8351 21.9912 10.5097C21.6658 10.1843 21.1382 10.1843 20.8127 10.5097L16.0005 15.322L11.1882 10.5097Z' fill='white'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_26_21920'%3E%3Crect width='32' height='32' rx='16' transform='matrix(-1 0 0 1 32 0.5)' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
    text-indent: -999999px;
}



@media (max-width: 749px) {
    .nze-popup {
        max-width: 340px;
    }

    .NZEpopup_details {
        flex-wrap: wrap;
    }

    .NZEpopup_details table {
        width: 100%;
    }

    .nze-popup_sections {
        gap: 12px;
    }

    .nze-popup_links {
        gap: 8px;
    }

    .nze-popup_link a {
        font-size: 16px;
    }
}
/* END - Project Popup: 20240528 */