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

main {
    padding: 0 !important;
    font-family: "Noto Sans JP", Verdana, Meiryo, sans-serif;
    font-feature-settings: "palt";
    font-size: 1rem;
    line-height: 1.7rem;
    box-sizing: border-box;
    word-wrap: break-word;
}

.topTitleArea {
    display: block;
    width: 100%;
    margin: 0;
    padding: 120px 0;
    text-align: center;
    background: #ffffff;
}
.topTitleArea2 {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    text-align: center;
    box-sizing: border-box;
}
.topTitleArea-contents {
    display: block;
    width: 100%;
    margin: 0;
    padding: 40px 0;
    text-align: center;
    background: #ffffff;
}
img {
    max-width: 100%;
    margin: auto;
}
.topvisual2 {
    display: flex;
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    justify-content: center;
    align-items: center;
}
.topvisual2 h1 {
    font-family: Times New Roman, Times, serif;
    font-size: 2.75rem;
    font-weight: normal;
    line-height: 1.2;
    margin-left:15px;
}
.spImg {display: none;}

#sdgsBlock01 {
    position: relative;
    overflow: hidden;
    padding: 60px 0;
}

#sdgsBlock01:before {
	content: "";
	display: block;
	position: absolute;
	width: min(900px, 46.875vw);
	top: 0;
	right: calc(50% + min(60px, 60 / 1920 * 100vw));
	background: url(/eng/resource/images/ball.png) no-repeat top center;
	background-size: cover;
	aspect-ratio: 900 / 500;
	mix-blend-mode: multiply;
	opacity: 0.8;
	z-index: -1;
}

.sp #sdgsBlock01:before {
	width: 80%;
	right: 40%;
}

#sdgsBlock01 h2 {
    font-family: Times New Roman, Times, serif;
    font-size: 2.75rem;
    font-weight: normal;
    text-align: center;
    line-height: 1.25em;
    margin: 20px auto 40px;
}

#sdgsBlock01 .lead {
    display: block;
    width: 100%;
    max-width: 1000px;
    margin: 0 auto 40px;
    font-family: Times New Roman, Times, serif;
    font-size: 1.4rem;
    font-weight: normal;
    text-align: center;
}
#sdgsBlock01 .text {
    display: block;
    width: 100%;
    max-width: 1000px;
    margin: 0 auto 120px;
}
#sdgsBlock01 .image {
    display: block;
    width: 100%;
    text-align: center;
}
#sdgsBlock01 .sdgs-imageList {
    display: flex;
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    justify-content: center;
    align-items: center;
}

#sdgsBlock01 .text .txList {
    display: block;
    width: 100%;
    max-width: 1000px;
    margin: 10px auto;
    padding-left: 40px;
}
#sdgsBlock01 .text .txList li {
    list-style: disc;
    margin-bottom: 5px;
}
#sdgsBlock01 .text .txList a {
    color: #000000;
    position: relative;
    display: inline-block;
    text-decoration: none;
    overflow: visible;
}
#sdgsBlock01 .text .txList a:before {
    content: "";
    display: block;
    position: absolute;
    bottom: 0px;
    left: 0px;
    margin-bottom: -0.1em;
    width: 100%;
    height: 1px;
    background: #000000;
    transition: 0.3s;
    transform: scale(0);
}
#sdgsBlock01 .text .txList a:hover:before {
    transform: scale(1);
}
#sdgsBlock01 .text p {
    margin-bottom: 20px;
}

#sdgsBlock01 .left { text-align: left;}
#sdgsBlock01 .center { text-align: center;}
#sdgsBlock01 .right { text-align: right;}

#sdgsBlock01 .mt10 { margin-top: 10px;}
#sdgsBlock01 .mt20 { margin-top: 20px;}
#sdgsBlock01 .mt30 { margin-top: 30px;}
#sdgsBlock01 .mt40 { margin-top: 40px;}

#sdgsBlock01 .ml10 { margin-left: 10px;}
#sdgsBlock01 .ml20 { margin-left: 20px;}
#sdgsBlock01 .ml30 { margin-left: 30px;}
#sdgsBlock01 .ml40 { margin-left: 40px;}

#sdgsBlock01 .mr10 { margin-right: 10px;}
#sdgsBlock01 .mr20 { margin-right: 20px;}
#sdgsBlock01 .mr30 { margin-right: 30px;}
#sdgsBlock01 .mr40 { margin-right: 40px;}

#sdgsBlock01 .mb10 { margin-bottom: 10px;}
#sdgsBlock01 .mb20 { margin-bottom: 20px;}
#sdgsBlock01 .mb30 { margin-bottom: 30px;}
#sdgsBlock01 .mb40 { margin-bottom: 40px;}

#sdgsBlock01 .inBox { display: block; width: 90%; margin: 0 auto;}
#sdgsBlock01 .italic { font-style: italic;}
#sdgsBlock01 .none { display: none;}

#sdgsBlock01 .text ol {
    margin-bottom: 20px;
    padding-left: 20px;
}
#sdgsBlock01 .text ol li { padding-left: 5px; padding-bottom: 20px;}
#sdgsBlock01 .text ol li::marker {font-weight: bold;}

#sdgsBlock01 .sdgsListBox {
    display: block;
    width: 100%;
    max-width: 810px;
    margin: 20px auto;
    box-sizing: border-box;
}
#sdgsBlock01 ul.sdgsList {
    display: flex;
    width: 100%;
    flex-flow: row wrap;
    box-sizing: border-box;
}
#sdgsBlock01 ul.sdgsList li {
    margin-right: 15px;
    margin-bottom: 15px;
}
#sdgsBlock01 ul.sdgsList li a img:hover {
    opacity: 0.6;
    transition: 0.3s;
}

#sdgsBlock01 .quoteBox {
    margin-top: 60px;
    font-size: 80%;
}
#sdgsBlock01 .quoteBox ul li, #sdgsBlock01 .quoteBox ol li {
    padding-bottom: 0px;
}


#sdgsBlock01 .profileBox {
    display: flex;
    width: 100%;
    max-width: 1000px;
    margin: 20px auto;
    padding: 20px;
    align-items: flex-start;
    border: 1px solid #707070;
    box-sizing: border-box;
}
#sdgsBlock01 .profileBox .image {
    display: block;
    width: 20%;
    margin: 0;
}
#sdgsBlock01 .profileBox .text {
    margin: 0;
    padding-left: 15px;
}
#sdgsBlock01 .profileBox .text h3 {
    margin-bottom: 20px;
    font-size: 1.5rem;
    font-weight: bold;
}
#sdgsBlock01 .profileBox .text h3 span {
    display: block;
    font-size:1.17rem;
    font-weight: normal;
    margin-bottom: 10px;
}
#sdgsBlock01 .profileBox .text p span {
    font-weight: bold;
    margin-right: 10px;
}

#sdgsBlock01 .profileBox2 {
    display: block;
    width: 100%;
    max-width: 1000px;
    margin: 20px auto;
    padding: 20px;
    align-items: flex-start;
    border: 1px solid #707070;
    box-sizing: border-box;
}
#sdgsBlock01 .profileBox2 .text {
    margin: 0;
    padding-left: 15px;
}
#sdgsBlock01 .profileBox2 .text h3 {
    font-size: 1.5rem;
    font-weight: bold;
}
#sdgsBlock01 .profileBox2 .text h3 span {
    display: block;
    font-size:1.17rem;
    font-weight: normal;
    margin-bottom: 10px;
}
#sdgsBlock01 .profileBox2 .text p span {
    font-weight: bold;
    margin-right: 10px;
}

#sdgsBlock01 div .contentsPageList {
    display: flex;
    width: 100%;
    max-width: 1000px;
    justify-content: space-between;
    align-items: flex-start;
    margin: 40px auto;
    box-sizing: border-box;
}
#sdgsBlock01 div .contentsPageList li a {
    position: relative;
    display: block;
    width: 100%;
    min-width: 320px;
    padding: 20px;
    text-align: center;
    font-weight: bold;
    line-height: 1.2;
    text-decoration: none;
    color: #fff;
    background: #000;
    box-sizing: border-box;
}
#sdgsBlock01 div .contentsPageList li a:hover {
    opacity: 0.7;
    transition: 0.3s;
}
#sdgsBlock01 div .contentsPageList li a.boldBtn {
    height: 78px;
    padding-top: 30px;
}
#sdgsBlock01 div .contentsPageList li:first-child a::before {
    content: "";
    position: absolute;
    display: block;
    width: 15px;
    height: 25px;
    top: 55%;
    left: 0;
    margin-left: 7px;
    background: url(../images/arrow_w.svg) no-repeat;
    transform: translateX(0%) translateY(-50%);
}
#sdgsBlock01 div .contentsPageList li:last-child a::after {
    content: "";
    position: absolute;
    display: block;
    width: 15px;
    height: 25px;
    top: 50%;
    right: 0;
    margin-right: 7px;
    background: url(../images/arrow_w.svg) no-repeat;
    transform: translateX(0%) translateY(-50%) rotate(180deg);
}

/* .contentsPageList 1P用:START */
#sdgsBlock01 div .contentsPageList1 {
    display: flex;
    width: 100%;
    max-width: 1000px;
    justify-content: flex-end;
    align-items: flex-start;
    margin: 40px auto;
    box-sizing: border-box;
}
#sdgsBlock01 div .contentsPageList1 li {
    margin-left: 60px;
}
#sdgsBlock01 div .contentsPageList1 li a {
    position: relative;
    display: block;
    width: 100%;
    min-width: 320px;
    padding: 20px;
    text-align: center;
    font-weight: bold;
    line-height: 1.2;
    text-decoration: none;
    color: #fff;
    background: #000;
    box-sizing: border-box;
}
#sdgsBlock01 div .contentsPageList1 li a:hover {
    opacity: 0.7;
    transition: 0.3s;
}
#sdgsBlock01 div .contentsPageList1 li:last-child a::after {
    content: "";
    position: absolute;
    display: block;
    width: 15px;
    height: 25px;
    top: 50%;
    right: 0;
    margin-right: 7px;
    background: url(../images/arrow_w.svg) no-repeat;
    transform: translateX(0%) translateY(-50%) rotate(180deg);
}
/* .contentsPageList 1P用:END */

/* .contentsPageList 17P用:START */
#sdgsBlock01 div .contentsPageList2 {
    display: flex;
    width: 100%;
    max-width: 1000px;
    justify-content: flex-start;
    align-items: flex-start;
    margin: 0 auto;
    box-sizing: border-box;
}
#sdgsBlock01 div .contentsPageList2 li {
    margin-right: 60px;
}
#sdgsBlock01 div .contentsPageList2 li a {
    position: relative;
    display: block;
    width: 100%;
    min-width: 320px;
    padding: 20px;
    text-align: center;
    font-weight: bold;
    line-height: 1.2;
    text-decoration: none;
    color: #fff;
    background: #000;
    box-sizing: border-box;
}
#sdgsBlock01 div .contentsPageList2 li a:hover {
    opacity: 0.7;
    transition: 0.3s;
}
#sdgsBlock01 div .contentsPageList2 li:last-child a::after {
    content: "";
    position: absolute;
    display: block;
    width: 15px;
    height: 25px;
    top: 50%;
    right: 0;
    margin-right: 7px;
    background: url(../images/arrow_w.svg) no-repeat;
    transform: translateX(0%) translateY(-50%) rotate(180deg);
}
#sdgsBlock01 div .contentsPageList2 li a.boldBtn {
    height: 78px;
    padding-top: 30px;
}
/* .contentsPageList 17P用:END */


/* --------- sp:start ---------*/
@media screen and (max-width: 1025px) {
    #sdgsBlock01 {
        padding: 0;
    }
    .topTitleArea {
        padding: 20px 0;
    }
    .topTitleArea-contents {
        margin-bottom: 20px;
    }
    .topvisual2 {
        width: 100%;
        flex-direction: column;
        align-items: center;
    }
    .topvisual2 h1,#sdgsBlock01 h2 {
        margin: 15px;
        font-size: 2rem;
        line-height: 2.2rem;
    }
    #sdgsBlock01 .lead {
        width: 90%;
    }
    #sdgsBlock01 .text {
        width: 90%;
        margin-bottom: 50px;
    }
    #sdgsBlock01 .text .txList {
        width: 90%;
        padding-left: 15px;
    }
    #sdgsBlock01 .pcOnly {
        display: none;
    }
    #sdgsBlock01 ul.sdgsList {
        width: 90%;
        justify-content: space-around;
        margin: 15px auto;
    }
    #sdgsBlock01 ul.sdgsList li {
        margin-right: 0;
    }
    #sdgsBlock01 .sdgs-imageList {
        width: 90%;
        flex-direction: column;
        align-items: center;
    }
    #sdgsBlock01 .sdgs-imageList .image {
        margin: 0;
        margin-top: 10px;
    }
    #sdgsBlock01 .profileBox {
        width: 90%;
        flex-direction: column;
        align-items: center;
    }
    #sdgsBlock01 .profileBox .text h3 {
        margin-top: 20px;
    }
    #sdgsBlock01 .profileBox2 {
        width: 90%;
        padding: 10px;
        margin: 10px auto;
    }
    #sdgsBlock01 .profileBox2 .text h3 {
        margin-top: 20px;
    }
    #sdgsBlock01 .profileBox .image {
        width: 100%;
        text-align: center;
    }
    #sdgsBlock01 .profileBox .text {
        width: 100%;
        padding-left: 0;
    }
    #sdgsBlock01 div .contentsPageList {
        width: 90%;
        flex-direction: column;
        align-items: center;
        margin: 0 auto;
    }
    #sdgsBlock01 div .contentsPageList li {
        margin-right: 0;
        margin-bottom: 10px;
    }
    #sdgsBlock01 div .contentsPageList li a {
        min-width: 315px;
    }
    #sdgsBlock01 div .contentsPageList li a.boldBtn {
        height: static;
        padding-top: static;
    }

    /* .contentsPageList 1P用:END */
    #sdgsBlock01 div .contentsPageList1 {
        width: 90%;
        flex-direction: column;
        align-items: center;
        margin: 0 auto;
    }
    #sdgsBlock01 div .contentsPageList1 li {
        margin-left: 0;
        margin-bottom: 10px;
    }
    #sdgsBlock01 div .contentsPageList1 li a {
        min-width: 315px;
    }
    /* .contentsPageList 1P用:END */

    /* .contentsPageList 17P用:END */
    #sdgsBlock01 div .contentsPageList2 {
        width: 90%;
        flex-direction: column;
        align-items: center;
        margin: 0 auto;
    }
    #sdgsBlock01 div .contentsPageList2 li {
        margin-left: 0;
        margin-bottom: 10px;
    }
    #sdgsBlock01 div .contentsPageList2 li a {
        min-width: 315px;
    }
    #sdgsBlock01 div .contentsPageList2 li a.boldBtn {
        height: static;
        padding-top: static;
    }
    /* .contentsPageList 17P用:END */
}


.topTitleArea2 #stage {
	position: relative;
	width: 100%;
	padding-top: 30.20833333333333%;
}

.sp .topTitleArea2 #stage {
	padding-top: 80%;
}

.topTitleArea2 #stage div {
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	background: none no-repeat center center;
	background-size: cover;
	opacity: 0;
	transition: opacity 900ms;
}

.topTitleArea2 #stage div.show {
	opacity: 1;
}

.topTitleArea2 #stage .slide0 { background-image: url(../../images/slide04_pc.jpg); }
.topTitleArea2 #stage .slide1 { background-image: url(../../images/slide05_pc.jpg); }
.topTitleArea2 #stage .slide2 { background-image: url(../../images/slide02_pc.jpg); }
.topTitleArea2 #stage .slide3 { background-image: url(../../images/slide03_pc.jpg); }
.topTitleArea2 #stage .slide4 { background-image: url(../../images/slide06_pc.jpg); }
.topTitleArea2 #stage .slide5 { background-image: url(../../images/slide10_pc.jpg); }

.sp .topTitleArea2 #stage .slide0 { background-image: url(../../images/slide04_sp.jpg); }
.sp .topTitleArea2 #stage .slide1 { background-image: url(../../images/slide05_sp.jpg); }
.sp .topTitleArea2 #stage .slide2 { background-image: url(../../images/slide02_sp.jpg); }
.sp .topTitleArea2 #stage .slide3 { background-image: url(../../images/slide03_sp.jpg); }
.sp .topTitleArea2 #stage .slide4 { background-image: url(../../images/slide06_sp.jpg); }
.sp .topTitleArea2 #stage .slide5 { background-image: url(../../images/slide10_sp.jpg); }

