/* top carousel
------------------------------------------------------------*/

.c-topCarousel {
    width: 100%;
    position: relative;
    background-size: cover;
    background-position: center center;
    opacity: 0; /* loading */
}

.c-topCarousel.slick-initialized {
    opacity: 1;
}

.c-topCarousel.is-loading .c-topCarousel-item { /*opacity: 0;*/
}

.c-topCarousel.is-loading .c-topCarousel-item:nth-child(1) .type-video + .type-img {
    display: block !important;
}

.c-topCarousel.is-loading:after {
    opacity: 1;
}

.c-topCarousel .slick-slide .c-topCarousel-item:after {
    content: "";
    display: block;
    height: 41px;
    width: 41px;
    position: absolute;
    top: 35%;
    left: 50%;
    margin: -20px 0 0 -20px;
    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAYAAACOEfKtAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjk3OEU4MTAwRTNGNzExRThCMkZBQTVBOEVERDBEMEM1IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjk3OEU4MTAxRTNGNzExRThCMkZBQTVBOEVERDBEMEM1Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OTc4RTgwRkVFM0Y3MTFFOEIyRkFBNUE4RUREMEQwQzUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6OTc4RTgwRkZFM0Y3MTFFOEIyRkFBNUE4RUREMEQwQzUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5x08hHAAAGQElEQVR42uyd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) no-repeat center center;
    background-size: 100% 100%;
    animation: toploading 0.8s infinite linear;
    z-index: 1;
    opacity: 0;
    transition: 0.5s;
}

.c-topCarousel .slick-slide.is-wait .c-topCarousel-item:after {
    opacity: 1;
}

.c-topCarousel .c-topCarousel-item {
    opacity: 1;
    transition: opacity 0.3s;
}

.c-topCarousel .c-topCarousel-item-inner {
    display: block;
}

.c-topCarousel .c-topCarousel-item-inner:hover,
.c-topCarousel .c-topCarousel-item-inner:focus {
    text-decoration: none;
}

.c-topCarousel .c-topCarousel-item-inner:hover .c-topCarousel-text-link,
.c-topCarousel .c-topCarousel-item-inner:focus .c-topCarousel-text-link {
    text-decoration: underline;
}

.c-topCarousel .c-topCarousel-text {
    position: relative;
    z-index: 1;
    text-align: center;
    padding: 35px 2.5%;
    background: #fff;
}

.c-topCarousel .c-topCarousel-text-subtitle {
    font-family: "Cronos Pro LtDisp";
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.08;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 7px;
    color: #0d1727;
}

.c-topCarousel .c-topCarousel-text-title {
    font-family: "Cronos Pro LtDisp";
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 1.08;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 15px;
    color: #0d1727;
}

.c-topCarousel .c-topCarousel-text-comment {
    font-family: "Chronicle Display";
    font-size: 17px;
    font-size: 1.7rem;
    line-height: 1.29;
    letter-spacing: 0.02em;
    color: #505050;
}

.c-topCarousel .c-topCarousel-text-link {
    font-family: "Cronos Pro LtDisp";
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.08;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-top: 25px;
    color: #0d1727;
}

.c-topCarousel .type-video iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.c-topCarousel .type-video {
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -50px;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: 1;
    pointer-events: none;
}

.c-topCarousel .type-video {
    display: none;
}

.c-topCarousel .type-img {
    display: block;
}

.c-topCarousel .type-img {
    position: relative;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}

.c-topCarousel.is-loading .slick-dots {
    display: none !important;
}

.c-topCarousel .slick-list {
    height: 100%;
    z-index: 2;
}

.c-topCarousel .slick-track {
    height: 100%;
    line-height: 1;
}

.c-topCarousel .slick-slide {
    visibility: visible;
    transition: all ease-in-out .3s;
    opacity: 0;
}

.c-topCarousel .slick-slide .c-topCarousel-text-subtitle,
.c-topCarousel .slick-slide .c-topCarousel-text-title,
.c-topCarousel .slick-slide .c-topCarousel-text-comment,
.c-topCarousel .slick-slide .c-topCarousel-text-link {
    transition: 0.2s;
}

.c-topCarousel .slick-slide.is-wait .c-topCarousel-text-subtitle,
.c-topCarousel .slick-slide.is-wait .c-topCarousel-text-title,
.c-topCarousel .slick-slide.is-wait .c-topCarousel-text-comment,
.c-topCarousel .slick-slide.is-wait .c-topCarousel-text-link {
    color: #fff !important;
}

.c-topCarousel .slick-slide.is-wait .c-topCarousel-video {
    opacity: 0;
}

.c-topCarousel .slick-slide img {
    width: 100%;
}

.c-topCarousel .slick-prev:before,
.c-topCarousel .slick-next:before {
    color: black;
}

@media only screen and (min-width: 1025px) {

    .c-topCarousel {
        background-color: #000;
    }
    
    .c-topCarousel .slick-slide .c-topCarousel-item:after {
        top: 50%;
    }
    
    .c-topCarousel {
        height: 100vh;
    }
    
    .ge-header-fixedMessage + .ge-header + #contents .c-topCarousel {
        height: calc(100vh - 50px);
    }
    
    .c-topCarousel .c-topCarousel-item--black .c-topCarousel-text-subtitle,
    .c-topCarousel .c-topCarousel-item--black .c-topCarousel-text-title,
    .c-topCarousel .c-topCarousel-item--black .c-topCarousel-text-comment,
    .c-topCarousel .c-topCarousel-item--black .c-topCarousel-text-link {
        color: #fff;
    }
    
    .c-topCarousel .c-topCarousel-item-inner {
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }
    
    .c-topCarousel .c-topCarousel-text {
        position: absolute;
        z-index: 1;
        top: 50%;
        right: 50%;
        transform: translateY(-50%);
        width: 620px;
        text-align: center;
        max-width: 50%;
        padding: 0 2.5%;
        background: transparent;
    }
    
    .c-topCarousel .type-img {
        position: absolute;
        height: 100% !important;
        width: 100%;
    }
    
    .c-topCarousel .type-img img,
    .c-topCarousel .type-img picture {
        display: none;
    }
    
    .c-topCarousel .type-video {
        display: block;
    }
    
    .c-topCarousel .type-video + .type-img {
        display: none;
    }
    
    .c-topCarousel .slick-dots {
        position: absolute;
        bottom: 50px;
        left: 10%;
        width: 80%;
        padding: 0;
        margin: 0;
        z-index: 3;
        display: -ms-flexbox !important;
        display: flex !important;
        -ms-flex-pack: center;
        justify-content: center;
    }
    
    .c-topCarousel .slick-dots li {
        width: 25%;
        display: block;
        margin: 0;
        padding: 0 5px;
        box-sizing: border-box;
        list-style-type: none;
    }
    
    .c-topCarousel .slick-dots li button {
        position: relative;
        display: block;
        vertical-align: middle;
        background: none;
        border: none;
        width: 100%;
        height: 1px;
        margin: 0;
        padding: 0;
        transform: rotate(0);
        overflow: hidden;
        text-indent: -9999px;
        line-height: 1;
        padding: 10px 0;
    }
    
    .c-topCarousel .slick-dots li button:after {
        content: "";
        position: absolute;
        top: 10px;
        left: 0;
        width: 100%;
        height: 1px;
        background: rgba(255, 255, 255, 0.7);
    }
    
    .c-topCarousel .slick-dots li button span {
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        width: 0;
        height: 100%;
        z-index: 1;
    }
    
    .c-topCarousel .slick-dots li button span:after {
        content: "";
        position: absolute;
        top: 10px;
        left: 0;
        width: 100%;
        height: 1px;
        background: rgba(0, 0, 0, 0.5);
    }
    
    .c-topCarousel .slick-dots li button:hover:after,
    .c-topCarousel .slick-dots li button:focus:after {
        background: rgba(255, 255, 255, 0.9);
    }
    
    .c-topCarousel .slick-dots li button:hover span:after,
    .c-topCarousel .slick-dots li button:focus span:after {
        background: rgba(0, 0, 0, 0.7);
    }
    
    .c-topCarousel .slick-dots li button:before {
        display: none;
    }
    
    .c-topCarousel .slick-slide {
        background: #000;
    }
}
@media only screen and (max-width: 768px) {
    .c-topCarousel .slick-dots {
        text-align: center;
        margin: 0;
        background: #fff;
        margin-bottom: 40px;
    }
    
    .c-topCarousel .slick-dots > li {
        width: 10px;
        height: 10px;
        line-height: 10px;
        box-sizing: border-box;
        cursor: pointer;
        padding: 3px 13px;
    }
    
    .c-topCarousel .slick-dots > li > button {
        display: inline-block;
        vertical-align: middle;
        background: none;
        border: none;
        width: 7px;
        height: 7px;
        background: #979797;
        margin: 0;
        padding: 0;
        transform: rotate(45deg);
        overflow: hidden;
        text-indent: -9999px;
        line-height: 1;
        position: relative;
        left: -2px;
    }
    
    .c-topCarousel .slick-dots > li.slick-active > button {
        background: #081f2c;
    }
    
    .c-topCarousel .slick-dots > li span {
        display: none;
    }
}