@charset "UTF-8";
/* CSS Document */


/*-----------------------------*/
/*color 
白 #FFFFFF
#EFEFEF
#6c6c6c
黒 #000
赤 #de3b0a
緑  #80AD27;
青 #3B8DE0
オレンジ　#eb723d;
#E07B7B
/*-----------------------------*/

/*-----------------------------*/
/*v-cloak
/*-----------------------------*/
[v-cloak] {
  display: none;
}

/*-----------------------------*/
/*horizontal-list
/*-----------------------------*/
.horizontal-list {
  overflow-x: auto;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;
  /* background-color: #EFEFEF;
  border: 1px solid #EFEFEF; */
  padding: 0 2px;
}

.horizontal-list,
.horizontal-list li {
  padding: 2px 0;
  margin:0;
}

.item {
  display: inline-block;
}

.horizontal-list.is-invalid {
  border: 1px solid #dc3545;
}

.horizontal-list.is-invalid + .invalid-feedback {
display: block;
}


@media only screen and  (max-width: 575px) {
  .horizontal-list::-webkit-scrollbar {
    display: none;
  }
}

.fade-enter-active{
  transition: opacity .5s;
}

.fade-enter, .fade-leave-to /* .fade-leave-active below version 2.1.8 */ {
  opacity: 0;
}

/*-----------------------------*/
/*form
/*-----------------------------*/
.input-group-text {
  background-color:#F8F8F8;
}

.input_note_help {
  margin-top: -1px !important;
}
.input_note_help + .input_note_help {
  margin-top: 5px !important;
}
small.input_note_help:last-of-type {
  margin-bottom: 2px !important;
}

/*------------------------------
  first_input
------------------------------*/

section.seats .inactive {
  display: none;
}
section.seats .seat_name {
  display: flex;
}
.seat_name .name {
  margin-right: 0.5rem;
  border-left: #eb723d 4px double;
  padding-left: 0.4rem;
  font-size: 0.8rem;
}
.seat_name .seat_icons {
  flex: none;
}
#dummy_image {
  width: 650px;
  height: 500px;
  background: no-repeat url('/img/ownedmedia/seat_blur.jpg');
}
.site-header {
  background-color: rgba(0, 0, 0, .85);
  -webkit-backdrop-filter: saturate(180%) blur(20px);
  backdrop-filter: saturate(180%) blur(20px);
  color:#FFF;
}
/*------------------------------
  凡例
------------------------------*/
.legend span{
  display: inline-flex;
  justify-items: center;
  align-items: center;
  margin: 5px;
  font-size: 0.7rem;
  line-height: 1rem;
  vertical-align: middle;
}
/*------------------------------
  calendar
------------------------------*/
.calendar {
  -ms-flex-wrap: wrap;
   -webkit-flex-wrap : wrap;
  flex-wrap: wrap;
  justify-content: center;
}
.calendar img {
width:1rem;
margin: auto;
}

.calendar table td, .calendar table th {
  font-size: 0.8rem;
  font-weight: normal;
  color: #6c6c6c;
  text-align: center;
  padding: 1px;
  width: 12%;
}

.calendar table .holiday, 
.calendar table .sunday {
  color: #D90E0E;
}
.calendar table .saturday {
  color: #3B8DE0;
}
.calendar table .cal-label {
  background-color: #F8F4F0;
  color: #000;
  font-size: 0.9rem;
  padding: 3px;
}
.calendar table .week{
  display: block;
}

.btn-owd {
  border: solid #E3E3E3 1px;
  padding: 1px;
  border-radius: 3px;
  background: linear-gradient(#FFFFFF, #EFEFEF);
  margin: auto;
  cursor: pointer;
}
.btn-owd:hover {
  background: linear-gradient(#EEEEEE, #FFFFFF);
}
.btn-owd-selected {
  border: solid #D90E0E 2px;
  background: linear-gradient(rgb(248, 231, 231), rgb(252, 215, 215));
  padding: 0px;
}
.btn-owd-selected:focus{
  outline: none;
}
.calendar table td div:not(.btn-owd-selected) {
  border: solid #EEE 1px;
}
.calendar table .tel {
  color: #999999;
  border: solid #FFF 1px;
  border-radius: 3px;
  background-color: #FFF;
  margin: auto;
}
/*------------------------------
  seats
------------------------------*/
ul.seat_contents {
  margin: 10px 0 30px 0;
  padding: 0;
  display: flex;
  -ms-flex-wrap: wrap;
   -webkit-flex-wrap : wrap;
  flex-wrap: wrap;
}
.seat_contents button {
  color: #000;
  border: solid #E3E3E3 1px;
  border-radius: 3px;
  background: linear-gradient(#FFFFFF, #EFEFEF);
  margin: 0.2rem;
  font-size:0.8rem;
  padding: 0.3rem 0.5rem;
  display: inline-flex;
  align-items: center;
  justify-items: center;
  justify-content: center;
  cursor: pointer;
}
.seat_contents button:disabled {
color: #CCC;
background: #FFFFFF;
}
.seat_contents img {
  width: 1.2rem;
  margin-right: 0.3rem;
}
.seat_contents li {
  display: none;
}
.seat_contents li.active {
  display: block;
}
ul.seat_contents > li {
  border: #EEE 1px solid;
  background-color: #FFF;
  padding: 10px 5px;
  display: flex;
  justify-content: center;
  justify-items: center;
  align-items: center;
  flex-direction: column;
}

/*------------------------------
  toggle_button
------------------------------*/
.toggle_button
{
  width: auto;
}
.toggle_button ul{
  padding: 0;
  margin: 0;
  list-style: none;
  display: flex;
  margin-bottom: 1rem;
}
.toggle_button ul li{
  padding: 0.4rem 0.8rem;
  border-radius: 0px;
  border: 1px solid #ccc;
  background: linear-gradient(#EFEFEF, #EFEFEF);
  color: #959595;
  cursor: pointer;
  font-size:0.8rem;
}
.toggle_button ul li:hover{
  box-shadow: 1px 1px 1px 1px rgba(0,0,0,0.1) inset;
}
.toggle_button ul li:first-child {
  border-radius: 0.5rem 0 0 0.5rem;
}
.toggle_button ul li:last-child {
  border-radius: 0 0.5rem 0.5rem 0;
}
.toggle_button ul li:not(:first-child), .toggle_button ul label:not(:first-of-type) {
  border-left: none;
}
.toggle_button ul li.active, .toggle_button ul :checked + label {
  background: linear-gradient(#FFFFFF, #EFEFEF);
  color: #000;
  cursor: auto;
}


/*-----------------------------*/
/* @media
/*-----------------------------*/
/* WIDE PC
/*-----------------------------*/
/* @media only screen and (min-width: 1600px) {
} */

/* PC
/*-----------------------------*/
/* @media only screen and (min-width: 1176px) and (max-width: 1599px) {
} */


/* TABLET 
/*-----------------------------*/
/* @media only screen and (min-width: 768px) and (max-width: 1175px) {
} */

/* MOBILE
/*-----------------------------*/
 @media only screen and  (max-width: 767px) {
  #dummy_image {
    width: 340px;
    height: 800px;
    background: no-repeat url('/img/ownedmedia/seat_blur_m.jpg');
  }
} 

/* ----------- */
/*    決済      */
/* ----------- */
.payment_border{
  border-left: 5px solid #dee2e6;
}
.credit-img{
  width: 50px;
  height: 50px;
  object-fit: contain;
}
.fade-enter-active{
  transition: opacity .3s;
}
.fade-leave-active{
  transition: opacity .1s;
}
.fade-enter, .fade-leave-to /* .fade-leave-active below version 2.1.8 */ {
  opacity: 0;
}

/* khanh.ln - refs #118078 BRSISWELL-636 */

.out-of-stock-bg {
  background-color: #e2e3e5 !important;
}

.out-of-stock {
  /* position: absolute; */
  top: 0;
  left: 0;
  /* width: 100%;
  height: 100%; */
  line-height: 43px;
  /* text-align: center; */
  color: #f00;
  z-index: 999;
  font-weight: bold;
}

.out-of-stock-no-modal {
  top: 0;
  left: 0;
  color: #f00;
  z-index: 999;
  font-weight: bold;
}

.course-list {
  max-height: 60vh;
  overflow-y: scroll;
}

.menu-content-area{
  width: calc(100% - 100px);
}
.more-button-area {
  width: 100px;
}

.course-list-sidx {
  width: calc(50% - 20px) !important;
  margin:16px 8px;
}

.course-list-sidx.active {
  color: #155724 !important;
  background-color: #d4edda !important;
  border-color: #d4edda !important;
}

.course-list-be.active {
  color: #155724 !important;
  background-color: #d4edda !important;
  border-color: #d4edda !important;
}

.more-button-area > a {
  font-size: 13px;
}

.out-of-stock-bg {
  cursor: unset !important;
}

.course-list-sidx:not(:disabled) {
  cursor: pointer;
}

.course-list-sidx:not(.out-of-stock-bg):not(.active):hover {
  background-color: #EFE3CB !important; 
  border-color: #EFE3CB !important;
  color: #000 !important;
}

.course-list-be:not(:disabled) {
  cursor: pointer;
}

.course-list-be:not(.out-of-stock-bg):not(.active):hover {
  background-color: #EFE3CB !important; 
  border-color: #EFE3CB !important;
  color: #000 !important;
}

.course-name-strong {
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.card-img-sidx {
  height: 120px;
  width: auto !important;
  margin: 25px;
}

.img-area-box {
  height: 170px;
  text-align: center;
}

@media only screen and  (max-width: 992px) {
  .card-img-sidx {
    height: 80px;
    width: auto !important;
    margin: 10px;
  }

  .img-area-box {
    height: 100px;
    text-align: center;
  }
}
