.self-building-square-spinner, .self-building-square-spinner * {
	box-sizing: border-box;
}

.self-building-square-spinner {
	height: 40px;
	width: 40px;
	top: calc( -10px * 2 / 3);
}

.self-building-square-spinner .square {
	height: 10px;
	width: 10px;
	top: calc( -10px * 2 / 3);
	margin-right: calc(10px / 3);
	margin-top: calc(10px / 3);
	background: #ff1d5e;
	float: left;
	position:relative;
	opacity: 0;
	animation: self-building-square-spinner 6s infinite;
}

.self-building-square-spinner .square:nth-child(1) {
  animation-delay: calc(300ms * 6);
}

.self-building-square-spinner .square:nth-child(2) {
  animation-delay: calc(300ms * 7);
}

.self-building-square-spinner .square:nth-child(3) {
  animation-delay: calc(300ms * 8);
}

.self-building-square-spinner .square:nth-child(4) {
  animation-delay: calc(300ms * 3);
}

.self-building-square-spinner .square:nth-child(5) {
  animation-delay: calc(300ms * 4);
}

.self-building-square-spinner .square:nth-child(6) {
  animation-delay: calc(300ms * 5);
}

.self-building-square-spinner .square:nth-child(7) {
  animation-delay: calc(300ms * 0);
}

.self-building-square-spinner .square:nth-child(8) {
  animation-delay: calc(300ms * 1);
}

.self-building-square-spinner .square:nth-child(9) {
  animation-delay: calc(300ms * 2);
}

.self-building-square-spinner .clear{
  clear: both;
}

@keyframes self-building-square-spinner {
	0% {
		opacity	: 0;
	}
	5% {
		opacity	: 1;
		top		: 0;
	}
	50.9% {
		opacity	: 1;
		top		: 0;
	}
	55.9% {
		opacity	: 0;
		top		: inherit;
	}
}

input[type=range].vertical {
	-webkit-appearance: slider-vertical;
	appearance: slider-vertical;
}

/* 横幅詰めbox */
.narrow_string_container{
	position	: relative;
	line-height	: 0;
}
.narrow_string_box{
	position	: absolute;
	transform-origin: left
}

/* カウンタ */
.content_counter{
	counter-increment	: countnumber;
}
.display_counter:before{
	content			: counter(countnumber);
}

/* 動画上のplayボタン */
.video-js.vjs-paused .vjs-big-play-button{ 
    display: block;
}
.video-js.vjs-error .vjs-big-play-button{
    display: none;
}

/* タイムバー */
.video-js .vjs-progress-control {
    position: absolute;
    left: 0;
    right: 0;
    width: 100%;
    height: .5em;
    top: -.5em;
}
.video-js .vjs-progress-control .vjs-load-progress,
.video-js .vjs-progress-control .vjs-play-progress,
.video-js .vjs-progress-control .vjs-progress-holder {
    height: 100%;
}
.video-js .vjs-progress-control .vjs-play-progress:before{
    display: none;
}
.video-js .vjs-progress-control .vjs-progress-holder {
    margin: 0;
}
.video-js .vjs-progress-control:hover {
    height: 1.2em;
    top: -1.2em;
}
.video-js .vjs-play-progress {
    background-color: #cc181e
}
.video-js .vjs-load-progress {
    background: rgba(255,255,255,0.3);
}
.video-js .vjs-remaining-time-display{
	display:none;
}

/* 画面下部のメニュー(controlbar) */
.video-js .vjs-control-bar {
    display: flex;
    background-color: rgba(0,0,0,0.3);
    color: #ffffff;
    user-select: none;
}

/* 再生時間 0:00 / 0:00  */
.video-js .vjs-time-control{
    display:inline;
    padding-left: 0px;
    padding-right: 0px;
}
.video-js .vjs-time-control span{
    vertical-align: center;
    font-size: 17px;
}
.video-js .vjs-time-divider{
    text-align: center;
}

/* 最大化ボタン  */
.video-js .vjs-fullscreen-control {
    position: absolute;
    right: 10px;
}

/*** ユーザ定義コントロール ***/
/* skipボタン */
svg {
    user-select: none;
}
.video-js .skip {
    position: absolute;
    display: flex;
    justify-content: space-evenly;
    top: 50%;
    left: 50%;
    width: 100%;
    padding-left: 20%;
    padding-right: 20%;
    transform: translateY(-50%) translateX(-50%);
    font-size: 2.5em;
    line-height: 2.3em;
    height: 2.5em;
    opacity: 0;
    transition: opacity 1.0s;
}
.skip:hover {   
    opacity: 0.6;
}
.skip svg:hover {   
    cursor : pointer;
}
.video-js .skip div{
    width: 3em;
    height: 3em;
    border-radius: 3em;
    background-color: rgba(115,133,159,0.3);
}
.video-js .skip svg{
    position: relative;
    top: 0.25em;
    left: 0.25em;
}
.video-js .vjs-big-play-button{
	left	: 45%;
	width	: 10%;
	top		: 47%;
}

/* controlbar内にskipボタン */
.skip2 {
    position: absolute;
    right: 5em;
    display:inline;
    vertical-align: center;
    top: 0.2em;
    font-size: 12px;
}
.skip2 text{
    font-size: 17px;
}
.skip2 svg{
    cursor : pointer;
}

/* 再生速度変更ボタン */
.changeRate {
    position: absolute;
    right: 80px;
    font-size: 17px;
    display:inline;
    vertical-align: center;
    line-height: 2.4;
}
.changeRate button{
    cursor : pointer;
}

/*** video.js以外 ***/
.uri{
    resize: none;
    width: 100%;
}