@charset "UTF-8";
/* ユーザー側共通 css */

header dl {
  display: flex;
  align-items: center;
  gap: 16px;
}
header dl dt {
  font-size: 39px;
  font-weight: 900;
  color: #fff;
}
header dl dd {
  font-size: 24px;
}

.tab-content {
  max-height: none;
}

.content {
  position: relative;
  width: 100%;
  max-width: 450px;
  min-height: calc(100vh - 56px);
  min-height: calc(100dvh - 56px);
  max-height: calc(100vh - 56px);
  max-height: calc(100dvh - 56px);
}

main {
  padding: 0 4px;
}

.filter-inp-box {
  padding: 8px 28px 0;
  align-items: baseline;
}
.cate-box > li {
  cursor: pointer;
}

/* フッター */
footer.menu-wrap {
  position: fixed;
  bottom: 0;
  width: 100%;
  max-width: 450px;
  background-color: #fdfdfd;;
}
footer ul {
  display: flex;
  border-top: 1px solid #ccc;
}
footer ul li {
  width: 50%;
  text-align: center;
  padding: 4px 0 2px;
  line-height: 1.3;
  height: 56px;
  cursor: pointer;
}
.menu-wrap li[onclick]::before {
  font-family: 'Font Awesome 5 Free';
  display: block;
  font-size: 22px;
}
.menu-wrap li[onclick*="/uticket"]::before {
  content: '\f09d';
}
.menu-wrap li[onclick*="/ushop"]::before {
  content: '\f54e';
  font-weight: 900;
  color: transparent;
  -webkit-text-stroke: 1px #555;
}
[data-jsp-path*="uticket"] .menu-wrap li[onclick*="/uticket"],
[data-jsp-path*="ushop"] .menu-wrap li[onclick*="/ushop"] {
  color: var(--tea);
}
[data-jsp-path*="ushop"] .menu-wrap li[onclick*="/ushop"]::before {
  -webkit-text-stroke: 1px var(--tea);
}

/* 一覧・詳細 */
.pg-ttl-wrap > ul > li.to-list-btn {
  color: #3366FF;
  cursor: pointer;
}
.pg-ttl-wrap > ul > li.to-list-btn::after {
  content: '戻る';
}
:is(.det-content, .ticket-content):not(:has(section)) + .pg-ttl-wrap {
  display: none;
}
.ticket-box {
  cursor: pointer;
}

/* チケットなし */
.ticket-list-wrap:not(:has(li))::after {
  content: '現在、利用可能なチケットはありません。';
  display: block;
  padding: 12px 20px;
  color: #777;
}

/* チケット利用済み */
.ticket-box[data-limit="true"] {
  color: #ccc;
  pointer-events: none;
}
.ticket-box[data-limit="true"]::before {
  content: '利用済';
  position: absolute;
  top: 31%;
  left: 50%;
  transform: rotate(340deg) translate(-50%, -50%);
  text-align: center;
  text-align-last: justify;
  width: 94px;
  border: 4px solid #EF4444;
  border-radius: 8px;
  background-color: #ef4444b3;
  color: #fff;
  padding: 16px 8px;
  font-size: 24px;
}
.ticket-box[data-limit="true"][data-cate-id] .ticket-name {
  background-color: #ccc;
}
.ticket-box[data-limit="true"] .txa-box > div {
  color: #ccc;
}
.ticket-box[data-limit="true"] [data-icon-id] {
  position: relative;
}
.ticket-box[data-limit="true"] [data-icon-id]::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: rgb(255 255 255 / 70%);
  border-radius: 12px;
}

/* チケット利用 */
#ticketModal {
  display: none;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: #fff;
  z-index: 1;
}
.content.tiketUse-open {
  max-height: none
}
.content.tiketUse-open #ticketModal {
  display: block;
}

#ticketModal .ticket-content.kurukuru {
  font-size: 80px;
  min-height: 200px;
  padding: 40px;
  text-align: center;
}
#ticketModal .to-list-btn {
  display: inline-block;
  padding: 8px;
}
