/**
  * Style.css
  *   must edit style.less, and compile style.css
 **/
/* ------------------------------------------------
 Common
------------------------------------------------ */
/* IMAGE
------------------------------------------------ */
img {
  /*	vertical-align: bottom;*/
  border: none;
}
img.lft {
  margin: 0px 15px 15px 0;
}
img.rit {
  margin: 0px 0 15px 15px;
}
img.abm {
  margin-bottom: -0.45em;
}
img.round {
  border-radius: 100%;
}
/* LINK HOVER */
/* ----------------------------------------------------- */
a.btn:hover,
input.btn:hover,
button.btn:hover,
#form input[type="button"]:hover,
#form input[type="submit"]:hover,
#form input[type="reset"]:hover,
a:hover img[class='ov'] {
  -moz-opacity: 0.7;
  opacity: 0.7;
  filter: alpha(opacity=70);
}
a.btn,
input.btn,
button.btn,
#form input[type="button"],
#form input[type="submit"],
#form input[type="reset"],
a:hover img[class='ov'] {
  -moz-opacity: 1;
  opacity: 1;
  filter: alpha(opacity=100);
  transition: all 0.5s linear;
  cursor: pointer;
  text-decoration: none;
  box-sizing: border-box;
}
/* FROM PARTS */
/* ----------------------------------------------------- */
input[type="text"],
input[type="tel"],
input[type="email"],
input[type="password"],
select,
textarea {
  padding: 0.375rem 0.75rem;
  line-height: 1.5;
  color: #495057;
  background-color: #fff;
  background-image: none;
  background-clip: padding-box;
  border: 1px solid #ced4da;
  transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
  box-sizing: border-box;
  width: 100%;
  text-align: left;
  /* work-around */
  font-size: 16px;
  transform: scale(0.8);
}
select:not([size]):not([multiple]) {
  height: calc(2.2rem + 2px);
  font-size: 0.8rem;
}
@media screen and (min-width: 992px) {
  input[type="text"],
  input[type="tel"],
  input[type="email"],
  input[type="password"],
  select,
  textarea {
    width: auto;
  }
}
/* Placeholder */
/* ----------------------------------------------------- */
:placeholder-shown {
  color: #aaa;
  text-align: center;
}
::-webkit-input-placeholder {
  color: #aaa;
  text-align: center;
}
::-moz-placeholder {
  color: #aaa;
  text-align: center;
}
:-moz-placeholder {
  color: #aaa;
  text-align: center;
}
:-ms-input-placeholder {
  color: #aaa;
  text-align: center;
}
/* SHOW POSITION CONTROL
------------------------------------------------ */
.hide {
  display: none;
}
.rit {
  float: right;
}
.lft {
  float: left;
}
/* FLOAT CLEAR
------------------------------------------------ */
.clbth {
  clear: both;
}
.cllft {
  clear: left;
}
.clrit {
  clear: right;
}
/* TEXT ALIGN CONTROL
------------------------------------------------ */
.alnrit {
  text-align: right;
}
.alnctr {
  text-align: center;
}
.alnlft {
  text-align: left;
}
/* VERTICAL-ALIGN CONTROL
------------------------------------------------ */
.alntop {
  vertical-align: top;
}
.alnmid {
  vertical-align: middle;
}
.alnbtm {
  vertical-align: bottom;
}
.alnbln {
  vertical-align: baseline;
}
/* FONT
------------------------------------------------ */
.fs-xx-small {
  font-size: 0.6rem;
}
.fs-x-small {
  font-size: 0.7rem;
}
.fs-small {
  font-size: 0.85rem;
}
.fs-normal {
  font-size: 1rem;
}
.fs-large {
  font-size: 1.15rem;
}
.fs-x-large {
  font-size: 1.3rem;
}
.fs-xx-large {
  font-size: 1.8rem;
}
.fw-normal {
  font-weight: normal;
}
.fw-bold {
  font-weight: bold;
}
.fc-black {
  color: #222;
}
.fc-white {
  color: #fff;
}
.fc-mossgreen {
  color: #b8d200;
}
.fc-red {
  color: #AF0700;
}
.fc-blue {
  color: #134690;
}
.fc-skyblue {
  color: #52a5dc;
}
.fc-gray {
  color: #888;
}
/* BACKGROUND COLOR
------------------------------------------------ */
.bg-lightgray {
  background-color: #f7f7f7;
}
.bg-red {
  background-color: #c30d23;
}
.bg-green {
  background-color: #5cb531;
}
.bg-orange {
  background-color: #f08300;
}
.bg-skyblue {
  background-color: #52a5dc;
}
.bg-beige {
  background-color: #fcf9f7;
}
/* DATA TABLE
------------------------------------------------ */
.data_table {
  border-collapse: separate;
  border: none;
  border-top: 1px solid #ccc;
  border-right: 1px solid #ccc;
}
.data_table th,
.data_table td {
  border: none;
  border-bottom: 1px solid #ccc;
  border-left: 1px solid #ccc;
  padding: 5px 8px;
}
.data_table th {
  white-space: nowrap;
  font-weight: bold;
}
.data_table td table {
  border-width: 0;
  border-style: none;
  padding: 0;
  margin: 0 !important;
  font-size: inherit !important;
}
.data_table td table th,
.data_table td table td {
  border: none;
  padding: 2px 1px;
}
.no_width {
  width: auto;
}
.full_width {
  width: 100%;
}
/* BOX-MODEL WIDTH-SIZE
------------------------------------------------ */
.w10 {
  width: 10px;
}
.w20 {
  width: 20px;
}
.w30 {
  width: 30px;
}
.w40 {
  width: 40px;
}
.w50 {
  width: 50px;
}
.w60 {
  width: 60px;
}
.w70 {
  width: 70px;
}
.w80 {
  width: 80px;
}
.w90 {
  width: 90px;
}
.w100 {
  width: 100px;
}
.w110 {
  width: 110px;
}
.w120 {
  width: 120px;
}
.w130 {
  width: 130px;
}
.w140 {
  width: 140px;
}
.w150 {
  width: 150px;
}
.w160 {
  width: 160px;
}
.w170 {
  width: 170px;
}
.w180 {
  width: 180px;
}
.w190 {
  width: 190px;
}
.w200 {
  width: 200px;
}
.w250 {
  width: 250px;
}
.w300 {
  width: 300px;
}
.w350 {
  width: 350px;
}
.w400 {
  width: 400px;
}
.w450 {
  width: 450px;
}
.w500 {
  width: 500px;
}
.w550 {
  width: 550px;
}
.w600 {
  width: 600px;
}
.w650 {
  width: 650px;
}
.w700 {
  width: 700px;
}
/* MARGIN&PADDING ADJUST
------------------------------------------------ */
.mt0 {
  margin-top: 0px !important;
}
.mt5 {
  margin-top: 5px !important;
}
.mt10 {
  margin-top: 10px !important;
}
.mt15 {
  margin-top: 15px !important;
}
.mt20 {
  margin-top: 20px !important;
}
.mt25 {
  margin-top: 25px !important;
}
.mt30 {
  margin-top: 30px !important;
}
.mt35 {
  margin-top: 35px !important;
}
.mt40 {
  margin-top: 40px !important;
}
.mt45 {
  margin-top: 45px !important;
}
.mt50 {
  margin-top: 50px !important;
}
.mt60 {
  margin-top: 60px !important;
}
.mt70 {
  margin-top: 70px !important;
}
.mt80 {
  margin-top: 80px !important;
}
.mt90 {
  margin-top: 90px !important;
}
.mt100 {
  margin-top: 100px !important;
}
.mb0 {
  margin-bottom: 0px !important;
}
.mb5 {
  margin-bottom: 5px !important;
}
.mb10 {
  margin-bottom: 10px !important;
}
.mb15 {
  margin-bottom: 15px !important;
}
.mb20 {
  margin-bottom: 20px !important;
}
.mb25 {
  margin-bottom: 25px !important;
}
.mb30 {
  margin-bottom: 30px !important;
}
.mb35 {
  margin-bottom: 35px !important;
}
.mb40 {
  margin-bottom: 40px !important;
}
.mb45 {
  margin-bottom: 45px !important;
}
.mb50 {
  margin-bottom: 50px !important;
}
.mb60 {
  margin-bottom: 60px !important;
}
.mb70 {
  margin-bottom: 70px !important;
}
.mb80 {
  margin-bottom: 80px !important;
}
.mb90 {
  margin-bottom: 90px !important;
}
.mb100 {
  margin-bottom: 100px !important;
}
.mr0 {
  margin-right: 0px !important;
}
.mr5 {
  margin-right: 5px !important;
}
.mr10 {
  margin-right: 10px !important;
}
.mr15 {
  margin-right: 15px !important;
}
.mr20 {
  margin-right: 20px !important;
}
.mr25 {
  margin-right: 25px !important;
}
.mr30 {
  margin-right: 30px !important;
}
.mr35 {
  margin-right: 35px !important;
}
.mr40 {
  margin-right: 40px !important;
}
.mr45 {
  margin-right: 45px !important;
}
.mr50 {
  margin-right: 50px !important;
}
.mr60 {
  margin-right: 60px !important;
}
.mr70 {
  margin-right: 70px !important;
}
.mr80 {
  margin-right: 80px !important;
}
.mr90 {
  margin-right: 90px !important;
}
.mr100 {
  margin-right: 100px !important;
}
.ml0 {
  margin-left: 0px !important;
}
.ml5 {
  margin-left: 5px !important;
}
.ml10 {
  margin-left: 10px !important;
}
.ml15 {
  margin-left: 15px !important;
}
.ml20 {
  margin-left: 20px !important;
}
.ml25 {
  margin-left: 25px !important;
}
.ml30 {
  margin-left: 30px !important;
}
.ml35 {
  margin-left: 35px !important;
}
.ml40 {
  margin-left: 40px !important;
}
.ml45 {
  margin-left: 45px !important;
}
.ml50 {
  margin-left: 50px !important;
}
.ml60 {
  margin-left: 60px !important;
}
.ml70 {
  margin-left: 70px !important;
}
.ml80 {
  margin-left: 80px !important;
}
.ml90 {
  margin-left: 90px !important;
}
.ml100 {
  margin-left: 100px !important;
}
.pt0 {
  padding-top: 0px !important;
}
.pt5 {
  padding-top: 5px !important;
}
.pt10 {
  padding-top: 10px !important;
}
.pt15 {
  padding-top: 15px !important;
}
.pt20 {
  padding-top: 20px !important;
}
.pt25 {
  padding-top: 25px !important;
}
.pt30 {
  padding-top: 30px !important;
}
.pt35 {
  padding-top: 35px !important;
}
.pt40 {
  padding-top: 40px !important;
}
.pt45 {
  padding-top: 45px !important;
}
.pt50 {
  padding-top: 50px !important;
}
.pt60 {
  padding-top: 60px !important;
}
.pt70 {
  padding-top: 70px !important;
}
.pt80 {
  padding-top: 80px !important;
}
.pt90 {
  padding-top: 00px !important;
}
.pt100 {
  padding-top: 100px !important;
}
.pb0 {
  padding-bottom: 0px !important;
}
.pb5 {
  padding-bottom: 5px !important;
}
.pb10 {
  padding-bottom: 10px !important;
}
.pb15 {
  padding-bottom: 15px !important;
}
.pb20 {
  padding-bottom: 20px !important;
}
.pb25 {
  padding-bottom: 25px !important;
}
.pb30 {
  padding-bottom: 30px !important;
}
.pb35 {
  padding-bottom: 35px !important;
}
.pb40 {
  padding-bottom: 40px !important;
}
.pb45 {
  padding-bottom: 45px !important;
}
.pb50 {
  padding-bottom: 50px !important;
}
.pb60 {
  padding-bottom: 60px !important;
}
.pb70 {
  padding-bottom: 70px !important;
}
.pb80 {
  padding-bottom: 80px !important;
}
.pb90 {
  padding-bottom: 90px !important;
}
.pb100 {
  padding-bottom: 100px !important;
}
.pr0 {
  padding-right: 0px !important;
}
.pr5 {
  padding-right: 5px !important;
}
.pr10 {
  padding-right: 10px !important;
}
.pr15 {
  padding-right: 15px !important;
}
.pr20 {
  padding-right: 20px !important;
}
.pr25 {
  padding-right: 25px !important;
}
.pr30 {
  padding-right: 30px !important;
}
.pr35 {
  padding-right: 35px !important;
}
.pr40 {
  padding-right: 40px !important;
}
.pr45 {
  padding-right: 45px !important;
}
.pr50 {
  padding-right: 50px !important;
}
.pr60 {
  padding-right: 60px !important;
}
.pr70 {
  padding-right: 70px !important;
}
.pr80 {
  padding-right: 80px !important;
}
.pr90 {
  padding-right: 90px !important;
}
.pr100 {
  padding-right: 100px !important;
}
.pl0 {
  padding-left: 0px !important;
}
.pl5 {
  padding-left: 5px !important;
}
.pl10 {
  padding-left: 10px !important;
}
.pl15 {
  padding-left: 15px !important;
}
.pl20 {
  padding-left: 20px !important;
}
.pl25 {
  padding-left: 25px !important;
}
.pl30 {
  padding-left: 30px !important;
}
.pl35 {
  padding-left: 35px !important;
}
.pl40 {
  padding-left: 40px !important;
}
.pl45 {
  padding-left: 45px !important;
}
.pl50 {
  padding-left: 50px !important;
}
.pl60 {
  padding-left: 60px !important;
}
.pl70 {
  padding-left: 70px !important;
}
.pl80 {
  padding-left: 80px !important;
}
.pl90 {
  padding-left: 90px !important;
}
.pl100 {
  padding-left: 100px !important;
}
/* ------------------------------------------------
 Structure
------------------------------------------------ */
body {
  background-color: #fff;
  margin: 0;
  padding: 0;
  font-size: 100%;
}
#header {
  background-color: #fff;
  text-align: center;
  padding: 5px 0;
  height: 40px;
  box-sizing: border-box;
}
#header h1 {
  margin: 0;
  padding: 0;
}
#header h1 img {
  width: auto;
  height: 30px;
}
@media screen and (min-width: 992px) {
  #header {
    padding: 10px 0;
    height: 60px;
  }
  #header h1 img {
    width: auto;
    height: 40px;
  }
}
.container {
  padding: 20px;
  background-color: #f7f7f7;
  min-width: 320px;
  box-sizing: border-box;
}
.inner {
  width: 100%;
  position: relative;
}
@media screen and (min-width: 992px) {
  .inner {
    width: 960px;
    margin: auto;
  }
  .inner .single {
    width: 680px;
    float: left;
  }
}
#footer {
  background-color: #fff;
  text-align: center;
  padding: 15px 0;
}
#footer address {
  font-size: 0.8rem;
}
#app {
  font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #333;
}
.btn {
  background-color: #3F413D;
  color: #fff;
  border-radius: 4px;
  padding: 6px 20px;
  border: none;
  width: 100%;
  display: block;
  margin: 20px auto;
  font-size: 0.9rem;
}
.btn.reset {
  background-color: #969B8E;
}
@media screen and (min-width: 992px) {
  .btn {
    width: 220px;
    display: inline-block;
    margin: 10px;
  }
}
input[type="text"],
input[type="tel"],
input[type="email"],
input[type="password"],
select,
textarea {
  border-radius: 4px;
}
/* ------------------------------------------------
 Each Page Styles
------------------------------------------------ */
/* todo: .slide-next〜の要・不要を確認 */
.slide-next-enter-active,
.slide-next-leave-active,
.slide-back-enter-active,
.slide-back-leave-active {
  transition: all 0.15s ease;
}
.slide-next-enter,
.slide-back-leave-to {
  transform: translateX(20%);
  opacity: 0;
}
.slide-next-leave-to,
.slide-back-enter {
  transform: translateX(-20%);
  opacity: 0;
}
.message {
  text-align: left;
}
@media screen and (min-width: 992px) {
  .message {
    text-align: center;
  }
}
.error-message {
  text-align: center;
  color: #ff0000;
}
.book-box {
  border: 1px solid #F4D6CD;
  border-radius: 6px;
  padding: 12px;
  background-color: #ffff;
  text-align: left;
}
.book-box .book-name {
  color: #982300;
  padding-left: 30px;
}
.book-box .book-name:before {
  content: "\f02d";
  font-family: "Font Awesome 5 Free";
  font-weight: bold;
  display: inline-block;
  color: #F4D6CD;
  font-size: 1.6rem;
  margin: 0 9px 0 -30px;
  vertical-align: text-top;
}
.books-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  box-sizing: border-box;
}
.books-list .book-box {
  margin-bottom: 20px;
  position: relative;
  width: 100%;
}
.books-list .book-box p.alnctr {
  margin: 20px auto 10px auto;
}
.books-list .book-box p.alnctr img.thumbnail {
  width: auto;
  height: 120px;
}
.books-list .book-box ul li {
  margin-top: 10px;
}
.books-list .book-box ul li a {
  background-color: #3F413D;
  color: #fff;
  padding: 5px 10px 5px 20px;
  display: block;
  border-radius: 4px;
  text-decoration: none;
  position: relative;
}
.books-list .book-box ul li a:before {
  content: "\f0da";
  font-family: "Font Awesome 5 Free";
  font-weight: bold;
  color: #C72E00;
  font-size: 0.8rem;
  display: inline-block;
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translate(-52%, -52%);
  -webkit-transform: translate(-52%, -52%);
  -ms-transform: translate(-52%, -52%);
}
@media screen and (min-width: 992px) {
  .books-list .book-box {
    width: 46.5%;
  }
  .books-list .book-box img.thumbnail {
    float: left;
  }
  .books-list .book-box ul li {
    margin-left: 120px;
  }
}
.books-tree.book-box .book-name:before {
  content: "";
  margin: 0;
}
.books-tree.book-box .exam-name:before {
  content: "└";
  margin-right: 3px;
  padding-left: 0.5rem;
}
.books-tree.book-box img.thumbnail {
  width: auto;
  float: left;
  height: 60px;
  margin-right: 15px;
}
@media screen and (min-width: 992px) {
  .books-tree.book-box {
    margin-left: auto;
    margin-right: auto;
    width: 660px;
  }
}
@media screen and (min-width: 992px) {
  #login input[type="password"] {
    width: 220px;
  }
}
#movie-box {
  background-color: #000;
  color: #fff;
  margin: 0 -20px;
  max-height: calc(100vw * 0.75);
  min-height: 240px;
}
#movie-box .j-stream-player {
  border: none;
  width: 100vw;
  min-width: 320px;
  min-height: 184px;
  height: calc(100vw * 0.5625);
  padding: 10px;
  box-sizing: border-box;
}
#movie-box .meta {
  padding: 0 10px 10px 10px;
}
#movie-box .meta .book-name {
  font-size: 0.7rem;
}
#movie-box .meta .exam-name {
  font-size: 1.1rem;
}
#movie-box .meta .book-name,
#movie-box .meta .exam-name {
  line-height: 1.2;
  text-align: left;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
#movie-box .meta img.thumbnail {
  width: auto;
  float: left;
  height: 40px;
  margin-right: 15px;
}
@media screen and (min-width: 992px) {
  #movie-box {
    width: 660px;
    float: left;
    margin: 0 0 30px 0;
    max-height: calc(660px * 0.72);
  }
  #movie-box .j-stream-player {
    width: 100%;
    height: 380px;
  }
  #movie-box .meta .book-name {
    font-size: 0.9rem;
  }
  #movie-box .meta .exam-name {
    font-size: 1.4rem;
    overflow: inherit;
    white-space: normal;
    text-overflow: initial;
    line-height: 1.5;
  }
  #movie-box .meta img.thumbnail {
    height: 80px;
  }
}
@media screen and (max-width: 767px) {
  #movie-box .j-stream-player {
    padding: 5px;
  }
}
@media screen and (max-width: 991px) and (orientation: landscape) {
  #movie-box .j-stream-player {
    width: calc(100vh * 1.68);
    height: 100vh;
  }
}
#movie-selector {
  margin: 20px auto 0 auto;
  background-color: #fff;
}
#movie-selector .header {
  background-color: #E0E0E0;
  padding: 5px 10px;
  font-weight: normal;
  color: #000;
}
#movie-selector .list {
  text-align: left;
  padding: 3px 10px;
  overflow-x: hidden;
  overflow-y: auto;
  border: 1px solid #fff;
  box-sizing: border-box;
  max-height: calc(100vh - 110px - calc(100vw * 0.75));
}
#movie-selector .list::-webkit-scrollbar {
  width: 10px;
}
#movie-selector .list::-webkit-scrollbar-thumb {
  -webkit-border-radius: 0;
  border-radius: 0;
  background: #8E8888;
}
#movie-selector .list::-webkit-scrollbar-track-piece {
  background: #EFEFEF;
}
#movie-selector .list .line {
  height: 0;
  margin: 5px;
  padding: 0;
  border: 0;
  border-top: 1px dotted #ccc;
}
#movie-selector .list .line:first-child {
  margin: 0;
  border-top: none;
}
#movie-selector .list .btn {
  cursor: pointer;
  margin: 8px 2px 8px 4px;
  background-color: #3F413D;
  color: #fff;
  padding: 5px 10px 5px 20px;
  display: inline-block;
  width: auto;
  border-radius: 4px;
  text-decoration: none;
  text-align: left;
  position: relative;
}
#movie-selector .list .btn:before {
  content: "\f0da";
  font-family: "Font Awesome 5 Free";
  font-weight: bold;
  color: #C72E00;
  font-size: 0.8rem;
  display: inline-block;
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translate(-52%, -52%);
  -webkit-transform: translate(-52%, -52%);
  -ms-transform: translate(-52%, -52%);
}
@media screen and (min-width: 992px) {
  #movie-selector {
    margin: 0 0 30px 0;
    float: right;
    width: 280px;
    max-height: calc(660px * 0.72);
  }
  #movie-selector .list {
    max-height: calc(calc(660px - 45px) * 0.72);
  }
}
@media screen and (max-width: 991px) and (orientation: landscape) {
  #movie-selector {
    max-height: inherit;
  }
  #movie-selector .list {
    max-height: calc(100vh - 60px);
  }
}
/*# sourceMappingURL=style.css.map */