.flex-column {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  position: relative
}

.flex-column .header {
  width: 100%;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-align-items: center;
  align-items: center
}

.flex-column .header .legal-label {
  padding: 4px;
  border: 1px solid #1e1f20;
  border-radius: 3px;
  font-size: 10px;
  font-weight: 700;
  line-height: 1
}

.flex-column .header .ticket-count {
  font-size: 13px;
  float: right
}

.flex-column .header .ticket-count .check-image-wrapper {
  display: table-cell;
  padding-right: 5px;
  vertical-align: middle
}

.flex-column .header .ticket-count .check-image-wrapper .check-image {
  width: 16px;
  height: 16px
}

.flex-column .header .ticket-count .count-text {
  display: table-cell;
  vertical-align: middle
}

.flex-column .header .ticket-count .count-text .count {
  padding-left: 2px
}

.flex-column .header-flex-end {
  -webkit-justify-content: flex-end;
  justify-content: flex-end
}

.flex-column .line {
  position: absolute;
  top: 42px;
  left: 0;
  color: #d8d8d8;
  border-style: solid;
  border-width: 1px 0 0;
  width: 100%
}

.flex-column .content {
  margin-top: 20px
}

.flex-column .content .title {
  font-size: 14px;
  font-weight: 700;
  word-break: break-all
}

.flex-column .content .no-seat-title {
  font-size: 18px
}

.flex-column .content .datetime-wrapper {
  -webkit-align-items: center;
  align-items: center;
  margin-top: 4px;
  line-height: 1.7;
  font-size: 12px
}

.flex-column .content .datetime-wrapper,
.flex-column .content .datetime-wrapper .open-and-start-time-container {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap
}

.flex-column .content .datetime-wrapper .open-and-start-time-container .label-and-time-wrapper {
  display: -webkit-flex;
  display: flex
}

.flex-column .content .datetime-wrapper .open-and-start-time-container .label-and-time-wrapper:first-child {
  margin-right: 8px
}

.flex-column .content .datetime-wrapper .open-and-start-time-container .label-and-time-wrapper .label {
  -webkit-align-self: center;
  align-self: center;
  padding-right: 8px
}

.flex-column .content .datetime-wrapper .open-and-start-time-container .label-and-time-wrapper .time {
  -webkit-align-self: center;
  align-self: center
}

.flex-column .content .seat {
  margin-top: 8px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.3;
  word-break: break-all
}

.flex-column .content .entitled-visitors-container {
  margin-top: 12px;
  line-height: 1.5
}

.flex-column .content .entitled-visitors-container .entitled-visitors-label {
  display: -webkit-flex;
  display: flex;
  color: #818589
}

.flex-column .content .entitled-visitors-container .entitled-visitors-body {
  margin-top: 4px;
  padding: 8px;
  background-color: #f5f5f5;
  border-radius: 4px
}

.flex-column .content .entitled-visitors-container .entitled-visitors-body .entitled-visitor-name-wrapper {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-align-items: center;
  align-items: center
}

.flex-column .content .entitled-visitors-container .entitled-visitors-body .entitled-visitor-name-wrapper .name-kana {
  font-size: 12px
}

.flex-column .content .entitled-visitors-container .entitled-visitors-footer {
  margin-top: 8px;
  padding: 0 8px;
  color: #818589;
  font-size: 13px;
  line-height: 1.3
}

.flex-column .footer {
  position: absolute;
  width: 100%;
  left: 0;
  bottom: 16px;
  color: #a1a4a7;
  font-weight: 700;
  font-size: 13px;
  -webkit-font-smoothing: antialiased;
  line-height: 1.7;
  text-align: center
}

.apply-guide-wrapper {
  position: absolute;
  z-index: 2;
  left: 0;
  width: 100%;
  bottom: 4%
}

.apply-guide-wrapper,
.apply-guide-wrapper .apply-guide {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center
}

.apply-guide-wrapper .apply-guide {
  padding: 8px;
  height: 72vw;
  width: 72vw;
  border-radius: 50%;
  border: 1px dashed rgba(30, 31, 32, .3);
  background-color: hsla(0, 0%, 100%, .7)
}

.apply-guide-wrapper .apply-guide .guide-text {
  width: 100%;
  color: #45484a;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.5;
  text-align: center
}

@media (orientation:landscape) {
  .qr-wrapper {
    margin-left: 10vw;
    margin-top: -2vh
  }
}

@media (orientation:portrait) {
  .qr-wrapper {
    bottom: 56px;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    left: 0;
    position: absolute;
    width: 100%
  }
}

.landscape-wrapper {
  display: -webkit-flex;
  display: flex
}

/* スライド群を常に中央寄せ（SwiperのJSが無い前提の安定策） */
.swiper-wrapper{
  justify-content: center;
}
