@charset "UTF-8";
/* CSS Document */

/* -- cont_comp -- */
.cont_sdgs{
    position:relative;
    height:100%;
    background:#000;
        width:100vw;
    margin:0 calc(50% - 50vw) ;
    background:url("../../../../../img/company/sdgs/sdgs_img_all_bg.webp") no-repeat center / cover;
    background-attachment:fixed;
}

.main_earth{
    width:60%;
    max-width:700px;
    animation: fluffy 15s linear infinite;
    position:sticky;
    top:10vh;
    left: 100vw;
    z-index:0;
}
.main_earth img{
    width:100%;
    filter: drop-shadow(0px 0px 140px rgb(115 161 208 / 100%));
}
@keyframes fluffy {
  0%, 100% {
    transform: translateY(10px);
  }
  50% {
    transform: translateY(-40px);
  }
}
.cont_sdgs .fadein.is-active {
	transition: 3.5s;
}
/* ----------768px–---------- */
@media screen and (max-width: 768px) {
    .cont_sdgs{
        background:url("../../../../../img/company/sdgs/sdgs_img_all_bg.webp") repeat top / 100%;
        background-attachment:unset;
    }
}

/* ----------sdgs_ttl_wrap–---------- */
.sdgs_ttl_wrap{
    height:700px;
    position:relative;
    overflow:hidden;
}
.sdgs_ttl_wrap .sdgs_logoBox{
    width:50%;
    max-width:600px;
    position:absolute;
    top:0;
    bottom:0;
    left:-30%;
    right:0;
    margin:auto;
    height:fit-content;
    z-index:1;
}
.sdgs_ttl_wrap .sdgs_logoBox .main_logo{
    position:relative;
}
.sdgs_ttl_wrap .sdgs_logoBox .main_logo .main_sub{
    position:absolute;
    bottom:0;
    left:22%;
    width:22%;
}
.sdgs_ttl_wrap .sdgs_logoBox .main_logo .main_sub img{
    width:100%;
    animation: rotateAnimation 20s linear infinite;
}
@keyframes rotateAnimation {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

/* ----------699px–---------- */
@media screen and (max-width: 699px) {
    .sdgs_ttl_wrap{
        height:100vh;
        max-height:700px;
        position:relative;
        overflow:hidden;
    }
    .sdgs_ttl_wrap .sdgs_logoBox{
        width:80%;
        max-width:500px;
        left:-0;
        right:0;
    }
    .sdgs_ttl_wrap .main_earth{
        width:70%;
        right:-10%;
        bottom:-5%;
        top:unset;
    }
}


/* ----------sdgs_detail_wrap .ep_1–---------- */
.ep_1{
    margin:auto;
    max-width:1400px;
    width:90%;
    padding:200px 0;
    z-index:1;
    position:relative;
    color:#fff;
}
.ep_1 .ep_1_inner{
    max-width:800px;
    width:80%;
    padding:200px 0;
    z-index:1;
    position:relative;
    color:#fff;
}
.ep_1 h2{
    font-size:1.5rem;
    margin-bottom:1.5em;
}
.ep_1 h2 ruby{
    font-size:4rem;
    margin:0 0.3em 0 0;
}
.ep_1 h2 ruby rt{
    font-size:25%;
}
.ep_1 p{
    line-height:2.5em;
}
.ep_1 .sdgs_icon{
    display:flex;
    justify-content:space-between;
    flex-wrap:wrap;
    margin:50px 0 0;
}
.ep_1 .sdgs_icon:after{
    content: "";
    display: block;
     width:10.5%;
    height: 0;
}
.ep_1 .sdgs_icon dt{
    width:10.5%;
}
.ep_1 .sdgs_icon dt img{
    width:100%;
}

/* ----------959px–---------- */
@media screen and (max-width: 959px) {
    .ep_1 .ep_1_inner{
        max-width:unset;
        width:90%;
        padding:200px 0;
        margin:auto;
    }
}
/* ----------699px–---------- */
@media screen and (max-width: 699px) {
    .ep_1 .sdgs_icon:after{
        width:15%;
    }
    .ep_1 .sdgs_icon dt{
        width:15%;
    }
    .ep_1 h2{
        text-align:center;
        font-size:5vw;
    }
    .ep_1 h2 ruby{
        font-size:4rem;
        display:block;
        width:fit-content;
        margin:0 auto 0.2em;
    }
    .ep_1 h2 ruby rt{
        font-size:25%;
         display:block;
        margin:1em 0 0 0;
    }
}

/* ---------- sdgs_detail –---------- */
.sdgs_detail {
    width:100vw;
    margin:0 calc(50% - 50vw) ;
    padding:200px 0 0;
    z-index:1;
    position:relative;
}
.sdgs_detail .sdgs_detail_inner{
    display:flex;
    justify-content:space-between;
    width:96%;
    max-width:1400px;
    margin:auto;
}
.sdgs_detail .sdgs_detail_inner .sdgs_ep{
    width:50%;
}
.sdgs_detail .sdgs_detail_inner .sdgs_ep .inner{
    position:sticky;
    top:0;
    width:96%;
    height:100vh;
    margin:auto;
    max-width:600px;
    align-items:center;
    display:flex;
}
.sdgs_detail .sdgs_detail_inner .sdgs_ep .inner .sub_inner{
    height:fit-content;
    width:80%;
    max-width:400px;
    margin:auto;
    color:#fff;
}
.sdgs_detail .sdgs_detail_inner .sdgs_ep .inner h2{
    font-size:1.6rem;
    margin-bottom:1em;
    text-align:center;
}
.sdgs_detail .sdgs_detail_inner .sdgs_sec{
    width:45%;
    max-width:500px;
}
.sdgs_detail .sdgs_detail_inner .sdgs_ep .inner > img{
    position:absolute;
    top:0;
    bottom:0;
    left:0;
    width:100%;
    animation: rotatedetailAnimation 20s linear infinite;
    z-index:-1;
    margin:auto;
}
@keyframes rotatedetailAnimation {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
/* ----------768px–---------- */
@media screen and (max-width: 768px) {
    .sdgs_detail .sdgs_detail_inner{
        display:block;
        justify-content:unset;
        width:96%;
        max-width:unset;
    }
    .sdgs_detail .sdgs_detail_inner .sdgs_ep{
        width:100%;
        margin-bottom:20vh;
    }
    .sdgs_detail .sdgs_detail_inner .sdgs_ep .inner{
        position:relative;
        width:96%;
        height:unset;
        margin:auto;
        max-width:unset;
        align-items:center;
        display:flex;
        z-index:1;
    }
    .sdgs_detail .sdgs_detail_inner .sdgs_sec{
        width:90%;
        margin:auto;
    }
    .sdgs_detail .sdgs_detail_inner .sdgs_ep .inner > img{
        right:0;
        width:75%;
        margin:auto;
        opacity:0.5
    }
}

/* ----------768px–---------- */
@media screen and (max-width: 768px) {
    .sdgs_detail .sdgs_detail_inner .sdgs_ep .inner .sub_inner{
        width:94%;
    }
}


/* ----------sdgs_detail_wrap .sdgs_sec–---------- */
.sdgs_detail .sdgs_sec{
    flex-wrap:wrap;
}
.sdgs_detail .sdgs_sec dl{
    box-sizing:border-box;
    margin-bottom:100px;
    box-sizing:border-box;
    color:#fff;
}
.sdgs_detail .sdgs_sec dl .img{
    overflow:hidden;
    margin-bottom:2em;
    aspect-ratio:1 / 0.6;
    position:relative;
}
.sdgs_detail .sdgs_sec dl .img dt{
    position:absolute;
    top:10px;
    left:10px;
}
.sdgs_detail .sdgs_sec dl .img dt img{
    width:80px;
}
.sdgs_detail .sdgs_sec dl .img > img{
    object-fit:cover;
    height:100%;
    width:100%;
    vertical-align:bottom;
}
.sdgs_detail .sdgs_sec dl h3{
    font-size:1.4rem;
    margin-bottom:1.2em;
}
/* ----------1099px–---------- */
@media screen and (max-width: 1099px) {

}
/* ----------599px–---------- */
@media screen and (max-width: 599px) {
    .sdgs_detail .sdgs_sec dl .img dt img{
        width:60px;
    }
    .sdgs_detail .sdgs_sec dl h3{
        font-size:1.2rem;
    }
}

.cta{
    height:100vh;
    align-items:center;
    display:flex;
}
.cta .inner{
    width:90%;
    max-width:1400px;
    margin:auto;
    z-index:1;
}
.cta .text_inner{
    color:#fff;
    width:50%;
    height:fit-content;
}
.cta .text_inner img{
    width:100%;
    max-width:500px;
    margin-bottom:50px;
}
.cta .text_inner p{
}

/* ----------959px–---------- */
@media screen and (max-width: 959px) {
    .cta .text_inner{
        width:60%;
    }
}
@media screen and (max-width: 768px) {
    .cta .text_inner{
        width:80%;
        margin:auto;
    }
}