.pc.timeline-corporate {
    position: relative;
    overflow: hidden;
    background-size: cover;
    background-position: bottom;
    line-height: 0;
}

.pc .timeline-corporate-background {
    width: 100%;
}

.pc .timeline-corporate-overlay {
    position: absolute;
    z-index: 1000;
    line-height: 0;
    pointer-events: none;
}

.pc .timeline-corporate-object {
    position: absolute;
    line-height: 0;
    pointer-events: none;
}

.pc .timeline-corporate-object img {
    transition: filter 200ms linear 0ms;
    transform: translateZ(0);  /* Workaround for iOS Safari filter bug */
}

.pc .timeline-corporate-hover {
    filter: brightness(1.1);
}

.pc .timeline-corporate-hint {
    display: block;
    position: absolute;
    z-index: 1000;
    line-height: normal;
    pointer-events: none;
    opacity: 0;
    transition: opacity 200ms linear 0ms;
}

@keyframes timeline-corporate-jump-up {
    from {
        transform: translateY(0);
    }
    to {
        transform: translateY(-200%);
    }
}

.pc .timeline-corporate-jump-up {
    animation: timeline-corporate-jump-up 2s ease-in forwards;
}

.pc .timeline-corporate-jump-down {
    animation: timeline-corporate-jump-up 2s ease-in reverse forwards;
}

.pc .balloon-up {
    position: relative;
    display: inline-block;
    font-size: 1.4vw;
    padding: 1vw 1vw;
    border-radius: 1vw;
	letter-spacing: 2px;
    background-color: #ffffff;
    color: #444444;
    border: solid 0.2vw #555;
    box-sizing: border-box;
}

.pc .balloon-up:before {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -1vw;
    border: 1vw solid transparent;
    border-top: 1vw solid #ffffff;
    z-index: 1000;
}

.pc .balloon-up:after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -1.25vw;
    border: 1.25vw solid transparent;
    border-top: 1.25vw solid #555;
    z-index: 999;
}

.pc .balloon-down {
    position: relative;
    display: inline-block;
    font-size: 1.3vw;
    padding: 1vw 1vw;
	letter-spacing: 2px;
    border-radius: 1vw;
    background-color: #ffffff;
    color: #444444;
    border: solid 0.2vw #555;
    box-sizing: border-box;
}

.pc .balloon-down:before {
    content: "";
    position: absolute;
    bottom: 100%;
    left: 50%;
    margin-left: -1vw;
    border: 1vw solid transparent;
    border-bottom: 1vw solid #ffffff;
    z-index: 1000;
}

.pc .balloon-down:after {
    content: "";
    position: absolute;
    bottom: 100%;
    left: 50%;
    margin-left: -1.25vw;
    border: 1.25vw solid transparent;
    border-bottom: 1.25vw solid #555;
    z-index: 999;
}

.pc .balloon-up img, .balloon-down img {
    width: 10vw;
}