/*-- video-js.css customize video skin --*/
.video-js .vjs-menu-button-inline.vjs-slider-active, .video-js .vjs-menu-button-inline:focus,
.video-js .vjs-menu-button-inline:hover, .video-js.vjs-no-flex .vjs-menu-button-inline,
.video-js .volume-panel-horizontal:hover {
    transition-property: all;
    transition-duration: 0.4s;
    transition-timing-function: ease-in-out;
    width: 10em;
}
.vjs-big-play-button {
    z-index: 100
}
.video-js .vjs-controls-disabled .vjs-big-play-button {
    display: none !important
}

.video-js .vjs-control {
    width: auto;
    display: flex;
    flex-flow: row;
    justify-content: flex-start;
    transition-property: all;
    transition-duration: 0.4s;
    transition-timing-function: ease-in-out;
}

.video-js .vjs-menu-button-inline:before {
    width: 1.5em;
}

.vjs-menu-button-inline .vjs-menu {
    left: 3em;
}

.video-js.vjs-paused .vjs-big-play-button, .vjs-paused.vjs-has-started.video-js .vjs-big-play-button {
    display: block
}

.video-js .vjs-load-progress div, .vjs-seeking .vjs-big-play-button,
.vjs-waiting .vjs-big-play-button {
    display: none !important
}

.video-js .vjs-mouse-display:after, .video-js .vjs-play-progress:after {
    padding: 0 .4em .3em;
    /**/
    padding: 0;
}

.video-js.vjs-ended .vjs-loading-spinner {
    display: none
}

.video-js.vjs-ended .vjs-big-play-button {
    display: block !important
}

.video-js * , .video-js:after, .video-js:before {
    box-sizing: inherit;
    font-size: inherit;
    color: inherit;
    line-height: inherit
}

.video-js.vjs-fullscreen, .video-js.vjs-fullscreen .vjs-tech {
    width: 100% !important;
    height: 100% !important
}

.video-js {
    font-size: 14px;
    overflow: hidden;
}

.video-js .vjs-control {
    color: inherit;
}

.video-js .vjs-menu-button-inline:hover, .video-js.vjs-no-flex .vjs-menu-button-inline {
    /*width: 8.35em;*/
}

.video-js .vjs-volume-menu-button.vjs-volume-menu-button-horizontal:hover .vjs-menu .vjs-menu-content {
    height: 3em;
    width: 6.35em;
}

.video-js .vjs-control:focus:before, .video-js .vjs-control:hover:before {
    text-shadow: 0 0 1em #fff, 0 0 1em #fff, 0 0 1em #fff
}

.video-js .vjs-spacer, .video-js .vjs-time-control {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-flex: 1 1 auto;
    -moz-box-flex: 1 1 auto;
    -webkit-flex: 1 1 auto;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    margin: 0 !important;
    padding: 0 5px;
}

.video-js .vjs-time-control {
    -webkit-box-flex: 0 1 auto;
    -moz-box-flex: 0 1 auto;
    -webkit-flex: 0 1 auto;
    -ms-flex: 0 1 auto;
    flex: 0 1 auto;
    width: auto
}

.video-js .vjs-time-control.vjs-time-divider {
    width: 14px
}

.video-js .vjs-time-control.vjs-time-divider div {
    width: 100%;
    text-align: center
}

.video-js .vjs-time-control.vjs-current-time {
    margin-left: 1em;
}

.video-js .vjs-time-control .vjs-current-time-display, .video-js .vjs-time-control .vjs-duration-display {
    width: 100%
}

.video-js .vjs-time-control .vjs-current-time-display {
    text-align: right
}

.video-js .vjs-time-control .vjs-duration-display {
    text-align: left
}

.video-js .vjs-play-progress:before, .video-js .vjs-progress-control .vjs-play-progress:before,
.video-js .vjs-remaining-time, .video-js .vjs-volume-level:after,
.video-js .vjs-volume-level:before, .video-js.vjs-live .vjs-time-control.vjs-current-time,
.video-js.vjs-live .vjs-time-control.vjs-duration, .video-js.vjs-live .vjs-time-control.vjs-time-divider,
.video-js.vjs-no-flex .vjs-time-control.vjs-remaining-time {
    display: none
}

.video-js.vjs-no-flex .vjs-time-control {
    display: table-cell;
    width: 4em;
}

.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-progress-holder {
    margin: 0
}

.video-js .vjs-progress-control:hover {
    height: 1.5em;
    top: -1.5em
}

.video-js .vjs-control-bar {
    -webkit-transition: -webkit-transform .1s ease 0s;
    -moz-transition: -moz-transform .1s ease 0s;
    -ms-transition: -ms-transform .1s ease 0s;
    -o-transition: -o-transform .1s ease 0s;
    transition: transform .1s ease 0s
}

.video-js.not-hover.vjs-has-started.vjs-paused.vjs-user-active .vjs-control-bar,
.video-js.not-hover.vjs-has-started.vjs-paused.vjs-user-inactive .vjs-control-bar,
.video-js.not-hover.vjs-has-started.vjs-playing.vjs-user-active .vjs-control-bar,
.video-js.not-hover.vjs-has-started.vjs-playing.vjs-user-inactive .vjs-control-bar,
.video-js.vjs-has-started.vjs-playing.vjs-user-inactive .vjs-control-bar {
    visibility: visible;
    opacity: 1;
    
    -webkit-backface-visibility: hidden;
   -webkit-transform: translateY(3.8em);
    -moz-transform: translateY(3.8em);
    -ms-transform: translateY(3.8em);
    -o-transform: translateY(3.8em);
    transform: translateY(3.8em);
    -webkit-transition: -webkit-transform 1s ease 0s;
    -moz-transition: -moz-transform 1s ease 0s;
    -ms-transition: -ms-transform 1s ease 0s;
    -o-transition: -o-transform 1s ease 0s;
    transition: transform 1s ease 0s
    
}

.video-js.not-hover.vjs-has-started.vjs-paused.vjs-user-active .vjs-progress-control,
.video-js.not-hover.vjs-has-started.vjs-paused.vjs-user-inactive .vjs-progress-control,
.video-js.not-hover.vjs-has-started.vjs-playing.vjs-user-active .vjs-progress-control,
.video-js.not-hover.vjs-has-started.vjs-playing.vjs-user-inactive .vjs-progress-control,
.video-js.vjs-has-started.vjs-playing.vjs-user-inactive .vjs-progress-control {
    height: .25em;
    top: -.25em;
    pointer-events: none;
    -webkit-transition: height 1s, top 1s;
    -moz-transition: height 1s, top 1s;
    -ms-transition: height 1s, top 1s;
    -o-transition: height 1s, top 1s;
    transition: height 1s, top 1s
}

.video-js.not-hover.vjs-has-started.vjs-paused.vjs-user-active.vjs-fullscreen .vjs-progress-control,
.video-js.not-hover.vjs-has-started.vjs-paused.vjs-user-inactive.vjs-fullscreen .vjs-progress-control,
.video-js.not-hover.vjs-has-started.vjs-playing.vjs-user-active.vjs-fullscreen .vjs-progress-control,
.video-js.not-hover.vjs-has-started.vjs-playing.vjs-user-inactive.vjs-fullscreen .vjs-progress-control,
.video-js.vjs-has-started.vjs-playing.vjs-user-inactive.vjs-fullscreen .vjs-progress-control {
    opacity: 0;
    -webkit-transition: opacity 1s ease 1s;
    -moz-transition: opacity 1s ease 1s;
    -ms-transition: opacity 1s ease 1s;
    -o-transition: opacity 1s ease 1s;
    transition: opacity 1s ease 1s
}

.video-js.vjs-live .vjs-live-control {
    margin-left: 1em
}

.video-js .vjs-big-play-button {
    top: 50%;
    left: 50%;
    margin-left: -1em;
    width: 2em;
    border: none;
    color: rgba(255, 255, 255, 1);
    -webkit-transition: border-color .4s, outline .4s, background-color .4s;
    -moz-transition: border-color .4s, outline .4s, background-color .4s;
    -ms-transition: border-color .4s, outline .4s, background-color .4s;
    -o-transition: border-color .4s, outline .4s, background-color .4s;
    transition: border-color .4s, outline .4s, background-color .4s;
    background-color: rgba(0, 0, 0, .45);
    font-size: 2.5em;
    border-radius: 50%;
    height: 2em !important;
    line-height: 2em !important;
    margin-top: -1em !important
}

.video-js .vjs-menu-button-popup .vjs-menu {
    left: -3em;
}
.video-js .vjs-menu-button-popup .vjs-menu .vjs-menu-content:after {
    content: "";
    position: absolute;
    top: calc(100% - 1.5rem);
    left: 50%;
    border: solid transparent;
    height: 0;
    width: 0;
    pointer-events: none;
    border-color: transparent;
    border-top-color: #151b17;
    border-width: 10px;
    margin-left: -10px;
}
.video-js .vjs-menu-button-popup .vjs-menu .vjs-menu-content {
    background-color: transparent;
    width: 12em;
    left: -1.5em;
    padding-bottom: 1.5em;
}

.clearfix:after {
    clear: both;
}

.video-js .vjs-menu-button-popup .vjs-menu .vjs-menu-item, .video-js .vjs-menu-button-popup .vjs-menu .vjs-menu-title {
    position: relative;
    background-color: #151b17;
    margin:  0;
    padding: .5em;
    font-weight: 100;
    color: rgba(176, 176, 176, 1);
}
.video-js .vjs-menu-button-popup .vjs-menu .vjs-menu-item:last-child, .video-js .vjs-menu-button-popup .vjs-menu .vjs-menu-title:last-child {
    border-radius: 0 0 0.4em 0.4em;
}
.video-js .vjs-menu-button-popup .vjs-menu .vjs-menu-item:first-child, .video-js .vjs-menu-button-popup .vjs-menu .vjs-menu-title:first-child {  
    border-radius: 0.4em 0.4em 0 0;
}
.video-js .vjs-menu-button-popup .vjs-menu .vjs-menu-item span {
    font-size: 1rem;
    font-weight: 100;
    color: rgba(100, 100, 100, 1);
}
.video-js .vjs-menu-button-popup .vjs-menu .vjs-menu-item.vjs-selected span {
    color: #2483d5;
}
.video-js .vjs-menu-button-popup .vjs-menu .vjs-menu-item.vjs-selected:after {
    content: "";
    position: absolute;
    top: 0;
    left: -10px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: #2483d5;
}

.video-js .vjs-big-play-button:active, .video-js .vjs-big-play-button:focus,
.video-js:hover .vjs-big-play-button {
    background-color: rgba(33, 152, 255, .9)
}

.video-js .vjs-loading-spinner {
    border-color: rgba(36, 131, 213, .8)
}

.video-js .vjs-control-bar2 {
    background-color: #000
}

.video-js .vjs-control-bar {
    background-color: rgba(0, 0, 0, .3) !important;
    color: #fff;
    font-size: 14px
}

.video-js .vjs-play-progress, .video-js .vjs-volume-level {
    background-color: #2483d5
}

/*-- デフォルトcssからの変更 --*/
.video-js .vjs-control-bar {
    height: 3.8em;
    padding: 0.3em 1em;
}
.video-js .vjs-play-control,
.video-js .vjs-volume-menu-button:before,
.vjs-icon-volume-high:before,
.video-js .vjs-mute-control:before,
.video-js .vjs-volume-menu-button:before,
.video-js .vjs-subtitles-button,
.video-js button.vjs-subs-caps-button,
.vjs-icon-fullscreen-enter,
.video-js .vjs-fullscreen-control {
    font-size: 0;
    width: 42px;
    height: 42px;
    line-height: 42px;
    background-repeat: no-repeat;
    background-size: 80% 80%;
    background-position: center center;
    background-color: transparent;
    border-width: 1px;
    border-style: solid;
    border-color: rgba(249, 249, 249, 1);
    border-radius: 50%;
    transition-property: background-color;
    transition-duration: 0.4s;
    transition-timing-function: ease-in-out;
}
body:not(.mobile) .video-js .vjs-play-control:hover,
body:not(.mobile) .video-js .vjs-volume-menu-button:hover:before,
.vjs-icon-volume-high:hover:before,
.video-js .vjs-mute-control:hover:before,
.video-js .vjs-volume-menu-button:hover:before,
body:not(.mobile) .video-js .vjs-subtitles-button:hover,
body:not(.mobile) .video-js button.vjs-subs-caps-button:hover,
body:not(.mobile) .vjs-icon-fullscreen-enter:hover,
body:not(.mobile) .video-js .vjs-fullscreen-control:hover {
    background-color: rgba(249, 249, 249, 0.4);
}
.video-js .vjs-play-control {
    background-image: url("../images/icon/icon_pause.svg");
}
.video-js.vjs-paused .vjs-play-control {
    background-image: url("../images/icon/icon_play.svg");
}
.video-js .vjs-volume-menu-button:before,
.vjs-icon-volume-high:before,
.video-js .vjs-mute-control:before,
.video-js .vjs-volume-menu-button:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    background-image: url("../images/icon/icon_volume.svg");
}
.video-js .vjs-volume-menu-button.vjs-vol-1:before,
.vjs-icon-volume-high.vjs-vol-1:before,
.video-js .vjs-mute-control.vjs-vol-1:before,
.video-js .vjs-volume-menu-button.vjs-vol-1:before {
    background-image: url("../images/icon/icon_volume_vol-1.svg");
}
.video-js .vjs-volume-menu-button.vjs-vol-2:before,
.vjs-icon-volume-high.vjs-vol-2:before,
.video-js .vjs-mute-control.vjs-vol-2:before,
.video-js .vjs-volume-menu-button.vjs-vol-2:before {
    background-image: url("../images/icon/icon_volume_vol-2.svg");
}
.vjs-icon-volume-mute,
.video-js .vjs-mute-control.vjs-vol-0,
.video-js .vjs-volume-menu-button.vjs-vol-0 {
    font-size: 0;
}
.video-js .vjs-volume-menu-button.vjs-vol-0:before,
.vjs-icon-volume-mute:before,
.video-js .vjs-mute-control.vjs-vol-0:before,
.video-js .vjs-volume-menu-button.vjs-vol-0:before {
    background-image: url("../images/icon/icon_volume_inactive.svg");
}
.video-js .vjs-subtitles-button,
.video-js button.vjs-subs-caps-button {
    background-image: url("../images/icon/icon_imporse.svg");
}
.video-js .vjs-fullscreen-control {
    background-image: url("../images/icon/icon_maxim.svg");
}
.video-js.vjs-fullscreen .vjs-fullscreen-control {
    background-image: url("../images/icon/icon_minimum.svg");
}
.vjs-icon-volume-high,
.video-js .vjs-mute-control,
.vjs-icon-volume-mute,
.video-js .vjs-mute-control,
.video-js .vjs-volume-menu-button,
.video-js .vjs-subtitles-button,
.video-js .vjs-volume-menu-button {
    width: 42px;
    height: 42px;
    line-height: 42px;
    background-color: transparent;
    outline-color: transparent;
    margin: 0 1rem 0 1rem;   
}
.vjs-icon-volume-mute,
.video-js .vjs-mute-control,
.video-js .vjs-volume-menu-button {
    margin: 0 0.2rem 0 1rem;
}
.video-js div.vjs-subs-caps-button {
    margin: 0 1rem 0 1rem;
}
.video-js .vjs-volume-menu-button[type="button"] {
    -webkit-appearance: none !important;
}

/*
リセット
button {
    background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    appearance: none;
}
*/
.video-js .vjs-slider {
    background-color: transparent;
}
.vjs-volume-bar.vjs-slider-horizontal,
.vjs-volume-bar.vjs-panel-horizontal {
    width: 8em;
    height: .6em;
    margin: 1.15em .45em;
    background-color: rgba(255, 255, 255, 0.3);
}
.vjs-slider-horizontal .vjs-volume-level {
    height: .6em;
}

.vjs-menu-item-text {

}

.vjs-poster:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url("../images/etc/pattern_dot.png") repeat center center/3px 3px;
    z-index: 3;
    pointer-events: none;
}

.vjs-menu-button-popup .vjs-menu,
.vjs-menu-button-popup .vjs-volume-panel {
    display: block !important;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transform: translateY(10px);
    transition-property: opacity, transform;
    transition-duration: 0.4s;
    transition-timing-function: ease-in-out;
}
.vjs-menu-button-popup:hover .vjs-menu,
.vjs-menu-button-popup:hover .vjs-volume-panel,
.vjs-menu-button-popup .vjs-menu.vjs-lock-showing {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0px);
}
.vjs-icon-volume-mute ~ .vjs-control,
.video-js .vjs-mute-control.vjs-vol-0 ~ .vjs-control,
.video-js .vjs-volume-menu-button.vjs-vol-0 ~ .vjs-control {
    width: 0;
}
.video-js .vjs-time-tooltip {
    background-color: #fff;
    background-color: rgba(242, 242, 242, 1);
    -webkit-border-radius: 0.3em;
    -moz-border-radius: 0.3em;
    border-radius: 0.3em;
    color: #000;
    float: right;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 1em;
    padding: 3px 4px 4px;
    pointer-events: none;
    position: relative;
    top: -2.4em;
    visibility: hidden;
    z-index: 1
}
.video-js .vjs-progress-holder:focus .vjs-time-tooltip {
    display: none
}
.video-js .vjs-progress-control:hover .vjs-progress-holder:focus .vjs-time-tooltip,
.video-js .vjs-progress-control:hover .vjs-time-tooltip {
    display: block;
    font-size: 0.6em;
    visibility: visible
}
.video-js .vjs-progress-control.disabled:hover .vjs-time-tooltip {
    font-size: 1em
}
.vjs-time-tooltip:after {
    content: "";
    position: absolute;
    top: calc(100% - 1px);
    left: 50%;
    border: solid transparent;
    height: 0;
    width: 0;
    pointer-events: none;
    border-color: transparent;
    border-top-color: rgba(242, 242, 242, 1);
    border-width: 4px;
    margin-left: -4px;
}
.vjs-icon-fullscreen-enter:before, .video-js .vjs-fullscreen-control .vjs-icon-placeholder:before {
      content: "";
      display: none;
}
.video-js .vjs-volume-panel .vjs-volume-control {
    opacity: 1;
    width: auto;
}


/*教科別色分け*/
body.rika .video-js .vjs-menu-button-popup .vjs-menu .vjs-menu-item.vjs-selected span {
    color: rgba(105, 188, 130, 1);
}
body.rika .video-js .vjs-menu-button-popup .vjs-menu .vjs-menu-item.vjs-selected:after {
    background-color: rgba(105, 188, 130, 1);
}
body.rika .video-js .vjs-play-progress, body.rika .video-js .vjs-volume-level {
    background-color: rgba(105, 188, 130, 1);
}
body.rika .video-js .vjs-big-play-button:active,
body.rika .video-js .vjs-big-play-button:focus,
body.rika .video-js:hover .vjs-big-play-button {
    background-color: rgba(105, 188, 130, 1);
}
body.sansu .video-js .vjs-menu-button-popup .vjs-menu .vjs-menu-item.vjs-selected span {
    color: rgba(158, 216, 245, 1);
}
body.sansu .video-js .vjs-menu-button-popup .vjs-menu .vjs-menu-item.vjs-selected:after {
    background-color: rgba(158, 216, 245, 1);
}
body.sansu .video-js .vjs-play-progress, body.sansu .video-js .vjs-volume-level {
    background-color: rgba(158, 216, 245, 1);
}
body.sansu .video-js .vjs-big-play-button:active,
body.sansu .video-js .vjs-big-play-button:focus,
body.sansu .video-js:hover .vjs-big-play-button {
    background-color: rgba(158, 216, 245, 1);
}
body.taiiku .video-js .vjs-menu-button-popup .vjs-menu .vjs-menu-item.vjs-selected span {
    color: rgba(128, 91, 133, 1);
}
body.taiiku .video-js .vjs-menu-button-popup .vjs-menu .vjs-menu-item.vjs-selected:after {
    background-color: rgba(128, 91, 133, 1);
}
body.taiiku .video-js .vjs-play-progress, body.taiiku .video-js .vjs-volume-level {
    background-color: rgba(128, 91, 133, 1);
}
body.taiiku .video-js .vjs-big-play-button:active,
body.taiiku .video-js .vjs-big-play-button:focus,
body.taiiku .video-js:hover .vjs-big-play-button {
    background-color: rgba(128, 91, 133, 1);
}
body.seikatsu .video-js .vjs-menu-button-popup .vjs-menu .vjs-menu-item.vjs-selected span {
    color: rgba(214, 129, 71, 1);
}
body.seikatsu .video-js .vjs-menu-button-popup .vjs-menu .vjs-menu-item.vjs-selected:after {
    background-color: rgba(214, 129, 71, 1);
}
body.seikatsu .video-js .vjs-play-progress, body.seikatsu .video-js .vjs-volume-level {
    background-color: rgba(214, 129, 71, 1);
}
body.seikatsu .video-js .vjs-big-play-button:active,
body.seikatsu .video-js .vjs-big-play-button:focus,
body.seikatsu .video-js:hover .vjs-big-play-button {
    background-color: rgba(214, 129, 71, 1);
}