@charset "UTF-8";

[data-aspect-ratio="69:61"]:before {
    padding-top: calc((61 / 69) * 100%);
}
[data-aspect-ratio="539:346"]:before {
    padding-top: calc((346 / 539) * 100%);
}
[data-aspect-ratio="69:29"]:before {
    padding-top: calc((29 / 69) * 100%);
}
[data-aspect-ratio="186:137"]:before {
    padding-top: calc((137 / 186) * 100%);
}
[data-aspect-ratio="288:121"]:before {
    padding-top: calc((121 / 288) * 100%);
}

h1, h2 {
    color: #2A65A9;
}
h2 .subTitle {
    font-size: 20px;
    line-height: 28px;
}

a:hover {
    opacity: 0.8;
    text-decoration: none;
}
.hover_pointer {
    cursor: pointer;
}
.backgroundRelative {
    position: relative;
    z-index: 1;
}
.fr-video:before {
    background: initial;
}

.-info .swiper-button-next:after, .-info .swiper-button-prev:after {
    background: url(/jp/ja/contents/sekaisuiei-2023/img/info_carousel.svg) 0/5em 2em no-repeat;
    position: absolute;
    left: 14px;
}
.-info .swiper-button-next:after {
    background-position-x: -4em;
}

/*iOS9*/
.Hero_iOS9_noMovie{
    display: none;
}
.iOS_9 .Hero_iOS9_noMovie{
    display: block !important;
}
.iOS_9 .hero_video {
    display: none !important;
}
.hero {
    position: relative;
}
.hero_video {
    width: 100%;
    height: 100%;
}

.swiper-slide a {
    cursor: pointer;
}
/* スライダー一つの時のみ */
/* .swiper-button-next:after, .swiper-button-prev:after {
    margin-top: 370px;
}
.swiper-button-prev {
    left: 320px;
}
.swiper-button-next {
    right: 320px;
} */

/* 以下SPレイアウト */
@media screen and (max-width: 428px) {
    .fr-fixedAnchor_itemLink {
        width: 112px;
    }
}

@media screen and (min-width: 813px) {
    .fr-fixedAnchor_itemLink {
        width: 100%;
    }    
    .backgroundAbsolute {
    position: absolute;
    top: 0;
    display: block;
    width: 100%;
    height: 100%;
    z-index: -1;
    background: url(/jp/ja/contents/sekaisuiei-2023/img/background.png);
    background-position: center bottom;
    background-repeat: no-repeat;
    background-size: cover;
    }
}
@media screen and (max-width: 812px) {
    .backgroundAbsolute {
        position: absolute;
        display: block;
        height: 97%;
        width: 101%;
        z-index: -1;
        background: url(/jp/ja/contents/sekaisuiei-2023/img/background-sp.png);
        background-position: center bottom;
        background-repeat: no-repeat;
        background-size: cover;
    }

    /* スライダー一つの時のみ */
    /* .swiper-button-next:after, .swiper-button-prev:after {
        margin-top: 232px;
    }
    .swiper-button-next {
        right: 10px;
    } */
}

.Hero_Video {
    width: 100%;
}

/* お知らせ */
.fr-imagePlusText_content.-infoText {
    padding-right: 4%;
    padding-left: 4%;
}
.swiper-parent {
    box-shadow: 4px 4px 5px #dadada;
    padding: 0;
}
.swiper-container {
    padding-bottom: 0;
}
.swiper-slide {
    height: auto;
}
.fr-imagePlusTextParent {
    height: 100%;
}
.fr-imagePlusText {
    height: 100%;
}
.swiper-button-next, .swiper-button-prev {
    background-color: initial;   /* 要確認！！！！！※もし通常に戻す場合はhtmlに2g付与する */
}
.flag {
    width: 61px;
    height: 17px;
    background-color: #2A65A9;
    color: #fff;
    font-size: 13px;
    margin-left: 2%;
    padding: .5% 1%;
}

/* anchor */
.fr-fixedAnchor.is-show {
    top: -1px;
}
.fr-fixedAnchor {
    position: fixed;
    top: -100px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 11;
    width: 100%;
    transition: top .4s;
    border-color: #2A65A9;
}
.fr-fixedAnchor.-slideAnchor .fr-fixedAnchor_item {
    position: relative;
}
.fr-fixedAnchor_item.js-fr-fixedAnchor_item .fr-fixedAnchor_itemLink {
    color: #2A65A9;
}
.fr-fixedAnchor_itemLink {
    text-align: center;
}
.fr-fixedAnchor_itemLink.-current {
    border-bottom-color: #2A65A9;
}
.fr-fixedAnchor_item+.fr-fixedAnchor_item {
    border-color: #2A65A9;
}
.fr-anchorButton {
    border-bottom: 1px solid #2A65A9;
    position: relative;
    z-index: 1;
}
.fr-anchorButton_item {
    background-color: initial;
    border-top: 1px solid #2A65A9;
    border-left: 1px solid #2A65A9;
}
.fr-anchorButton_itemText {
    color: #2A65A9;
}
.fr-anchorButton_itemText.tappable_arrow::after {
    display: flex;
    position: absolute;
    content: "";
    background: url(../img/chevron_down_blue.svg) 0 / cover no-repeat;
    width: 14px;
    height: 8px;
    bottom: 3px;
}
.tappable_arrow {
    position: relative;
    display: flex;
    padding-bottom: 15px;
    height: 100%;
}
.tappable_arrow ::before {
    content: '';
    margin: auto;
    position: absolute;
    bottom: 2px;
    left: 50%;
    width: 10px;
    height: 10px;
    border-top: 2px solid #dadada;
    border-top: 2px solid var(--color-gray150);
    border-right: 2px solid #dadada;
    border-right: 2px solid var(--color-gray150);
    transform: translateX(-50%) rotate(135deg);
}

.fr-fixedAnchor.-horizontalScroll .fr-fixedAnchor_item {
    max-width: initial;
}

/* fadeUp */

.fadeUp{
    animation-name:fadeUpAnime;
    animation-duration:2s;
    animation-fill-mode:forwards;
    opacity:0;
    }
    
    @keyframes fadeUpAnime{
        from {
        opacity: 0;
        transform: translateY(100px);
    }
    
    to {
        opacity: 1;
        transform: translateY(0);
    }
    }
    
    
    /* スクロールをしたら出現する要素にはじめに透過0を指定　*/
    .fadeUpTrigger{
        opacity: 0;
    }

/* section */
.adjustFixedTab {
    margin-top: -52px;
    padding-top: 52px;
}
.testLink {
    text-decoration: underline;
}
.-annotation {
    font-size: 11px;
}
.fr-linkButtonParent {
    position: relative;
}
.fr-linkButton {
    color: #fff;
    background-color: #286aad;
    background: linear-gradient(180deg, rgb(23, 140, 204), rgb(40, 106, 173));
    border-radius: 20px;
    border: 1px solid #286aad;
}
.fr-linkButton::after {
    position: absolute;
    content: "";
    background: url(../img/chevron_right_white.svg) 0 / cover no-repeat;
    width: 8px;
    height: 14px;
    right: 8%;
    margin-right: 4vw;
}
.fr-linkButton.-noLink {
    color: #eaeaea;
    background-color: #aaa;
    background: linear-gradient(180deg, rgb(204, 204, 204), rgb(170, 170, 170));
    border-radius: 20px;
    border: 1px solid #aaa;
    cursor: default;
}
.fr-linkButton.-noLink::after {
    background: url(../img/chevron_right_gray.png) 0 / cover no-repeat;
}
.fr-linkButton.-noLink:hover {
    opacity: 1;
    cursor: default;
}

section.js-fixedAnchor_1 {
    position: relative;
    z-index: 2;
}

.programContents table {
    margin: 0 auto;
    width: 100%;
    max-width: 345px;
}
.programContents table tbody {
    border: 1px solid #2A65A9;
}
.programContents table tbody tr {
    display: flex;
    flex-direction: column;
}
.programContents table tbody tr th {
    color: #fff;
    background-color: #2A65A9;
    font-weight: 600;
    line-height: 19.6px;
}
.programContents table tbody tr td {
    background-color: #fff;
    line-height: 19.6px;
}
.supplement_txt {
    font-size: 11px;
    line-height: 16px;
}
.mascot_description {
    text-align: center;
}

.js-mediaCarouselThumbs .swiper-parent {
    box-shadow: none;
}

/* press release */
[lang=ja] .fr-transitionButton {
    font-family: ヒラギノ角ゴ Pro W3,Hiragino Kaku Gothic Pro,Hiragino Sans,Noto Sans CJK JP,Osaka,Meiryo,メイリオ,MS PGothic,ＭＳ Ｐゴシック,Hiragino Sans GB,Helvetica Neue,HelveticaNeue,Helvetica,Noto Sans,Roboto,Arial,Arial Unicode MS,sans-serif;
    font-weight: 300;
}
.fr-transitionButton {
    display: flex;
    border-top: none;
    border-bottom: none;
    padding: 0 4%;
}
.-pressReleaseText {
    border-bottom: 1px solid #dadada;
}
.-pressReleaseText.-last:last-child {
    border-bottom: none;
}
.pressReleaseText_title {
    font-weight: 600;
}
.pressReleaseText_body {
    font-size: 13px;
}
.fr-transitionButton:after {
    margin-left: 10px;
}
.pressReleaseContents {
    box-shadow: 4px 4px 5px #dadada;
}
.fr-imagePlusText_content.-pressReleaseText .fr-imagePlusText_body::after {
    position: absolute;
    background: url(/jp/ja/contents/sekaisuiei-2023/img/chevron_down_blue.svg) 0 / cover no-repeat;
}

@media screen and (max-width: 812px) {
    .ss-sp-pt-13 {
        padding-top: 13px;
    }
    .ss-sp-pt-15 {
        padding-top: 15.5px;
    }
    .ss-sp-pt-24 {
        padding-top: 24px;
    }
    .ss-sp-py-xs {
        padding-top: 6.8px;
        padding-bottom: 6.8px;
    }
    h2 .subTitle {
        font-size: 14px;
    }
    .h2_superscription {
        line-height: 27px !important;
    }

    .description_txt {
        font-size: 13px;
        line-height: 19.6px;
    }

    .fr-heading.-dreamproject {
        padding-top: 15px;
    }
    .fr-heading.-profile{
        text-align: center;
    }

    .-half_sp {
        width: 50%;
    }
    .-full_sp {
        width: 100%;
    }

    .fr-anchorButton_item {
        height: 77px;
    }

    .mascotImg div {
        width: 100%;
        max-width: 220px;
        margin: 0 auto;
    }

    .profileText .-h3 {
        text-align: center;
    }

    .fr-linkButton::after {
        margin-top: 5px;
    }

    .br-pcOnly {
        display: none;
    }
    .br-spOnly {
        display: block;
    }

    .GoodsImgright .productText {
        display: flex;
    }
    .GoodsImgright .productText .mascot {
        width: 100%;
        max-width: 120px;
        display: flex;
        align-items: center;
    }
    .GoodsImgright .productText .description_txt {
        width: 100%;
        padding-left: 4%;
    }

    .fr-mediaCarouselThumbs_items {
        padding-left: 0;
        padding-right: 0;
    }

}

@media screen and (min-width: 813px) {
    .ss-pc-pt-12 {
        padding-top: 12px;
    }
    .ss-pc-pt-13 {
        padding-top: 13px;
    }
    .ss-pc-pt-16 {
        padding-top: 16px;
    }
    .ss-pc-pt-20 {
        padding-top: 20px;
    }
    .ss-pc-pt-21 {
        padding-top: 21px;
    }
    .ss-pc-pt-22 {
        padding-top: 22px;
    }
    .ss-pc-pt-29 {
        padding-top: 29px;
    }
    .ss-pc-pt-42 {
        padding-top: 42px;
    }
    .description_txt {
        font-size: 14px;
        line-height: 19.6px;
    }
    .programContents .supplement_txt .-annotation {
        line-height: 15.4px;
        max-width: 570px;
    }
    .fr-breadcrumbs {
        margin-bottom: 6px;
    }

    .fr-heading {
        margin-bottom: 6px;
    }
    .fr-heading.-profile{
        font-size: 20px;
        margin-bottom: 0;
    }

    .fr-heading.-program {
        margin-bottom: 0;
    }

    .anchorButton {
        width: 100%;
        max-width: 1177px;
        margin-right: auto;
        margin-left: auto;
    }
    .fr-anchorButton {
        height: 94px;
        border-right: 1px solid #2A65A9;
    }
    .fr-anchorButton_itemInner {
        height: 100%;
    }
    .tappable_arrow {
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: center;
        padding: 4%;
        height: fit-content;
    }
    .fr-anchorButton_itemText.tappable_arrow::after{
        position: absolute;
        display: block;
        margin: 0;
        bottom: 0;
    }

    /* section */
    .adjustFixedTab {
        margin-top: -78px;
        padding-top: 78px;
    }
    
    .-h2 .u-imgAdjustBox {
        width: fit-content;
        margin: 0 auto;
    }

    .fr-heading.-h1, .fr-breadcrumbs.u-only-pc, .kvArea {
        max-width: 1226px;
        margin-right: auto;
        margin-left: auto;
        padding-right: 25px;
        padding-left: 25px;
        margin-top: 0;
        padding-top: 24px;
    }
    .fr-heading_custom.-dreamproject {
        padding-top: 22px;
        line-height: 41px;
        margin-bottom: 0;
    }
    .fr-heading_custom.-dreamsupport {
        padding-top: 7px;
        margin-bottom: 0;
    }
    .fr-heading_custom.-partner{
        padding-top: 26px;
        margin-bottom: 0;
    }
    section .-h2 {
        width: 100%;
        margin-right: auto;
        margin-left: auto;
    }

    .swiper-parent {
        width: 100%;
        max-width: 576px;
        margin: 0 auto;
    }
    .fr-anchorButton_item {
        width: calc((100% - 0vw) / 4);
    }

    .fr-fixedAnchor {
        width: 100%;
        max-width: 1176px;
    }

    .fr-linkButtonParent,
    .project-imgArea,
    .project-textArea,
    .programContents table,
    .programContents ul {
        max-width: 576px;
        margin: 0 auto;
    }

    .profile {
        width: 100%;
        max-width: 876px;
        display: flex;
        margin: 0 auto;
        align-items: center;
        justify-content: space-between;
    }
    .profileImg {
        width: calc((376 / 876) * 100%);
        margin-left: calc((63 / 876) * 100%);
    }
    .profileText {
        width: calc((413 / 876) * 100%);
        margin-left: calc((24 / 876) * 100%);
    }
    .messageVideo {
        width: 100%;
        max-width: 576px;
        margin: 0 auto;
    }

    #dream_project,
    #dream_supporter,
    #official_goods,
    #partnership {
        width: 100%;
        max-width: 1076px;
        margin-left: auto;
        margin-right: auto;
        padding-left: 25px;
        padding-right: 25px;
    }
    .official_goodsProducts .fr-heading {
        margin-bottom: 0;
    }
    .GoodsImgleft {
        display: flex;
        margin: 0 auto;
        align-items: center;
        justify-content: space-between;
    }
    .GoodsImgright {
        display: flex;
        flex-direction: row-reverse;
        margin: 0 auto;
        align-items: center;
        justify-content: space-between;
    }
    .GoodsImgleft .productImg {
        width: calc((501 / 1027) * 100%);
    }
    .GoodsImgleft .productText {
        width: calc((485 / 1027) * 100%);
        margin-left: calc((40 / 1027) * 100%);
    }
    .GoodsImgright .productImg {
        width: calc((501 / 1027) * 100%);
        margin-left: calc((40 / 1027) * 100%);
    }
    .GoodsImgright .productText {
        width: calc((485 / 1027) * 100%);
    }
    .productText .mascot {
        width: calc((186 / 485) * 100%);
        margin-right: auto;
        margin-left: auto;
        margin-bottom: 20px;
    }
    .officialGoodsStore .supplement_txt {
        line-height: 14.5px;
    }
    .officialGoodsStore p {
        line-height: 19.6px;
    }

    .partnership_mascot {
        width: 100%;
        max-width: 952.5px;
        display: flex;
        flex-direction: row-reverse;
        margin: 0 auto;
    }
    .mascotImg {
        width: calc((270 / 953) * 100%);
        margin-right: calc((60.5 / 953) * 100%);
    }
    .mascotImg p {
        padding-top: 12px;
    }
    .mascotText {
        width: calc((576 / 953) * 100%);
    }

    .fr-banner {
        width: 100%;
        max-width: 580px;
        margin: 0 auto;
    }

    .fr-linkButton::after {
        margin-top: 0px;
        margin-right: 0;
    }

    .br-pcOnly {
        display: block;
    }
    .br-spOnly {
        display: none;
    }

    /* event report */
    .report {
        width: 100%;
        max-width: 580px;
        margin: 0 auto;
    }
    .report p {
        text-align: center;
    }
    .fr-mediaCarouselThumbs {
        margin: 0 auto;
        max-width: 576px;
    }

    /* press release */
    .pressRelease {
        width: 100%;
        max-width: 580px;
        margin: 0 auto;
    }
    .pressReleaseText_title {
        font-size: 14px;
    }
}