.d-block-pc {
    display: none
}

@media only screen and (min-width: 701px)and (max-width: 1200px) {
    .d-block-pc {
        display: block
    }
}

@media only screen and (min-width: 1200px)and (max-width: 1920px) {
    .d-block-pc {
        display: block
    }
}

@media only screen and (min-width: 1920px) {
    .d-block-pc {
        display: block
    }
}

.d-block-m {
    display: block
}

@media only screen and (min-width: 701px)and (max-width: 1200px) {
    .d-block-m {
        display: none
    }
}

@media only screen and (min-width: 1200px)and (max-width: 1920px) {
    .d-block-m {
        display: none
    }
}

@media only screen and (min-width: 1920px) {
    .d-block-m {
        display: none
    }
}

.d-none {
    display: none
}

pre,
samp,
kbd,
code,
figure,
figcaption {
    margin: 0
}

.page-tomorrow-esg-promise [class*=section-esg-promise-] {
    position: relative;
    z-index: 2
}

.component-tomorrow-kv {
    height: 2400px
}

@media only screen and (min-width: 701px)and (max-width: 1200px) {
    .component-tomorrow-kv {
        height: 320vh
    }
}

@media only screen and (min-width: 1200px)and (max-width: 1920px) {
    .component-tomorrow-kv {
        height: 320vh
    }
}

@media only screen and (min-width: 1920px) {
    .component-tomorrow-kv {
        height: 320vh
    }
}

.component-tomorrow-kv .container-background-card-sticky {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: calc(100% - 100vh);
    z-index: 10
}

.component-tomorrow-kv .container-background-card-sticky .wrapper-card-sticky {
    position: sticky;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh
}

.component-tomorrow-kv .container-background-card-sticky .box-background {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 100vw;
    height: 100vh;
    border-radius: 2.8530670471vw;
    overflow: hidden;
    -webkit-transition: width .2s ease-out, height .2s ease-out, border-radius .2s ease-out;
    transition: width .2s ease-out, height .2s ease-out, border-radius .2s ease-out;
    will-change: width, height, border-radius
}

@media only screen and (min-width: 701px)and (max-width: 1200px) {
    .component-tomorrow-kv .container-background-card-sticky .box-background {
        border-radius: 1.6666666667vw
    }
}

@media only screen and (min-width: 1200px)and (max-width: 1920px) {
    .component-tomorrow-kv .container-background-card-sticky .box-background {
        border-radius: 20px
    }
}

@media only screen and (min-width: 1920px) {
    .component-tomorrow-kv .container-background-card-sticky .box-background {
        border-radius: 20px
    }
}

.component-tomorrow-kv .container-background-card-sticky .box-background .dim {
    position: absolute;
    display: block;
    top: 50%;
    left: 50%;
    -webkit-transform: translate3d(-50%, -50%, 0);
    transform: translate3d(-50%, -50%, 0);
    width: 100%;
    height: 100vh;
    background-color: #0006;
    z-index: 20
}

.component-tomorrow-kv .container-background-card-sticky .box-background figure {
    width: 100%;
    height: 100%;
    -webkit-transition: -webkit-transform .5s ease-in-out;
    transition: -webkit-transform .5s ease-in-out;
    transition: transform .5s ease-in-out;
    transition: transform .5s ease-in-out, -webkit-transform .5s ease-in-out
}

.component-tomorrow-kv .container-background-card-sticky .box-background figure img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.component-tomorrow-kv .container-background-card-sticky .background-1 {
    z-index: 19;
    -webkit-transition: border-radius .3s ease-in-out;
    transition: border-radius .3s ease-in-out;
    border-radius: 0;
    -webkit-transform: translate3d(-50%, -50%, 0);
    transform: translate3d(-50%, -50%, 0)
}

.component-tomorrow-kv .container-background-card-sticky .background-1.onShow {
    border-radius: 2.8530670471vw
}

@media only screen and (min-width: 701px)and (max-width: 1200px) {
    .component-tomorrow-kv .container-background-card-sticky .background-1.onShow {
        border-radius: 1.6666666667vw
    }
}

@media only screen and (min-width: 1200px)and (max-width: 1920px) {
    .component-tomorrow-kv .container-background-card-sticky .background-1.onShow {
        border-radius: 20px
    }
}

@media only screen and (min-width: 1920px) {
    .component-tomorrow-kv .container-background-card-sticky .background-1.onShow {
        border-radius: 20px
    }
}

.component-tomorrow-kv .container-background-card-sticky .background-2 {
    width: 100%;
    height: 100%;
    z-index: 20
}

.component-tomorrow-kv .container-background-card-sticky .content-text {
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translate(-50%);
    width: 100%;
    height: 100%;
    z-index: 20
}

.component-tomorrow-kv .container-background-card-sticky .content-text>.column {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    color: #fff;
    text-align: center
}

.component-tomorrow-kv .container-background-card-sticky .content-text p {
    white-space: normal
}

@media only screen and (min-width: 701px)and (max-width: 1200px) {
    .component-tomorrow-kv .container-background-card-sticky .content-text p {
        white-space: pre-line
    }
}

@media only screen and (min-width: 1200px)and (max-width: 1920px) {
    .component-tomorrow-kv .container-background-card-sticky .content-text p {
        white-space: pre-line
    }
}

@media only screen and (min-width: 1920px) {
    .component-tomorrow-kv .container-background-card-sticky .content-text p {
        white-space: pre-line
    }
}

.component-tomorrow-kv .container-background-sticky {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9
}

.component-tomorrow-kv .container-background-sticky .wrapper-background-sticky {
    position: sticky;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh
}

.component-tomorrow-kv .container-background-sticky .box-background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden
}

.component-tomorrow-kv .container-background-sticky .box-background figure {
    width: 100%;
    height: 100%
}

.component-tomorrow-kv .container-background-sticky .box-background figure.figure-lottie-pc,
.component-tomorrow-kv .container-background-sticky .box-background figure.figure-lottie-mo {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%) scale(1.2);
    -ms-transform: translate(-50%, -50%) scale(1.2);
    transform: translate(-50%, -50%) scale(1.2);
    -webkit-transform-origin: center;
    -ms-transform-origin: center;
    transform-origin: center
}

.component-tomorrow-kv .container-background-sticky .box-background figure.figure-lottie-pc {
    visibility: hidden
}

@media only screen and (min-width: 701px)and (max-width: 1200px) {
    .component-tomorrow-kv .container-background-sticky .box-background figure.figure-lottie-pc {
        visibility: visible
    }
}

@media only screen and (min-width: 1200px)and (max-width: 1920px) {
    .component-tomorrow-kv .container-background-sticky .box-background figure.figure-lottie-pc {
        visibility: visible
    }
}

@media only screen and (min-width: 1920px) {
    .component-tomorrow-kv .container-background-sticky .box-background figure.figure-lottie-pc {
        visibility: visible
    }
}

.component-tomorrow-kv .container-background-sticky .box-background figure.figure-lottie-mo {
    visibility: visible
}

@media only screen and (min-width: 701px)and (max-width: 1200px) {
    .component-tomorrow-kv .container-background-sticky .box-background figure.figure-lottie-mo {
        visibility: hidden
    }
}

@media only screen and (min-width: 1200px)and (max-width: 1920px) {
    .component-tomorrow-kv .container-background-sticky .box-background figure.figure-lottie-mo {
        visibility: hidden
    }
}

@media only screen and (min-width: 1920px) {
    .component-tomorrow-kv .container-background-sticky .box-background figure.figure-lottie-mo {
        visibility: hidden
    }
}

.component-tomorrow-kv .container-background-sticky .box-background figure svg {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 10
}

.component-tomorrow-kv .container-background-sticky .box-background figure svg path {
    -webkit-transform-origin: right bottom;
    -ms-transform-origin: right bottom;
    transform-origin: right bottom
}

.component-tomorrow-kv .container-background-sticky .box-background figure img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.component-tomorrow-kv .container-background-sticky .box-background figure canvas {
    position: absolute;
    top: 50%;
    left: 50%
}
/* 
.component-tomorrow-kv .container-background-sticky .box-background .figure-dummy {
    display: none;
    width: 100%;
    height: 100%;
    background-image: url(/static/img/page-tomorrow-share/tomorrow-share-kv-dummy.webp);
    background-repeat: no-repeat;
    background-size: cover
}

@media only screen and (max-width: 700px) {
    .component-tomorrow-kv .container-background-sticky .box-background .figure-dummy {
        background-image: url(/static/img/page-tomorrow-share/tomorrow-share-kv-dummy_m.webp)
    }
}

.component-tomorrow-kv .container-background-sticky .box-background .box-marquee {
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    background-image: url(/static/img/page-tomorrow-share/tomorrow-share-kv-pattern.webp);
    background-repeat: repeat;
    background-size: 1300px auto;
    background-position: 0% 0%
}
 */
.component-tomorrow-kv .container-background-sticky .box-card {
    position: absolute;
    width: 100%;
    height: 116.4051355207vw;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
	z-index: 1;
}

@media only screen and (min-width: 701px)and (max-width: 1200px) {
    .component-tomorrow-kv .container-background-sticky .box-card {
        height: 56.5vw
    }
}

@media only screen and (min-width: 1200px)and (max-width: 1920px) {
    .component-tomorrow-kv .container-background-sticky .box-card {
        height: 35.3125vw
    }
}

@media only screen and (min-width: 1920px) {
    .component-tomorrow-kv .container-background-sticky .box-card {
        height: 678px
    }
}

.component-tomorrow-kv .container-background-sticky .box-card .card-box-wrapper {
    position: relative;
    margin: 0 auto;
    width: 88.4450784593vw;
    height: 116.4051355207vw
}

@media only screen and (min-width: 701px)and (max-width: 1200px) {
    .component-tomorrow-kv .container-background-sticky .box-card .card-box-wrapper {
        width: 48.8333333333vw
    }
}

@media only screen and (min-width: 1200px)and (max-width: 1920px) {
    .component-tomorrow-kv .container-background-sticky .box-card .card-box-wrapper {
        width: 30.5208333333vw
    }
}

@media only screen and (min-width: 1920px) {
    .component-tomorrow-kv .container-background-sticky .box-card .card-box-wrapper {
        width: 586px
    }
}

@media only screen and (min-width: 701px)and (max-width: 1200px) {
    .component-tomorrow-kv .container-background-sticky .box-card .card-box-wrapper {
        height: 56.5vw
    }
}

@media only screen and (min-width: 1200px)and (max-width: 1920px) {
    .component-tomorrow-kv .container-background-sticky .box-card .card-box-wrapper {
        height: 35.3125vw
    }
}

@media only screen and (min-width: 1920px) {
    .component-tomorrow-kv .container-background-sticky .box-card .card-box-wrapper {
        height: 678px
    }
}

.component-tomorrow-kv .container-background-sticky .box-card .card-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    background-color: #fff;
    width: 100%;
    height: 100%;
    overflow: hidden;
    border-radius: 2.8530670471vw;
    padding: 17.1184022825vw 7.1326676177vw 7.1326676177vw
}

@media only screen and (min-width: 701px)and (max-width: 1200px) {
    .component-tomorrow-kv .container-background-sticky .box-card .card-box {
        border-radius: 1.6666666667vw
    }
}

@media only screen and (min-width: 1200px)and (max-width: 1920px) {
    .component-tomorrow-kv .container-background-sticky .box-card .card-box {
        border-radius: 20px
    }
}

@media only screen and (min-width: 1920px) {
    .component-tomorrow-kv .container-background-sticky .box-card .card-box {
        border-radius: 20px
    }
}

@media only screen and (min-width: 701px)and (max-width: 1200px) {
    .component-tomorrow-kv .container-background-sticky .box-card .card-box {
        padding: 10.6666666667vw 3.3333333333vw 3.3333333333vw
    }
}

@media only screen and (min-width: 1200px)and (max-width: 1920px) {
    .component-tomorrow-kv .container-background-sticky .box-card .card-box {
        padding: 6.6666666667vw 2.0833333333vw 2.0833333333vw
    }
}

@media only screen and (min-width: 1920px) {
    .component-tomorrow-kv .container-background-sticky .box-card .card-box {
        padding: 128px 40px 40px
    }
}

.section-esg-promise-kv.component-tomorrow-kv {
    height: 400vh;
    height: 2400px
}

@media only screen and (min-width: 701px)and (max-width: 1200px) {
    .section-esg-promise-kv.component-tomorrow-kv {
        height: 320vh
    }
}

@media only screen and (min-width: 1200px)and (max-width: 1920px) {
    .section-esg-promise-kv.component-tomorrow-kv {
        height: 320vh
    }
}

@media only screen and (min-width: 1920px) {
    .section-esg-promise-kv.component-tomorrow-kv {
        height: 320vh
    }
}

.section-esg-promise-kv.component-tomorrow-kv .container-background-card-sticky {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10
}

.section-esg-promise-kv.component-tomorrow-kv .container-background-card-sticky .wrapper-card-sticky {
    position: sticky;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh
}

.section-esg-promise-kv.component-tomorrow-kv .container-background-card-sticky .box-background {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 100vw;
    height: 100vh;
    border-radius: 2.8530670471vw;
    overflow: hidden;
    -webkit-transition: width .2s ease-out, height .2s ease-out, border-radius .2s ease-out;
    transition: width .2s ease-out, height .2s ease-out, border-radius .2s ease-out;
    will-change: width, height, border-radius
}

@media only screen and (min-width: 701px)and (max-width: 1200px) {
    .section-esg-promise-kv.component-tomorrow-kv .container-background-card-sticky .box-background {
        border-radius: 1.6666666667vw
    }
}

@media only screen and (min-width: 1200px)and (max-width: 1920px) {
    .section-esg-promise-kv.component-tomorrow-kv .container-background-card-sticky .box-background {
        border-radius: 20px
    }
}

@media only screen and (min-width: 1920px) {
    .section-esg-promise-kv.component-tomorrow-kv .container-background-card-sticky .box-background {
        border-radius: 20px
    }
}

.section-esg-promise-kv.component-tomorrow-kv .container-background-card-sticky .box-background .dim {
/*     position: absolute;
    display: block;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100vh;
    background-color: #10234d94;
    z-index: 20 */
}

.section-esg-promise-kv.component-tomorrow-kv .container-background-card-sticky .box-background figure {
    width: 100%;
    height: 100%;
    -webkit-transition: -webkit-transform .5s ease-in-out;
    transition: -webkit-transform .5s ease-in-out;
    transition: transform .5s ease-in-out;
    transition: transform .5s ease-in-out, -webkit-transform .5s ease-in-out
}

.section-esg-promise-kv.component-tomorrow-kv .container-background-card-sticky .box-background figure img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.section-esg-promise-kv.component-tomorrow-kv .container-background-card-sticky .background-1 {
    z-index: 19;
    -webkit-transition: border-radius .3s ease-in-out;
    transition: border-radius .3s ease-in-out;
    border-radius: 0;
    -webkit-transform: translate3d(-50%, -50%, 0);
    transform: translate3d(-50%, -50%, 0)
}

.section-esg-promise-kv.component-tomorrow-kv .container-background-card-sticky .background-1.onShow {
    border-radius: 2.8530670471vw
}

@media only screen and (min-width: 701px)and (max-width: 1200px) {
    .section-esg-promise-kv.component-tomorrow-kv .container-background-card-sticky .background-1.onShow {
        border-radius: 1.6666666667vw
    }
}

@media only screen and (min-width: 1200px)and (max-width: 1920px) {
    .section-esg-promise-kv.component-tomorrow-kv .container-background-card-sticky .background-1.onShow {
        border-radius: 20px
    }
}

@media only screen and (min-width: 1920px) {
    .section-esg-promise-kv.component-tomorrow-kv .container-background-card-sticky .background-1.onShow {
        border-radius: 20px
    }
}

.section-esg-promise-kv.component-tomorrow-kv .container-background-card-sticky .content-text {
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translate(-50%);
    width: 100%;
    height: 100%;
    z-index: 20
}

.section-esg-promise-kv.component-tomorrow-kv .container-background-card-sticky .content-text>.column {
    position: absolute;
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    color: #fff;
    text-align: center
}

.section-esg-promise-kv.component-tomorrow-kv .container-background-card-sticky .content-text .col-title {
    top: 0;
    left: 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    white-space: pre-line;
    padding: 0 7.1326676177vw
}

.section-esg-promise-kv.component-tomorrow-kv .container-background-card-sticky .content-text {
    position: absolute;
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    color: #fff;
    text-align: center;
	justify-content: center;
    align-items: center;
}

@media only screen and (min-width: 701px)and (max-width: 1200px) {
    .section-esg-promise-kv.component-tomorrow-kv .container-background-card-sticky .content-text .col-title {
        white-space: unset
    }
}

@media only screen and (min-width: 1200px)and (max-width: 1920px) {
    .section-esg-promise-kv.component-tomorrow-kv .container-background-card-sticky .content-text .col-title {
        white-space: unset
    }
}

@media only screen and (min-width: 1920px) {
    .section-esg-promise-kv.component-tomorrow-kv .container-background-card-sticky .content-text .col-title {
        white-space: unset
    }
}

@media only screen and (min-width: 701px)and (max-width: 1200px) {
    .section-esg-promise-kv.component-tomorrow-kv .container-background-card-sticky .content-text .col-title {
        padding: unset
    }
}

@media only screen and (min-width: 1200px)and (max-width: 1920px) {
    .section-esg-promise-kv.component-tomorrow-kv .container-background-card-sticky .content-text .col-title {
        padding: unset
    }
}

@media only screen and (min-width: 1920px) {
    .section-esg-promise-kv.component-tomorrow-kv .container-background-card-sticky .content-text .col-title {
        padding: unset
    }
}

.section-esg-promise-kv.component-tomorrow-kv .container-background-card-sticky .content-text .col-title h2 {
    color: #fff;
	font-size: 6.4rem;
}

.section-esg-promise-kv.component-tomorrow-kv .container-background-card-sticky .content-text .col-title p {
    margin-top: 1.7118402282vw;
    color: #fff
}

@media only screen and (min-width: 701px)and (max-width: 1200px) {
    .section-esg-promise-kv.component-tomorrow-kv .container-background-card-sticky .content-text .col-title p {
        margin-top: 1vw
    }
}

@media only screen and (min-width: 1200px)and (max-width: 1920px) {
    .section-esg-promise-kv.component-tomorrow-kv .container-background-card-sticky .content-text .col-title p {
        margin-top: 12px
    }
}

@media only screen and (min-width: 1920px) {
    .section-esg-promise-kv.component-tomorrow-kv .container-background-card-sticky .content-text .col-title p {
        margin-top: 12px
    }
}

.section-esg-promise-kv.component-tomorrow-kv .container-background-sticky {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9
}

.section-esg-promise-kv.component-tomorrow-kv .container-background-sticky .wrapper-background-sticky {
    position: sticky;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh
}

.section-esg-promise-kv.component-tomorrow-kv .container-background-sticky .box-background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
	background: #c01443;
    border-bottom: 1px solid #c01443;
    z-index: 1;
}

.section-esg-promise-kv.component-tomorrow-kv .container-background-sticky .box-background figure {
    width: 100%;
    height: 100%
}

.section-esg-promise-kv.component-tomorrow-kv .container-background-sticky .box-background figure.figure-lottie-pc,
.section-esg-promise-kv.component-tomorrow-kv .container-background-sticky .box-background figure.figure-lottie-mo {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%) scale(1.2);
    -ms-transform: translate(-50%, -50%) scale(1.2);
    transform: translate(-50%, -50%) scale(1.2);
    -webkit-transform-origin: center;
    -ms-transform-origin: center;
    transform-origin: center
}

.section-esg-promise-kv.component-tomorrow-kv .container-background-sticky .box-background figure.figure-lottie-pc {
    visibility: hidden
}

@media only screen and (min-width: 701px)and (max-width: 1200px) {
    .section-esg-promise-kv.component-tomorrow-kv .container-background-sticky .box-background figure.figure-lottie-pc {
        visibility: visible
    }
}

@media only screen and (min-width: 1200px)and (max-width: 1920px) {
    .section-esg-promise-kv.component-tomorrow-kv .container-background-sticky .box-background figure.figure-lottie-pc {
        visibility: visible
    }
}

@media only screen and (min-width: 1920px) {
    .section-esg-promise-kv.component-tomorrow-kv .container-background-sticky .box-background figure.figure-lottie-pc {
        visibility: visible
    }
}

.section-esg-promise-kv.component-tomorrow-kv .container-background-sticky .box-background figure.figure-lottie-mo {
    visibility: visible
}

@media only screen and (min-width: 701px)and (max-width: 1200px) {
    .section-esg-promise-kv.component-tomorrow-kv .container-background-sticky .box-background figure.figure-lottie-mo {
        visibility: hidden
    }
}

@media only screen and (min-width: 1200px)and (max-width: 1920px) {
    .section-esg-promise-kv.component-tomorrow-kv .container-background-sticky .box-background figure.figure-lottie-mo {
        visibility: hidden
    }
}

@media only screen and (min-width: 1920px) {
    .section-esg-promise-kv.component-tomorrow-kv .container-background-sticky .box-background figure.figure-lottie-mo {
        visibility: hidden
    }
}

.section-esg-promise-kv.component-tomorrow-kv .container-background-sticky .box-background figure svg {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 10
}

.section-esg-promise-kv.component-tomorrow-kv .container-background-sticky .box-background figure svg path {
    -webkit-transform-origin: left bottom;
    -ms-transform-origin: left bottom;
    transform-origin: left bottom
}

.section-esg-promise-kv.component-tomorrow-kv .container-background-sticky .box-background figure img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.section-esg-promise-kv.component-tomorrow-kv .container-background-sticky .box-background figure canvas {
    position: absolute;
    top: 50%;
    left: 50%
}
/* 
.section-esg-promise-kv.component-tomorrow-kv .container-background-sticky .box-background .figure-dummy {
    display: none;
    width: 100%;
    height: 100%;
    background-image: url(tomorrow-esg-kv-dummy.webp);
    background-repeat: no-repeat;
    background-size: cover
}

@media only screen and (max-width: 700px) {
    .section-esg-promise-kv.component-tomorrow-kv .container-background-sticky .box-background .figure-dummy {
        background-image: url(tomorrow-esg-kv-dummy_m.webp)
    }
}

.section-esg-promise-kv.component-tomorrow-kv .container-background-sticky .box-background .box-marquee {
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    background-image: url(tomorrow-esg-promise-kv-pattern.webp);
    background-repeat: repeat;
    background-size: 1299px auto;
    background-position: 0% 0%
}
 */
.section-esg-promise-kv.component-tomorrow-kv .container-background-sticky .box-card {
    position: absolute;
    width: 100%;
    height: 116.4051355207vw;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%)
}

@media only screen and (min-width: 701px)and (max-width: 1200px) {
    .section-esg-promise-kv.component-tomorrow-kv .container-background-sticky .box-card {
        height: 56.5vw
    }
}

@media only screen and (min-width: 1200px)and (max-width: 1920px) {
    .section-esg-promise-kv.component-tomorrow-kv .container-background-sticky .box-card {
        height: 50rem;
    }
}

@media only screen and (min-width: 1920px) {
    .section-esg-promise-kv.component-tomorrow-kv .container-background-sticky .box-card {
        height: 53rem;
		margin-top: 5rem;
    }
}

.section-esg-promise-kv.component-tomorrow-kv .container-background-sticky .box-card .card-box-wrapper {
    position: relative;
    margin: 0 auto;
    width: 88.4450784593vw;
    height: 116.4051355207vw
}

@media only screen and (min-width: 701px)and (max-width: 1200px) {
    .section-esg-promise-kv.component-tomorrow-kv .container-background-sticky .box-card .card-box-wrapper {
        width: 48.8333333333vw
    }
}

@media only screen and (min-width: 1200px)and (max-width: 1920px) {
    .section-esg-promise-kv.component-tomorrow-kv .container-background-sticky .box-card .card-box-wrapper {
        width: 30.5208333333vw
    }
}

@media only screen and (min-width: 1920px) {
    .section-esg-promise-kv.component-tomorrow-kv .container-background-sticky .box-card .card-box-wrapper {
        width: 586px
    }
}

@media only screen and (min-width: 701px)and (max-width: 1200px) {
    .section-esg-promise-kv.component-tomorrow-kv .container-background-sticky .box-card .card-box-wrapper {
        height: 56.5vw
    }
}

@media only screen and (min-width: 1200px)and (max-width: 1920px) {
    .section-esg-promise-kv.component-tomorrow-kv .container-background-sticky .box-card .card-box-wrapper {
        height: 100%;
    }
}

@media only screen and (min-width: 1920px) {
    .section-esg-promise-kv.component-tomorrow-kv .container-background-sticky .box-card .card-box-wrapper {
        height: 100%;		
    }
}

.section-esg-promise-kv.component-tomorrow-kv .container-background-sticky .box-card .card-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    background-color: #fff;
    width: 100%;
    height: 100%;
    overflow: hidden;
    border-radius: 2.8530670471vw;
    padding: 7.1326676177vw;
    -webkit-transition: opacity .3s;
    transition: opacity .3s
}

@media only screen and (min-width: 701px)and (max-width: 1200px) {
    .section-esg-promise-kv.component-tomorrow-kv .container-background-sticky .box-card .card-box {
        border-radius: 1.6666666667vw
    }
}

@media only screen and (min-width: 1200px)and (max-width: 1920px) {
    .section-esg-promise-kv.component-tomorrow-kv .container-background-sticky .box-card .card-box {
        border-radius: 20px
    }
}

@media only screen and (min-width: 1920px) {
    .section-esg-promise-kv.component-tomorrow-kv .container-background-sticky .box-card .card-box {
        border-radius: 20px
    }
}

@media only screen and (min-width: 701px)and (max-width: 1200px) {
    .section-esg-promise-kv.component-tomorrow-kv .container-background-sticky .box-card .card-box {
        padding: 3.3333333333vw;
		box-shadow: 0px 6px 10px 0px rgba(0, 0, 0, 0.04);
		border:1px solid #dcdde4;
    }
}

@media only screen and (min-width: 1200px)and (max-width: 1920px) {
    .section-esg-promise-kv.component-tomorrow-kv .container-background-sticky .box-card .card-box {
        padding: 2.0833333333vw;
		box-shadow: 0px 6px 10px 0px rgba(0, 0, 0, 0.04);
		border:1px solid #dcdde4;
    }
}

@media only screen and (min-width: 1920px) {
    .section-esg-promise-kv.component-tomorrow-kv .container-background-sticky .box-card .card-box {
        padding: 40px;
		box-shadow: 0px 6px 10px 0px rgba(0, 0, 0, 0.04);
		border:1px solid #dcdde4;
    }
}

.section-esg-promise-kv.component-tomorrow-kv .container-background-sticky .box-card .card-box .container-card {
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
	align-items: center;
    justify-content: center;
	text-align: center;
	color: #111;
}

.section-esg-promise-kv.component-tomorrow-kv .container-background-sticky .box-card .card-box .container-card .ic {
	margin-bottom: 2rem;
}

.section-esg-promise-kv.component-tomorrow-kv .container-background-sticky .box-card .card-box .container-card .ic img {
    height: 5rem;
}

.section-esg-promise-kv.component-tomorrow-kv .container-background-sticky .box-card .card-box .container-card .idx_p1 {
    font-size: 2rem;
}

.section-esg-promise-kv.component-tomorrow-kv .container-background-sticky .box-card .card-box .container-card .idx_p2 {
	font-size: 3rem;
	margin: 3rem 0;
}

.section-esg-promise-kv.component-tomorrow-kv .container-background-sticky .box-card .card-box .container-card .idx_p3 {
    font-size: 4rem;
}

.section-esg-promise-kv.component-tomorrow-kv .container-background-sticky .box-card .card-box button {
    position: absolute;
    bottom: 5.7061340942vw;
    right: 5.7061340942vw
}

@media only screen and (min-width: 701px)and (max-width: 1200px) {
    .section-esg-promise-kv.component-tomorrow-kv .container-background-sticky .box-card .card-box button {
        bottom: 1.6666666667vw
    }
}

@media only screen and (min-width: 1200px)and (max-width: 1920px) {
    .section-esg-promise-kv.component-tomorrow-kv .container-background-sticky .box-card .card-box button {
        bottom: 1.0416666667vw
    }
}

@media only screen and (min-width: 1920px) {
    .section-esg-promise-kv.component-tomorrow-kv .container-background-sticky .box-card .card-box button {
        bottom: 20px
    }
}

@media only screen and (min-width: 701px)and (max-width: 1200px) {
    .section-esg-promise-kv.component-tomorrow-kv .container-background-sticky .box-card .card-box button {
        right: 1.6666666667vw
    }
}

@media only screen and (min-width: 1200px)and (max-width: 1920px) {
    .section-esg-promise-kv.component-tomorrow-kv .container-background-sticky .box-card .card-box button {
        right: 1.0416666667vw
    }
}

@media only screen and (min-width: 1920px) {
    .section-esg-promise-kv.component-tomorrow-kv .container-background-sticky .box-card .card-box button {
        right: 20px
    }
}

.section-esg-promise-kv.component-tomorrow-kv .container-background-sticky .box-card .card-box button svg {
    width: 7.7032810271vw;
    height: 7.7032810271vw;
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
}

@media only screen and (min-width: 701px)and (max-width: 1200px) {
    .section-esg-promise-kv.component-tomorrow-kv .container-background-sticky .box-card .card-box button svg {
        width: 3.3333333333vw
    }
}

@media only screen and (min-width: 1200px)and (max-width: 1920px) {
    .section-esg-promise-kv.component-tomorrow-kv .container-background-sticky .box-card .card-box button svg {
        width: 2.0833333333vw
    }
}

@media only screen and (min-width: 1920px) {
    .section-esg-promise-kv.component-tomorrow-kv .container-background-sticky .box-card .card-box button svg {
        width: 40px
    }
}

@media only screen and (min-width: 701px)and (max-width: 1200px) {
    .section-esg-promise-kv.component-tomorrow-kv .container-background-sticky .box-card .card-box button svg {
        height: 3.3333333333vw
    }
}

@media only screen and (min-width: 1200px)and (max-width: 1920px) {
    .section-esg-promise-kv.component-tomorrow-kv .container-background-sticky .box-card .card-box button svg {
        height: 2.1875vw
    }
}

@media only screen and (min-width: 1920px) {
    .section-esg-promise-kv.component-tomorrow-kv .container-background-sticky .box-card .card-box button svg {
        height: 42px
    }
}