.title-catch {
  text-align: center;
  font-size: 2.2rem;
  font-weight: bold;
  color: #000;
  letter-spacing: 1px;
  margin-top: 50px;
}
.schedule-contents-header {
  text-align: left;
  padding: 10px;
  border-bottom: dotted 1px #ddd;
  margin-bottom: 10px;
}
.schedule-contents-header .schedule-title {
  font-size: 2rem;
  font-weight: bold;
  color: #000;
}

.schedule-list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  /*padding: 20px;*/
}
.schedule-list .schedule-item {
  position: relative;
  display: block;
  width: calc((100% - 120px) / 3);
  border-radius: 10px;
 /* box-shadow: 0px 0px 7px rgba(0, 0, 0, 0.2);*/
}
.schedule-list .schedule-item .inner {
  padding: 10px 0 60px;
}
.schedule-list .schedule-item-date {
  display: block;
  font-size: 1.5rem;
  padding-bottom: 7px;
}
.schedule-list .schedule-item-image {
  width: 100%;
  height: 215px;
  margin-top: 5px;
  background: #ddd;
  overflow: hidden;
}
.schedule-list .schedule-item-image img {
  width: 100%;
  height: inherit;
  position: relative;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}
.schedule-list .schedule-item-main {
  zoom: 1;
}
.schedule-list .schedule-item-main:before, .schedule-list .schedule-item-main:after {
  display: block;
  height: 0;
  visibility: hidden;
  content: " ";
}
.schedule-list .schedule-item-main:after {
  clear: both;
}
.schedule-list .schedule-item-main-info {
  margin-top: 1px;
}
.schedule-list .schedule-item-main-info-icon .icon {
  display: inline-block;
  line-height: 1;
  font-size: 1rem;
  color: #141414;
  padding: 10px 20px;
}
.schedule-list .schedule-item-main-info-icon .icon.type {
  background-color: #f8e7b5;
}
.schedule-list .schedule-item-main-info-icon .icon.type.yoga {
  background-color: #ffcc33;
}
.schedule-list .schedule-item-main-info-icon .icon.type.pilates {
  background-color: #93c6ab;
}
.schedule-list .schedule-item-main-info-icon .icon.type.pelvis {
  background-color: #ff689b;
}
.schedule-list .schedule-item-main-info-icon .icon.type.others {
  background-color: #333333;
  color: #fff;
}
.schedule-list .schedule-item-main-info-icon .icon.time {
  background-color: #e3dcc9;
}
.schedule-list .schedule-item-main-info-icon.seat-status {
  display: inline-block;
  padding: 8px 0 5px;
}
.fa-clock-o:before {
    content: "\f017";
}
.schedule-list .schedule-item-main-info-icon.seat-status .seat-status-icon {
  font-size: 1rem;
  line-height: 1;
  display: inline-block;
  border-radius: 4px;
  background: #ddd;
  padding: 7px 10px;
}
.schedule-list .schedule-item-main-info-icon.seat-status .seat-status-icon .status,
.schedule-list .schedule-item-main-info-icon.seat-status .seat-status-icon .copy {
  display: inline-block;
  vertical-align: middle;
  font-weight: normal;
}
.schedule-list .schedule-item-main-info-icon.seat-status .seat-status-icon .status {
  margin-right: 1px;
}
.schedule-list .schedule-item-main-info-icon.seat-status .seat-status-icon .copy {
  font-size: 1rem;
}
.schedule-list .schedule-item-main-info-icon.seat-status .seat-status-icon.few {
  background: none;
  border: solid 1px #BA5A59;
}
.schedule-list .schedule-item-main-info-icon.seat-status .seat-status-icon.few * {
  color: #BA5A59;
}
.schedule-list .schedule-item-main-info-icon.seat-status .seat-status-icon.full {
  background: #555;
}
.schedule-list .schedule-item-main-info-icon.seat-status .seat-status-icon.full * {
  color: #fff;
}
.schedule-list .schedule-item-main-info-title {
  font-size: 1.3rem;
  line-height: 1.5;
  font-weight: bold;
  margin-top: 8px;
}
.schedule-list .schedule-item-main-info-title .icon {
  display: inline-block;
  vertical-align: middle;
  margin-left: 3px;
}
.schedule-list .schedule-item-main-info-title .icon img {
  width: 14px;
  height: auto;
  vertical-align: middle;
}
.schedule-list .schedule-item-main-info-title .course-category {
  display: block;
  color: #888;
  font-size: 1.2rem;
  line-height: 1.2;
}
.schedule-list .schedule-item-main-info-price {
  margin-top: 4px;
  font-size: 1.4rem;
  color: #696969;
}
.schedule-list .schedule-item-main-info-instructor {
  color: #696969;
  font-size: 1.1rem;
  margin-top: 5px;
}
.schedule-list .schedule-item-main-info-instructor .title {
  text-align: left !important;
}
.schedule-list .schedule-item-main-info-instructor .instructor .thumb, .schedule-list .schedule-item-main-info-instructor .instructor .name, .schedule-list .schedule-item-main-info-instructor .instructor .favorite {
  display: inline-block;
  vertical-align: middle;
}
.schedule-list .schedule-item-main-info-instructor .instructor .thumb {
  width: 30px;
  height: 30px;
  border-radius: 30px;
  background: #ddd;
  overflow: hidden;
  margin-right: 3px;
}
.schedule-list .schedule-item-main-info-instructor .instructor .thumb img {
  width: 100%;
  height: auto;
  position: relative;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}
.schedule-list .schedule-item-main-info-studio {
  font-size: 1.2rem;
  color: #505050;
}
.schedule-list .schedule-item-btn {
  position: absolute;
  bottom: 0px;
  left: 0;
  width: 100%;
  text-align: center;
}
.schedule-list .schedule-item-btn .btn {
  font-size: 1.4rem;
  width: 100%;
  display: inline-block;
}
.schedule-list .schedule-item-btn .btn:first-child {
  margin-right: 0px;
}
.schedule-list .schedule-item-btn .btn.btn-submit{
  display: none;
}
.schedule-list .schedule-item-btn .btn.checkin {
  display: none;
}
.schedule-list.checkin-mode .btn.checkin {
  display: inline-block;
}
.schedule-list.scroll-x {
  overflow-x: auto;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;
  max-width: 1080px;
    margin: auto;
}
.schedule-list.scroll-x .schedule-item {
  vertical-align: top;
  margin-bottom: 55px;
}
.schedule-list.scroll-x .schedule-item-main {
  white-space: normal;
  flex: 1;
}
.schedule-list.full {
  display: block;
}
.schedule-list.full .schedule-item {
  display: block;
  width: 100%;
  max-width: 500px;
  margin: 30px auto 0;
  overflow: hidden;
}
.schedule-list.full .schedule-item .inner {
  zoom: 1;
}
.schedule-list.full .schedule-item .inner:before, .schedule-list.full .schedule-item .inner:after {
  display: block;
  height: 0;
  visibility: hidden;
  content: " ";
}
.schedule-list.full .schedule-item .inner:after {
  clear: both;
}
.schedule-list.full .schedule-item-image {
  float: left;
  width: 120px;
  height: 80px;
}
.schedule-list.full .schedule-item-main {
  float: right;
  width: calc(100% - 120px - 15px);
}
.schedule-list.full .schedule-item-btn {
  clear: both;
  padding-top: 15px;
}
@media screen and (max-width: 768px) {
  .schedule-list {
    width: 100%;
    /*max-width: 960px;*/
    max-width: 1084px;
    margin: auto;
  }
  .schedule-list.scroll-x {
    flex-wrap: wrap;
    overflow: auto;
    white-space: normal;
    text-align: center;
  }
  .schedule-list.scroll-x .schedule-item {
    /*width: 280px;*/
    text-align: left;
    /*margin: 13px;*/
    margin-bottom: 10px;
  }

  .top-contents .schedule-list .schedule-item {
      width: calc((100% - 20px) / 3);
      margin-bottom: 30px;
  }

  .schedule-list.scroll-x .schedule-item-image {
       width: 100%;
       height: auto;
       margin: 0 15px 0 0;
   }

  .schedule-list.scroll-x .schedule-item .btns .btn {
    width: 90%;
    margin: 0;
  }

  .schedule-list .schedule-item .inner {
   display: flex;
   padding: 10px 15px 65px;
   flex-wrap: wrap;
  }

  .schedule-list .schedule-item-main-info-title,
  .schedule-list .schedule-item-main-info {
      margin-top: 0;
      display: flex;
      width: 100%;
      flex-wrap: wrap;
      align-items: end;
   }

  .schedule-list .schedule-item-date {
    width: 100%;
    font-size: 1.3rem
  }

  .schedule-list .schedule-item-main-info-icon.seat-status {
       width: 100%;
       padding: 5px 0;
   }

   .schedule-list .schedule-item-main-info-icon .icon {
       padding: 5px 10px;
   }

   .schedule-list .schedule-item-main-info-instructor,
   #livestream_workshop_list .schedule-list .schedule-item-main-price {
      display: inline-block;
      font-size: 1.2rem;
   }

   .schedule-list .schedule-item-main-info-instructor .instructor .thumb {
      width: 20px;
      height: 20px;
      margin: 0 0px 0 0px;
   }

   /*20211224追加*/

   .top-contents .voice-list{
      padding: 0 20px;
   }

   .top-contents .voice-list .voice-item{
      margin-bottom: 0;
   }

   .voice-list .voice-item .inner {
      padding: 10px 15px 5px;
   }
}