@charset "UTF-8";
@import "library/animate.css";
html {
  margin: 0;
  padding: 0;
  height: 100%;
}

body {
  position: relative;
  margin: 0;
  padding: 0;
  min-height: 100%;
  width: 100%;
  background: #f8fafb;
  color: #4c4c4c;
  font-weight: normal;
  font-size: 14px;
  font-family: "Roboto", "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-feature-settings: "palt";
  -webkit-text-size-adjust: 100%;
}

a {
  color: #4c4c4c;
  text-decoration: none;
}

ul, ol {
  margin: 0;
  padding: 0;
}
ul li, ol li {
  margin: 0;
  padding: 0;
  list-style: none;
}

dl {
  margin: 0;
  padding: 0;
}
dl dt {
  margin: 0;
  padding: 0;
}
dl dd {
  margin: 0;
  padding: 0;
}

br.tab {
  display: none;
}
@media print, screen and (max-width: 1023px) {
  br.tab {
    display: block;
  }
}
br.sp {
  display: none;
}
@media print, screen and (max-width: 767px) {
  br.sp {
    display: block;
  }
}

/* google icon
----------------------------------------------------------------------*/
.material-symbols-outlined {
  font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;
}

/* update dialog classes
----------------------------------------------------------------------*/
.updated {
  position: fixed;
  top: 50%;
  left: 50%;
  z-index: 999;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 300px;
  height: 200px;
  background-color: rgba(0, 164, 179, 0.8);
  color: #ffffff;
  transform: translate(-50%, -50%);
}
.updated span {
  display: block;
  padding: 0 0 10px;
  text-align: center;
  font-size: 70px;
}

/* loading classes
----------------------------------------------------------------------*/
.pageLoad {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 274px;
  z-index: 9998;
  display: flex;
  overflow: hidden;
  align-items: center;
  justify-content: center;
  background: #ffffff;
}
@media print, screen and (max-width: 1179px) {
  .pageLoad {
    left: 0;
  }
}
.pageLoad .load {
  margin: 0;
  padding: 0;
  text-align: center;
  line-height: 0;
}
.pageLoad .load img {
  width: 50px;
  height: auto;
  -webkit-animation: loadstudy 1s ease 0s infinite normal;
          animation: loadstudy 1s ease 0s infinite normal;
}
.pageLoad .load p {
  padding: 10px 0 0;
  color: #00a4b3;
  text-align: center;
  font-weight: 500;
  font-size: 13px;
  line-height: 1;
}
.pageLoad.del {
  -webkit-animation: loadingdel 0.8s ease 1s 1 forwards;
          animation: loadingdel 0.8s ease 1s 1 forwards;
}
.pageLoad.del .load {
  -webkit-animation: loadingdel 0.8s ease 0s 1 forwards;
          animation: loadingdel 0.8s ease 0s 1 forwards;
}

.playerBlock .pageLoad {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.pageLoad2 {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 274px;
  z-index: 99999999;
  display: flex;
  overflow: hidden;
  align-items: center;
  justify-content: center;
  background-color: rgba(255, 255, 255, 0.8);
}
@media print, screen and (max-width: 1179px) {
  .pageLoad2 {
    left: 0;
  }
}
.pageLoad2 .load {
  margin: 0;
  padding: 0;
  text-align: center;
  line-height: 0;
}
.pageLoad2 .load img {
  width: 50%;
  height: auto;
  -webkit-animation: loadcircle 1s ease 0s infinite normal;
          animation: loadcircle 1s ease 0s infinite normal;
}
.pageLoad2 .load p {
  padding: 10px 0 0;
  color: #00a4b3;
  text-align: center;
  font-weight: 500;
  font-size: 15px;
  line-height: 1;
}
.pageLoad2.del {
  -webkit-animation: loadingdel 0.8s ease 1s 1 forwards;
          animation: loadingdel 0.8s ease 1s 1 forwards;
}
.pageLoad2.del .load {
  -webkit-animation: loadingdel 0.8s ease 0s 1 forwards;
          animation: loadingdel 0.8s ease 0s 1 forwards;
}

@-webkit-keyframes loadstudy {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

@keyframes loadstudy {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@-webkit-keyframes loadcircle {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes loadcircle {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(360deg);
  }
}
@-webkit-keyframes loadingdel {
  0% {
    top: 0;
    bottom: 0;
    opacity: 1;
  }
  99% {
    top: 0;
    bottom: 0;
    opacity: 0;
  }
  100% {
    top: -50px;
    bottom: 100%;
    opacity: 0;
  }
}
@keyframes loadingdel {
  0% {
    top: 0;
    bottom: 0;
    opacity: 1;
  }
  99% {
    top: 0;
    bottom: 0;
    opacity: 0;
  }
  100% {
    top: -50px;
    bottom: 100%;
    opacity: 0;
  }
}
/* メール送信 classes
----------------------------------------------------------------------*/
#loading {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 999999;
  display: none;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  margin: 0 auto;
  padding: 0;
  width: 100%;
  background: rgba(255, 255, 255, 0.95);
  opacity: 0;
}
#loading.active {
  display: flex;
  opacity: 1;
  -webkit-animation: loadingshow 0.3s ease 0s 1 normal;
          animation: loadingshow 0.3s ease 0s 1 normal;
}
#loading > p {
  margin: 0;
  font-weight: 500;
  font-size: 20px;
}

.loading_dot {
  position: relative;
  display: flex;
  justify-content: space-between;
  margin: 20px auto 0;
  padding: 0;
  width: 100px;
  height: auto;
}
.loading_dot > div {
  position: relative;
  display: block;
  margin: 0;
  padding: 0;
  width: 10px;
  height: 10px;
  border-radius: 5px;
  background: #000000;
  opacity: 0;
}
.loading_dot > div:nth-child(1) {
  -webkit-animation: loadingdot 1.5s ease 0s infinite normal;
          animation: loadingdot 1.5s ease 0s infinite normal;
}
.loading_dot > div:nth-child(2) {
  -webkit-animation: loadingdot 1.5s ease 0.2s infinite normal;
          animation: loadingdot 1.5s ease 0.2s infinite normal;
}
.loading_dot > div:nth-child(3) {
  -webkit-animation: loadingdot 1.5s ease 0.4s infinite normal;
          animation: loadingdot 1.5s ease 0.4s infinite normal;
}
.loading_dot > div:nth-child(4) {
  -webkit-animation: loadingdot 1.5s ease 0.6s infinite normal;
          animation: loadingdot 1.5s ease 0.6s infinite normal;
}
.loading_dot > div:nth-child(5) {
  -webkit-animation: loadingdot 1.5s ease 0.8s infinite normal;
          animation: loadingdot 1.5s ease 0.8s infinite normal;
}

.loading_screen {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 274px;
  z-index: 99991;
  background-color: #ffffff;
}
@media print, screen and (max-width: 1179px) {
  .loading_screen {
    left: 0;
  }
}

@-webkit-keyframes loadingdot {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

@keyframes loadingdot {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@-webkit-keyframes loadingshow {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes loadingshow {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/* 横禁止
----------------------------------------------------------------------*/
.mobileCaution {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 9999999;
  display: none;
  align-items: center;
  justify-content: center;
  background: #ffffff;
}
.mobileCaution.show {
  display: flex;
}
.mobileCaution .cautionBox {
  position: relative;
  margin: 0;
  padding: 0 0 0 86px;
}
.mobileCaution .cautionBox p {
  color: #000000;
  font-weight: 700;
  font-size: 18px;
  line-height: 1.8em;
}
.mobileCaution .cautionBox .icon {
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -60px;
  line-height: 0;
}
.mobileCaution .cautionBox .icon img {
  width: auto;
  height: 120px;
}

/* form classes
----------------------------------------------------------------------*/
input[type=text], input[type=number], input[type=tel], input[type=email], input[type=password], textarea {
  box-sizing: border-box;
  padding: 15px 10px;
  width: 100%;
  height: 50px;
  outline: none;
  border: #ececec solid 1px;
  border-radius: 0;
  background-color: #ffffff;
  font-size: 14px;
  font-family: "Roboto", "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  -webkit-appearance: none;
}
input[type=text]::-moz-placeholder, input[type=number]::-moz-placeholder, input[type=tel]::-moz-placeholder, input[type=email]::-moz-placeholder, input[type=password]::-moz-placeholder, textarea::-moz-placeholder {
  color: #b4b4b4;
  line-height: normal;
}
input[type=text]::placeholder, input[type=number]::placeholder, input[type=tel]::placeholder, input[type=email]::placeholder, input[type=password]::placeholder, textarea::placeholder {
  color: #b4b4b4;
  line-height: normal;
}
input[type=text]:-webkit-autofill, input[type=number]:-webkit-autofill, input[type=tel]:-webkit-autofill, input[type=email]:-webkit-autofill, input[type=password]:-webkit-autofill, textarea:-webkit-autofill {
  box-shadow: 0 0 0 1000px rgb(255, 255, 255) inset !important;
}

select {
  box-sizing: border-box;
  padding: 10px 40px 10px 10px;
  width: 100%;
  height: 40px;
  outline: none;
  border: #ececec solid 1px;
  border-radius: 0;
  background-color: #ffffff;
  background-image: url("../../img/common/arrow_drop_down.svg");
  background-position: right 5px top 50%;
  background-repeat: no-repeat;
  font-family: "Roboto", "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  -webkit-appearance: none;
}
select::-ms-expand {
  display: none;
}
select.error {
  background-color: #f8c3c3;
}

textarea {
  height: 150px;
  border-radius: 0;
  font-family: "Roboto", "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
textarea::-moz-placeholder {
  color: #b4b4b4;
  line-height: normal;
}
textarea::placeholder {
  color: #b4b4b4;
  line-height: normal;
}

input[type=submit], input[type=button] {
  outline: none;
  border-radius: 0;
  font-family: "Roboto", "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  cursor: pointer;
  -webkit-appearance: none;
}

label.error {
  display: block;
  color: red;
}

/* button classes
----------------------------------------------------------------------*/
.submit {
  margin: 40px 0 0;
  padding: 0;
  text-align: center;
}
.submit a.back {
  display: block;
  margin: 0 auto;
  width: 200px;
  height: 60px;
  border-radius: 3px;
  background: #505050;
  color: #ffffff;
  text-align: center;
  text-decoration: none;
  font-weight: 500;
  font-size: 13px;
  line-height: 60px;
  cursor: pointer;
}
@media print, screen and (max-width: 1023px) {
  .submit a.back {
    width: 180px;
    height: 50px;
    line-height: 50px;
  }
}
.submit ul {
  display: inline-block;
  margin: 0;
  padding: 0;
}
.submit ul li {
  float: left;
  margin: 0;
  padding: 0;
  list-style: none;
}
.submit a.addnew {
  position: relative;
  display: block;
  margin: 0 1px 0 0;
  width: 200px;
  height: 50px;
  background: #00a4b3;
  color: #ffffff;
  text-align: center;
  text-decoration: none;
  font-weight: 500;
  font-size: 13px;
  line-height: 50px;
  cursor: pointer;
}
@media print, screen and (max-width: 1023px) {
  .submit a.addnew {
    width: 180px;
  }
}
.submit a.pdf {
  position: relative;
  display: block;
  margin: 0;
  width: 200px;
  height: 50px;
  background: #00a4b3;
  color: #ffffff;
  text-align: center;
  text-decoration: none;
  font-weight: 500;
  font-size: 13px;
  line-height: 50px;
  cursor: pointer;
}
@media print, screen and (max-width: 1023px) {
  .submit a.pdf {
    width: 180px;
  }
}
.submit a.pdf span {
  position: relative;
  display: inline-block;
  padding: 0 32px 0 0;
}
.submit a.pdf i {
  position: absolute;
  top: 50%;
  right: 0;
  margin-top: -12px;
}

/* pager classes
----------------------------------------------------------------------*/
.pager {
  margin: 0;
  padding: 30px 0 0;
  text-align: center;
}
.pager ul.page-numbers {
  display: inline-block;
  margin: 0;
  padding: 0;
  list-style: none;
}
.pager ul.page-numbers li {
  float: left;
  margin: 0 5px;
  padding: 0;
  line-height: 0;
}
.pager ul.page-numbers li a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 60px;
  border: #ececec solid 1px;
  color: #050505;
  text-decoration: none;
  font-weight: 500;
}
.pager ul.page-numbers li a.current {
  background: #f3f3f3;
}

/* common
----------------------------------------------------------------------*/
#wrapper {
  padding: 0 0 0 274px;
  background-color: #f8fafb;
}
@media print, screen and (max-width: 1179px) {
  #wrapper {
    padding: 97px 0 0;
  }
}
@media print, screen and (max-width: 767px) {
  #wrapper {
    padding: 50px 0 0;
  }
}

header {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 0 40px;
  height: 54px;
  border-bottom: #ececec solid 1px;
  background: #ffffff;
  opacity: 1;
  transition: 0.6s cubic-bezier(0.17, 0.67, 0.39, 1);
}
@media print, screen and (max-width: 1179px) {
  header {
    position: fixed;
    right: 0;
    left: 0;
    flex-wrap: wrap;
    padding: 0;
    height: auto;
  }
}
@media print, screen and (max-width: 767px) {
  header {
    position: relative;
  }
}
header.hide {
  /*@media print, screen and (max-width: 1179px) {
  	top:-97px;
  }*/
}
header.off {
  opacity: 0;
}
header .mobileHeader {
  display: none;
}
@media print, screen and (max-width: 1179px) {
  header .mobileHeader {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    box-sizing: border-box;
    padding: 0 70px 0 30px;
    width: 100%;
    height: 60px;
    border-bottom: #ececec solid 1px;
    background-color: #ffffff;
  }
}
@media print, screen and (max-width: 767px) {
  header .mobileHeader {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 99998;
    padding: 0 70px 0 20px;
    height: 50px;
  }
}
header .mobileHeader .logo {
  padding: 0;
  line-height: 0;
}
header .mobileHeader .logo img {
  width: auto;
  height: 34px;
}
@media print, screen and (max-width: 767px) {
  header .mobileHeader .logo img {
    height: 26px;
  }
}
@media print, screen and (max-width: 1179px) {
  header .mobileHeader ul.lang {
    display: flex;
    margin: 0 20px 0 auto;
  }
}
@media print, screen and (max-width: 767px) {
  header .mobileHeader ul.lang {
    display: flex;
    margin: 0 0 0 auto;
  }
}
header .mobileHeader ul.lang li {
  position: relative;
  margin: 0;
  padding: 0 0 0 20px;
  font-size: 12px;
}
header .mobileHeader ul.lang li:last-child::after {
  left: 10px;
}
header .mobileHeader .photo {
  position: static;
  display: flex;
  overflow: hidden;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  width: 26px;
  height: 26px;
  border: #ececec solid 1px;
  border-radius: 100%;
  background: #ffffff;
  line-height: 0;
}
@media print, screen and (max-width: 767px) {
  header .mobileHeader .photo {
    display: none;
  }
}
header .mobileHeader .photo a {
  display: flex;
  overflow: hidden;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  line-height: 0;
}
header .mobileHeader .photo a img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
header .mobileHeader .home_btn {
  display: block;
  margin: 0 0 0 50px;
  font-weight: 500;
  font-size: 14px;
}
@media print, screen and (max-width: 767px) {
  header .mobileHeader .home_btn {
    margin: 0 0 0 24px;
  }
}
header .headerBlock {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin: 0;
  padding: 0;
  width: 100%;
}
@media print, screen and (max-width: 1179px) {
  header .headerBlock {
    padding: 0 30px;
    height: 36px;
  }
}
@media print, screen and (max-width: 767px) {
  header .headerBlock {
    justify-content: space-between;
    padding: 0 0 0 20px;
  }
}
header .headerBlock h1 {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin: 0;
  padding: 0;
  text-overflow: ellipsis;
  white-space: nowrap;
  letter-spacing: 2px;
  font-weight: 700;
  font-size: 14px;
  line-height: normal;
  transition: font-size 0.6s cubic-bezier(0.17, 0.67, 0.39, 1);
  gap: 10px;
}
@media print, screen and (max-width: 767px) {
  header .headerBlock h1 {
    letter-spacing: 1px;
    gap: 5px;
  }
}
header .headerBlock h1 span {
  display: inline-block;
  letter-spacing: normal;
  font-size: 15px;
}
header .headerBlock .status {
  position: absolute;
  bottom: 0;
  left: 180px;
  margin: 0;
  padding: 0 0 0 16px;
  font-weight: 500;
  font-size: 13px;
  line-height: normal;
}
header .headerBlock .status i {
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -10px;
  color: #00a4b3;
}
header .headerBlock .status i img {
  width: 8.5px;
  height: 20px;
}
header .headerBlock .year_select {
  top: -1px;
  left: 164px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 0 0 30px;
  gap: 10px;
}
header .headerBlock .year_select span {
  font-weight: 500;
  font-size: 12px;
}
@media print, screen and (max-width: 1179px) {
  header .headerBlock .year_select select {
    height: 36px;
    border-top: none;
    border-bottom: none;
  }
}
@media print, screen and (max-width: 767px) {
  header .headerBlock .year_select select {
    border-right: none;
  }
}
header ul.lang {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin: 0 0 0 auto;
  padding: 0;
  list-style: none;
}
@media print, screen and (max-width: 1179px) {
  header ul.lang {
    display: none;
  }
}
header ul.lang li {
  position: relative;
  margin: 0;
  padding: 0 0 0 34px;
  font-size: 13px;
}
header ul.lang li a {
  text-decoration: none;
}
header ul.lang li:last-child::after {
  position: absolute;
  top: 0;
  left: 16px;
  content: " / ";
}
header .photo {
  position: absolute;
  top: 50%;
  right: 40px;
  display: flex;
  overflow: hidden;
  align-items: center;
  justify-content: center;
  margin: -15px 0 0;
  padding: 0;
  width: 30px;
  height: 30px;
  border: #ececec solid 1px;
  border-radius: 100%;
  background: #ffffff;
  line-height: 0;
}
header .photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
header ul.account {
  position: absolute;
  top: 50%;
  right: 60px;
  margin: -19px 0 0;
  padding: 0;
  width: 284px;
  list-style: none;
}
header ul.account li {
  float: left;
  margin: 0 0 0 10px;
  padding: 0;
  border-bottom: none;
}
header ul.account li a {
  position: relative;
  display: block;
  padding: 0;
  width: 130px;
  height: 36px;
  border: #e0e0e0 solid 1px;
  background-color: #f7f7f7;
  color: #000000;
  text-align: center;
  text-decoration: none;
  font-weight: 500;
  font-size: 13px;
  line-height: 36px;
  cursor: pointer;
}
header ul.account li a span {
  position: relative;
  display: inline-block;
  padding: 0 0 0 30px;
}
header ul.account li a span i {
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -10px;
  font-size: 20px;
}
header.test {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 0;
  height: 60px;
  border-bottom: #ececec solid 1px;
  background: #ffffff;
}
header.test .logo {
  position: absolute;
  bottom: 15px;
  left: 20px;
  margin: 0;
  padding: 0;
  line-height: 0;
}
header.test .logo img {
  width: auto;
  height: 30px;
}
header.test .testHeaderBlock {
  position: relative;
  margin: 0;
  padding: 0;
  width: 100%;
  height: 60px;
}
header.test .testHeaderBlock .photo {
  right: 20px;
}
header.test .testHeaderBlock .timer {
  position: absolute;
  right: 80px;
  bottom: 15px;
  font-weight: 500;
  font-size: 16px;
}
header.test .testHeaderBlock .timer span {
  padding: 0 0 0 5px;
  font-weight: 700;
  font-size: 24px;
}

.menuBtn {
  position: fixed;
  top: 10px;
  right: 20px;
  z-index: 99999;
  display: none;
  width: 30px;
  height: 40px;
  cursor: pointer;
}
@media print, screen and (max-width: 1179px) {
  .menuBtn {
    display: block;
  }
}
@media print, screen and (max-width: 767px) {
  .menuBtn {
    top: 5px;
  }
}
.menuBtn .line {
  position: absolute;
  left: 0;
  width: 100%;
  height: 1px;
  background: #363636;
  transition: ease 0.5s;
}
.menuBtn .line:nth-child(1) {
  top: 35%;
}
.menuBtn .line:nth-child(2) {
  top: 50%;
}
.menuBtn .line:nth-child(3) {
  top: 65%;
}
.menuBtn.action .line:nth-child(1) {
  top: 50%;
  transform: rotate(45deg);
}
.menuBtn.action .line:nth-child(2) {
  opacity: 0;
}
.menuBtn.action .line:nth-child(3) {
  top: 50%;
  transform: rotate(-45deg);
}

footer {
  /*&.normal {
  	position:fixed;
  	right:0;
  	bottom:0;
  	left:446px;
  	display:flex;
  	align-items:center;
  	justify-content:flex-end;
  	padding:0 30px;
  	height:50px;
  	background:#ffffff;

  	@media print, screen and (max-width: 1640px) {
  		left:360px;
  	}

  	@media print, screen and (max-width: 1289px) {
  		left:280px;
  	}

  	@media print, screen and (max-width: 1023px) {
  		left:0;
  	}

  	@media print, screen and (max-width: 767px) {
  		position:static;
  		padding:0 20px;
  		height:40px;
  		background-color:transparent;

  		span {
  			font-size:10px;
  		}

  		a img {
  			width:auto;
  			height:22px;
  		}
  	}

  	span {
  		padding:0 10px 0 0;
  		font-size:12px;
  	}

  	a {
  		display:block;
  		line-height:0;

  		img {
  			width:auto;
  			height:24px;
  		}
  	}
  }*/
}
footer.test {
  margin: 0;
  padding: 30px 0;
  text-align: center;
}
footer.test p.copyright {
  margin: 0;
  padding: 0;
  color: #000000;
  text-align: center;
  font-weight: 500;
  font-size: 10px;
}

.menuSide {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10000;
  display: flex;
  overflow: auto;
  align-items: flex-start;
  flex-direction: column;
  justify-content: flex-start;
  box-sizing: border-box;
  padding: 54px 0 30px 0;
  width: 274px;
  height: 100svh;
  border-right: #ececec solid 1px;
  background: #ffffff;
}
@media print, screen and (max-width: 1179px) {
  .menuSide {
    right: -300px;
    left: inherit;
    border-right: none;
    border-left: #ececec solid 1px;
    transition: 0.7s cubic-bezier(0.26, 0.63, 0, 0.99) 0.2s;
  }
  .menuSide.on {
    right: 0;
  }
}
@media print, screen and (max-width: 767px) {
  .menuSide {
    padding: 54px 0 50px 0;
  }
}
.menuSide .logo {
  margin: 0 auto 90px;
  padding: 0;
  max-width: 100px;
  line-height: 0;
}
.menuSide .logo img {
  width: 100%;
  height: auto;
}
.menuSide .gNavi {
  width: 100%;
}
.menuSide .gNavi .personal {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin: 0 0 30px;
  padding: 0 30px 20px;
  border-bottom: #ececec solid 1px;
  gap: 20px;
}
.menuSide .gNavi .personal .photo {
  position: static;
  display: flex;
  overflow: hidden;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  width: 40px;
  height: 40px;
  border: #ececec solid 1px;
  border-radius: 100%;
  background: #ffffff;
  line-height: 0;
}
.menuSide .gNavi .personal .photo a {
  display: flex;
  overflow: hidden;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  width: 40px;
  height: 40px;
}
.menuSide .gNavi .personal .photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.menuSide .gNavi .personal p {
  margin: 0;
  padding: 0;
  width: calc(100% - 60px);
  font-weight: 500;
  font-size: 11px;
  line-height: 1.6em;
}
.menuSide .gNavi .personal p span {
  display: inline-block;
  padding: 5px 3px 0 0;
  font-size: 13px;
}
.menuSide .gNavi .personal p span.grade {
  display: block;
  padding: 0;
  font-size: 11px;
}
.menuSide .gNavi ul {
  margin: 0 0 50px;
  padding: 0 0 0 50px;
}
.menuSide .gNavi ul li {
  margin: 0 0 20px;
}
.menuSide .gNavi ul li:last-child {
  margin: 0;
}
.menuSide .gNavi ul li a {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 0;
  text-decoration: none;
  font-weight: 500;
  font-size: 14px;
  gap: 14px;
}
.menuSide .gNavi ul li.sp {
  display: none;
}
.menuSide .gNavi ul.account {
  margin: 0;
  padding: 0 0 0 60px;
}
.menuSide .gNavi ul.account li {
  margin: 0 0 15px;
  padding: 0;
  border-bottom: none;
}
.menuSide .gNavi ul.account li a {
  letter-spacing: 1px;
  font-weight: 400;
  font-size: 12px;
}
.menuSide p.sub {
  right: 30px;
  bottom: 80px;
  left: 50px;
  margin: 0;
  margin: 34px 0 0;
  padding: 0 0 0 60px;
  font-size: 12px;
}
.menuSide p.copyright {
  margin: auto 0 0;
  padding: 0;
  width: 100%;
  text-align: center;
  font-weight: 500;
  font-size: 10px;
}
@media print, screen and (max-width: 767px) {
  .menuSide p.copyright {
    display: none;
  }
}

section#page {
  box-sizing: border-box;
  margin: 0;
  padding: 15px;
}
@media print, screen and (max-width: 767px) {
  section#page {
    padding: 10px;
  }
}

.menu {
  position: relative;
  margin: 0 0 -1px;
  padding: 0;
}
.menu .scroll ul.tab {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin: 0;
  padding: 0;
  list-style: none;
}
.menu .scroll ul.tab li {
  position: relative;
  box-sizing: border-box;
  margin: 0 -1px 0 0;
  padding: 0;
  max-width: 170px;
  width: 20%;
  border: #ececec solid 1px;
}
@media print, screen and (max-width: 767px) {
  .menu .scroll ul.tab li {
    margin: 0;
    width: 25%;
    border-right: none;
  }
  .menu .scroll ul.tab li:last-child {
    border-right: #ececec solid 1px;
  }
}
.menu .scroll ul.tab li a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 54px;
  background-color: #f5f5f5;
  font-size: 13px;
  transition: background-color 0.4s cubic-bezier(0.26, 0.63, 0, 0.99);
}
@media (hover: hover) and (pointer: fine) {
  .menu .scroll ul.tab li a:hover {
    background-color: #ffffff;
  }
}
@media print, screen and (max-width: 767px) {
  .menu .scroll ul.tab li a {
    height: 40px;
    font-size: 12px;
  }
}
.menu .scroll ul.tab li a span {
  display: inline-block;
  margin: 0 0 0 10px;
  width: 20px;
  height: 20px;
  border-radius: 20px;
  background-color: #ed7272;
  color: #ffffff;
  text-align: center;
  font-size: 10px;
  line-height: 20px;
}
@media print, screen and (max-width: 767px) {
  .menu .scroll ul.tab li a span {
    position: absolute;
    top: -5px;
    right: 5px;
    margin: 0;
  }
}
.menu .scroll ul.tab li.active a {
  background: #ffffff;
}
.menu .scroll ul.tab li.active::after {
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 2px;
  background-color: #ffffff;
  content: "";
}

.noPost {
  margin: 0 0 20px;
  padding: 50px;
  text-align: center;
  font-weight: 500;
}
@media print, screen and (max-width: 767px) {
  .noPost {
    padding: 50px 30px;
  }
}
.noPost .icon {
  margin: 0 0 20px;
  padding: 0;
  text-align: center;
  line-height: 0;
}
.noPost .icon i {
  font-size: 50px;
}
@media print, screen and (max-width: 1023px) {
  .noPost .icon i {
    font-size: 40px;
  }
}
.noPost p {
  margin: 0;
  padding: 0;
  font-size: 14px;
  line-height: 2.2em;
}
.noPost p.read {
  margin: 0 0 10px;
  padding: 0;
  font-size: 22px;
}
@media print, screen and (max-width: 1023px) {
  .noPost p.read {
    font-size: 18px;
  }
}

#login {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  align-items: stretch;
  justify-content: center;
  padding: 0;
}
@media print, screen and (max-width: 767px) {
  #login {
    display: block;
    overflow: auto;
    padding: 100px 30px 30px;
    background-color: #f0f2f3;
  }
}
#login p.copyright {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  margin: 0;
  padding: 0 50px 20px 50px;
  text-align: right;
  letter-spacing: 0.5px;
  font-size: 11px;
}
@media print, screen and (max-width: 767px) {
  #login p.copyright {
    position: static;
    padding: 16px 30px 0 30px;
    text-align: center;
    letter-spacing: 0.5px;
    font-size: 10px;
  }
}
#login .logoBlock {
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  width: 40%;
  background-color: #ffffff;
}
@media print, screen and (max-width: 767px) {
  #login .logoBlock {
    box-sizing: border-box;
    margin: 0 auto;
    padding: 0;
    max-width: 500px;
    width: 100%;
    background-color: #f0f2f3;
  }
}
#login .logoBlock h1 {
  margin: 0 0 20px;
  padding: 0;
  line-height: 0;
}
#login .logoBlock h1 img {
  width: auto;
  height: 53px;
  mix-blend-mode: multiply;
}
@media print, screen and (max-width: 767px) {
  #login .logoBlock h1 img {
    height: 45px;
  }
}
#login .logoBlock p {
  margin: 0;
  padding: 0;
  text-align: center;
  font-weight: 400;
  font-size: 11px;
}
#login .loginBlock {
  position: relative;
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  box-sizing: border-box;
  margin: 0 auto;
  padding: 0 100px;
  max-width: inherit;
  width: 60%;
  background-color: #f0f2f3;
}
@media print, screen and (max-width: 1023px) {
  #login .loginBlock {
    padding: 0 50px;
  }
}
@media print, screen and (max-width: 767px) {
  #login .loginBlock {
    padding: 40px 10px;
    max-width: 500px;
    width: 100%;
  }
}
#login .loginBlock .login-info {
  margin-bottom: 15px;
  padding: 10px 15px;
  border-radius: 4px;
  background-color: #e4e8e9;
}
#login .loginBlock .login-info .info-message {
  margin: 0;
  color: #778d8f;
  letter-spacing: 0.5px;
  font-size: 13px;
  line-height: 1.6em;
}
#login .loginBlock .lang_select {
  position: absolute;
  top: 48px;
  right: 50px;
}
@media print, screen and (max-width: 767px) {
  #login .loginBlock .lang_select {
    position: fixed;
    top: 30px;
    right: 30px;
  }
}
#login .loginBlock .lang_select ul {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 24px;
}
#login .loginBlock .lang_select ul li {
  position: relative;
  font-size: 13px;
}
#login .loginBlock .lang_select ul li:first-child::after {
  position: absolute;
  top: 50%;
  right: -16px;
  content: "/";
  line-height: 1;
  transform: translateY(-50%);
}
#login .loginBlock .loginBox {
  position: relative;
  box-sizing: border-box;
  margin: 0 auto;
  padding: 0;
  max-width: 500px;
  width: 100%;
}
#login .loginBlock .loginBox h2 {
  margin: 0 0 24px;
  letter-spacing: 1px;
  font-weight: 700;
  font-size: 16px;
}
#login .loginBlock .loginBox .error {
  margin: 0 0 14px;
  padding: 0;
  padding: 5px;
  border: none;
  border-radius: 4px;
  background-color: #00a4b3;
  color: #ffffff;
  text-align: center;
  font-weight: 500;
  font-size: 12px;
}
#login .loginBlock .loginBox ul {
  margin: 0 0 20px;
  padding: 0;
  list-style: none;
}
#login .loginBlock .loginBox ul li {
  margin: 0 0 20px;
  padding: 0;
  text-align: center;
}
#login .loginBlock .loginBox ul li input[type=text], #login .loginBlock .loginBox ul li input[type=password] {
  box-sizing: border-box;
  padding: 10px 15px;
  width: 100%;
  height: 50px;
  border: none;
  border-radius: 5px;
  background-color: #ffffff;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
#login .loginBlock .loginBox ul li input[type=text]:-webkit-autofill, #login .loginBlock .loginBox ul li input[type=password]:-webkit-autofill {
  box-shadow: 0 0 0 1000px rgb(255, 255, 255) inset !important;
}
#login .loginBlock .loginBox ul.forgot_btn {
  margin: 30px 0 0;
}
#login .loginBlock .loginBox ul.forgot_btn li {
  margin: 0;
  text-align: left;
}
#login .loginBlock .loginBox ul.forgot_btn li a {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  font-size: 12px;
}
#login .loginBlock .loginBox .submit {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin: 0;
  padding: 10px 0 0;
  text-align: left;
}
@media print, screen and (max-width: 1023px) {
  #login .loginBlock .loginBox .submit {
    align-items: flex-start;
    flex-direction: column;
    justify-content: center;
    margin: 0;
    padding: 0;
  }
}
#login .loginBlock .loginBox .submit .agree {
  font-size: 12px;
}
#login .loginBlock .loginBox .submit .agree label {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  cursor: pointer;
  gap: 4px;
}
#login .loginBlock .loginBox .submit .agree .error {
  margin: 0;
}
#login .loginBlock .loginBox .submit .agree #err_agree {
  margin: 10px 0 0;
}
#login .loginBlock .loginBox .submit .agree #err_agree #agree-error {
  display: inline-flex;
  margin: 0;
  padding: 0;
  padding: 5px 10px;
  border: none;
  border: #e3e3e3 solid 1px;
  border-radius: 20px;
  background-color: #ffffff;
  color: #24a4b2;
  text-align: center;
  font-weight: 500;
  font-size: 11px;
}
#login .loginBlock .loginBox .submit input[type=submit] {
  margin: 0;
  padding: 0;
  width: 130px;
  height: 44px;
  border: none;
  border-radius: 5px;
  background-color: #00a4b3;
  color: #ffffff;
  text-align: center;
  font-weight: 500;
  font-size: 12px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
@media print, screen and (max-width: 1023px) {
  #login .loginBlock .loginBox .submit input[type=submit] {
    margin: 0 0 0 auto;
  }
}
@media print, screen and (max-width: 767px) {
  #login .loginBlock .loginBox .submit input[type=submit] {
    margin: 10px auto 0;
  }
}

#subject {
  margin: 0;
  padding: 0;
  min-height: calc(100svh - 88px);
  border: #ececec solid 1px;
  background: #ffffff;
}
@media print, screen and (max-width: 1179px) {
  #subject {
    min-height: calc(100svh - 130px);
  }
}
@media print, screen and (max-width: 767px) {
  #subject {
    min-height: calc(100svh - 109px);
  }
}
#subject .message {
  padding: 10px 20px;
  border-bottom: #ececec solid 1px;
  background-color: #fff4f4;
}
#subject .message p {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin: 0;
  padding: 0;
  color: #ff9696;
  font-weight: 500;
  font-size: 14px;
  line-height: 1.8em;
  gap: 10px;
}
@media print, screen and (max-width: 767px) {
  #subject .message p {
    font-size: 13px;
    line-height: 1.6em;
  }
}
#subject .message p i {
  font-size: 30px;
}
#subject ul {
  margin: 0 0 -1px;
  padding: 0;
  list-style: none;
}
#subject ul li {
  margin: 0;
  padding: 0;
  border-bottom: #ececec solid 1px;
}
#subject ul li a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 24px 30px 24px 50px;
  background-color: #ffffff;
  text-decoration: none;
  transition: background-color 0.4s cubic-bezier(0.26, 0.63, 0, 0.99);
  gap: 30px;
}
@media (hover: hover) and (pointer: fine) {
  #subject ul li a:hover {
    background-color: #f5f5f5;
  }
}
@media print, screen and (max-width: 1023px) {
  #subject ul li a {
    padding: 24px 30px 24px 40px;
  }
}
@media print, screen and (max-width: 767px) {
  #subject ul li a {
    padding: 20px 14px 20px 20px;
    gap: 20px;
  }
}
@media print, screen and (max-width: 767px) {
  #subject ul li a .arrow i {
    font-size: 18px;
  }
}
#subject ul li a .subject_info h2 {
  margin: 0 0 10px;
  padding: 0;
  font-weight: 700;
  font-size: 14px;
  line-height: 1.8em;
}
@media print, screen and (max-width: 767px) {
  #subject ul li a .subject_info h2 {
    margin: 0 0 5px;
  }
}
#subject ul li a .subject_info .teacher {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
#subject ul li a .subject_info .teacher .number {
  margin: 0;
  padding: 0 10px 0 0;
  font-weight: 500;
  font-size: 11px;
}
#subject ul li a .subject_info .teacher .times {
  margin: 0 0 0 20px;
  font-weight: 500;
  font-size: 11px;
  line-height: 1;
}
#subject ul li a .subject_info .teacher ul {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  margin: 0;
  padding: 0;
  list-style: none;
}
#subject ul li a .subject_info .teacher ul li {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin: 0;
  border-bottom: none;
  gap: 10px;
}
#subject ul li a .subject_info .teacher ul li.others {
  margin: 0 0 0 7px;
  font-weight: 500;
  font-size: 11px;
  line-height: 1;
}
#subject ul li a .subject_info .teacher ul li .photo {
  display: flex;
  overflow: hidden;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 100%;
  background: #ffffff;
  line-height: 0;
}
#subject ul li a .subject_info .teacher ul li .photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#subject ul li a .subject_info .teacher ul li p.name {
  margin: 0;
  padding: 0;
  font-weight: 500;
  font-size: 11px;
  line-height: 1;
}

#lectures {
  margin: 0;
  padding: 0;
}
#lectures .subject_name {
  margin: 0 0 -1px;
  padding: 20px 50px;
  border: #ececec solid 1px;
  background: #ffffff;
}
@media print, screen and (max-width: 1023px) {
  #lectures .subject_name {
    padding: 20px 40px;
  }
}
@media print, screen and (max-width: 767px) {
  #lectures .subject_name {
    padding: 10px 30px;
  }
}
#lectures .subject_name h1 {
  margin: 0;
  padding: 0;
  font-weight: 700;
  font-size: 16px;
}
#lectures .noPost {
  margin: 0;
  padding: 50px;
  min-height: calc(100svh - 251px);
  border: #ececec solid 1px;
  background-color: #ffffff;
}
@media print, screen and (max-width: 1179px) {
  #lectures .noPost {
    min-height: calc(100svh - 293px);
  }
}
@media print, screen and (max-width: 767px) {
  #lectures .noPost {
    min-height: calc(100svh - 253px);
  }
}
#lectures .status {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin: 0 0 10px;
  padding: 0;
}
#lectures .status p.title {
  box-sizing: border-box;
  margin: 0;
  padding: 0 0 0 30px;
  width: calc(100% - 244px);
  font-weight: 500;
  font-size: 13px;
  line-height: 1;
}
#lectures .status p.icon {
  margin: 0;
  padding: 0 0 0;
  width: 244px;
  font-weight: 500;
  font-size: 13px;
  line-height: 1;
}
#lectures .infomation {
  margin: 0 0 -1px;
  padding: 40px 50px;
  border: #ececec solid 1px;
  background: #ffffff;
}
@media print, screen and (max-width: 1023px) {
  #lectures .infomation {
    padding: 40px;
  }
}
@media print, screen and (max-width: 767px) {
  #lectures .infomation {
    padding: 30px;
  }
}
#lectures .infomation p.read {
  margin: 0;
  padding: 0;
  text-align: justify;
  word-break: break-all;
  font-size: 14px;
  line-height: 1.8em;
}
#lectures .teachers {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 30px 50px;
  border: #ececec solid 1px;
  background: #ffffff;
}
@media print, screen and (max-width: 1023px) {
  #lectures .teachers {
    padding: 30px 40px;
  }
}
@media print, screen and (max-width: 767px) {
  #lectures .teachers {
    display: block;
    padding: 30px;
  }
}
#lectures .teachers .number {
  flex-shrink: 0;
  margin: 0;
  padding: 0 40px 0 0;
  font-weight: 500;
  font-size: 13px;
}
@media print, screen and (max-width: 767px) {
  #lectures .teachers .number {
    margin: 0 0 20px;
    padding: 0;
  }
}
#lectures .teachers .teacher {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin: 0;
  padding: 0;
  height: auto;
  text-align: left;
  line-height: 0;
}
@media print, screen and (max-width: 767px) {
  #lectures .teachers .teacher {
    display: block;
  }
}
#lectures .teachers .teacher span.tl {
  display: block;
  flex-shrink: 0;
  margin: 0 20px 0 0;
  font-weight: 500;
  font-size: 12px;
  line-height: 1;
}
@media print, screen and (max-width: 767px) {
  #lectures .teachers .teacher span.tl {
    margin: 0 0 10px;
  }
}
#lectures .teachers .teacher ul {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin: 0 0 0 -1px;
  padding: 0;
  gap: 2px 10px;
}
#lectures .teachers .teacher ul li {
  margin: 0;
  padding: 0;
  list-style: none;
}
#lectures .teachers .teacher ul li .tBox {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 0;
  min-height: 26px;
  width: 100%;
  gap: 7px;
}
#lectures .teachers .teacher ul li .tBox .photo {
  display: flex;
  overflow: hidden;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  width: 20px;
  height: 20px;
  border-radius: 100%;
  background: #ffffff;
  line-height: 0;
}
#lectures .teachers .teacher ul li .tBox .photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#lectures .teachers .teacher ul li .tBox p.name {
  margin: 0;
  padding: 0;
  font-size: 12px;
}
#lectures .teachers .teacher ul li .tBox p.name span {
  display: inline-block;
  padding: 0 0 0 0;
  font-size: 12px;
}
#lectures .icon_info {
  position: relative;
  z-index: 10;
  margin: 0 0 -1px;
  padding: 15px 0 0;
}
@media print, screen and (max-width: 767px) {
  #lectures .icon_info {
    padding: 10px 0 0;
  }
}
#lectures .icon_info .icon_info__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 0 0 auto;
  padding: 0 5px 0 0;
  width: 164px;
  height: 36px;
  border: #ececec solid 1px;
  background: #ffffff;
  font-size: 12px;
  cursor: pointer;
}
@media print, screen and (max-width: 767px) {
  #lectures .icon_info .icon_info__btn {
    width: 138px;
  }
}
#lectures .icon_info .icon_info__hidden {
  position: absolute;
  top: calc(100% - 1px);
  right: 0;
  display: grid;
  margin: 0;
  padding: 0;
  transition: grid-template-rows 0.5s ease;
  grid-template-rows: 0fr;
}
#lectures .icon_info .icon_info__hidden.show {
  grid-template-rows: 1fr;
}
#lectures .icon_info .icon_info__hidden .icon_info__detail {
  display: flex;
  overflow: hidden;
  align-items: stretch;
  justify-content: flex-start;
  box-sizing: border-box;
}
#lectures .icon_info .icon_info__hidden .icon_info__detail .icon_status {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  box-sizing: border-box;
  height: 70px;
  border: #ececec solid 1px;
  background: #ffffff;
}
#lectures .icon_info .icon_info__hidden .icon_info__detail .icon_status ul {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 0 20px;
  gap: 16px;
}
#lectures .icon_info .icon_info__hidden .icon_info__detail .icon_status ul li span {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  font-size: 11px;
  gap: 5px;
}
@media print, screen and (max-width: 767px) {
  #lectures .icon_info .icon_info__hidden .icon_info__detail .icon_status ul li span {
    flex-direction: column;
  }
}
#lectures .icon_info .icon_info__hidden .icon_info__detail .icon_status ul li span i {
  font-size: 20px;
}
#lectures .icon_info .icon_info__hidden .icon_info__detail .color_status {
  box-sizing: border-box;
  padding: 10px 20px;
  height: 70px;
  border-top: #ececec solid 1px;
  border-right: #ececec solid 1px;
  border-bottom: #ececec solid 1px;
  background: #ffffff;
}
#lectures .icon_info .icon_info__hidden .icon_info__detail .color_status ul li {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  font-size: 11px;
  gap: 10px;
}
#lectures .icon_info .icon_info__hidden .icon_info__detail .color_status ul li:first-child::before {
  width: 10px;
  height: 10px;
  border-radius: 10px;
  background-color: #818181;
  content: "";
}
#lectures .icon_info .icon_info__hidden .icon_info__detail .color_status ul li:nth-child(2)::before {
  width: 10px;
  height: 10px;
  border-radius: 10px;
  background-color: #00a4b3;
  content: "";
}
#lectures .icon_info .icon_info__hidden .icon_info__detail .color_status ul li:nth-child(3)::before {
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 0;
  border-right: 5px solid transparent;
  border-bottom: 9px solid #ff8c8c;
  border-left: 5px solid transparent;
  content: "";
}
#lectures ul.lectureList {
  margin: 0 0 -1px;
  border: #ececec solid 1px;
  background: #ffffff;
}
#lectures ul.lectureList li {
  position: relative;
  margin: 0;
  padding: 0;
  border-bottom: #ececec solid 1px;
}
#lectures ul.lectureList li:last-child {
  border-bottom: none;
}
#lectures ul.lectureList li a.lectureInfo {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  box-sizing: border-box;
  margin: 0;
  padding: 20px 50px;
  min-height: 120px;
  background-color: #ffffff;
  text-decoration: none;
}
@media (hover: hover) and (pointer: fine) {
  #lectures ul.lectureList li a.lectureInfo:hover {
    background-color: #f5f5f5;
  }
}
@media print, screen and (max-width: 1023px) {
  #lectures ul.lectureList li a.lectureInfo {
    padding: 20px 30px 20px 40px;
  }
}
@media print, screen and (max-width: 767px) {
  #lectures ul.lectureList li a.lectureInfo {
    display: block;
    padding: 20px 30px 20px 30px;
  }
}
#lectures ul.lectureList li a.lectureInfo.expired {
  /*background-color:#f5f5f5;*/
  color: #cfcfcf;
}
#lectures ul.lectureList li a.lectureInfo.expired .status_icons {
  opacity: 0.5;
}
#lectures ul.lectureList li a.lectureInfo.expired p.message {
  opacity: 0.7;
}
#lectures ul.lectureList li a.lectureInfo.pointer-events-none {
  pointer-events: none;
}
#lectures ul.lectureList li a.lectureInfo .lecture_title {
  margin: 0;
  padding: 0;
  width: calc(100% - 270px);
}
@media print, screen and (max-width: 1379px) {
  #lectures ul.lectureList li a.lectureInfo .lecture_title {
    width: calc(100% - 220px);
  }
}
@media print, screen and (max-width: 767px) {
  #lectures ul.lectureList li a.lectureInfo .lecture_title {
    width: 100%;
  }
}
#lectures ul.lectureList li a.lectureInfo .lecture_title h3 {
  position: relative;
  margin: 0 0 10px;
  padding: 0 50px 0 0;
  font-weight: 700;
  font-size: 14px;
  line-height: 1.8em;
}
@media print, screen and (max-width: 767px) {
  #lectures ul.lectureList li a.lectureInfo .lecture_title h3 {
    margin: 0;
    padding: 0;
  }
}
#lectures ul.lectureList li a.lectureInfo .lecture_title p.time {
  margin: 0;
  padding: 0;
  font-size: 11px;
}
#lectures ul.lectureList li a.lectureInfo .lecture_title p.time span {
  display: inline-block;
  padding: 0 0 0 30px;
}
#lectures ul.lectureList li a.lectureInfo .lecture_title p.complete_students {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin: 0;
  padding: 5px 0 0 0;
  font-size: 11px;
}
@media print, screen and (max-width: 767px) {
  #lectures ul.lectureList li a.lectureInfo .lecture_title p.complete_students {
    position: absolute;
    right: 30px;
    bottom: 27px;
    font-size: 10px;
  }
}
#lectures ul.lectureList li a.lectureInfo .lecture_title p.complete_students i {
  margin: 0 5px 0 0;
  text-decoration: none;
  font-size: 20px;
}
@media print, screen and (max-width: 767px) {
  #lectures ul.lectureList li a.lectureInfo .lecture_title p.complete_students i {
    font-size: 16px;
  }
}
#lectures ul.lectureList li a.lectureInfo .lecture_title p.message {
  margin: 0;
  padding: 5px 0 0;
  color: #ff6b6b;
  font-size: 11px;
}
#lectures ul.lectureList li .status_icons {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 170px;
}
@media print, screen and (max-width: 767px) {
  #lectures ul.lectureList li .status_icons {
    justify-content: flex-start;
    margin: 15px 0 0;
    width: 100%;
  }
}
#lectures ul.lectureList li .status_icons ul {
  display: flex;
  align-items: stretch;
  flex-wrap: nowrap;
  justify-content: center;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media print, screen and (max-width: 767px) {
  #lectures ul.lectureList li .status_icons ul {
    justify-content: flex-start;
    gap: 10px;
  }
}
#lectures ul.lectureList li .status_icons ul li {
  display: block;
  margin: 0;
  padding: 0 2px;
  border-bottom: none;
  background: none;
  color: #818181;
  text-align: center;
}
@media print, screen and (max-width: 767px) {
  #lectures ul.lectureList li .status_icons ul li {
    padding: 0;
  }
}
#lectures ul.lectureList li .status_icons ul li i {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 0;
  width: 36px;
  height: 30px;
  font-size: 20px;
}
@media print, screen and (max-width: 767px) {
  #lectures ul.lectureList li .status_icons ul li i {
    width: auto;
    height: 20px;
    font-size: 16px;
  }
}
#lectures ul.lectureList li .status_icons ul li i.adjust {
  padding: 5px 0 0;
}
#lectures ul.lectureList li .status_icons ul li .expired {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  padding: 4px 8px;
  border: #efefef solid 1px;
  border-radius: 10px;
  background: #ffffff;
  color: #ff8c8c;
  font-weight: 500;
  font-size: 11px;
  line-height: 1;
  gap: 2px;
}
@media print, screen and (max-width: 767px) {
  #lectures ul.lectureList li .status_icons ul li .expired {
    position: absolute;
    top: -8px;
    left: 10px;
    padding: 0;
    border: none;
    font-size: 10px;
    gap: 0;
  }
}
#lectures ul.lectureList li .status_icons ul li .expired::before {
  width: 0;
  height: 0;
  border-width: 0 5px 8.7px 5px;
  border-style: solid;
  border-color: transparent transparent #ff8c8c transparent;
  content: "";
}
@media print, screen and (max-width: 767px) {
  #lectures ul.lectureList li .status_icons ul li .expired::before {
    border-width: 0 4px 7px 4px;
  }
}
#lectures ul.lectureList li .status_icons ul li.complete {
  color: #00a4b3;
}
#lectures ul.lectureList li .status_icons ul li.expired {
  color: #ff5d5d;
}
#lectures ul.lectureList li .next {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  margin: 0;
  padding: 0;
  width: 100px;
}
@media print, screen and (max-width: 1379px) {
  #lectures ul.lectureList li .next {
    width: 50px;
  }
}
@media print, screen and (max-width: 767px) {
  #lectures ul.lectureList li .next {
    display: none;
  }
}
#lectures ul.lectureList li .next i {
  font-size: 20px;
}
#lectures ul.lectureList li .next span {
  color: #a8a8a8;
  letter-spacing: normal;
  font-weight: 500;
  font-size: 12px;
}
#lectures ul.lectureList li .indication {
  position: absolute;
  top: -50px;
  right: 20px;
  z-index: 10;
  display: flex;
  cursor: pointer;
}
#lectures ul.lectureList li .indication.hide {
  opacity: 0;
  transition: 0.7s cubic-bezier(0.26, 0.63, 0, 0.99) 0.1s;
  transform: translate(0, -10px);
  pointer-events: none;
}
#lectures ul.lectureList li .indication i {
  position: absolute;
  top: 5px;
  right: 5px;
  z-index: 5;
  color: #00a4b3;
  font-size: 20px;
}
#lectures ul.lectureList li .indication.warning i {
  color: #ffffff;
}
#lectures ul.lectureList li .indication .balloon {
  position: relative;
  margin: 0;
  padding: 20px;
  width: auto;
  border-radius: 5px;
  background: #ffffff;
  box-shadow: 0 0 1px 0 rgb(55, 55, 55);
}
#lectures ul.lectureList li .indication .balloon p {
  margin: 0;
  padding: 0;
  color: #00a4b3;
  font-weight: 500;
  font-size: 13px;
  line-height: 1.6em;
}
#lectures ul.lectureList li .indication .balloon::before {
  position: absolute;
  right: 40px;
  bottom: -4px;
  z-index: 1;
  width: 20px;
  height: 20px;
  background: #ffffff;
  box-shadow: 0 0 1px 0 rgb(55, 55, 55);
  content: "";
  transform: rotate(76deg) skew(20deg, 20deg);
}
#lectures ul.lectureList li .indication .balloon::after {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  border-radius: 5px;
  background: #ffffff;
  content: "";
}
#lectures ul.lectureList li .indication .balloon > * {
  position: relative;
  z-index: 3;
}
#lectures ul.lectureList li .indication.warning .balloon p {
  color: #ffffff;
}
#lectures ul.lectureList li .indication.warning .balloon::before, #lectures ul.lectureList li .indication.warning .balloon::after {
  background: #ea720f;
}

#discussion {
  box-sizing: border-box;
  margin: 0;
  padding: 0 0 80px;
  min-height: calc(100svh - 140px);
  border: #ececec solid 1px;
  background: #ffffff;
}
@media print, screen and (max-width: 1179px) {
  #discussion {
    min-height: calc(100svh - 183px);
  }
}
@media print, screen and (max-width: 767px) {
  #discussion {
    min-height: calc(100svh - 148px);
  }
}
#discussion.pd {
  padding: 0 50px 150px;
}
@media print, screen and (max-width: 1023px) {
  #discussion.pd {
    padding: 0 0 150px;
  }
}
#discussion h2 {
  position: relative;
  margin: 0 0 20px;
  padding: 0 0 0 40px;
  font-weight: 700;
  font-size: 20px;
}
#discussion h2 i {
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -15px;
  font-size: 30px;
}
#discussion ul.discussionList {
  margin: 0;
  padding: 0;
  list-style: none;
}
#discussion ul.discussionList li {
  position: relative;
  margin: 0;
  padding: 0;
  border-bottom: #ececec solid 1px;
  transition: background-color 0.4s cubic-bezier(0.26, 0.63, 0, 0.99);
}
@media (hover: hover) and (pointer: fine) {
  #discussion ul.discussionList li:hover {
    background-color: #f5f5f5;
  }
}
#discussion ul.discussionList li.sensei {
  margin: 0;
  padding: 0 0 30px;
}
#discussion ul.discussionList li.sensei a.download {
  padding: 10px;
  border-top: 1px solid #dfdfdf;
  color: #00a4b3;
}
#discussion ul.discussionList li.sensei a.download div {
  display: flex;
  align-items: center;
  justify-content: center;
}
#discussion ul.discussionList li.sensei a.download div i {
  display: block;
}
#discussion ul.discussionList li.sensei a.del {
  position: absolute;
  right: 182px;
  bottom: 5px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 0;
  min-height: auto;
  width: auto;
  border: none;
  background: none;
  color: #24a4b2;
}
#discussion ul.discussionList li.sensei a.del span {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 0;
  gap: 8px;
}
#discussion ul.discussionList li.sensei a.close {
  position: absolute;
  right: 20px;
  bottom: 5px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 0;
  min-height: auto;
  width: auto;
  border: none;
  background: none;
  color: #24a4b2;
}
#discussion ul.discussionList li.sensei a.close span {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 0;
  gap: 8px;
}
#discussion ul.discussionList li.sensei a.resume {
  position: absolute;
  right: 20px;
  bottom: 5px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 0;
  min-height: auto;
  width: auto;
  border-left: none;
  background: none;
  color: #24a4b2;
}
#discussion ul.discussionList li.sensei a.resume span {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 0;
  gap: 8px;
}
#discussion ul.discussionList li.sensei span {
  font-weight: 500;
  font-size: 12px;
}
#discussion ul.discussionList li.sensei span i {
  position: static;
  margin: 0;
  color: #00a4b3;
  line-height: 1;
}
#discussion ul.discussionList li a {
  position: relative;
  display: block;
  margin: 0;
  padding: 20px 30px 20px 50px;
  text-decoration: none;
}
@media print, screen and (max-width: 1023px) {
  #discussion ul.discussionList li a {
    padding: 20px 30px 20px 30px;
  }
}
@media print, screen and (max-width: 767px) {
  #discussion ul.discussionList li a {
    padding: 20px;
  }
}
#discussion ul.discussionList li dl {
  position: relative;
  margin: 0;
  padding: 0 0 0 60px;
}
@media print, screen and (max-width: 1023px) {
  #discussion ul.discussionList li dl {
    padding: 0 0 0 50px;
  }
}
@media print, screen and (max-width: 767px) {
  #discussion ul.discussionList li dl {
    padding: 0 0 0 36px;
  }
}
#discussion ul.discussionList li dl dt {
  position: absolute;
  top: 0;
  left: 0;
  margin: 0;
  padding: 0;
}
#discussion ul.discussionList li dl dt .photo {
  display: flex;
  overflow: hidden;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  width: 30px;
  height: 30px;
  border: #e0e0e0 solid 1px;
  border-radius: 100%;
  background: #ffffff;
  line-height: 0;
}
@media print, screen and (max-width: 767px) {
  #discussion ul.discussionList li dl dt .photo {
    width: 20px;
    height: 20px;
  }
}
#discussion ul.discussionList li dl dt .photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#discussion ul.discussionList li dl dd {
  margin: 0;
  padding: 0;
}
#discussion ul.discussionList li dl dd.info {
  position: relative;
  padding: 0 60px 0 0;
}
@media print, screen and (max-width: 767px) {
  #discussion ul.discussionList li dl dd.info {
    padding: 0 45px 0 0;
  }
}
#discussion ul.discussionList li dl dd.info span.count {
  position: absolute;
  top: 50%;
  right: 0;
  display: block;
  margin-top: -20px;
  color: #858484;
  text-align: center;
  font-size: 10px;
  line-height: 1;
}
#discussion ul.discussionList li dl dd.info span.count i {
  display: inline-block;
  padding: 0 0 5px;
  font-size: 26px;
}
#discussion ul.discussionList li dl dd p.name {
  margin: 0;
  padding: 0;
  color: #949494;
  font-weight: 500;
  font-size: 11px;
  line-height: 2em;
}
#discussion ul.discussionList li dl dd p.name span {
  padding: 0 0 0 10px;
}
#discussion ul.discussionList li dl dd p.tl {
  margin: 0;
  padding: 0;
  text-align: justify;
  letter-spacing: 1px;
  font-weight: 700;
  font-size: 14px;
  line-height: 1.8em;
}
#discussion ul.discussionList li ol {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin: 0 0 0 60px;
  padding: 5px 0 0;
  list-style: none;
  gap: 12px;
}
@media print, screen and (max-width: 1023px) {
  #discussion ul.discussionList li ol {
    margin: 0 0 0 50px;
  }
}
@media print, screen and (max-width: 767px) {
  #discussion ul.discussionList li ol {
    margin: 0 0 0 36px;
  }
}
#discussion ul.discussionList li ol li {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  min-height: 14px;
  height: 100%;
  border-bottom: none;
  border-left: none;
  background: none;
  color: #00a4b3;
  font-size: 12px;
}
#discussion ul.discussionList li ol li span.count {
  position: relative;
  display: inline-block;
  padding: 0 0 0 26px;
  font-size: 12px;
}
#discussion ul.discussionList li ol li span.count i {
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -10px;
  font-size: 20px;
}
#discussion ul.discussionList li .statusInfo {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100px;
  border-left: #e6e6e6 solid 1px;
  background: none;
  color: #00a4b3;
  font-weight: 500;
  font-size: 14px;
}
#discussion .submit {
  margin: 30px 0 0;
  padding: 0;
}
#discussion .submit .postBtn {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  width: 200px;
  height: 50px;
  border-radius: 3px;
  background: #00a4b3;
  color: #ffffff;
  text-align: center;
  text-decoration: none;
  font-weight: 500;
  font-size: 14px;
  line-height: 80px;
  cursor: pointer;
}
#discussion .submit a.end {
  display: block;
  margin: 0 auto;
  width: 300px;
  height: 80px;
  background: #00a4b3;
  color: #ffffff;
  text-align: center;
  text-decoration: none;
  font-weight: 500;
  font-size: 14px;
  line-height: 80px;
  cursor: pointer;
}
#discussion .postArea {
  position: fixed;
  right: 15px;
  bottom: -400px;
  left: 289px;
  z-index: 9999;
  padding: 50px 30px 30px;
  border: #ececec solid 1px;
  background: #f5f5f5;
  transition: 0.4s cubic-bezier(0.26, 0.63, 0, 0.99);
}
@media print, screen and (max-width: 1179px) {
  #discussion .postArea {
    left: 15px;
  }
}
@media print, screen and (max-width: 1023px) {
  #discussion .postArea {
    padding: 40px 20px 10px;
  }
}
@media print, screen and (max-width: 767px) {
  #discussion .postArea {
    right: 0;
    left: 0;
  }
}
#discussion .postArea.active {
  bottom: 0;
}
#discussion .postArea .cls {
  position: absolute;
  top: 0;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  font-size: 20px;
  cursor: pointer;
}
#discussion .postArea .postBox {
  position: relative;
  padding: 0 0 0 70px;
}
@media print, screen and (max-width: 767px) {
  #discussion .postArea .postBox {
    padding: 0;
  }
}
#discussion .postArea .postBox .submitBtn {
  background: #b3b3b3 !important;
  pointer-events: none;
}
#discussion .postArea .postBox .submitBtn.on {
  background: #00a4b3 !important;
  pointer-events: auto;
}
#discussion .postArea ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
#discussion .postArea ul li {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  box-sizing: border-box;
  margin: 0 0 -1px;
  padding: 0 0 0 30px;
  min-height: 40px;
  border: #ececec solid 1px;
  background: #ffffff;
}
@media print, screen and (max-width: 767px) {
  #discussion .postArea ul li {
    padding: 0;
  }
}
#discussion .postArea ul li dl {
  position: relative;
  box-sizing: border-box;
  margin: 0;
  padding: 0 0 0 100px;
  width: 100%;
  font-weight: 500;
  font-size: 14px;
}
@media print, screen and (max-width: 767px) {
  #discussion .postArea ul li dl {
    padding: 0;
  }
}
#discussion .postArea ul li dl dt {
  position: absolute;
  top: 10px;
  left: 0;
  margin: 0;
  padding: 0;
  font-weight: 700;
  font-size: 13px;
}
@media print, screen and (max-width: 767px) {
  #discussion .postArea ul li dl dt {
    display: none;
  }
}
#discussion .postArea ul li dl dd {
  margin: 0;
  padding: 0;
}
#discussion .postArea ul li dl dd .uploder {
  display: inline-block;
  padding: 7px 0;
  height: 24px;
  line-height: 0;
}
#discussion .postArea ul li dl dd .uploder input[type=file] {
  display: none;
}
#discussion .postArea ul li dl dd .uploder img {
  position: absolute;
  top: 5px;
  left: 10px;
  opacity: 0.5;
  cursor: pointer;
}
#discussion .postArea ul li dl dd .uploder label {
  position: relative;
  display: inline-block;
  padding: 0 0 0 34px;
  height: 24px;
  line-height: 24px;
  cursor: pointer;
}
#discussion .postArea ul li dl dd .uploder label img {
  position: absolute;
  top: 6px;
  left: 10px;
  opacity: 0.5;
  cursor: pointer;
}
#discussion .postArea ul li dl dd .uploder label.set img {
  opacity: 1;
}
#discussion .postArea ul li dl dd .uploder label p {
  display: inline-block;
  margin: 0;
  padding: 0;
  color: #727272;
  font-size: 12px;
  line-height: 24px;
}
#discussion .postArea input[type=submit], #discussion .postArea input[type=button] {
  width: 120px;
  height: 40px;
  border: none;
  border-radius: 3px;
  background: #00a4b3;
  color: #ffffff;
  font-size: 13px;
}
#discussion .postArea input[type=text], #discussion .postArea textarea {
  border: none;
  background-color: transparent;
}
#discussion .postArea textarea {
  min-height: 50px;
  max-height: 100px;
  height: 50px;
  resize: none;
}
#discussion .postArea .submit {
  margin: 10px 0 0;
  padding: 0;
  text-align: right;
}
#discussion .postArea .photo {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  overflow: hidden;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  width: 40px;
  height: 40px;
  border: #e0e0e0 solid 1px;
  border-radius: 100%;
  background: #ffffff;
  line-height: 0;
}
@media print, screen and (max-width: 767px) {
  #discussion .postArea .photo {
    display: none;
  }
}
#discussion .postArea .photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#discussion .status {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin: 0;
  padding: 0 0 0 40px;
  height: 50px;
  border-bottom: #ececec solid 1px;
  text-align: left;
  line-height: 0;
}
@media print, screen and (max-width: 767px) {
  #discussion .status {
    padding: 0 0 0 20px;
  }
}
#discussion .status ul {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  margin: 0;
  padding: 0;
  list-style: none;
  gap: 20px;
}
#discussion .status ul li {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin: 0;
  padding: 0;
  font-weight: 500;
  font-size: 11px;
  gap: 5px;
}
#discussion .status ul li i {
  color: #00a4b3;
  font-size: 18px;
  line-height: 1;
}
#discussion .status .openBtn {
  position: absolute;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  font-size: 20px;
  cursor: pointer;
}
#discussion .search {
  position: relative;
  display: none;
  margin: 0;
  padding: 15px;
  border-bottom: #ececec solid 1px;
}
#discussion .search form {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 15px 0 0;
  border: #ececec solid 1px;
}
@media print, screen and (max-width: 767px) {
  #discussion .search form {
    align-items: flex-start;
    flex-direction: column;
    justify-content: flex-start;
    padding: 0;
  }
}
#discussion .search ul {
  margin: 0;
  padding: 0;
  width: calc(100% - 138px);
  border-right: #ececec solid 1px;
  list-style: none;
}
@media print, screen and (max-width: 767px) {
  #discussion .search ul {
    width: 100%;
    border-right: none;
    border-bottom: #ececec solid 1px;
  }
}
#discussion .search ul li {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  box-sizing: border-box;
  margin: 0;
  padding: 0 10px 0 40px;
  width: 100%;
  height: 50px;
}
@media print, screen and (max-width: 767px) {
  #discussion .search ul li {
    padding: 0 10px;
  }
}
#discussion .search ul li:first-child {
  width: 100%;
  border-bottom: #e6e6e6 solid 1px;
}
#discussion .search ul li dl {
  position: relative;
  box-sizing: border-box;
  margin: 0;
  padding: 0 0 0 110px;
  width: 100%;
  font-weight: 500;
  font-size: 14px;
}
@media print, screen and (max-width: 767px) {
  #discussion .search ul li dl {
    padding: 0;
  }
}
#discussion .search ul li dl dt {
  position: absolute;
  top: 10px;
  left: 0;
  margin: 0;
  padding: 0;
  font-weight: 700;
  font-size: 12px;
}
@media print, screen and (max-width: 767px) {
  #discussion .search ul li dl dt {
    display: none;
  }
}
#discussion .search ul li dl dd {
  margin: 0;
  padding: 0;
}
#discussion .search ul li dl dd select {
  border: none;
  background-color: white;
}
#discussion .search ul li dl dd label {
  position: relative;
  display: inline-block;
  margin: 0 20px 0 0;
  padding: 0 0 0 30px;
  height: auto;
  font-weight: 500;
  font-size: 14px;
  line-height: 1.86em;
  cursor: pointer;
}
#discussion .search ul li dl dd label .checkbox {
  display: none;
}
#discussion .search input[type=submit] {
  width: 120px;
  height: 40px;
  border: none;
  border-radius: 0;
  background: #00a4b3;
  color: #ffffff;
  font-size: 14px;
}
@media print, screen and (max-width: 767px) {
  #discussion .search input[type=submit] {
    margin: 10px auto;
    width: 100px;
    height: 36px;
    border: none;
    border-radius: 3px;
    background: #00a4b3;
    color: #ffffff;
    font-size: 13px;
  }
}
#discussion .search input[type=text] {
  border: none;
  background-color: transparent;
}
#discussion .search .checkbox + .checkbox-icon {
  position: absolute;
  top: 0;
  left: 0;
  padding: 0;
  vertical-align: middle;
}
#discussion .search .checkbox + .checkbox-icon:before {
  display: inline-block;
  width: 22px;
  height: 22px;
  background: url(../img/class/radio_off.svg) no-repeat left;
  content: "";
}
#discussion .search .checkbox:checked + .checkbox-icon:before {
  background: url(../img/class/radio_on.svg) no-repeat left;
}

.replay {
  position: fixed;
  right: 15px;
  bottom: 0;
  left: 289px;
  z-index: 99999;
  padding: 10px 10px 10px 30px;
  border: #ececec solid 1px;
  background: #f5f5f5;
  line-height: 0;
  transition: bottom 0.4s ease 0.1s;
}
@media print, screen and (max-width: 1179px) {
  .replay {
    left: 15px;
  }
}
@media print, screen and (max-width: 767px) {
  .replay {
    right: 10px;
    left: 10px;
    padding: 10px;
  }
}
.replay.hide {
  bottom: -100px;
}
.replay p.stop {
  margin: 0;
  padding: 0;
  height: 60px;
  background: #f5f5f5;
  text-align: center;
  font-weight: 500;
  font-size: 14px;
  line-height: 60px;
}
.replay .baloon {
  position: relative;
  margin: 0;
  padding: 0 110px 0 70px;
}
@media print, screen and (max-width: 767px) {
  .replay .baloon {
    padding: 0 60px 0 0;
  }
}
.replay .baloon .photo {
  position: absolute;
  bottom: 10px;
  left: 0;
  display: flex;
  overflow: hidden;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  width: 40px;
  height: 40px;
  border: #e0e0e0 solid 1px;
  border-radius: 100%;
  background: #ffffff;
  line-height: 0;
}
@media print, screen and (max-width: 767px) {
  .replay .baloon .photo {
    display: none;
  }
}
.replay .baloon .photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.replay .baloon textarea {
  padding: 5px 5px 30px 5px;
  min-height: 60px;
  max-height: 150px;
  height: 60px;
  border: #ececec solid 1px;
}
.replay .baloon input[type=submit], .replay .baloon input[type=button] {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 5;
  width: 100px;
  height: 60px;
  border: none;
  background: #00a4b3;
  color: #ffffff;
  text-align: center;
  text-decoration: none;
  font-weight: 500;
  font-size: 13px;
  cursor: pointer;
}
@media print, screen and (max-width: 767px) {
  .replay .baloon input[type=submit], .replay .baloon input[type=button] {
    width: 60px;
  }
}
.replay .baloon .submitBtn {
  background: #b3b3b3 !important;
  pointer-events: none;
}
.replay .baloon .submitBtn.on {
  background: #00a4b3 !important;
  pointer-events: auto;
}
.replay .baloon .uploder {
  position: absolute;
  right: 161px;
  bottom: 1px;
  left: 71px;
  height: 24px;
  background-color: #ffffff;
  line-height: 0;
}
@media print, screen and (max-width: 767px) {
  .replay .baloon .uploder {
    left: 2px;
  }
}
.replay .baloon .uploder input[type=file] {
  display: none;
}
.replay .baloon .uploder img {
  position: absolute;
  top: 5px;
  left: 10px;
  opacity: 0.5;
  cursor: pointer;
}
.replay .baloon .uploder label {
  position: relative;
  display: inline-block;
  padding: 0 0 0 34px;
  height: 24px;
  line-height: 24px;
  cursor: pointer;
}
.replay .baloon .uploder label img {
  position: absolute;
  top: 6px;
  left: 10px;
  opacity: 0.5;
  cursor: pointer;
}
.replay .baloon .uploder label.set img {
  opacity: 1;
}
.replay .baloon .uploder label p {
  display: inline-block;
  margin: 0;
  padding: 0;
  color: #727272;
  font-size: 12px;
  line-height: 24px;
}

ul.discussionDetail {
  margin: 60px auto 50px;
  padding: 0;
  max-width: 1000px;
  list-style: none;
}
@media print, screen and (max-width: 1023px) {
  ul.discussionDetail {
    margin: 60px 50px 50px 30px;
  }
}
@media print, screen and (max-width: 767px) {
  ul.discussionDetail {
    margin: 50px 30px 50px 20px;
  }
}
ul.discussionDetail li {
  position: relative;
  margin: 0 0 30px;
  padding: 0;
}
ul.discussionDetail li dl {
  position: relative;
  margin: 0;
  padding: 0 0 0 70px;
}
@media print, screen and (max-width: 767px) {
  ul.discussionDetail li dl {
    padding: 0 0 0 36px;
  }
}
ul.discussionDetail li dl.mine {
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  padding: 0 70px 0 0;
}
@media print, screen and (max-width: 767px) {
  ul.discussionDetail li dl.mine {
    padding: 0 36px 0 0;
  }
}
ul.discussionDetail li dl.mine dt {
  right: 0;
  left: inherit;
}
ul.discussionDetail li dl.mine dd {
  margin: 0 0 0 auto;
}
ul.discussionDetail li dl.mine dd::before {
  position: absolute;
  top: 12px;
  right: -10px;
  left: inherit;
  width: 0;
  height: 0;
  border-width: 6px 0 6px 12px;
  border-style: solid;
  border-color: transparent transparent transparent #f5f5f5;
  content: "";
}
ul.discussionDetail li dl dt {
  position: absolute;
  top: 0;
  left: 0;
  margin: 0;
  padding: 0;
}
@media print, screen and (max-width: 767px) {
  ul.discussionDetail li dl dt {
    top: 5px;
  }
}
ul.discussionDetail li dl dt .photo {
  display: flex;
  overflow: hidden;
  align-items: center;
  justify-content: center;
  margin: 0 0 5px;
  padding: 0;
  width: 40px;
  height: 40px;
  border: #e0e0e0 solid 1px;
  border-radius: 100%;
  background: #ffffff;
  line-height: 0;
}
@media print, screen and (max-width: 767px) {
  ul.discussionDetail li dl dt .photo {
    width: 20px;
    height: 20px;
  }
}
ul.discussionDetail li dl dt .photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
ul.discussionDetail li dl dt p {
  margin: 0;
  padding: 0;
  text-align: center;
  font-size: 12px;
}
ul.discussionDetail li dl dd {
  position: relative;
  display: inline-block;
  margin: 0;
  padding: 30px;
  min-width: 300px;
  max-width: 700px;
  border-radius: 10px;
  background: #f5f5f5;
}
@media print, screen and (max-width: 1060px) {
  ul.discussionDetail li dl dd {
    max-width: 75%;
  }
}
@media print, screen and (max-width: 767px) {
  ul.discussionDetail li dl dd {
    min-width: 140px;
  }
}
ul.discussionDetail li dl dd.information_text {
  display: block;
  box-sizing: border-box;
  max-width: inherit;
  width: 100%;
}
ul.discussionDetail li dl dd::before {
  position: absolute;
  top: 20px;
  left: -12px;
  width: 0;
  height: 0;
  border-width: 8px 16px 8px 0;
  border-style: solid;
  border-color: transparent #f5f5f5 transparent transparent;
  content: "";
}
@media print, screen and (max-width: 767px) {
  ul.discussionDetail li dl dd::before {
    top: 12px;
    left: -10px;
  }
}
ul.discussionDetail li dl dd a.end {
  position: absolute;
  right: 0;
  bottom: 0;
  display: block;
  width: 174px;
  height: 36px;
  background: #00a4b3;
  color: #ffffff;
  text-align: center;
  text-decoration: none;
  font-weight: 500;
  font-size: 12px;
  line-height: 36px;
}
ul.discussionDetail li dl dd a.end span {
  position: relative;
  display: inline-block;
  margin: 0;
  padding: 0 0 0 26px;
}
ul.discussionDetail li dl dd a.end span i {
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -10px;
  font-size: 20px;
}
ul.discussionDetail li dl dd .complete {
  position: absolute;
  top: -10px;
  right: -10px;
  display: block;
  width: 208px;
  height: 42px;
  background: #00a4b3;
  color: #ffffff;
  text-align: center;
  text-decoration: none;
  font-weight: 500;
  font-size: 12px;
  line-height: 42px;
}
ul.discussionDetail li dl dd .complete::after {
  position: absolute;
  right: 30px;
  bottom: -26px;
  width: 0;
  height: 0;
  border-width: 40px 8px 0 8px;
  border-style: solid;
  border-color: #00a4b3 transparent transparent transparent;
  content: "";
  transform: rotate(40deg);
}
ul.discussionDetail li dl dd .statusInfo {
  position: absolute;
  top: -20px;
  right: -10px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100px;
  height: 100px;
  background: #00a4b3;
  color: #ffffff;
  text-align: center;
  font-weight: 500;
  font-size: 15px;
  line-height: 1;
}
ul.discussionDetail li dl dd p.tl {
  margin: 0;
  padding: 0;
  text-align: justify;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.8em;
}
ul.discussionDetail li dl dd p.name {
  margin: 0 0 10px;
  padding: 0;
  font-weight: 500;
  font-size: 11px;
}
ul.discussionDetail li dl dd p {
  margin: 0;
  padding: 0;
  text-align: justify;
  word-break: break-all;
  font-weight: 500;
  font-size: 13px;
  line-height: 2em;
}
ul.discussionDetail li dl dd p img {
  display: block;
  margin: 20px 0 0;
  max-width: 280px;
  max-height: 280px;
  width: 100%;
  height: auto;
  border: 1px solid #e3e3e3;
  background-color: #ffffff;
}
ul.discussionDetail li dl dd a.download {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 10px 0 0;
  padding: 10px 10px 10px 50px;
  max-width: 150px;
  border: 1px solid #e3e3e3;
  background: #ffffff;
  color: #8d8d8d;
  text-decoration: none;
  text-overflow: ellipsis;
  white-space: nowrap;
  line-height: 1.2em;
}
ul.discussionDetail li dl dd a.download::before {
  position: absolute;
  top: 50%;
  left: 14px;
  display: inline-block;
  margin-top: -12px;
  content: "description";
  text-transform: none;
  white-space: nowrap;
  word-wrap: normal;
  letter-spacing: normal;
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  font-family: "Material Icons";
  line-height: 1;
  direction: ltr;
  -webkit-font-feature-settings: "liga";
  -webkit-font-smoothing: antialiased;
}
ul.discussionDetail li dl dd a.download[href$=".gif"]::before, ul.discussionDetail li dl dd a.download[href$=".jpg"]::before, ul.discussionDetail li dl dd a.download[href$=".jpeg"]::before, ul.discussionDetail li dl dd a.download[href$=".png"]::before {
  content: "cloud_download";
}
ul.discussionDetail li dl dd a.download i {
  position: absolute;
  top: 50%;
  left: 14px;
  margin-top: -12px;
}
ul.discussionDetail li dl dd a.download span {
  font-size: 12px;
}
ul.discussionDetail li dl dd a.download span b {
  font-size: 10px;
}
ul.discussionDetail li dl dd .commentInfo {
  position: relative;
  margin: 0;
  padding: 20px 0 0;
}
ul.discussionDetail li dl dd .commentInfo .more_like {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 7px 0 0;
  min-height: 30px;
  font-weight: 500;
  font-size: 12px;
  line-height: 1;
}
ul.discussionDetail li dl dd .commentInfo .more_like .good {
  margin: -7px 15px 0 0;
}
ul.discussionDetail li dl dd .commentInfo .more_like span.more_like_baloon {
  display: inline-block;
  box-sizing: border-box;
  margin: 0;
  padding: 8px 16px;
  min-height: 30px;
  border: 1px solid #e3e3e3;
  border-radius: 20px;
  background: #ffffff;
  font-size: 12px;
  line-height: 1.5em;
}
ul.discussionDetail li dl dd .commentInfo p.day {
  display: inline-block;
  margin: 0;
  padding: 0;
  color: #949494;
  font-size: 12px;
  line-height: 30px;
}
ul.discussionDetail li dl dd .commentInfo .good {
  position: relative;
  display: inline-block;
  float: left;
  margin: 0 20px 0 0;
  padding: 0 0 0 26px;
  height: 24px;
  text-decoration: none;
  font-size: 14px;
  line-height: 30px;
}
ul.discussionDetail li dl dd .commentInfo .good i {
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -12px;
  line-height: 0;
}
ul.discussionDetail li dl dd .commentInfo .good i img {
  width: 18px;
  height: 22px;
}
ul.discussionDetail li dl dd .commentInfo #read_button {
  margin: 0;
  padding: 0;
}
ul.discussionDetail li dl dd .commentInfo #read_button .saw {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 16px 0 4px;
  height: 30px;
  border: #ececec solid 1px;
  border-radius: 15px;
  background: #ffffff;
  font-size: 13px;
  line-height: 1;
}
ul.discussionDetail li dl dd .commentInfo #read_button .saw i {
  margin: 0 10px 0 0;
}
ul.discussionDetail li dl dd .commentInfo #read_button .ok {
  color: #00a4b3;
}
ul.discussionDetail li dl dd .commentInfo #read_button a {
  text-decoration: none;
}
ul.discussionDetail li dl dd .commentInfo #read_button a .saw {
  border: none;
  background: #00a4b3;
  color: #ffffff;
}
ul.discussionDetail li dl dd .commentInfo #read_button a .saw i {
  color: #ffffff;
}
ul.discussionDetail li dl dd a.del {
  position: absolute;
  right: 0;
  bottom: 0;
  display: block;
  width: 64px;
  height: 30px;
  border-top-left-radius: 3px;
  border-bottom-right-radius: 8px;
  background: #00a4b3;
  color: #ffffff;
  text-align: center;
  text-decoration: none;
  font-weight: 500;
  font-size: 12px;
  line-height: 30px;
}
ul.discussionDetail li dl dd a.del span {
  position: relative;
  display: inline-block;
  margin: 0;
  padding: 0 0 0 20px;
}
ul.discussionDetail li dl dd a.del span i {
  position: absolute;
  top: 50%;
  left: 0;
  font-size: 16px;
  line-height: 0;
}

#classes {
  display: none;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  /*ディスカッション*/
}
#classes.on {
  display: block;
}
#classes .playerBlock {
  position: relative;
  overflow: hidden;
  margin: 0 0 15px;
  padding: 50px 80px 80px;
  border: #ececec solid 1px;
  background-color: #ffffff;
}
@media print, screen and (max-width: 1179px) {
  #classes .playerBlock {
    padding: 50px 60px 80px;
  }
}
@media print, screen and (max-width: 1023px) {
  #classes .playerBlock {
    padding: 50px 50px 80px;
  }
}
@media print, screen and (max-width: 767px) {
  #classes .playerBlock {
    margin: 0 0 10px;
    padding: 30px 0 50px;
  }
}
#classes .playerBlock.on {
  padding: 50px 80px 190px;
}
@media print, screen and (max-width: 1179px) {
  #classes .playerBlock.on {
    padding: 50px 60px 190px;
  }
}
@media print, screen and (max-width: 1023px) {
  #classes .playerBlock.on {
    padding: 50px 50px 190px;
  }
}
@media print, screen and (max-width: 767px) {
  #classes .playerBlock.on {
    padding: 30px 0 160px;
  }
}
#classes .playerBlock.fullscreen-view {
  background-color: #ffffff;
}
#classes .playerBlock .title {
  position: relative;
  margin: 0 auto 50px;
  padding: 0;
  max-width: 740px;
  text-align: center;
  letter-spacing: normal;
  font-weight: 700;
  font-size: 20px;
  line-height: 50px;
}
#classes .playerBlock .title span {
  display: block;
  padding: 0;
  letter-spacing: normal;
  font-weight: 500;
  font-size: 16px;
  line-height: normal;
}
#classes .playerBlock .start {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #ffffff;
  text-align: center;
}
#classes .playerBlock .start.fadeOut {
  pointer-events: none;
}
#classes .playerBlock .start h2 {
  margin: 0;
  padding: 0 30px 0;
  text-align: center;
  letter-spacing: normal;
  font-weight: 500;
  font-size: 18px;
}
@media print, screen and (max-width: 1023px) {
  #classes .playerBlock .start h2 {
    font-weight: 700;
    font-size: 16px;
  }
}
@media print, screen and (max-width: 767px) {
  #classes .playerBlock .start h2 {
    font-size: 15px;
  }
}
#classes .playerBlock .timeInfo {
  display: block;
  margin: 0 0 30px;
  padding: 20px 20px 0;
  text-align: center;
  font-weight: 500;
  font-size: 12px;
  line-height: 1.6em;
}
@media print, screen and (max-width: 767px) {
  #classes .playerBlock .timeInfo {
    padding: 10px 20px 0;
  }
}
#classes .playerBlock .startType {
  display: inline-flex;
  margin: 0;
  padding: 0;
}
#classes .playerBlock .startType a {
  display: block;
  float: left;
  margin: 0 5px;
  width: 200px;
  height: 66px;
  border-radius: 3px;
  background: #7b7b7b;
  color: #ffffff;
  text-align: center;
  font-size: 14px;
  line-height: 66px;
  cursor: pointer;
}
@media print, screen and (max-width: 1023px) {
  #classes .playerBlock .startType a {
    width: 170px;
    height: 60px;
    line-height: 60px;
  }
}
@media print, screen and (max-width: 767px) {
  #classes .playerBlock .startType a {
    width: 140px;
    height: 50px;
    line-height: 50px;
  }
}
#classes .playerBlock .startType a:first-child {
  background-color: #00a4b3;
}
#classes .playerBlock .startType a span {
  position: relative;
  display: inline-block;
  padding: 0 30px 0 0;
}
@media print, screen and (max-width: 1023px) {
  #classes .playerBlock .startType a span {
    padding: 0 26px 0 0;
  }
}
@media print, screen and (max-width: 767px) {
  #classes .playerBlock .startType a span {
    padding: 0 20px 0 0;
  }
}
#classes .playerBlock .startType a span i {
  position: absolute;
  top: 50%;
  right: 0;
  margin-top: -10px;
  font-size: 20px;
}
@media print, screen and (max-width: 767px) {
  #classes .playerBlock .startType a span i {
    margin-top: -8px;
    font-size: 16px;
  }
}
#classes .playerBlock .playerBox {
  position: relative;
  margin: 0 auto;
  padding: 0;
  /*min-width:880px;
  min-height:495px;*/
  max-width: calc((100svh - 284px) * 16 / 9);
  max-height: calc(100svh - 284px);
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
  /*@media (orientation: landscape)
  and (hover: none)
  and (pointer: coarse)
  and (max-width: 900px) {
  	max-width:calc((100svh - 100px) * 16 / 9);
  	max-height:calc(100svh - 100px);
  }*/
}
@media (orientation: portrait) and (max-width: 767px) {
  #classes .playerBlock .playerBox {
    max-width: inherit;
    max-height: inherit;
  }
}
#classes .playerBlock .schoolingPlayer {
  position: relative;
  margin: 0 auto;
  padding: 0;
}
#classes .precaution {
  margin: 0;
  padding: 24px 100px 0;
  max-width: 800px;
}
@media print, screen and (max-width: 1279px) {
  #classes .precaution {
    padding: 24px 50px 0;
  }
}
@media print, screen and (max-width: 767px) {
  #classes .precaution {
    display: none;
    margin: 0 0 10px;
    padding: 30px 20px;
    border: #ececec solid 1px;
    background-color: #ffffff;
  }
}
#classes .precaution.sp {
  display: none;
}
@media print, screen and (max-width: 767px) {
  #classes .precaution.sp {
    display: block;
  }
}
#classes .precaution h2 {
  position: relative !important;
  margin: 0 0 10px !important;
  padding: 0 0 0 36px !important;
  text-align: left !important;
  font-weight: 500 !important;
  font-size: 13px !important;
}
@media print, screen and (max-width: 767px) {
  #classes .precaution h2 {
    display: block !important;
    padding: 0 0 0 20px !important;
    font-size: 12px !important;
  }
}
#classes .precaution h2 i {
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -14px;
  font-size: 24px;
}
@media print, screen and (max-width: 767px) {
  #classes .precaution h2 i {
    margin-top: -8px;
    font-size: 16px;
  }
}
#classes .precaution p {
  margin: 0;
  padding: 0;
  text-align: justify;
  font-weight: 500;
  font-size: 12px;
  line-height: 1.8em;
}
@media print, screen and (max-width: 767px) {
  #classes .precaution p {
    font-size: 11px;
  }
}
#classes .subBox_block {
  padding: 60px 0 80px;
  border: #ececec solid 1px;
  background-color: #ffffff;
}
@media print, screen and (max-width: 767px) {
  #classes .subBox_block {
    padding: 0 0 50px;
    border: none;
    background-color: transparent;
  }
}
#classes .subBox {
  margin: 0 auto 60px;
  padding: 0 80px;
  max-width: 740px;
}
@media print, screen and (max-width: 1023px) {
  #classes .subBox {
    padding: 0 50px;
  }
}
@media print, screen and (max-width: 767px) {
  #classes .subBox {
    margin: 0 0 10px;
    padding: 40px 20px;
    border: #ececec solid 1px;
    background-color: #ffffff;
  }
}
#classes .subBox h2 {
  position: relative;
  margin: 0 0 20px;
  padding: 0;
  font-weight: 700;
  font-size: 14px;
}
@media print, screen and (max-width: 767px) {
  #classes .subBox h2 {
    font-size: 15px;
  }
}
#classes .subBox h2 span {
  position: relative;
  z-index: 2;
  display: inline-block;
  padding: 0 30px 0 0;
}
#classes .subBox ul {
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin: 0;
  padding: 0;
  list-style: none;
  gap: 10px;
}
#classes .subBox ul li {
  margin: 0;
  padding: 0;
  width: calc(50% - 5px);
}
@media print, screen and (max-width: 767px) {
  #classes .subBox ul li {
    width: 100%;
  }
}
#classes .subBox ul li.end {
  position: relative;
  padding: 0 0 0 20px;
  width: 100%;
  border: #ececec solid 1px;
  font-weight: 500;
  font-size: 13px;
  line-height: 50px;
}
#classes .subBox ul li a {
  position: relative;
  display: block;
  overflow: hidden;
  align-items: center;
  justify-content: space-between;
  box-sizing: border-box;
  padding: 0 70px 0 20px;
  height: 50px;
  border: #ececec solid 1px;
  background-color: #ffffff;
  text-decoration: none;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 500;
  font-size: 13px;
  line-height: 50px;
}
@media print, screen and (max-width: 767px) {
  #classes .subBox ul li a {
    padding: 0 50px 0 20px;
  }
}
#classes .subBox i {
  position: absolute;
  top: 50%;
  right: 20px;
  margin-top: -12px;
  color: #00a4b3;
}
@media print, screen and (max-width: 767px) {
  #classes .subBox i {
    right: 10px;
  }
}
#classes .subBox .reportBtn {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0 44px 0 20px;
  height: 50px;
  border: #ececec solid 1px;
  text-decoration: none;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 500;
  font-size: 13px;
  line-height: 50px;
  cursor: pointer;
}
#classes .subBox .reportBtn.end {
  color: #cfcfcf;
}
#classes .subBox .reportBtn.end i {
  color: #cfcfcf;
}
#classes .subBox a.testBtn {
  position: relative;
  display: flex;
  align-items: center;
  box-sizing: border-box;
  margin: 10px 0 0;
  padding: 15px 104px 15px 20px;
  min-height: 50px;
  border: #ececec solid 1px;
  text-decoration: none;
  font-weight: 500;
  font-size: 13px;
}
@media print, screen and (max-width: 767px) {
  #classes .subBox a.testBtn {
    align-items: flex-start;
    flex-direction: column;
    justify-content: flex-start;
    padding: 15px 54px 15px 20px;
    gap: 5px;
  }
}
#classes .subBox a.testBtn.retry {
  margin: 10px 0 -11px;
}
#classes .subBox a.testBtn.previous {
  margin: -1px 0 0;
}
#classes .subBox a.testBtn span {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 30px;
  background: #ea9a28;
  color: #ffffff;
  font-weight: 500;
  font-size: 13px;
}
#classes .subBox a.testBtn span.type {
  position: static;
  top: 0;
  right: 0;
  bottom: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0 10px 0 0;
  padding: 0;
  width: 70px;
  height: 22px;
  border-radius: 15px;
  color: #ffffff;
  font-weight: 500;
  font-size: 11px;
  line-height: 1.8em;
}
@media print, screen and (max-width: 767px) {
  #classes .subBox a.testBtn span.type {
    margin: 0 0 0 -5px;
  }
}
#classes .subBox a.testBtn span.type.type01 {
  background: #24a4b2;
}
#classes .subBox a.testBtn span.type.type02 {
  background: #ea9a28;
}
#classes .subBox a.testBtn span.type.type03 {
  background: #9e9d9c;
}
#classes .subBox a.testBtn.end {
  color: #cfcfcf;
}
#classes .subBox a.testBtn.end i {
  color: #cfcfcf;
}
#classes .subBox .submissionDetail {
  display: none;
  margin: 0 auto;
  padding: 0 0 30px;
}
#classes .subBox .submissionDetail ul {
  display: block;
  margin: 0;
  padding: 0;
}
#classes .subBox .submissionDetail ul li {
  margin: 0 0 1px;
  padding: 40px;
  width: auto;
  height: auto;
  border-right: #ececec solid 1px;
  border-bottom: #ececec solid 1px;
  border-left: #ececec solid 1px;
  list-style: none;
  font-weight: 500;
  font-size: 13px;
}
@media print, screen and (max-width: 767px) {
  #classes .subBox .submissionDetail ul li {
    padding: 30px 20px;
  }
}
#classes .subBox .submissionDetail ul li h3 {
  /*border-bottom: #d3d3d3 solid 1px;*/
  position: relative;
  margin: 0 0 10px;
  padding: 0 0 0 30px;
  font-size: 14px;
}
@media print, screen and (max-width: 767px) {
  #classes .subBox .submissionDetail ul li h3 {
    padding: 0;
  }
}
#classes .subBox .submissionDetail ul li h3 i {
  position: absolute;
  top: 0;
  left: 0;
  margin-top: 0;
  color: #000000;
}
@media print, screen and (max-width: 767px) {
  #classes .subBox .submissionDetail ul li h3 i {
    display: none;
  }
}
#classes .subBox .submissionDetail ul li dl {
  position: relative;
  margin: 0;
  padding: 20px 30px 20px 130px;
  border: #ececec solid 1px;
  background: #ffffff;
  font-size: 14px;
}
@media print, screen and (max-width: 767px) {
  #classes .subBox .submissionDetail ul li dl {
    padding: 20px 10px;
  }
}
#classes .subBox .submissionDetail ul li dl dt {
  position: absolute;
  top: 50%;
  left: 30px;
  font-weight: 700;
  transform: translateY(-50%);
}
@media print, screen and (max-width: 767px) {
  #classes .subBox .submissionDetail ul li dl dt {
    position: static;
    margin: 0 0 5px;
    font-weight: 700;
    font-size: 11px;
    transform: inherit;
  }
  #classes .subBox .submissionDetail ul li dl dt::before {
    content: "■ ";
  }
}
#classes .subBox .submissionDetail ul li dl dd {
  position: relative;
  margin: 0;
  padding: 0;
}
#classes .subBox .submissionDetail ul li dl dd i {
  right: 20px;
}
@media print, screen and (max-width: 767px) {
  #classes .subBox .submissionDetail ul li dl dd i {
    right: 0;
    margin-top: -8px;
    font-size: 16px;
  }
}
@media print, screen and (max-width: 767px) {
  #classes .subBox .submissionDetail ul li dl dd input[type=file] {
    box-sizing: border-box;
    margin: 10px 0 20px;
    padding: 10px;
    width: 100%;
    border: #ececec solid 1px;
  }
}
#classes .subBox .submissionDetail ul li dl dd input[type=submit] {
  position: absolute;
  top: 50%;
  right: 0;
  margin-top: -13px;
}
#classes .subBox .submissionDetail ul li dl dd label.error {
  position: absolute;
  top: -30px;
  left: 180px;
  display: inline-flex;
  margin: 0;
  padding: 0;
  padding: 5px 10px;
  border: none;
  border: #e3e3e3 solid 1px;
  border-radius: 20px;
  background-color: #ffffff;
  color: #24a4b2;
  text-align: center;
  font-weight: 500;
  font-size: 11px;
}
@media print, screen and (max-width: 767px) {
  #classes .subBox .submissionDetail ul li dl dd label.error {
    top: -10px;
    right: -10px;
    left: inherit;
  }
}
#classes .subBox .submissionDetail ul li dl dd a {
  display: inline;
  padding: 0;
  height: auto;
  text-decoration: underline;
  line-height: normal;
}
#classes .subBox .submissionDetail ul li dl dd p {
  margin: 0;
  padding: 0;
  font-weight: 500;
  font-size: 14px;
  line-height: 2em;
}
#classes .subBox .submissionDetail ul li a.resultLink {
  display: block;
  margin: 0 0 -1px;
  padding: 0;
  height: auto;
  border: none;
  text-decoration: none;
  line-height: inherit;
}
#classes .subBox .submissionDetail ul li .comment {
  margin: 0;
  padding: 30px 0 0;
}
#classes .subBox .submissionDetail ul li .comment h3 {
  position: relative;
  margin: 0 0 20px;
  padding: 0 0 0 30px;
  font-weight: 700;
  font-size: 16px;
}
#classes .subBox .submissionDetail ul li .comment h3 i {
  position: absolute;
  top: 0;
  left: 0;
}
#classes .subBox .submissionDetail ul li .comment p {
  margin: 0;
  padding: 0;
  text-align: justify;
  font-size: 13px;
  line-height: 2em;
}
#classes .subBox .submissionDetail ul li p {
  margin: 0 0 20px;
  padding: 0;
  text-align: justify;
  line-height: 2em;
}
#classes .subBox .submissionDetail ul li p.expired {
  position: relative;
  margin: 1px 0 0;
  padding: 20px 30px;
  border: #ececec solid 1px;
  background: #ffffff;
  font-size: 13px;
}
#classes .subBox .submissionDetail ul li input[type=button] {
  float: right;
  margin: 0 auto;
  padding: 0;
  width: 80px;
  height: 30px;
  border: none;
  border-radius: 0;
  border-radius: 3px;
  background-color: #00a4b3;
  color: #ffffff;
  text-align: center;
  font-weight: 500;
  font-size: 13px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
@media print, screen and (max-width: 767px) {
  #classes .subBox .submissionDetail ul li input[type=button] {
    display: block;
    float: none;
    margin: 0 auto;
  }
}
#classes .subBox .submissionDetail ul li .submit {
  margin: 10px 0 0;
  text-align: right;
}
#classes .subBox .submissionDetail ul li .text {
  position: relative;
  padding: 30px;
  border: #ececec solid 1px;
}
@media print, screen and (max-width: 767px) {
  #classes .subBox .submissionDetail ul li .text {
    padding: 10px 10px 20px;
  }
}
#classes .subBox .submissionDetail ul li .text label.error {
  position: absolute;
  top: 10px;
  right: 10px;
  display: inline-flex;
  margin: 0;
  padding: 0;
  padding: 5px 10px;
  border: none;
  border: #e3e3e3 solid 1px;
  border-radius: 20px;
  background-color: #ffffff;
  color: #24a4b2;
  text-align: center;
  font-weight: 500;
  font-size: 11px;
}
#classes .subBox .submissionDetail ul li .text input[type=button] {
  float: none;
}
#classes .subBox .submissionDetail ul li .text p.count {
  margin: 0;
  font-size: 11px;
}
@media print, screen and (max-width: 767px) {
  #classes .subBox .submissionDetail ul li .text p.count {
    margin: 0 0 10px;
  }
}
#classes .subBox .submissionDetail ul li .text .submit {
  margin: 0;
  text-align: right;
}
#classes #discussion.subBox {
  position: relative;
  box-sizing: content-box;
  min-height: inherit;
  border: none;
  background: none;
}
@media print, screen and (max-width: 767px) {
  #classes #discussion.subBox {
    border: #ececec solid 1px;
    background-color: #ffffff;
  }
}
#classes #discussion.subBox ul.discussionList {
  display: block;
}
#classes #discussion.subBox ul.discussionList li {
  margin: 0 0 -1px;
  width: auto;
  height: auto;
  border-bottom: none;
}
#classes #discussion.subBox ul.discussionList li.sensei {
  padding: 0 0 30px;
}
@media (hover: hover) and (pointer: fine) {
  #classes #discussion.subBox ul.discussionList li.sensei:hover {
    background-color: #ffffff;
  }
}
#classes #discussion.subBox ul.discussionList li a {
  padding: 15px 20px 15px 20px;
  height: auto;
  border: #ececec solid 1px;
  background: #ffffff;
  white-space: inherit;
  line-height: inherit;
}
@media print, screen and (max-width: 767px) {
  #classes #discussion.subBox ul.discussionList li a {
    padding: 15px 10px 15px 10px;
  }
}
#classes #discussion.subBox ul.discussionList li a.del {
  position: absolute;
  right: 152px;
  bottom: 5px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 0;
  min-height: auto;
  width: auto;
  border: none;
  background: none;
  color: #24a4b2;
}
#classes #discussion.subBox ul.discussionList li a.del span {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 0;
  gap: 8px;
}
#classes #discussion.subBox ul.discussionList li a.close {
  position: absolute;
  right: 0;
  bottom: 5px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 0;
  min-height: auto;
  width: auto;
  border: none;
  background: none;
  color: #24a4b2;
}
#classes #discussion.subBox ul.discussionList li a.close span {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 0;
  gap: 8px;
}
#classes #discussion.subBox ul.discussionList li a.resume {
  position: absolute;
  right: 0;
  bottom: 5px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 0;
  min-height: auto;
  width: auto;
  border-left: none;
  background: none;
  color: #24a4b2;
}
#classes #discussion.subBox ul.discussionList li a.resume span {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 0;
  gap: 8px;
}
#classes #discussion.subBox ul.discussionList li a.close.resume {
  background: none;
}
#classes #discussion.subBox ul.discussionList li a span i {
  position: static;
  margin: 0;
  color: #00a4b3;
  line-height: 1;
}
@media print, screen and (max-width: 767px) {
  #classes #discussion.subBox ul.discussionList li dl {
    padding: 0 0 0 36px;
  }
}
#classes #discussion.subBox ul.discussionList li dl dt .photo {
  width: 30px;
  height: 30px;
}
@media print, screen and (max-width: 767px) {
  #classes #discussion.subBox ul.discussionList li dl dt .photo {
    width: 20px;
    height: 20px;
  }
}
#classes #discussion.subBox ul.discussionList li dl dd p.tl {
  font-size: 14px;
}
#classes #discussion.subBox ul.discussionList li ol {
  width: auto;
  list-style: none;
}
@media print, screen and (max-width: 767px) {
  #classes #discussion.subBox ul.discussionList li ol {
    margin: 0 0 0 36px;
  }
}
#classes #discussion.subBox ul.discussionList li ol li {
  margin: 0 0 0 5px;
  background: none;
}
#classes #discussion.subBox ul.discussionList li ol li span.count i {
  position: absolute;
  margin-top: -10px;
  font-size: 20px;
}
#classes #discussion.subBox ul.discussionList li ol li span.count img {
  width: 17px;
}
#classes .testComplete {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 274px;
  z-index: 99999;
  display: none;
  background: #ffffff;
  opacity: 0;
  transition: opacity 0.2s linear;
}
@media print, screen and (max-width: 1179px) {
  #classes .testComplete {
    left: 0;
  }
}
#classes .testComplete.active {
  opacity: 1;
}
#classes .testComplete.active .box {
  opacity: 1;
}
#classes .testComplete .box {
  position: absolute;
  top: 50%;
  left: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 650px;
  height: 420px;
  border: #ececec solid 1px;
  background: #ffffff;
  opacity: 0;
  transition: opacity 0.2s linear 0.4s;
  transform: translate(-50%, -50%);
}
@media print, screen and (max-width: 767px) {
  #classes .testComplete .box {
    right: 20px;
    left: 20px;
    width: auto;
    height: 320px;
    transform: translate(0%, -50%);
  }
}
#classes .testComplete .box .message {
  margin: 0;
  padding: 0;
  width: 100%;
}
@media print, screen and (max-width: 767px) {
  #classes .testComplete .box .message {
    padding: 0 20px;
  }
}
#classes .testComplete .box .message .icon {
  margin: 0 0 20px;
  padding: 0;
  text-align: center;
}
@media print, screen and (max-width: 767px) {
  #classes .testComplete .box .message .icon {
    margin: 0 0 10px;
  }
}
#classes .testComplete .box .message .icon span {
  font-size: 50px;
}
@media print, screen and (max-width: 767px) {
  #classes .testComplete .box .message .icon span {
    font-size: 40px;
  }
}
#classes .testComplete .box .message h2 {
  margin: 0 0 16px;
  text-align: center;
  font-weight: 700;
  font-size: 18px;
}
@media print, screen and (max-width: 767px) {
  #classes .testComplete .box .message h2 {
    font-size: 16px;
  }
}
#classes .testComplete .box .message p {
  margin: 0 0 30px;
  padding: 0;
  text-align: center;
  font-size: 13px;
  line-height: 1.86em;
}
#classes .testComplete .box .message .close {
  margin: 0 auto;
  width: 152px;
  height: 50px;
  border-radius: 3px;
  background: #2d2d2d;
  color: #ffffff;
  text-align: center;
  font-weight: 500;
  font-size: 13px;
  line-height: 50px;
  cursor: pointer;
}

.add_new_discussion {
  position: absolute;
  top: -10px;
  right: 80px;
  margin: 0;
  padding: 0;
}
@media print, screen and (max-width: 1023px) {
  .add_new_discussion {
    right: 50px;
  }
}
@media print, screen and (max-width: 767px) {
  .add_new_discussion {
    top: 30px;
    right: 20px;
  }
}
.add_new_discussion.sp {
  display: none;
}
.add_new_discussion .add_new_btn {
  display: block;
  margin: 0 auto;
  width: 130px;
  height: 40px;
  border-radius: 3px;
  background: #00a4b3;
  color: #ffffff;
  text-align: center;
  text-decoration: none;
  font-weight: 500;
  font-size: 12px;
  line-height: 40px;
  cursor: pointer;
}
@media print, screen and (max-width: 767px) {
  .add_new_discussion .add_new_btn {
    width: 120px;
  }
}

.talk {
  margin: 0;
  padding: 0;
}
.talk h2 {
  position: relative;
  margin: 0 0 20px;
  padding: 0 0 0 36px;
  font-weight: 700;
  font-size: 16px;
}
.talk h2 i {
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -13px;
  font-size: 26px;
}
.talk .scroll {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 60px;
  left: 0;
  overflow: auto;
  padding: 50px 30px;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.talk .scroll::-webkit-scrollbar {
  display: none;
}
@media print, screen and (max-width: 767px) {
  .talk .scroll {
    padding: 20px;
  }
}
.talk ul.discussionDetail {
  margin: 40px 0 50px;
}
.talk ul.discussionDetail li dl {
  padding: 0 0 0 57px;
}
.talk ul.discussionDetail li dl.mine {
  padding: 0 57px 0 0;
}
@media print, screen and (max-width: 767px) {
  .talk ul.discussionDetail li dl.mine {
    padding: 0 36px 0 0;
  }
}
.talk ul.discussionDetail li dl.mine dt {
  right: 0;
  left: inherit;
}
.talk ul.discussionDetail li dl.mine dd {
  margin: 0 0 0 auto;
  padding: 20px 30px 50px;
}
.talk ul.discussionDetail li dl.mine dd::before {
  position: absolute;
  top: 12px;
  right: -10px;
  left: inherit;
  width: 0;
  height: 0;
  border-width: 6px 0 6px 12px;
  border-style: solid;
  border-color: transparent transparent transparent #f5f5f5;
  content: "";
}
@media print, screen and (max-width: 767px) {
  .talk ul.discussionDetail li dl {
    padding: 0 0 0 36px;
  }
}
.talk ul.discussionDetail li dl dt .photo {
  width: 30px;
  height: 30px;
}
@media print, screen and (max-width: 767px) {
  .talk ul.discussionDetail li dl dt .photo {
    width: 20px;
    height: 20px;
  }
}
.talk ul.discussionDetail li dl dd {
  padding: 20px 30px;
  min-width: 200px;
  max-width: 350px;
  border-radius: 10px;
  background: #f7f7f7;
}
@media print, screen and (max-width: 767px) {
  .talk ul.discussionDetail li dl dd {
    max-width: 75%;
  }
}
.talk ul.discussionDetail li dl dd::before {
  position: absolute;
  top: 12px;
  left: -10px;
  border-width: 6px 12px 6px 0;
}
.talk ul.discussionDetail li dl dd p.tl {
  padding: 0;
  font-size: 15px;
}
.talk ul.discussionDetail li dl dd p.name {
  margin: 0 0 10px;
  font-size: 10px;
}
.talk ul.discussionDetail li dl dd .commentInfo .more_like {
  padding: 0;
  min-height: inherit;
}
.talk ul.discussionDetail li dl dd p {
  font-size: 13px;
  line-height: 1.8em;
}
.talk .replay_fixed {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  width: 667px;
}
@media print, screen and (max-width: 767px) {
  .talk .replay_fixed {
    width: 100%;
  }
}
.talk .replay {
  position: relative;
  left: initial;
  margin: 0;
  padding: 10px;
}
@media print, screen and (max-width: 767px) {
  .talk .replay {
    right: 0;
    left: initial;
    border-right: none;
    border-left: none;
  }
}
.talk .replay .baloon {
  position: relative;
  margin: 0;
  padding: 0 100px 0 68px;
}
@media print, screen and (max-width: 767px) {
  .talk .replay .baloon {
    padding: 0 60px 0 0;
  }
}
.talk .replay .baloon input[type=button] {
  width: 100px;
  height: 60px;
}
@media print, screen and (max-width: 767px) {
  .talk .replay .baloon input[type=button] {
    width: 60px;
    height: 60px;
  }
}
.talk .replay .baloon .photo {
  bottom: 9px;
  left: 16px;
  width: 40px;
  height: 40px;
}
@media print, screen and (max-width: 767px) {
  .talk .replay .baloon .photo {
    display: none;
  }
}
.talk .replay .baloon .uploder {
  right: 100px;
  bottom: 1px;
  left: 69px;
}
@media print, screen and (max-width: 767px) {
  .talk .replay .baloon .uploder {
    right: 60px;
    bottom: 1px;
    left: 1px;
  }
}

.new_talk {
  margin: 0;
  padding: 0;
}
.new_talk h2 {
  position: relative;
  margin: 0 0 20px;
  padding: 0 0 0 36px;
  font-weight: 700;
  font-size: 16px;
}
.new_talk h2 i {
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -13px;
  font-size: 26px;
}
.new_talk ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.new_talk ul li {
  display: block;
  box-sizing: border-box;
  margin: 0 0 20px;
  padding: 0;
  min-height: 40px;
}
.new_talk ul li dl {
  position: relative;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  width: 100%;
  font-weight: 500;
  font-size: 14px;
}
.new_talk ul li dl dt {
  margin: 0 0 5px;
  padding: 0;
  font-weight: 700;
  font-size: 12px;
}
.new_talk ul li dl dd {
  margin: 0;
  padding: 0;
}
.new_talk ul li dl dd .uploder {
  display: inline-block;
  padding: 7px 0;
  height: 24px;
  line-height: 0;
}
.new_talk ul li dl dd .uploder input[type=file] {
  display: none;
}
.new_talk ul li dl dd .uploder img {
  position: absolute;
  top: 5px;
  left: 10px;
  opacity: 0.5;
  cursor: pointer;
}
.new_talk ul li dl dd .uploder label {
  position: relative;
  display: inline-block;
  padding: 0 0 0 34px;
  height: 24px;
  line-height: 24px;
  cursor: pointer;
}
.new_talk ul li dl dd .uploder label img {
  position: absolute;
  top: 6px;
  left: 10px;
  opacity: 0.5;
  cursor: pointer;
}
.new_talk ul li dl dd .uploder label.set img {
  opacity: 1;
}
.new_talk ul li dl dd .uploder label p {
  display: inline-block;
  margin: 0;
  padding: 0;
  color: #727272;
  font-size: 12px;
  line-height: 24px;
}
.new_talk .submit {
  margin: 0;
}
.new_talk .submit input[type=button] {
  display: block;
  margin: 0 auto;
  width: 180px;
  height: 50px;
  outline: none;
  border: none;
  border-radius: 3px;
  background: #00a4b3;
  color: #ffffff;
  text-align: center;
  text-decoration: none;
  font-weight: 500;
  font-size: 14px;
  font-family: "Roboto", "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  line-height: 50px;
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.new_talk .submit input[type=button]:disabled {
  background: #b3b3b3 !important;
  pointer-events: none;
}

#faq {
  box-sizing: border-box;
  margin: 0;
  padding: 60px 60px;
  min-height: calc(100svh - 140px);
  border: #ececec solid 1px;
  background: #ffffff;
}
@media print, screen and (max-width: 1179px) {
  #faq {
    min-height: calc(100svh - 183px);
  }
}
@media print, screen and (max-width: 1023px) {
  #faq {
    padding: 60px 40px;
  }
}
@media print, screen and (max-width: 767px) {
  #faq {
    padding: 20px;
    min-height: calc(100svh - 148px);
  }
}
#faq .noPost {
  margin: -60px -60px;
}
@media print, screen and (max-width: 1023px) {
  #faq .noPost {
    margin: -60px -40px;
  }
}
@media print, screen and (max-width: 767px) {
  #faq .noPost {
    margin: -20px;
  }
}
#faq .box {
  position: relative;
  margin: 0 0 -1px;
  padding: 0;
  border: #ececec solid 1px;
}
#faq .box dl {
  margin: 0;
  padding: 0;
  font-weight: 500;
  font-size: 13px;
  line-height: 2em;
}
#faq .box dl dt {
  margin: 0;
  padding: 10px 20px;
  cursor: pointer;
  transition: background-color 0.4s cubic-bezier(0.26, 0.63, 0, 0.99);
}
@media print, screen and (max-width: 767px) {
  #faq .box dl dt {
    padding: 10px 16px 10px 16px;
  }
}
#faq .box dl dt div {
  position: relative;
  margin: 0;
  padding: 0 40px 0 32px;
}
@media print, screen and (max-width: 767px) {
  #faq .box dl dt div {
    padding: 0 30px 0 28px;
  }
}
#faq .box dl dt div::before {
  position: absolute;
  top: 0;
  left: 0;
  color: #00a4b3;
  content: "Q";
  font-weight: 500;
  font-size: 22px;
}
@media print, screen and (max-width: 767px) {
  #faq .box dl dt div::before {
    font-size: 18px;
  }
}
#faq .box dl dt div i {
  position: absolute;
  top: 50%;
  right: 0;
  margin-top: -10px;
  color: #00a4b9;
  font-size: 20px;
  transition: 0.5s cubic-bezier(0.84, 0.39, 0.33, 1);
  pointer-events: none;
}
#faq .box dl dt.open {
  background-color: #ffffff;
}
#faq .box dl dt.open div i {
  transform: rotate(180deg);
}
#faq .box dl dd {
  display: none;
  margin: 0;
  padding: 20px 40px 20px 50px;
  border-top: #ececec solid 1px;
  background-color: #f5f5f5;
}
@media print, screen and (max-width: 767px) {
  #faq .box dl dd {
    padding: 20px;
  }
}

#account {
  box-sizing: border-box;
  margin: 0;
  padding: 60px 60px;
  min-height: calc(100svh - 85px);
  border: #ececec solid 1px;
  background: #ffffff;
}
@media print, screen and (max-width: 1023px) {
  #account {
    padding: 60px 40px;
  }
}
@media print, screen and (max-width: 767px) {
  #account {
    padding: 60px 30px;
  }
}
#account .accountBox {
  position: relative;
  margin: 0;
  padding: 0;
}
#account .accountBox a.logout {
  display: none;
}
#account .accountBox .photo {
  position: absolute;
  top: 0;
  right: 0;
  margin: 0;
  padding: 0;
  text-align: center;
}
#account .accountBox .photo .photoBox {
  position: relative;
  display: flex;
  overflow: hidden;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 70px;
  height: 70px;
  border: #ececec solid 1px;
  border-radius: 100%;
  background: #f7f7f7;
  line-height: 0;
}
@media print, screen and (max-width: 1023px) {
  #account .accountBox .photo .photoBox {
    width: 60px;
    height: 60px;
  }
}
#account .accountBox .photo .photoBox img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#account .accountBox .photo .photoBox label {
  position: absolute;
  top: -5px;
  right: -5px;
  bottom: -5px;
  left: -5px;
  display: flex;
  align-items: center;
  justify-content: center;
  outline: none;
  border: none;
  background-color: rgba(189, 189, 189, 0.8);
  opacity: 0;
  cursor: pointer;
  transition: 0.2s cubic-bezier(0.84, 0.39, 0.33, 1);
}
#account .accountBox .photo .photoBox label:hover {
  opacity: 1;
}
#account .accountBox .photo .photoBox label img {
  width: 40px;
  height: 40px;
  opacity: 0.4;
}
#account .accountBox .photo .photoBox input {
  display: none;
}
#account .accountBox .name {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin: 0 0 20px;
  padding: 0;
  height: 100px;
  font-weight: 500;
  font-size: 13px;
  line-height: 2.6em;
}
@media print, screen and (max-width: 1023px) {
  #account .accountBox .name {
    margin: 0;
  }
}
#account .accountBox .name b {
  font-weight: 500;
  font-size: 20px;
}
@media print, screen and (max-width: 1023px) {
  #account .accountBox .name b {
    font-size: 17px;
  }
}
#account .accountBox dl {
  position: relative;
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  margin: 0 0 -1px;
  padding: 0;
  min-height: 80px;
  border: #ececec solid 1px;
  font-size: 13px;
}
@media print, screen and (max-width: 767px) {
  #account .accountBox dl {
    align-items: flex-start;
    flex-direction: column;
    justify-content: flex-start;
    padding: 20px;
    min-height: initial;
  }
}
#account .accountBox dl dt {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin: 0;
  padding: 15px 0 15px 30px;
  width: 200px;
  font-weight: 700;
}
@media print, screen and (max-width: 1023px) {
  #account .accountBox dl dt {
    width: 140px;
  }
}
@media print, screen and (max-width: 767px) {
  #account .accountBox dl dt {
    margin: 0 0 14px;
    padding: 0;
    width: 100%;
    font-size: 10px;
  }
  #account .accountBox dl dt::before {
    content: "■ ";
  }
}
#account .accountBox dl dd {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin: 0;
  padding: 15px 15px 15px 0;
  width: calc(100% - 200px);
  font-weight: 500;
}
@media print, screen and (max-width: 1023px) {
  #account .accountBox dl dd {
    width: calc(100% - 140px);
  }
}
@media print, screen and (max-width: 767px) {
  #account .accountBox dl dd {
    padding: 0;
    width: 100%;
    font-size: 14px;
  }
}
#account .accountBox dl dd input[type=text], #account .accountBox dl dd input[type=password] {
  margin: 0;
  padding: 15px 10px;
  background-color: #ffffff;
  font-weight: 500;
  font-size: 14px;
}
#account .accountBox dl dd input[type=submit] {
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  width: 110px;
  height: 50px;
  border: 0;
  border-radius: 0;
  background: #00a4b3;
  color: #ffffff;
  text-align: center;
  text-decoration: none;
  font-weight: 500;
  font-size: 13px;
  line-height: 50px;
  -webkit-appearance: none;
}
#account .accountBox dl dd ul {
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin: 0;
  padding: 0;
  width: 100%;
  gap: 5px 10px;
}
#account .accountBox dl dd ul li {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  min-height: auto;
  width: calc(50% - 5px);
  border-bottom: none;
  list-style: none;
  font-weight: 500;
  font-size: 13px;
}
@media print, screen and (max-width: 1023px) {
  #account .accountBox dl dd ul li {
    width: 100%;
  }
}
#account .accountBox dl.mail dd {
  position: relative;
  padding: 0 110px 0 0;
  height: 50px;
}
#account .accountBox label.error {
  position: absolute;
  top: 5px;
  right: 10px;
  display: inline-flex;
  margin: 0;
  padding: 0;
  padding: 5px 10px;
  border: none;
  border: #e3e3e3 solid 1px;
  border-radius: 20px;
  background-color: #ffffff;
  color: #24a4b2;
  text-align: center;
  font-weight: 500;
  font-size: 11px;
}
@media print, screen and (max-width: 767px) {
  #account .accountBox label.error {
    top: -14px;
    right: -10px;
  }
}
#account .accountBox .caution {
  margin: 20px 0 0;
  padding: 0;
  text-align: left;
  font-size: 13px;
  line-height: 2em;
}
@media print, screen and (max-width: 1023px) {
  #account .accountBox .caution {
    font-size: 12px;
  }
}
#account .accountBox .submit a {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  width: 180px;
  height: 50px;
  border-radius: 3px;
  background: #00a4b3;
  color: #ffffff;
  text-align: center;
  text-decoration: none;
  font-weight: 500;
  font-size: 13px;
  line-height: 80px;
  cursor: pointer;
}

#operation {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
#operation .menu {
  position: relative;
  margin: 0 0 -1px;
  padding: 0;
}
#operation .menu ul.tab {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin: 0;
  padding: 0;
  list-style: none;
}
#operation .menu ul.tab li {
  position: relative;
  box-sizing: border-box;
  margin: 0 -1px 0 0;
  padding: 0;
  max-width: 170px;
  width: 20%;
  border: #ececec solid 1px;
}
@media print, screen and (max-width: 767px) {
  #operation .menu ul.tab li {
    margin: 0;
    width: 25%;
    border-right: none;
  }
  #operation .menu ul.tab li:last-child {
    border-right: #ececec solid 1px;
  }
}
#operation .menu ul.tab li a {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 54px;
  background-color: #f5f5f5;
  font-size: 12px;
  transition: background-color 0.4s cubic-bezier(0.26, 0.63, 0, 0.99);
}
@media (hover: hover) and (pointer: fine) {
  #operation .menu ul.tab li a:hover {
    background-color: #ffffff;
  }
}
@media print, screen and (max-width: 767px) {
  #operation .menu ul.tab li a {
    height: 40px;
    font-size: 12px;
  }
}
#operation .menu ul.tab li.active a {
  background: #ffffff;
}
#operation .howto {
  margin: 0 auto;
  padding: 100px 60px;
  min-height: calc(100svh - 140px);
  border: #ececec solid 1px;
  background-color: #ffffff;
}
@media print, screen and (max-width: 1179px) {
  #operation .howto {
    min-height: calc(100svh - 183px);
  }
}
@media print, screen and (max-width: 1023px) {
  #operation .howto {
    padding: 80px 50px;
  }
}
@media print, screen and (max-width: 767px) {
  #operation .howto {
    padding: 50px 30px;
  }
}
#operation .howto .howtoBlock {
  margin: 0 auto;
  padding: 0;
  max-width: 720px;
}
#operation .howto .howtoBlock .howtoList {
  position: relative;
  margin: 0 0 30px;
  padding: 0 0 30px;
  border-bottom: #ececec solid 1px;
}
#operation .howto .howtoBlock .howtoList:last-of-type {
  margin: 0;
  padding: 0;
  border-bottom: none;
}
#operation .howto .howtoBlock .howtoList h2 {
  margin: 0 0 10px;
  padding: 0;
  font-size: 15px;
}
#operation .howto .howtoBlock .howtoList p {
  margin: 0;
  padding: 0;
  text-align: justify;
  font-size: 13px;
  line-height: 2em;
}
#operation .terms {
  margin: 0 auto;
  padding: 100px 60px;
  min-height: calc(100svh - 140px);
  border: #ececec solid 1px;
  background-color: #ffffff;
}
@media print, screen and (max-width: 1179px) {
  #operation .terms {
    min-height: calc(100svh - 183px);
  }
}
@media print, screen and (max-width: 1023px) {
  #operation .terms {
    padding: 80px 50px;
  }
}
@media print, screen and (max-width: 767px) {
  #operation .terms {
    padding: 50px 30px;
  }
}
#operation .terms .termsBlock {
  margin: 0 auto;
  padding: 0;
  max-width: 720px;
}
#operation .terms .termsBlock p {
  position: relative;
  margin: 0;
  padding: 0;
  text-align: justify;
  font-size: 13px;
  line-height: 2em;
}
#operation .terms .termsBlock p b {
  display: inline-block;
  padding: 0 0 10px;
  font-weight: 700;
  font-size: 15px;
}
#operation .terms .termsBlock .box {
  position: relative;
  margin: 0 0 30px;
  padding: 0 0 30px;
  border-bottom: #ececec solid 1px;
}
#operation .terms .termsBlock .box:last-of-type {
  margin: 0;
  padding: 0;
  border-bottom: none;
}
#operation .faq {
  box-sizing: border-box;
  margin: 0;
  padding: 60px 60px;
  min-height: calc(100svh - 140px);
  border: #ececec solid 1px;
  background: #ffffff;
}
@media print, screen and (max-width: 1179px) {
  #operation .faq {
    min-height: calc(100svh - 183px);
  }
}
@media print, screen and (max-width: 1023px) {
  #operation .faq {
    padding: 60px 40px;
  }
}
@media print, screen and (max-width: 767px) {
  #operation .faq {
    padding: 20px;
  }
}
#operation .faq p.read {
  margin: 0 0 30px;
  padding: 0;
  font-weight: 500;
  font-size: 15px;
}
#operation .faq .faqBlock {
  margin: 0;
  padding: 0;
}
#operation .faq .faqBlock dl {
  margin: 0;
  padding: 0;
  font-weight: 500;
  font-size: 13px;
  line-height: 2em;
}
#operation .faq .faqBlock dl dt {
  margin: 0 0 -1px;
  padding: 10px 20px;
  border: #ececec solid 1px;
  cursor: pointer;
  transition: background-color 0.4s cubic-bezier(0.26, 0.63, 0, 0.99);
}
@media print, screen and (max-width: 767px) {
  #operation .faq .faqBlock dl dt {
    padding: 10px 16px 10px 16px;
  }
}
#operation .faq .faqBlock dl dt i {
  position: absolute;
  top: 50%;
  right: 0;
  margin-top: -10px;
  color: #00a4b9;
  font-size: 20px;
  transition: 0.5s cubic-bezier(0.84, 0.39, 0.33, 1);
  pointer-events: none;
}
#operation .faq .faqBlock dl dt.open i {
  transform: rotate(180deg);
}
#operation .faq .faqBlock dl dt div {
  position: relative;
  margin: 0;
  padding: 0 40px 0 32px;
}
@media print, screen and (max-width: 767px) {
  #operation .faq .faqBlock dl dt div {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    box-sizing: border-box;
    padding: 0 30px 0 28px;
    min-height: 74px;
  }
}
#operation .faq .faqBlock dl dt div::before {
  position: absolute;
  top: 0;
  left: 0;
  color: #00a4b3;
  content: "Q";
  font-weight: 500;
  font-size: 22px;
}
@media print, screen and (max-width: 767px) {
  #operation .faq .faqBlock dl dt div::before {
    top: 50%;
    font-weight: 500;
    font-size: 18px;
    transform: translateY(-50%);
  }
}
#operation .faq .faqBlock dl dd {
  display: none;
  margin: 0;
  padding: 20px 40px 20px 50px;
  border-top: #ececec solid 1px;
  border-right: #ececec solid 1px;
  border-left: #ececec solid 1px;
  background-color: #f5f5f5;
}
@media print, screen and (max-width: 767px) {
  #operation .faq .faqBlock dl dd {
    padding: 20px;
  }
}

#report {
  box-sizing: border-box;
  margin: 0;
  padding: 0 60px 60px;
  min-height: calc(100svh - 140px);
  border: #ececec solid 1px;
  background: #ffffff;
}
@media print, screen and (max-width: 1179px) {
  #report {
    min-height: calc(100svh - 183px);
  }
}
@media print, screen and (max-width: 767px) {
  #report {
    padding: 0 30px 60px;
    min-height: calc(100svh - 148px);
  }
}
#report .report_wrapper {
  margin: 0 auto;
  max-width: 800px;
}
#report .report_title {
  margin: 0;
  padding: 80px 0 0;
}
@media print, screen and (max-width: 767px) {
  #report .report_title {
    padding: 40px 0 0;
  }
}
#report .report_title h2 {
  margin: 0 0 5px;
  padding: 0;
  font-weight: 700;
  font-size: 16px;
  line-height: 2em;
}
@media print, screen and (max-width: 767px) {
  #report .report_title h2 {
    font-size: 15px;
  }
}
#report .report_title p.time {
  margin: 0;
  padding: 0;
  font-weight: 500;
  font-size: 13px;
}
@media print, screen and (max-width: 767px) {
  #report .report_title p.time {
    font-size: 11px;
  }
}
#report .report_detail {
  padding: 50px 0 0;
}
#report .report_detail p {
  margin: 0 0 50px;
  padding: 0;
  font-weight: 500;
  font-size: 14px;
  line-height: 2em;
}
@media print, screen and (max-width: 767px) {
  #report .report_detail p {
    margin: 0 0 30px;
  }
}
#report .report_detail .reportBox {
  position: relative;
  margin: 0 0 -1px;
  padding: 50px;
  border: #ececec solid 1px;
}
@media print, screen and (max-width: 767px) {
  #report .report_detail .reportBox {
    padding: 40px 20px;
  }
}
#report .report_detail .reportBox.eval {
  padding: 50px 190px 50px 50px;
}
@media print, screen and (max-width: 767px) {
  #report .report_detail .reportBox.eval {
    padding: 30px 20px 30px;
  }
}
#report .report_detail .reportBox .evaluation {
  position: absolute;
  top: -10px;
  right: -10px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 110px;
  height: 110px;
  border-radius: 3px;
  background: #00a4b3;
  color: #ffffff;
  text-align: center;
  font-weight: 500;
  font-size: 45px;
  line-height: 1;
}
@media print, screen and (max-width: 767px) {
  #report .report_detail .reportBox .evaluation {
    top: -30px;
    right: -20px;
    height: 80px;
    font-size: 30px;
  }
}
#report .report_detail .reportBox .evaluation span {
  display: block;
  padding: 0 0 5px;
  font-size: 13px;
}
#report .report_detail .reportBox p.tl {
  position: relative;
  margin: 0 0 20px;
  padding: 0 0 0 36px;
  font-weight: 700;
  font-size: 16px;
}
@media print, screen and (max-width: 767px) {
  #report .report_detail .reportBox p.tl {
    margin: 0 0 10px;
    padding: 0 0 0 26px;
    font-size: 15px;
  }
}
#report .report_detail .reportBox p.tl i {
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -12px;
}
@media print, screen and (max-width: 767px) {
  #report .report_detail .reportBox p.tl i {
    margin-top: -10px;
    font-size: 20px;
  }
}
#report .report_detail .reportBox p.submissionFile {
  margin: 0;
  padding: 0;
  text-align: justify;
  font-weight: 500;
  font-size: 14px;
  line-height: 1.86em;
}
#report .report_detail .reportBox p.submissionFile a {
  position: relative;
  display: block;
  overflow: hidden;
  align-items: center;
  justify-content: space-between;
  box-sizing: border-box;
  padding: 0 50px 0 20px;
  max-width: 300px;
  height: 50px;
  border: #ececec solid 1px;
  background-color: #ffffff;
  text-decoration: none;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 500;
  font-size: 13px;
  line-height: 50px;
}
@media print, screen and (max-width: 767px) {
  #report .report_detail .reportBox p.submissionFile a {
    max-width: inherit;
  }
}
#report .report_detail .reportBox p.submissionFile a i {
  position: absolute;
  top: 50%;
  right: 10px;
  margin-top: -12px;
  color: #00a4b3;
}
#report .report_detail .reportBox p.comment {
  margin: 0;
  padding: 0;
  text-align: justify;
  font-weight: 500;
  font-size: 14px;
  line-height: 1.86em;
}

#testWrapper {
  position: relative;
  overflow: hidden;
  margin: 75px 15px 0;
  padding: 80px 0;
  border: #ececec solid 1px;
  background: #ffffff;
}
@media print, screen and (max-width: 767px) {
  #testWrapper {
    margin: 70px 10px 0;
    padding: 0;
  }
}

#test {
  margin: 0 auto;
  padding: 30px 50px;
  max-width: 840px;
  line-height: normal;
  opacity: 1;
}
@media print, screen and (max-width: 767px) {
  #test {
    padding: 50px 20px;
  }
}
#test h1.testTitle {
  margin: 0 0 10px;
  padding: 0;
  text-align: center;
  font-weight: 700;
  font-size: 18px;
}
@media print, screen and (max-width: 767px) {
  #test h1.testTitle {
    padding: 0 10px;
    font-size: 16px;
  }
}
#test p.testInfo {
  margin: 0 0 40px;
  padding: 0;
  text-align: center;
  font-weight: 500;
  font-size: 13px;
}
#test p.testInfo span {
  font-weight: 700;
  font-size: 18px;
}
#test p {
  margin: 0 0 20px;
  padding: 0;
  font-weight: 500;
  font-size: 14px;
  line-height: 2em;
}
#test .num {
  margin: 0 0 16px;
  padding: 0;
  font-weight: 700;
  font-size: 16px;
}
#test .pict {
  margin: 0 0 20px;
  padding: 10px;
  background: #ffffff;
  line-height: 0;
}
#test .pict img {
  display: block;
  margin: 0 auto;
  max-width: 100%;
  height: auto;
}
#test .quiz {
  margin: 0 0 30px;
  padding: 50px;
  border: #ececec solid 1px;
}
@media print, screen and (max-width: 767px) {
  #test .quiz {
    padding: 30px 20px;
  }
}
#test .answer {
  margin: 0;
  padding: 0;
}
#test .answer label {
  position: relative;
  display: block;
  margin: 0;
  padding: 5px 0 5px 40px;
  height: auto;
  font-weight: 500;
  font-size: 14px;
  line-height: 1.86em;
  cursor: pointer;
}
#test .answer .checkbox {
  display: none;
}
#test .answer .checkbox + .checkbox-icon {
  position: absolute;
  top: 5px;
  left: 0;
  padding: 0;
  vertical-align: middle;
}
#test .answer .checkbox + .checkbox-icon::before {
  display: inline-block;
  width: 22px;
  height: 22px;
  background: url(../../img/class/radio_off.svg) no-repeat left;
  content: "";
}
#test .answer .checkbox:checked + .checkbox-icon::before {
  background: url(../../img/class/radio_on.svg) no-repeat left;
}
#test .submit {
  margin: 50px 0 0;
  padding: 0;
}
#test .submit a {
  display: block;
  margin: 0 auto;
  width: 180px;
  height: 60px;
  border-radius: 3px;
  background: #00a4b3;
  color: #ffffff;
  text-align: center;
  text-decoration: none;
  font-weight: 500;
  font-size: 13px;
  line-height: 60px;
  cursor: pointer;
}
#test .submit a span {
  position: relative;
  display: inline-block;
  padding: 0 0 0 26px;
}
#test .submit a span i {
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -10px;
  font-size: 20px;
}

section.testErr {
  margin: 0 0 -100px;
}

.endTest {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 0 30px;
  width: 100%;
}
.endTest .noPost {
  background: #e1e1e1;
}
.endTest .noPost p.read {
  font-size: 18px;
}
.endTest .noPost .submit a.back {
  display: block;
  margin: 0 auto;
  width: 240px;
  height: 60px;
  line-height: 60px;
}

#noteBooks {
  margin: 0;
  padding: 0;
}
#noteBooks ul {
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 0 -1px;
  padding: 0;
}
#noteBooks ul li {
  position: relative;
  display: flex;
  float: left;
  align-items: normal;
  justify-content: left;
  box-sizing: border-box;
  margin: 0;
  padding: 0 0 1px 1px;
  min-height: auto;
  width: 20%;
  border-bottom: none;
  list-style: none;
}
#noteBooks ul li.ui-sortable-handle {
  counter-increment: item;
}
#noteBooks ul li.ui-sortable-helper .noteBox p.noteNum::before {
  content: "  ";
}
#noteBooks ul li a.delete {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 999;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 100%;
  color: #b8b8b8;
  text-decoration: none;
}
#noteBooks ul li a.delete i {
  font-size: 20px;
}
#noteBooks ul li .noteBox {
  box-sizing: border-box;
  margin: 0;
  padding: 30px 20px 20px;
  width: 100%;
  background: #ffffff;
}
#noteBooks ul li .noteBox a {
  display: block;
  margin: 0;
  padding: 0;
  color: #000000;
  text-decoration: none;
  line-height: 0;
}
#noteBooks ul li .noteBox p.noteNum {
  margin: 10px 5px 0;
  font-weight: 500;
  font-size: 12px;
  line-height: 1.6em;
}
#noteBooks ul li .noteBox p.noteNum::before {
  content: counter(item) ". ";
}
#noteBooks ul li .noteBox .thumb {
  display: flex;
  overflow: hidden;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 10px;
  width: 100%;
  height: 120px;
  border: #e6e6e6 solid 1px;
  background: #f4f4f4;
}
#noteBooks ul li .noteBox .thumb i {
  color: #cacaca;
  font-size: 30px;
}
#noteBooks ul li .noteBox .thumb img, #noteBooks ul li .noteBox .thumb video {
  max-width: inherit;
  width: auto;
  height: 98px;
}

.draggable-placeholder {
  border: 2px dashed #d9d9d9 !important;
  background-color: #f7f7f7 !important;
}

#testResult {
  box-sizing: border-box;
  margin: 0;
  padding: 60px 60px;
  min-height: calc(100svh - 140px);
  border: #ececec solid 1px;
  background: #ffffff;
}
@media print, screen and (max-width: 1179px) {
  #testResult {
    min-height: calc(100svh - 183px);
  }
}
@media print, screen and (max-width: 767px) {
  #testResult {
    padding: 40px 20px;
    min-height: calc(100svh - 148px);
  }
}
#testResult h2 {
  margin: 0 0 5px;
  padding: 0;
  font-weight: 700;
  font-size: 16px;
}
#testResult p.time {
  margin: 0 0 20px;
  padding: 0;
  font-weight: 500;
  font-size: 13px;
}
#testResult p {
  margin: 0 0 20px;
  padding: 0;
  font-weight: 500;
  font-size: 14px;
  line-height: 2em;
}
#testResult .answerSheet {
  position: relative;
  margin: 0 auto 10px;
  padding: 50px;
  max-width: 800px;
  border: #ececec solid 1px;
}
@media print, screen and (max-width: 767px) {
  #testResult .answerSheet {
    padding: 30px 20px 30px;
  }
}
#testResult .answerSheet.eval {
  padding: 50px 50px 10px;
}
@media print, screen and (max-width: 767px) {
  #testResult .answerSheet.eval {
    padding: 30px 20px 10px;
  }
}
#testResult .answerSheet.eval.mg {
  margin: 0 0 50px;
}
#testResult .answerSheet .evaluation {
  position: relative;
  display: flex;
  float: right;
  align-items: center;
  justify-content: center;
  margin: -70px -60px 0 30px;
  width: 110px;
  height: 110px;
  border-radius: 3px;
  background: #00a4b3;
  color: #ffffff;
  text-align: center;
  font-weight: 500;
  font-size: 12px;
  line-height: 1;
}
@media print, screen and (max-width: 767px) {
  #testResult .answerSheet .evaluation {
    margin: -70px -30px 0 30px;
    height: 80px;
  }
}
#testResult .answerSheet .evaluation .score {
  position: relative;
  margin: 0;
  padding: 0;
  width: 100%;
  text-align: center;
  line-height: 0;
}
#testResult .answerSheet .evaluation .score ul {
  display: inline-block;
  margin: 0;
  padding: 0;
  list-style: none;
}
#testResult .answerSheet .evaluation .score ul li {
  position: relative;
  float: left;
  margin: 0;
  padding: 0;
  line-height: normal;
}
#testResult .answerSheet .evaluation .score ul li:first-child {
  display: block;
  margin: 0;
  padding: 0;
  text-align: right;
  font-size: 22px;
  line-height: 40px;
}
#testResult .answerSheet .evaluation .score ul li:nth-child(2) {
  width: 26px;
  height: 40px;
}
#testResult .answerSheet .evaluation .score ul li:nth-child(2)::before {
  position: absolute;
  top: 50%;
  right: 50%;
  margin: 0 -14px 0 0;
  width: 36px;
  height: 1px;
  background: #ffffff;
  content: "";
  transform: rotate(-80deg);
}
#testResult .answerSheet .evaluation .score ul li:last-child {
  box-sizing: border-box;
  margin: 0 0 0 -10px;
  padding: 18px 0 0;
  text-align: left;
}
#testResult .answerSheet p.tl {
  position: relative;
  margin: 0 0 20px;
  padding: 0 0 0 36px;
  font-weight: 700;
  font-size: 16px;
}
#testResult .answerSheet p.tl i {
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -12px;
}
#testResult .answerSheet p.comment {
  margin: 0;
  padding: 0;
  text-align: justify;
  font-weight: 500;
  font-size: 14px;
  line-height: 1.86em;
}
#testResult .answerSheet .num {
  margin: 0 0 16px;
  padding: 0;
  font-weight: 700;
  font-size: 18px;
}
#testResult .answerSheet .quiz {
  margin: 0 0 5px;
  padding: 40px 0;
}
#testResult .answerSheet .quiz .pict {
  margin: 0 0 20px;
  line-height: 0;
}
#testResult .answerSheet .quiz .pict img {
  display: block;
  margin: 0 auto;
  max-width: 100%;
  height: auto;
  border: #e0e0e0 solid 1px;
}
#testResult .answerSheet .box {
  margin: 0 auto;
  font-weight: 500;
}
#testResult .answerSheet .selectItem {
  margin: 0 0 20px;
  padding: 0;
}
#testResult .answerSheet .selectItem label {
  position: relative;
  display: block;
  margin: 0;
  padding: 3px 0 3px 40px;
  height: auto;
  font-weight: 400;
  font-size: 13px;
  line-height: 1.86em;
  cursor: default;
}
#testResult .answerSheet .selectItem .checkbox {
  display: none;
}
#testResult .answerSheet .selectItem .checkbox + .checkbox-icon {
  position: absolute;
  top: 3px;
  left: 0;
  padding: 0;
  vertical-align: middle;
}
#testResult .answerSheet .selectItem .checkbox + .checkbox-icon::before {
  display: inline-block;
  width: 22px;
  height: 22px;
  background: url(../../img/class/radio_off.svg) no-repeat left;
  content: "";
}
#testResult .answerSheet .selectItem .checkbox:checked + .checkbox-icon::before {
  background: url(../../img/class/radio_on.svg) no-repeat left;
}
#testResult .answerSheet .answer {
  position: relative;
  margin: 0;
  padding: 10px 0 0;
}
#testResult .answerSheet .answer.bd {
  padding: 0;
  border-bottom: #000000 solid 3px;
}
#testResult .answerSheet .answer .correct {
  position: absolute;
  right: 10px;
  bottom: 5px;
  width: 40px;
  height: 40px;
  border: #ff3636 solid 7px;
  border-radius: 100%;
}
@media print, screen and (max-width: 767px) {
  #testResult .answerSheet .answer .correct {
    width: 30px;
    height: 30px;
    border: #ff3636 solid 5px;
  }
}
#testResult .answerSheet .answer .mistake {
  position: absolute;
  right: 0;
  bottom: -14px;
  color: #ff3636;
}
#testResult .answerSheet .answer .mistake span {
  font-size: 80px;
}
@media print, screen and (max-width: 767px) {
  #testResult .answerSheet .answer .mistake span {
    font-size: 60px;
  }
}
#testResult .answerSheet .answer .tl {
  margin: 0 0 5px;
  padding: 0;
  font-weight: 700;
  font-size: 13px;
}
@media print, screen and (max-width: 767px) {
  #testResult .answerSheet .answer .tl {
    font-size: 11px;
  }
}
#testResult .answerSheet .answer p {
  margin: 0 0 5px;
  padding: 0 90px 0 0;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.8em;
}
@media print, screen and (max-width: 767px) {
  #testResult .answerSheet .answer p {
    padding: 0 70px 0 0;
    font-size: 15px;
  }
}
#testResult .answerSheet .explanation {
  margin: 20px 0 0;
  padding: 30px;
  border-radius: 10px;
  background: #f7f7f7;
}
@media print, screen and (max-width: 767px) {
  #testResult .answerSheet .explanation {
    padding: 20px;
    border-radius: 5px;
  }
}
#testResult .answerSheet .explanation p {
  margin: 0;
  font-weight: 400;
  font-size: 13px;
}

body.fixed {
  position: fixed;
  left: 0;
  width: 100%;
  height: 100%;
}

audio {
  position: absolute;
  top: -100px;
  left: 0;
  visibility: hidden;
}

@-webkit-keyframes tlanime {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes tlanime {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes checkanime {
  0% {
    opacity: 1;
    transform: scale(0.8, 1.4) translate(0%, -100%);
  }
  10% {
    opacity: 1;
    transform: scale(0.8, 1.4) translate(0%, -15%);
  }
  20% {
    opacity: 1;
    transform: scale(1.4, 0.6) translate(0%, 30%);
  }
  30% {
    opacity: 1;
    transform: scale(0.9, 1.1) translate(0%, -10%);
  }
  40% {
    opacity: 1;
    transform: scale(0.95, 1.2) translate(0%, -30%);
  }
  50% {
    opacity: 1;
    transform: scale(0.95, 1.2) translate(0%, -10%);
  }
  60% {
    opacity: 1;
    transform: scale(1.1, 0.9) translate(0%, 5%);
  }
  70% {
    opacity: 1;
    transform: scale(1, 1) translate(0%, 0%);
  }
  100% {
    opacity: 1;
    transform: scale(1, 1) translate(0%, 0%);
  }
}
@keyframes checkanime {
  0% {
    opacity: 1;
    transform: scale(0.8, 1.4) translate(0%, -100%);
  }
  10% {
    opacity: 1;
    transform: scale(0.8, 1.4) translate(0%, -15%);
  }
  20% {
    opacity: 1;
    transform: scale(1.4, 0.6) translate(0%, 30%);
  }
  30% {
    opacity: 1;
    transform: scale(0.9, 1.1) translate(0%, -10%);
  }
  40% {
    opacity: 1;
    transform: scale(0.95, 1.2) translate(0%, -30%);
  }
  50% {
    opacity: 1;
    transform: scale(0.95, 1.2) translate(0%, -10%);
  }
  60% {
    opacity: 1;
    transform: scale(1.1, 0.9) translate(0%, 5%);
  }
  70% {
    opacity: 1;
    transform: scale(1, 1) translate(0%, 0%);
  }
  100% {
    opacity: 1;
    transform: scale(1, 1) translate(0%, 0%);
  }
}
@-webkit-keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    visibility: hidden;
    opacity: 0;
  }
}
@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    visibility: hidden;
    opacity: 0;
  }
}
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes fadeInFlex {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeInFlex {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.fadeOut {
  -webkit-animation: fadeOut 0.5s cubic-bezier(0.17, 0.67, 0.39, 1) 0s forwards;
          animation: fadeOut 0.5s cubic-bezier(0.17, 0.67, 0.39, 1) 0s forwards;
}

.fadeIn {
  -webkit-animation: fadeIn 0.5s cubic-bezier(0.17, 0.67, 0.39, 1) 0s forwards;
          animation: fadeIn 0.5s cubic-bezier(0.17, 0.67, 0.39, 1) 0s forwards;
}

.fadeInFlex {
  -webkit-animation: fadeInFlex 0.5s cubic-bezier(0.17, 0.67, 0.39, 1) 0s forwards;
          animation: fadeInFlex 0.5s cubic-bezier(0.17, 0.67, 0.39, 1) 0s forwards;
}

.seekBox {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 9px 140px 9px 8px;
  background: #d3d3d3;
  height: 6px;
}
.seekBox .times {
  position: absolute;
  top: 0;
  right: 10px;
  bottom: 0;
  box-sizing: border-box;
  padding: 0 40px 0 0;
  width: 103px;
  text-align: center;
  font-weight: 500;
  font-size: 11px;
  line-height: 26px;
}
.seekBox .times a {
  position: absolute;
  top: 50%;
  right: 0;
  display: block;
  margin-top: -10px;
}
.seekBox .times a i {
  color: #4e4e4e;
  font-size: 20px;
}

.seekBoxMenu {
  position: absolute;
  right: 0;
  bottom: 24px;
  padding: 0 0 10px;
  width: 140px;
  background-color: rgba(0, 0, 0, 0.9);
}
.seekBoxMenu p {
  margin: 0 0 10px;
  padding: 10px;
  border-bottom: #393939 solid 1px;
  color: #949494;
  font-size: 13px;
}
.seekBoxMenu a {
  position: relative;
  display: block;
  padding: 10px;
  color: #949494;
  text-decoration: none;
  font-size: 13px;
  line-height: 1;
}
.seekBoxMenu a:hover {
  background: #575757;
}
.seekBoxMenu a.selected::after {
  position: absolute;
  top: 50%;
  right: 10px;
  display: inline-block;
  margin-top: -8px;
  content: "done";
  text-transform: none;
  white-space: nowrap;
  word-wrap: normal;
  letter-spacing: normal;
  font-weight: normal;
  font-style: normal;
  font-size: 16px;
  font-family: "Material Icons";
  line-height: 1;
  direction: ltr;
  -webkit-font-feature-settings: "liga";
  -webkit-font-smoothing: antialiased;
}

.custom-seekbar {
  position: relative;
  width: 100%;
  height: 6px;
  background: #f3f3f3;
  cursor: pointer;
}
.custom-seekbar span.bar {
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 6px;
  background-color: #818181;
}
.custom-seekbar span.hundle {
  position: absolute;
  top: 50%;
  left: 0;
  z-index: 2;
  margin-top: -6px;
  margin-left: -6px;
  width: 12px;
  height: 12px;
  border-radius: 12px;
  background-color: #818181;
  cursor: pointer;
}

.loading {
  position: absolute;
  right: 99px;
  bottom: -59px;
  z-index: 10;
  display: none;
  overflow: hidden;
  width: 48px;
  height: 48px;
  background: #ffffff;
}
@media print, screen and (max-width: 767px) {
  .loading {
    right: 79px;
    bottom: -39px;
    z-index: 10;
    width: 28px;
    height: 28px;
  }
}
.loading.show {
  display: block;
}
.loading .load {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  height: 48px;
  color: #919191;
  font-size: 13px;
  line-height: 48px;
}
@media print, screen and (max-width: 767px) {
  .loading .load {
    height: 28px;
  }
}
.loading .load i {
  width: 20px;
  height: 20px;
  line-height: 0;
}
.loading .load i img {
  width: 100%;
  height: auto;
}

.playerBlock.on .loading {
  bottom: -169px;
}

.playerBlock .expiredBox {
  position: relative;
  margin: 0 auto;
  padding: 0;
  max-width: 100%;
  max-height: calc(100svh - 284px);
  width: auto;
  height: auto;
  aspect-ratio: 16/9;
}
@media (orientation: landscape) and (hover: none) and (pointer: coarse) and (max-width: 900px) {
  .playerBlock .expiredBox {
    max-height: calc(100svh - 50px) !important;
  }
}
@media (orientation: portrait) and (max-width: 767px) {
  .playerBlock .expiredBox {
    max-height: inherit;
  }
}
.playerBlock .expiredBox .expired {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}
.playerBlock .expiredBox .expired h2 {
  margin: 0 0 30px;
  padding: 0 30px;
  text-align: center;
  letter-spacing: normal;
  font-weight: 500;
  font-size: 16px;
}
.playerBlock .expiredBox .expired p.end {
  margin: 0;
  padding: 0;
  text-align: center;
  font-size: 14px;
}
.playerBlock .expiredBox .expired .timeInfo {
  display: block;
  margin: 0;
  padding: 10px 20px 0;
  text-align: center;
  font-size: 12px;
  line-height: 1.6em;
}

.pause {
  display: none;
  cursor: pointer;
}
.pause.out {
  opacity: 0.5;
  pointer-events: none;
}
.pause.show {
  display: flex;
}

.play {
  display: none;
  cursor: pointer;
}
.play.show {
  display: flex;
}

.schoolingPlayer p.add {
  margin: 15px 0 0;
  padding: 0;
  font-weight: 500;
  font-size: 14px;
}
.schoolingPlayer .title {
  margin: 0 0 20px;
  padding: 0;
  text-align: center;
}
.schoolingPlayer .title .grade {
  margin: 0 0 24px;
  padding: 0;
  font-weight: 700;
  font-size: 18px;
}
.schoolingPlayer .title .grade span {
  display: inline-block;
  padding: 0 0 0 5px;
  font-size: 30px;
}
.schoolingPlayer .title h1 {
  margin: 0 0 20px;
  padding: 0;
  font-weight: 500;
  font-size: 24px;
}
.schoolingPlayer .title .time {
  font-weight: 500;
}
.schoolingPlayer .screen {
  position: relative;
  margin: 0 auto;
  padding: 0;
}
.schoolingPlayer .screen.none::before {
  display: block;
  padding-top: 75%;
  content: "";
}
.schoolingPlayer .screen.none .start {
  pointer-events: none;
}
.schoolingPlayer .screen.none .start h2 {
  padding: 0;
}
.schoolingPlayer .screen.none .timeInfo {
  margin: 0;
}
.schoolingPlayer .screen .counter {
  position: absolute;
  top: -40px;
  right: 10px;
  height: 50px;
  color: #000000;
  text-decoration: none;
  font-weight: 500;
  font-size: 13px;
  line-height: 50px;
  opacity: 0;
  transition: 0.5s cubic-bezier(0.17, 0.67, 0.39, 1);
}
.schoolingPlayer .screen .counter.show {
  opacity: 1;
}
.schoolingPlayer .screen ul {
  margin: 0;
  padding: 0;
  list-style: none;
  line-height: 0;
}
.schoolingPlayer .screen ul li {
  display: none;
}
.schoolingPlayer .screen ul li.show {
  display: block;
}
.schoolingPlayer .screen ul li:last-child .player .btn .next {
  display: none !important;
}
.schoolingPlayer .screen ul li:last-child .player .btn .next.act {
  display: none !important;
}
.schoolingPlayer .screen ul li .subtitle {
  position: absolute;
  right: 0;
  bottom: -110px;
  display: none;
  overflow: auto;
  box-sizing: border-box;
  padding: 20px 30px;
  width: 100%;
  height: 100px;
  border: #ececec solid 1px;
  background: #ffffff;
  color: #000000;
  text-align: justify;
  font-weight: 500;
  font-size: 14px;
  line-height: 1.8em;
}
@media print, screen and (max-width: 767px) {
  .schoolingPlayer .screen ul li .subtitle {
    right: 10px;
    left: 10px;
    padding: 15px;
    width: auto;
    font-size: 12px;
  }
}
.schoolingPlayer .screen ul li .subtitle.out {
  opacity: 0.5;
}
.schoolingPlayer .screen ul li .player {
  position: relative;
  margin: 0;
  padding: 0;
  background: #ffffff;
}
.schoolingPlayer .screen ul li .player video {
  width: 100%;
  height: auto;
}
.schoolingPlayer .screen ul li .player .image {
  position: relative;
  display: flex;
  overflow: hidden;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  /*min-width:880px;
  						min-height:495px;*/
  max-height: calc(100svh - 284px);
  width: 100%;
  height: auto;
  border: #ececec solid 1px;
  aspect-ratio: 16/9;
}
@media print, screen and (max-width: 767px) {
  .schoolingPlayer .screen ul li .player .image {
    margin: 0 -1px;
    max-width: calc((100svh - 100px) * 16 / 9);
    max-height: calc(100svh - 100px);
  }
}
.schoolingPlayer .screen ul li .player .image img, .schoolingPlayer .screen ul li .player .image video {
  display: block;
  margin: 0 auto;
  max-width: 100%;
  max-height: 100%;
  width: auto !important;
  height: auto !important;
  aspect-ratio: 16/9;
  -o-object-fit: contain;
     object-fit: contain;
}
.schoolingPlayer .screen ul li .player .btn {
  display: none;
  margin: 0;
  padding: 0;
}
.schoolingPlayer .screen ul li .player .btn.hide {
  display: none !important;
}
.schoolingPlayer .screen ul li .player .btn.show {
  display: block;
}
.schoolingPlayer .screen ul li .player .btn.show .prev.act {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background-color: #f3f3f3;
  letter-spacing: 2px;
  font-size: 10px;
  opacity: 1;
  gap: 20px;
}
@media print, screen and (max-width: 767px) {
  .schoolingPlayer .screen ul li .player .btn.show .prev.act {
    flex-direction: row;
    padding: 0 14px 0 0;
    gap: 0;
  }
}
.schoolingPlayer .screen ul li .player .btn.show .prev.act:hover {
  background: #ffffff;
}
.schoolingPlayer .screen ul li .player .btn.show .next.act {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background-color: #f3f3f3;
  letter-spacing: 2px;
  font-size: 10px;
  opacity: 1;
  gap: 20px;
}
@media print, screen and (max-width: 767px) {
  .schoolingPlayer .screen ul li .player .btn.show .next.act {
    flex-direction: row-reverse;
    padding: 0 0 0 14px;
    gap: 0;
  }
}
.schoolingPlayer .screen ul li .player .btn.show .next.act:hover {
  background: #ffffff;
}
.schoolingPlayer .screen ul li .player .btn.show .next.hide {
  display: none;
}
.schoolingPlayer .screen ul li .player .btn .next, .schoolingPlayer .screen ul li .player .btn .prev {
  position: absolute;
  top: 50%;
  z-index: 5;
  display: none;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  margin-top: -43px;
  padding: 30px 0 20px;
  width: 40px;
  height: 86px;
  border: #ececec solid 1px;
  text-align: center;
  font-weight: 500;
  font-size: 11px;
  opacity: 0;
  cursor: pointer;
}
@media print, screen and (max-width: 1179px) {
  .schoolingPlayer .screen ul li .player .btn .next, .schoolingPlayer .screen ul li .player .btn .prev {
    width: 30px;
  }
}
@media print, screen and (max-width: 767px) {
  .schoolingPlayer .screen ul li .player .btn .next, .schoolingPlayer .screen ul li .player .btn .prev {
    top: inherit;
    bottom: -40px;
    margin-top: 0;
    padding: 0;
    width: 60px;
    height: 30px;
  }
}
.schoolingPlayer .screen ul li .player .btn .next {
  right: -56px;
}
@media print, screen and (max-width: 1179px) {
  .schoolingPlayer .screen ul li .player .btn .next {
    right: -40px;
  }
}
@media print, screen and (max-width: 767px) {
  .schoolingPlayer .screen ul li .player .btn .next {
    right: inherit;
    left: 75px;
  }
}
.schoolingPlayer .screen ul li .player .btn .prev {
  left: -56px;
}
@media print, screen and (max-width: 1179px) {
  .schoolingPlayer .screen ul li .player .btn .prev {
    left: -40px;
  }
}
@media print, screen and (max-width: 767px) {
  .schoolingPlayer .screen ul li .player .btn .prev {
    left: 10px;
  }
}
.schoolingPlayer .screen ul li .player .btn i {
  text-align: center;
  font-size: 20px;
}
@media print, screen and (max-width: 767px) {
  .schoolingPlayer .screen ul li .player .btn i {
    font-size: 16px;
  }
}
.schoolingPlayer .screen ul li .player .control {
  position: absolute;
  right: 98px;
  bottom: -60px;
  box-sizing: border-box;
  padding: 0;
  width: 50px;
  height: 50px;
  color: #000000;
  line-height: 50px;
}
@media print, screen and (max-width: 767px) {
  .schoolingPlayer .screen ul li .player .control {
    right: 78px;
    bottom: -40px;
    width: 30px;
    height: 30px;
  }
}
.schoolingPlayer .screen ul li .player .control .noAudio {
  position: relative;
  margin: 0;
  padding: 0;
  height: 50px;
  border: #ececec solid 1px;
  background: #ffffff;
  color: #000000;
  text-align: center;
  text-decoration: none;
  font-weight: 700;
  font-size: 13px;
  line-height: 50px;
}
.schoolingPlayer .screen ul li .player .control .none {
  display: none;
}
.schoolingPlayer .screen ul li .player .control .none.show {
  display: block;
}
.schoolingPlayer .screen ul li .player .control .none a {
  position: relative;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 0;
  height: 50px;
  border: #ececec solid 1px;
  background: #ffffff;
  color: #000000;
  text-align: center;
  text-decoration: none;
  font-weight: 500;
  font-size: 16px;
  line-height: 50px;
}
@media print, screen and (max-width: 767px) {
  .schoolingPlayer .screen ul li .player .control .none a {
    box-sizing: border-box;
    width: 30px;
    height: 30px;
  }
}
.schoolingPlayer .screen ul li .player .control .none a i {
  font-size: 20px;
}
@media print, screen and (max-width: 767px) {
  .schoolingPlayer .screen ul li .player .control .none a i {
    font-size: 16px;
  }
}
.schoolingPlayer .screen ul li .player .noteBtn {
  position: absolute;
  right: 49px;
  bottom: -60px;
  box-sizing: border-box;
  padding: 0;
  width: 50px;
  height: 50px;
  color: #000000;
  line-height: 50px;
}
@media print, screen and (max-width: 767px) {
  .schoolingPlayer .screen ul li .player .noteBtn {
    right: 10px;
    bottom: -40px;
    width: 30px;
    height: 30px;
  }
}
.schoolingPlayer .screen ul li .player .noteBtn.none {
  display: none;
}
.schoolingPlayer .screen ul li .player .noteBtn.none.show {
  display: block;
}
.schoolingPlayer .screen ul li .player .noteBtn a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 0;
  height: 50px;
  border: #ececec solid 1px;
  background: #ffffff;
  color: #000000;
  text-align: center;
  text-decoration: none;
  font-weight: 500;
  font-size: 16px;
  line-height: 50px;
}
@media print, screen and (max-width: 767px) {
  .schoolingPlayer .screen ul li .player .noteBtn a {
    box-sizing: border-box;
    width: 30px;
    height: 30px;
  }
}
.schoolingPlayer .screen ul li .player .noteBtn a i {
  font-size: 20px;
}
@media print, screen and (max-width: 767px) {
  .schoolingPlayer .screen ul li .player .noteBtn a i {
    font-size: 16px;
  }
}
.schoolingPlayer .screen ul li .player .onemore {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 99;
  display: none;
  align-items: center;
  justify-content: center;
  background-color: rgba(0, 0, 0, 0.7);
}
.schoolingPlayer .screen ul li .player .onemore.show {
  display: flex;
}
.schoolingPlayer .screen ul li .player .onemore.completWindow {
  overflow: hidden;
  background-color: #39afba;
}
.schoolingPlayer .screen ul li .player .onemore.completWindow h5 {
  margin: 0 0 10px;
  letter-spacing: 10px;
  font-weight: 500;
  font-size: 30px;
  line-height: normal;
  opacity: 0;
}
@media print, screen and (max-width: 1023px) {
  .schoolingPlayer .screen ul li .player .onemore.completWindow h5 {
    letter-spacing: 5px;
    font-weight: 500;
    font-size: 20px;
  }
}
@media print, screen and (max-width: 767px) {
  .schoolingPlayer .screen ul li .player .onemore.completWindow h5 {
    font-size: 18px;
  }
}
.schoolingPlayer .screen ul li .player .onemore a {
  display: block;
  margin: 0;
  padding: 0;
  color: #ffffff;
  text-align: center;
  text-decoration: none;
  font-weight: 500;
  font-size: 16px;
  line-height: 1;
  cursor: pointer;
}
.schoolingPlayer .screen ul li .player .onemore a i {
  padding: 0 0 10px;
  font-size: 60px;
}
.schoolingPlayer .screen ul li .player .onemore .completeBox {
  margin: 0;
  padding: 0;
  color: #ffffff;
  text-align: center;
}
.schoolingPlayer .screen ul li .player .onemore .completeBox a i {
  padding: 0 0 10px;
  font-size: 60px;
  opacity: 0;
}
@media print, screen and (max-width: 1023px) {
  .schoolingPlayer .screen ul li .player .onemore .completeBox a i {
    font-size: 40px;
  }
}
@media print, screen and (max-width: 767px) {
  .schoolingPlayer .screen ul li .player .onemore .completeBox a i {
    font-size: 30px;
  }
}
.schoolingPlayer .screen ul li .player .onemore .completeBox p {
  margin: 0;
  padding: 0;
  font-weight: 400;
  font-size: 16px;
  line-height: 2em;
  opacity: 0;
}
@media print, screen and (max-width: 1023px) {
  .schoolingPlayer .screen ul li .player .onemore .completeBox p {
    font-size: 14px;
  }
}
@media print, screen and (max-width: 767px) {
  .schoolingPlayer .screen ul li .player .onemore .completeBox p {
    font-size: 11px;
    line-height: 1.6em;
  }
}
.schoolingPlayer .screen ul li .player .onemore .completeBox ol {
  display: inline-block;
  margin: 0;
  padding: 0;
  list-style: none;
}
.schoolingPlayer .screen ul li .player .onemore .completeBox ol li {
  display: block;
  float: left;
  margin: 0;
  padding: 0 20px;
}
.schoolingPlayer .screen ul li .player .document {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 50px;
  height: 100%;
  background: #ffffff;
}
@media print, screen and (max-width: 767px) {
  .schoolingPlayer .screen ul li .player .document {
    padding: 20px 10px;
  }
}
.schoolingPlayer .screen ul li .player .document .documentBox {
  margin: 0;
  padding: 0;
  width: 100%;
  text-align: center;
}
.schoolingPlayer .screen ul li .player .document .documentBox p.documentTitle {
  margin: 0 0 10px;
  padding: 0;
  font-weight: 700;
  font-size: 18px;
}
@media print, screen and (max-width: 767px) {
  .schoolingPlayer .screen ul li .player .document .documentBox p.documentTitle {
    margin: 0 0 5px;
    font-size: 14px;
  }
}
.schoolingPlayer .screen ul li .player .document .documentBox p {
  margin: 0 0 40px;
  padding: 0;
  font-weight: 500;
  font-size: 14px;
  line-height: 2em;
}
@media print, screen and (max-width: 1023px) {
  .schoolingPlayer .screen ul li .player .document .documentBox p {
    font-size: 13px;
  }
}
@media print, screen and (max-width: 767px) {
  .schoolingPlayer .screen ul li .player .document .documentBox p {
    margin: 0 0 10px;
  }
}
.schoolingPlayer .screen ul li .player .document .documentBox a.documentBtn {
  display: block;
  margin: 0 auto;
  width: 200px;
  height: 60px;
  border-radius: 3px;
  background: #00a4b3;
  color: #ffffff;
  text-align: center;
  text-decoration: none;
  font-weight: 500;
  font-size: 14px;
  line-height: 60px;
  cursor: pointer;
}
@media print, screen and (max-width: 1023px) {
  .schoolingPlayer .screen ul li .player .document .documentBox a.documentBtn {
    width: 180px;
    height: 50px;
    line-height: 50px;
  }
}
@media print, screen and (max-width: 767px) {
  .schoolingPlayer .screen ul li .player .document .documentBox a.documentBtn {
    width: 130px;
    height: 40px;
    font-size: 13px;
    line-height: 40px;
  }
}
.schoolingPlayer .screen ul li .player .testStart {
  position: relative;
  box-sizing: border-box;
  width: calc(100% - 2px);
  height: auto;
  height: 100%;
  background: #ffffff;
}
.schoolingPlayer .screen ul li .player .testStart .testBlock {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 50px;
}
@media print, screen and (max-width: 767px) {
  .schoolingPlayer .screen ul li .player .testStart .testBlock {
    padding: 20px;
  }
}
.schoolingPlayer .screen ul li .player .testStart .testBox {
  margin: 0;
  padding: 0;
  width: 100%;
  text-align: center;
}
.schoolingPlayer .screen ul li .player .testStart .testBox.hide {
  display: none;
}
.schoolingPlayer .screen ul li .player .testStart .testBox p.testTitle {
  margin: 0;
  padding: 0;
  font-weight: 700;
  font-size: 18px;
}
@media print, screen and (max-width: 767px) {
  .schoolingPlayer .screen ul li .player .testStart .testBox p.testTitle {
    font-size: 14px;
  }
}
.schoolingPlayer .screen ul li .player .testStart .testBox .material-icons {
  color: #00a4b3;
  font-size: 100px;
}
.schoolingPlayer .screen ul li .player .testStart .testBox p.testInfo {
  margin: 0 0 20px;
  padding: 0;
  font-weight: 500;
  font-size: 13px;
}
@media print, screen and (max-width: 767px) {
  .schoolingPlayer .screen ul li .player .testStart .testBox p.testInfo {
    margin: 0 0 5px;
    font-size: 11px;
  }
}
.schoolingPlayer .screen ul li .player .testStart .testBox p.testInfo span {
  font-weight: 700;
  font-size: 18px;
}
@media print, screen and (max-width: 767px) {
  .schoolingPlayer .screen ul li .player .testStart .testBox p.testInfo span {
    padding: 0 0 0 3px;
    font-size: 15px;
  }
}
.schoolingPlayer .screen ul li .player .testStart .testBox p {
  margin: 0;
  padding: 0;
  font-weight: 500;
  font-size: 13px;
  line-height: 2em;
}
@media print, screen and (max-width: 767px) {
  .schoolingPlayer .screen ul li .player .testStart .testBox p {
    font-size: 11px;
    line-height: 1.8em;
  }
}
.schoolingPlayer .screen ul li .player .testStart .testBox .testStartBtn {
  display: block;
  margin: 40px auto 0;
  width: 200px;
  height: 60px;
  border-radius: 3px;
  background: #00a4b3;
  color: #ffffff;
  text-align: center;
  text-decoration: none;
  font-weight: 500;
  font-size: 14px;
  line-height: 60px;
  cursor: pointer;
}
@media print, screen and (max-width: 1023px) {
  .schoolingPlayer .screen ul li .player .testStart .testBox .testStartBtn {
    margin: 26px auto 0;
    width: 180px;
    height: 50px;
    line-height: 50px;
  }
}
@media print, screen and (max-width: 767px) {
  .schoolingPlayer .screen ul li .player .testStart .testBox .testStartBtn {
    margin: 10px auto 0;
    width: 150px;
    height: 40px;
    font-size: 13px;
    line-height: 40px;
  }
}
.schoolingPlayer .screen ul li .player .testStart .testBox a.documentBtn {
  display: block;
  margin: 0 auto;
  width: 200px;
  height: 60px;
  border-radius: 3px;
  background: #00a4b3;
  color: #ffffff;
  text-align: center;
  text-decoration: none;
  font-weight: 500;
  font-size: 14px;
  line-height: 60px;
  cursor: pointer;
}
.schoolingPlayer .screen ul li .player .testStart .illust01 {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 30%;
}
@media print, screen and (max-width: 767px) {
  .schoolingPlayer .screen ul li .player .testStart .illust01 {
    display: none;
  }
}
.schoolingPlayer .screen ul li .player .testStart .illust03 {
  margin: 40px auto 0;
  padding: 0;
  max-width: 526px;
  text-align: center;
  line-height: 0;
}
@media print, screen and (max-width: 767px) {
  .schoolingPlayer .screen ul li .player .testStart .illust03 {
    margin: 10px auto 0;
    max-width: 240px;
  }
}
.schoolingPlayer .screen ul li .player .testStart .illust03 img {
  max-width: 320px;
  width: 100% !important;
  height: auto;
}
.schoolingPlayer .screen ul li .player p.youtubeInfo {
  position: absolute;
  bottom: -30px;
  margin: 0;
  padding: 0;
  font-weight: 500;
  font-size: 12px;
  line-height: normal;
}
.schoolingPlayer .screen ul li.show .player .onemore.completWindow.show h5 {
  -webkit-animation: tlanime 0.8s ease 0.2s forwards;
          animation: tlanime 0.8s ease 0.2s forwards;
}
.schoolingPlayer .screen ul li.show .player .onemore .completeBox a i {
  -webkit-animation: checkanime 0.6s linear 1s forwards;
          animation: checkanime 0.6s linear 1s forwards;
}
.schoolingPlayer .screen ul li.show .player .onemore .completeBox p {
  -webkit-animation: tlanime 0.8s ease 0.2s forwards;
          animation: tlanime 0.8s ease 0.2s forwards;
}
.schoolingPlayer .screen .switch {
  position: absolute;
  bottom: -60px;
  left: 0;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 0;
  width: 50px;
  height: 50px;
  border: #ececec solid 1px;
  font-size: 14px;
  cursor: pointer;
}
@media print, screen and (max-width: 767px) {
  .schoolingPlayer .screen .switch {
    right: 44px;
    bottom: -40px;
    left: inherit;
    box-sizing: border-box;
    width: 30px;
    height: 30px;
  }
}
.schoolingPlayer .screen .switch.show {
  display: flex;
}
.schoolingPlayer .screen .switch i {
  font-size: 20px;
}
@media print, screen and (max-width: 767px) {
  .schoolingPlayer .screen .switch i {
    font-size: 16px;
  }
}
.schoolingPlayer .screen .switch i.off {
  display: block;
}
.schoolingPlayer .screen .switch i.on {
  display: none;
}
.schoolingPlayer .screen .switch.show.opn i.off {
  display: none;
}
.schoolingPlayer .screen .switch.show.opn i.on {
  display: block;
}
.schoolingPlayer .screen .mode {
  position: absolute;
  top: -32px;
  left: 0;
  display: none;
  padding: 0 10px;
  height: 24px;
  background: #434343;
  color: #ffffff;
  font-weight: 400;
  font-size: 12px;
  line-height: 24px;
}
@media print, screen and (max-width: 767px) {
  .schoolingPlayer .screen .mode {
    top: -30px;
    left: 0;
    height: 30px;
    line-height: 30px;
  }
}
.schoolingPlayer .screen .mode.show {
  display: block;
}

#classes .playerBlock.on .schoolingPlayer .screen .switch {
  bottom: -170px;
}
@media print, screen and (max-width: 767px) {
  #classes .playerBlock.on .schoolingPlayer .screen .switch {
    bottom: -150px;
  }
}
#classes .playerBlock.on .schoolingPlayer .screen ul li .player .control {
  bottom: -170px;
}
@media print, screen and (max-width: 767px) {
  #classes .playerBlock.on .schoolingPlayer .screen ul li .player .control {
    bottom: -150px;
  }
}
#classes .playerBlock.on .schoolingPlayer .screen ul li .player .noteBtn {
  bottom: -170px;
}
@media print, screen and (max-width: 767px) {
  #classes .playerBlock.on .schoolingPlayer .screen ul li .player .noteBtn {
    bottom: -150px;
  }
}
@media print, screen and (max-width: 767px) {
  #classes .playerBlock.on .schoolingPlayer .screen ul li .player .btn .next {
    bottom: -150px;
  }
}
@media print, screen and (max-width: 767px) {
  #classes .playerBlock.on .schoolingPlayer .screen ul li .player .btn .prev {
    bottom: -150px;
  }
}
#classes .playerBlock.on .schoolingPlayer .screen ul li .subtitle {
  display: block;
}

.frame-wrapper__video {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
}
.frame-wrapper__video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.testModal {
  position: fixed;
  top: 69px;
  right: 15px;
  bottom: 0;
  left: 289px;
  z-index: 9999;
  visibility: hidden;
  overflow: auto;
  border: #ececec solid 1px;
  background-color: rgb(255, 255, 255);
  opacity: 0;
  transition: opacity 0.5s, visibility 0.5s;
}
@media print, screen and (max-width: 1179px) {
  .testModal {
    top: 111px;
    left: 15px;
  }
}
@media print, screen and (max-width: 767px) {
  .testModal {
    top: 49px;
    right: 0;
    left: 0;
    border-right: none;
    border-left: none;
  }
}
.testModal.open {
  visibility: visible;
  opacity: 1;
}
.testModal.open .testWraapper {
  opacity: 1;
}
.testModal.open .testWraapper .titleBox {
  margin: 0;
  padding: 20px 40px 30px;
  background: #ffffff;
}
@media print, screen and (max-width: 767px) {
  .testModal.open .testWraapper .titleBox {
    padding: 0 0 30px;
  }
}
.testModal .testBlock.hide {
  display: none;
}
.testModal .testHeader {
  position: fixed;
  top: 71px;
  right: 50px;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 180px;
  height: 60px;
  border-right: #ececec solid 1px;
  border-bottom: #ececec solid 1px;
  border-left: #ececec solid 1px;
  background: #ffffff;
  line-height: 1;
}
@media print, screen and (max-width: 1179px) {
  .testModal .testHeader {
    top: 114px;
    right: 15px;
  }
}
@media print, screen and (max-width: 767px) {
  .testModal .testHeader {
    top: 50px;
    right: 0;
    width: 140px;
    height: 40px;
    border-right: none;
  }
}
.testModal .testHeader .timer {
  font-weight: 500;
  font-size: 14px;
}
@media print, screen and (max-width: 767px) {
  .testModal .testHeader .timer {
    font-size: 12px;
  }
}
.testModal .testHeader .timer span {
  padding: 0 0 0 5px;
  font-weight: 700;
  font-size: 24px;
}
@media print, screen and (max-width: 767px) {
  .testModal .testHeader .timer span {
    padding: 0;
    font-weight: 700;
    font-size: 16px;
  }
}
.testModal .testWraapper {
  margin: 0 auto;
  padding: 80px 60px 50px;
  line-height: normal;
  opacity: 0;
  transition: 0.5s linear 0.5s;
}
@media print, screen and (max-width: 1179px) {
  .testModal .testWraapper {
    padding: 80px 50px 50px;
  }
}
@media print, screen and (max-width: 767px) {
  .testModal .testWraapper {
    padding: 70px 20px 40px;
  }
}
.testModal .testWraapper.non {
  padding: 50px 20px;
}
.testModal .testWraapper p.testTitle {
  margin: 0;
  padding: 0;
  text-align: center;
  font-weight: 700;
  font-size: 16px;
}
.testModal .testWraapper p.testInfo {
  margin: 0;
  padding: 0;
  text-align: center;
  font-weight: 500;
  font-size: 13px;
}
.testModal .testWraapper p.testInfo span {
  font-weight: 700;
  font-size: 18px;
}
.testModal .testWraapper p.testScore {
  margin: 0;
  padding: 0;
  text-align: center;
  font-weight: 500;
  font-size: 15px;
}
.testModal .testWraapper p.testScore span {
  display: inline-block;
  padding: 0 5px;
  color: #ff3636;
  font-weight: 700;
  font-size: 30px;
}
.testModal .testWraapper p {
  margin: 0;
  padding: 0;
  font-weight: 500;
  font-size: 14px;
  line-height: 2em;
}
.testModal .testWraapper p.score {
  margin: 0 0 20px;
  color: #666666;
  text-align: right;
  font-size: 12px;
}
.testModal .testWraapper .num {
  margin: 0 0 16px;
  padding: 0;
  font-weight: 700;
  font-size: 18px;
}
@media print, screen and (max-width: 767px) {
  .testModal .testWraapper .num {
    margin: 0 0 10px;
    font-size: 15px;
  }
}
.testModal .testWraapper .quiz {
  margin: 0 auto 30px;
  padding: 40px;
  max-width: 800px;
  border: #ececec solid 1px;
  background: #ffffff;
}
@media print, screen and (max-width: 767px) {
  .testModal .testWraapper .quiz {
    padding: 30px 20px;
  }
}
.testModal .testWraapper .quiz .box {
  position: relative;
  margin: 0 auto;
  max-width: 800px;
}
.testModal .testWraapper .quiz .box .answer {
  margin: 0 0 20px;
  padding: 0;
}
.testModal .testWraapper .quiz .box .answer.end label {
  padding: 3px 0 3px 40px;
  cursor: default;
}
@media print, screen and (max-width: 767px) {
  .testModal .testWraapper .quiz .box .answer.end label {
    padding: 3px 0 3px 32px;
  }
}
.testModal .testWraapper .quiz .pict {
  margin: 0 0 20px;
  border: #e0e0e0 solid 1px;
  line-height: 0;
}
.testModal .testWraapper .quiz .pict img {
  max-width: 100%;
  width: 100%;
  height: auto;
}
.testModal .testWraapper .quiz p.count {
  font-size: 12px;
}
.testModal .testWraapper .answer {
  position: relative;
  margin: 0;
  padding: 10px 0 0;
}
.testModal .testWraapper .answer.bd {
  border-bottom: #000000 solid 3px;
}
.testModal .testWraapper .answer label {
  position: relative;
  display: block;
  margin: 0;
  padding: 5px 0 5px 40px;
  height: auto;
  font-weight: 500;
  font-size: 14px;
  line-height: 1.86em;
  cursor: pointer;
}
@media print, screen and (max-width: 767px) {
  .testModal .testWraapper .answer label {
    padding: 5px 0 5px 32px;
  }
}
.testModal .testWraapper .answer label .checkbox {
  display: none;
}
.testModal .testWraapper .answer .checkbox + .checkbox-icon {
  position: absolute;
  top: 5px;
  left: 0;
  padding: 0;
  vertical-align: middle;
}
.testModal .testWraapper .answer .checkbox + .checkbox-icon:before {
  display: inline-block;
  width: 22px;
  height: 22px;
  background: url(../../img/class/radio_off.svg) no-repeat left;
  content: "";
}
.testModal .testWraapper .answer .checkbox:checked + .checkbox-icon:before {
  background: url(../../img/class/radio_on.svg) no-repeat left;
}
.testModal .testWraapper .answer .tl {
  margin: 0 0 5px;
  padding: 0;
  font-weight: 700;
  font-size: 13px;
}
@media print, screen and (max-width: 767px) {
  .testModal .testWraapper .answer .tl {
    font-size: 11px;
  }
}
.testModal .testWraapper .answer p {
  margin: 0 0 5px;
  padding: 0 90px 0 0;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.8em;
}
@media print, screen and (max-width: 767px) {
  .testModal .testWraapper .answer p {
    padding: 0 70px 0 0;
    font-size: 15px;
  }
}
.testModal .testWraapper .correct {
  position: absolute;
  right: 10px;
  bottom: 5px;
  width: 40px;
  height: 40px;
  border: #ff3636 solid 7px;
  border-radius: 100%;
}
@media print, screen and (max-width: 767px) {
  .testModal .testWraapper .correct {
    width: 30px;
    height: 30px;
    border: #ff3636 solid 5px;
  }
}
.testModal .testWraapper .mistake {
  position: absolute;
  right: 0;
  bottom: -14px;
  color: #ff3636;
}
.testModal .testWraapper .mistake span {
  font-size: 80px;
}
@media print, screen and (max-width: 767px) {
  .testModal .testWraapper .mistake span {
    font-size: 60px;
  }
}
.testModal .testWraapper .nextBtn {
  display: block;
  margin: 20px auto 0;
  width: 240px;
  height: 60px;
  background: #00a4b3;
  color: #ffffff;
  text-align: center;
  text-decoration: none;
  font-weight: 500;
  font-size: 14px;
  line-height: 60px;
  cursor: pointer;
}
.testModal .testWraapper .explanation {
  margin: 20px 0 0;
  padding: 30px;
  border-radius: 10px;
  background: #f7f7f7;
}
@media print, screen and (max-width: 767px) {
  .testModal .testWraapper .explanation {
    padding: 20px;
    border-radius: 5px;
  }
}
.testModal .testWraapper .explanation p {
  margin: 0;
}
.testModal .testWraapper .scoringBtn {
  display: block;
  margin: 0 auto;
  width: 200px;
  height: 60px;
  border-radius: 3px;
  background: #00a4b3;
  color: #ffffff;
  text-align: center;
  text-decoration: none;
  font-weight: 500;
  font-size: 14px;
  line-height: 60px;
  cursor: pointer;
}
@media print, screen and (max-width: 1023px) {
  .testModal .testWraapper .scoringBtn {
    width: 180px;
    height: 50px;
    line-height: 50px;
  }
}
.testModal .load {
  position: absolute;
  top: 50%;
  left: 50%;
  display: none;
  min-width: 150px;
  text-align: center;
  line-height: 0;
  transform: translate(-50%, -50%);
}
.testModal .load.show {
  display: block;
}
.testModal .load img {
  width: 100px;
  height: auto;
}
@media print, screen and (max-width: 1279px) {
  .testModal .load img {
    width: 50px;
  }
}
.testModal .load p {
  margin: 0;
  padding: 20px 0 0;
  color: #00a4b3;
  text-align: center;
  font-weight: 500;
  font-size: 18px;
  line-height: 1;
}
@media print, screen and (max-width: 1279px) {
  .testModal .load p {
    text-align: center;
    font-size: 16px;
  }
}
.testModal .result {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: none;
  padding: 0 60px;
  opacity: 0;
}
@media print, screen and (max-width: 1023px) {
  .testModal .result {
    padding: 0 50px;
  }
}
@media print, screen and (max-width: 767px) {
  .testModal .result {
    padding: 0;
  }
}
.testModal .result.show {
  display: block;
  -webkit-animation-name: fade-in;
          animation-name: fade-in;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}
.testModal .result.show .flex {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.testModal .result .resultBox {
  margin: 0;
  padding: 0;
  width: 100%;
  text-align: center;
  line-height: normal;
}
.testModal .result .resultBox p.testTitle {
  margin: 0 0 10px;
  padding: 0;
  text-align: center;
  font-weight: 700;
  font-size: 22px;
}
.testModal .result .resultBox p.resultInfo {
  margin: 20px 0;
  padding: 0;
  text-align: center;
  font-weight: 500;
  font-size: 13px;
}
.testModal .result .resultBox .next, .testModal .result .resultBox .back {
  position: relative;
  display: block;
  margin: 0 auto;
  width: 200px;
  height: 60px;
  border-radius: 3px;
  color: #ffffff;
  text-align: center;
  text-decoration: none;
  font-weight: 500;
  font-size: 14px;
  line-height: 60px;
  cursor: pointer;
}
@media print, screen and (max-width: 1023px) {
  .testModal .result .resultBox .next, .testModal .result .resultBox .back {
    width: 180px;
    height: 50px;
    line-height: 50px;
  }
}
.testModal .result .resultBox .next i, .testModal .result .resultBox .back i {
  position: absolute;
  top: 50%;
  right: 20px;
  margin-top: -12px;
}
.testModal .result .resultBox .next {
  background: #00a4b3;
}
.testModal .result .resultBox .back {
  background: #808080;
}
.testModal .result .resultBox .illust02 {
  box-sizing: border-box;
  margin: 0 auto;
  padding: 0 20px;
  max-width: 546px;
  width: 100%;
  line-height: 0;
}
.testModal .result .resultBox .illust02 img {
  max-width: 350px;
  width: 100%;
  height: auto;
}
@media print, screen and (max-width: 1023px) {
  .testModal .result .resultBox .illust02 img {
    max-width: 280px;
  }
}

.fullscreen-button-wrap {
  position: absolute;
  right: 0;
  bottom: -62px;
}
.fullscreen-button-wrap.fullscreen-button-wrap-hide {
  display: none;
}
@media print, screen and (max-width: 767px) {
  .fullscreen-button-wrap {
    right: 10px;
    bottom: -40px;
  }
}

.playerBlock.on .fullscreen-button-wrap {
  bottom: -172px;
}
@media print, screen and (max-width: 767px) {
  .playerBlock.on .fullscreen-button-wrap {
    bottom: -150px;
  }
}

.fullscreen-button {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 0;
  width: 50px;
  height: 50px;
  border: #ececec solid 1px;
  background-color: #ffffff;
  color: #000000;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
}
.fullscreen-button span {
  font-size: 20px;
}
@media print, screen and (max-width: 767px) {
  .fullscreen-button span {
    font-size: 16px;
  }
}
@media print, screen and (max-width: 767px) {
  .fullscreen-button {
    width: 30px;
    height: 30px;
  }
}
.fullscreen-button.fullscreen-button-hide {
  display: none;
}

.playerBlock.fullscreen-view {
  margin: 0;
}

#classes .playerBlock.fullscreen-view {
  z-index: 99999999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 80px;
}
@media print, screen and (max-width: 767px) {
  #classes .playerBlock.fullscreen-view {
    padding: 30px 10px;
  }
}
#classes .playerBlock.fullscreen-view .playerBox {
  margin: -40px auto 0;
  min-width: 480px;
  min-height: 270px;
  max-width: calc((100svh - 154px) * 16 / 9);
  max-height: calc(100svh - 154px);
}
@media print, screen and (max-width: 767px) {
  #classes .playerBlock.fullscreen-view .playerBox {
    max-width: calc((100svh - 100px) * 16 / 9);
    max-height: calc(100svh - 100px);
  }
}
#classes .playerBlock.fullscreen-view .playerBox .schoolingPlayer {
  max-width: none;
}
#classes .playerBlock.fullscreen-view .playerBox .screen {
  max-width: none;
}
#classes .playerBlock.fullscreen-view .playerBox .screen .loading {
  right: 50px;
}
@media print, screen and (max-width: 767px) {
  #classes .playerBlock.fullscreen-view .playerBox .screen .loading {
    right: 45px;
  }
}
#classes .playerBlock.fullscreen-view .playerBox .schoolingPlayer .screen ul li .subtitle {
  display: none !important;
}
#classes .playerBlock.fullscreen-view .playerBox .schoolingPlayer .screen ul li .player .image {
  min-width: 480px;
  min-height: 270px;
  max-width: calc((100svh - 154px) * 16 / 9);
  max-height: calc(100svh - 154px);
}
@media print, screen and (max-width: 767px) {
  #classes .playerBlock.fullscreen-view .playerBox .schoolingPlayer .screen ul li .player .image {
    max-width: calc((100svh - 100px) * 16 / 9);
    max-height: calc(100svh - 100px);
  }
}
#classes .playerBlock.fullscreen-view .playerBox .schoolingPlayer .screen ul li .player .image img {
  width: auto;
}
#classes .playerBlock.fullscreen-view .playerBox .schoolingPlayer .screen ul li .player .noteBtn {
  display: none !important;
}
#classes .playerBlock.fullscreen-view .playerBox .schoolingPlayer .screen ul li .player .testModal {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
#classes .playerBlock.fullscreen-view .playerBox .schoolingPlayer .screen ul li .player .testModal .testHeader {
  top: 0;
}
#classes .playerBlock.fullscreen-view .playerBox .schoolingPlayer .screen ul li .player .control {
  right: 49px;
}
@media print, screen and (max-width: 767px) {
  #classes .playerBlock.fullscreen-view .playerBox .schoolingPlayer .screen ul li .player .control {
    right: 44px;
  }
}
#classes .playerBlock.fullscreen-view .playerBox .schoolingPlayer .screen ul li .player .testStart .illust01 {
  position: absolute;
  right: 20%;
  bottom: 0;
}
#classes .playerBlock.fullscreen-view .playerBox .schoolingPlayer .screen ul li .player .testStart .illust03 {
  max-width: none;
}

#note {
  position: fixed;
  top: 0;
  right: -668px;
  bottom: 0;
  z-index: 100000;
  overflow: auto;
  box-sizing: border-box;
  padding: 50px 30px 0;
  width: 668px;
  border-left: #ececec solid 1px;
  background: #ffffff;
  transition: right 0.7s cubic-bezier(0.26, 0.63, 0, 0.99) 0.1s;
}
@media print, screen and (max-width: 767px) {
  #note {
    right: -120%;
    width: calc(100% + 1px);
  }
}
#note.on {
  right: 0;
}
#note form {
  position: relative;
}
#note .close {
  position: absolute;
  top: 5px;
  right: 24px;
  z-index: 10;
  width: 40px;
  text-align: center;
  line-height: 40px;
  cursor: pointer;
}
@media print, screen and (max-width: 767px) {
  #note .close {
    top: 10px;
    right: 16px;
  }
}
#note .close i {
  color: #000000;
  font-size: 30px;
  line-height: 40px;
}
#note .noteTitle {
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  margin: 0 0 20px;
  padding: 0 216px 0 0;
  height: 144px;
}
#note .noteTitle.noThumb {
  padding: 0;
}
#note .noteTitle.noThumb .thumb {
  display: none;
}
#note .noteTitle .thumb {
  position: absolute;
  top: 0;
  right: 0;
  display: flex;
  overflow: hidden;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 192px;
  height: 144px;
  border: #e0e0e0 solid 1px;
  background: #fafafa;
}
#note .noteTitle .thumb img {
  width: auto;
  height: 144px;
}
#note .noteTitle h4 {
  position: absolute;
  top: 0;
  right: 224px;
  left: 0;
  margin: 0;
  font-weight: 500;
  font-size: 18px;
}
#note .noteTitle h4 span {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  padding: 0;
  gap: 10px;
}
#note .noteTitle h4 span i {
  font-weight: normal;
}
#note .noteTitle p.tl {
  margin: 0;
  padding: 0;
  font-size: 10px;
}
#note .noteTitle .tlBox {
  width: 100%;
}
#note input[type=text] {
  padding: 15px 0;
  height: 50px;
  border: none;
  border-bottom: #000000 solid 2px;
  background-color: transparent;
  font-weight: 500;
  font-size: 16px;
}
#note .ql-toolbar.ql-snow .ql-formats {
  margin-right: 10px !important;
}
#note .ql-toolbar {
  position: absolute;
  right: 0;
  bottom: 58px;
  left: 0;
  z-index: 5;
  border: none;
}
#note .ql-container {
  position: relative;
  margin: 0;
  padding: 0 0 40px;
  min-height: 340px;
  height: calc(100vh - 280px);
  border: #ececec solid 1px;
  background-color: #fafafa;
}
#note .notePager {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 50px;
  text-align: center;
  font-weight: 700;
  font-size: 18px;
  line-height: 50px;
}
#note .notePager a {
  display: inline-block;
  padding: 0 20px;
  height: 50px;
  color: #000000;
}
#note .notePager a i {
  height: 50px;
  font-size: 30px;
  line-height: 50px;
}
#note .notePager a.none {
  color: #a9a9a9;
  pointer-events: none;
}
#note .notePager span {
  display: inline-block;
  padding: 0;
  line-height: 50px;
}
#note .ql-snow .ql-tooltip {
  top: initial !important;
  right: 0;
  bottom: 0;
  left: 0 !important;
  z-index: 99999;
  padding: 0 12px;
  border: initial !important;
  background-color: #fafafa;
  box-shadow: initial !important;
  color: #444444;
  white-space: nowrap;
  transform: initial !important;
}
#note .ql-snow .ql-tooltip input[type=text] {
  padding: 10px 0;
  width: calc(100% - 115px);
  height: 40px;
  border-bottom: none;
}
#note .ql-snow .ql-tooltip a {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 80px;
  background: #000000;
  color: #ffffff;
  text-decoration: none;
  cursor: pointer;
}
#note .ql-snow .ql-tooltip.ql-editing a.ql-action::after {
  margin-left: 0;
  padding-right: 0;
  border-right: 0;
  content: "適用";
}
#note .ql-snow .ql-tooltip[data-mode=formula]::before {
  content: "数式:";
}
#note .ql-snow .ql-picker.ql-expanded .ql-picker-options {
  top: inherit !important;
  right: 0;
  bottom: 100%;
}

#noteBase {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 274px;
  z-index: 99999;
  background-color: rgba(248, 250, 251, 0.96);
  opacity: 0;
  transition: opacity 0.7s cubic-bezier(0.26, 0.63, 0, 0.99);
  pointer-events: none;
}
@media print, screen and (max-width: 1179px) {
  #noteBase {
    left: 0;
  }
}
#noteBase.on {
  opacity: 1;
  cursor: pointer;
  pointer-events: all;
}

.menu .scroll ul.tab {
  display: none !important;
}

#classes .playerBlock .playerBox {
  min-width: 586px;
  min-height: 330px;
  max-width: calc((100svh - 215px) * 16 / 9);
  max-height: calc(100svh - 215px);
}
@media print, screen and (max-width: 767px) {
  #classes .playerBlock .playerBox {
    min-width: inherit;
    min-height: inherit;
    max-width: calc((100svh - 106px) * 16 / 9);
    max-height: calc(100svh - 106px);
  }
}

.schoolingPlayer .screen ul li .player .image {
  min-width: 586px;
  min-height: 330px;
  max-width: calc((100svh - 215px) * 16 / 9);
  max-height: calc(100svh - 215px);
}
@media print, screen and (max-width: 767px) {
  .schoolingPlayer .screen ul li .player .image {
    min-width: inherit;
    min-height: inherit;
    max-width: calc((100svh - 106px) * 16 / 9);
    max-height: calc(100svh - 106px);
  }
}
/*# sourceMappingURL=custom.css.map */