@keyframes flippedtile-left-in {
    from {
        right: 100%;
    }
    to {
        right: 0;
    }
}
@keyframes flippedtile-right-in {
    from {
        left: 100%;
    }
    to {
        left: 0;
    }
}
@keyframes flippedtile-top-in {
    from {
        bottom: 100%;
    }
    to {
        bottom: 0;
    }
}
@keyframes flippedtile-bottom-in {
    from {
        top: 100%;
    }
    to {
        top: 0;
    }
}
@keyframes flippedtile-blur-in {
    from {
        filter: blur(50px);
        opacity: 0.0;
    }
    to {
        filter: blur(0px);
        opacity: 1.0;
    }
}
@keyframes flippedtile-opacity-in {
    from {
        opacity: 0.0;
    }
    to {
        opacity: 0.5;
    }
}

.flippedtile {
    position: relative;
    overflow: hidden;
    line-height: 0;
    background-size: cover;
}

@media screen and (max-width: 799px) {
    .flippedtile-tile {
        display: inline-block;
        position: relative;
        width: 100%;
        padding-bottom: 56%;  /* 画像の高さ / 画像の幅 * CSS width (9/16*1)*/
        overflow: hidden;
    }
}
@media print, (min-width: 800px) {
    .flippedtile-tile {
        display: inline-block;
        position: relative;
        width: 25%;
        padding-bottom: 14%;  /* 画像の高さ / 画像の幅 * CSS width (9/16*0.25)*/
        overflow: hidden;
    }
}
.flippedtile-inner {
    position: absolute;
    width: 100%;
    height: 100%;
}
.flippedtile-slide {
    position: absolute;
    overflow: hidden;
    width: 100%;
    height: 100%;
    border: #ffffff solid 0.2em;
    box-sizing: border-box;
}
.flippedtile-image {
    position: absolute;
    width: 100%;
    height: 100%;
}
.flippedtile-image img {
    animation: flippedtile-blur-in 500ms ease 0ms 1 normal both;
}
.flippedtile-blank {
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: #ffffff;
    animation: flippedtile-opacity-in 250ms ease 0ms 2 alternate both;
}
.flippedtile-left {
    animation: flippedtile-left-in 1000ms ease 0ms 1 normal both;
    animation-play-state: paused;
}
.flippedtile-right {
    animation: flippedtile-right-in 1000ms ease 0ms 1 normal both;
    animation-play-state: paused;
}
.flippedtile-top {
    animation: flippedtile-top-in 1000ms ease 0ms 1 normal both;
    animation-play-state: paused;
}
.flippedtile-bottom {
    animation: flippedtile-bottom-in 1000ms ease 0ms 1 normal both;
    animation-play-state: paused;
}
@media screen and (max-width: 799px) {
    .flippedtile-mobile-only {
        display: block;
    }
    .flippedtile-pc-only {
        display: none;
    }
}
@media print, (min-width: 800px) {
    .flippedtile-mobile-only {
        display: none;
    }
    .flippedtile-pc-only {
        display: block;
    }
}