.srpk {
  max-width: 480px;
  margin: 0 auto;
  padding: 30px 0 30px;
  color: #14161a;
  background: #f5f2e9;
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", "Yu Gothic", Meiryo, sans-serif;
  font-size: 13.5px;
  line-height: 1.75;
  letter-spacing: .06em;
  -webkit-text-size-adjust: 100%;
  text-align: left;
}

.srpk *,
.srpk *::before,
.srpk *::after {
  box-sizing: border-box;
}

.srpk ul,
.srpk ol {
  list-style: none;
}

.srpk p {
  margin: 15px 0;
}

.srpk a {
  color: inherit;
  text-decoration: underline;
}

.srpk img {
  max-width: 100%;
  height: auto;
  display: block;
}

.srpk .coincase {
  width: 85%;
  height: auto;
  display: block;
  margin: 10px auto;
}

.srpk .caution {
  display: block;
  font-size: 11px;
  line-height: 1.6;
  color: #d80000;
  border: 1px solid #d80000;
  margin: 20px;
  padding: 10px 15px;
  background-color: rgba(216, 0, 0, .03);
}

.srpk .omikujiimg {
  width: 95%;
  height: auto;
  display: block;
  margin: 15px auto 10px;
}

.srpk .medal {
  width: 50%;
  height: auto;
  display: block;
  margin: 20px auto 10px;
}

.srpk h2,
.srpk h3,
.srpk .srpk-kuji span,
.srpk .srpk-prize-kuji {
  font-family: "Hiragino Mincho ProN", "Yu Mincho", YuMincho, "Noto Serif JP", serif;
  font-weight: 400;
}

.srpk .srpk-head {
  padding: 64px 24px 68px;
  background: #000;
  color: #fff;
  text-align: center;
  background: url(../images/6ab495436fa57.png);
}

.srpk .srpk-lead {
  margin: 0 20px;
}

.srpk h1 {
  margin-top: 22px;
  font-size: 24px;
  line-height: 1.7;
  letter-spacing: .16em;
  text-indent: .16em;
}

.srpk h1 span {
  display: block;
  font-size: 10px;
  line-height: 1.9;
  letter-spacing: .3em;
  text-indent: .3em;
  opacity: .75;
}

.srpk .srpk-links {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin: 20px 18px 0;
  padding: 5px;
  border: 2px solid #14161a;
  border-radius: 16px;
  background: #fff;
}

.srpk .srpk-links::before {
  content: "";
  position: absolute;
  inset: 3px;
  border: 1px solid #14161a;
  border-radius: 11px;
  pointer-events: none;
}

.srpk .srpk-links li+li {
  border-left: 1px solid #ccc7b6;
}

.srpk .srpk-links a {
  display: block;
  padding: 14px 4px;
  border-radius: 9px;
  font-size: 13px;
  letter-spacing: .1em;
  text-align: center;
  text-decoration: none;
}

.srpk .srpk-proj {
  position: relative;
  margin: 46px 14px 0;
  padding: 22px 0px 6px;
  border: 34px solid transparent;
  border-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120' fill='none' stroke='%2314161a' stroke-linecap='butt'%3E%3Cpath d='M 40,8.0 H 34.0 A 26.0,26.0 0 0 1 8.0,34.0 V 40 M 80.0,8.0 H 86.0 A 26.0,26.0 0 0 0 112.0,34.0 V 40 M 40,112.0 H 34.0 A 26.0,26.0 0 0 0 8.0,86.0 V 80.0 M 80.0,112.0 H 86.0 A 26.0,26.0 0 0 1 112.0,86.0 V 80.0' stroke-width='3'/%3E%3Cpath d='M 40,8 H 80 M 40,112 H 80 M 8,40 V 80 M 112,40 V 80' stroke-width='3'/%3E%3Cpath d='M 40,14.0 H 39.43 A 32.0,32.0 0 0 1 14.0,39.43 V 40 M 80.0,14.0 H 80.57 A 32.0,32.0 0 0 0 106.0,39.43 V 40 M 40,106.0 H 39.43 A 32.0,32.0 0 0 0 14.0,80.57 V 80.0 M 80.0,106.0 H 80.57 A 32.0,32.0 0 0 1 106.0,80.57 V 80.0' stroke-width='1'/%3E%3Cpath d='M 40,14 H 80 M 40,106 H 80 M 14,40 V 80 M 106,40 V 80' stroke-width='1'/%3E%3C/svg%3E") 40 stretch;
  background: transparent;
}

.srpk h2 {
  position: absolute;
  top: -48px;
  left: 14px;
  right: 14px;
  padding: 14px 34px;
  background: #14161a;
  color: #fff;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: .18em;
  text-indent: .18em;
  text-align: center;
  clip-path: polygon(0 0, 100% 0, calc(100% - 16px) 50%, 100% 100%, 0 100%, 16px 50%);
}

.srpk .srpk-sub {
  margin-top: 52px;
}


.srpk h3 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  font-size: 17px;
  line-height: 1.6;
  letter-spacing: .18em;
  text-align: center;
  margin: 0 10px;
  font-weight: 900;
}

.srpk h3::before,
.srpk h3::after {
  content: "";
  flex: 1 1 auto;
  height: 1px;
  background: #14161a;
}

.srpk h3::after {
  margin-left: -.18em;
}

.srpk h4 {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: .18em;
  text-indent: .18em;
  font-family: "Hiragino Mincho ProN", "Yu Mincho", YuMincho, "Noto Serif JP", serif;
  text-align: center;
  margin-bottom: 10px;
}

.srpk h4 span {
  display: block;
  font-size: 14px;
  line-height: 1.4;
  letter-spacing: .3em;
  text-indent: .3em;
  opacity: .75;
}

.srpk .srpk-txt {
  margin-top: 20px;
}

.srpk .srpk-kuji-title {
  text-align: center;
  color: rgba(0, 0, 0, .6);
  font-size: 13px;
  margin-top: 25px;
}

.srpk .srpk-kuji {
  display: grid;
  grid-template-columns: repeat(3, 62px);
  justify-content: center;
  gap: 14px;
  margin-top: 15px;
}

.srpk .srpk-kuji li {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1/2.4;
  border: 1px solid #14161a;
  background: #fff;
}

.srpk .srpk-kuji .srpk-kuji-prize {
  position: absolute;
  top: 8px;
  left: 50%;
  transform: translateX(-50%);
  padding: 3px 8px 2px;
  background: #fff;
  color: #9c7a22;
  /* A賞：金 */
  font-size: 11px;
  font-style: normal;
  font-weight: bold;
  line-height: 1;
  letter-spacing: .05em;
  white-space: nowrap;
}

/* B賞：銀 */
.srpk .srpk-kuji .srpk-win-b .srpk-kuji-prize {
  color: #7d8288;
}



.srpk .srpk-kuji span {
  writing-mode: vertical-rl;
  -webkit-writing-mode: vertical-rl;
  font-size: 15px;
  letter-spacing: .3em;
  text-indent: .3em;
}

/* あたり：A賞（金） */
.srpk .srpk-kuji .srpk-win {
  background: #b8962e;
  color: #fff;
}

/* B賞（銀） */
.srpk .srpk-kuji .srpk-win-b {
  background: #9a9fa5;
}

.srpk .srpk-kuji-note {
  margin-top: 12px;
  font-size: 12px;
  line-height: 1.9;
  color: #b3282d;
  text-align: center;
}

/* あたり */
.srpk .srpk-hit {
  margin-top: 44px;
}

.srpk .srpk-hit .srpk-txt {
  margin-top: 14px;
}

.srpk .srpk-prize {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin-top: 26px;
}

.srpk .srpk-prize-kuji {
  font-size: 15px;
  line-height: 1.7;
  text-align: center;
  margin: 5px 0;
}

.srpk .srpk-prize-img {
  position: relative;
  width: 100%;
  aspect-ratio: 3/3;
  border: 1px solid #14161a;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  font-size: 11px;
  color: #9a9ea4;
}

.srpk .srpk-prize-img img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.srpk .srpk-prize-name {
  margin: 14px 0 5px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
}

.srpk .srpk-prize-txt {
  margin: 0;
  font-size: 12px;
  line-height: 1.85;
  color: #4a4f56;
}

.srpk .srpk-period {
  margin-top: 22px;
  padding: 4px 10px 18px;
  border: 1px solid #ccc7b6;
  background: #fff;
}

.srpk .srpk-period dt {
  padding: 16px 0 0 15px;
  position: relative;
  font-size: 11px;
  letter-spacing: .16em;
  color: #6b6f76;
  margin-bottom: 3px;
}

.srpk .srpk-period dd {
  padding-left: 15px;
  font-family: "Hiragino Mincho ProN", "Yu Mincho", YuMincho, "Noto Serif JP", serif;
  font-size: 14px;
  line-height: 1.6;
  letter-spacing: .04em;
}

.srpk .srpk-period dd span {
  display: block;
  font-size: 12px;
}

.srpk .srpk-period dd+dt {
  margin-top: 16px;
  border-top: 1px solid #e7e2d3;
}

.srpk .srpk-steps {
  margin-top: 24px;
}

.srpk .srpk-steps li {
  position: relative;
  padding-left: 44px;
  counter-increment: srpk-step;
}

.srpk .srpk-steps li {
  background-image: linear-gradient(#14161a, #14161a);
  background-size: 1px calc(100% - 40px);
  background-position: 9px 36px;
  background-repeat: no-repeat;
}

.srpk .srpk-steps li:not(:last-child) {
  padding-bottom: 26px;
  background-size: 1px calc(100% - 62px);
}

.srpk .srpk-steps li:not(:last-child)::after {
  content: "";
  position: absolute;
  left: 5.5px;
  bottom: 12px;
  width: 8px;
  height: 8px;
  border-right: 1px solid #14161a;
  border-bottom: 1px solid #14161a;
  transform: rotate(45deg);
}

.srpk .srpk-steps li::before {
  content: counter(srpk-step, decimal-leading-zero);
  position: absolute;
  left: 0;
  top: 0;
  font-family: "Hiragino Mincho ProN", "Yu Mincho", YuMincho, "Noto Serif JP", serif;
  font-size: 19px;
  line-height: 1.5;
  letter-spacing: .06em;
}

.srpk .srpk-steps b {
  display: block;
  font-size: 16px;
  line-height: 1.7;
}

.srpk .srpk-steps p {
  margin: 5px 0 0;
  font-size: 13px;
  line-height: 1.7;
  color: #4a4f56;
}

.srpk .srpk-steps span {
  display: inline-block;
  font-size: 11.5px;
  line-height: 1.6;
  margin-top: 5px;
  color: #d80000;
}

/* 参加チェックボタン */
.srpk .srpk-check {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 14px;
  padding: 14px 16px;
  border: 1px solid #14161a;
  border-radius: 30px;
  background: #fff;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .14em;
  text-indent: .14em;
  text-align: center;
  text-decoration: none;
}

.srpk .srpk-check::after {
  content: "";
  width: 6px;
  height: 6px;
  margin-left: 12px;
  border-top: 1px solid #14161a;
  border-right: 1px solid #14161a;
  transform: rotate(45deg);
}

/* 参加チェックボタン（公演日ごと） */
.srpk .srpk-checks {
  display: grid;
  gap: 8px;
  margin-top: 14px;
}

.srpk .srpk-checks .srpk-check {
  margin-top: 0;
}

/* 受付時間外（グレーアウト） */
.srpk .srpk-check.is-disabled {
  border-color: #ccc7b6;
  background: #ebe8df;
  color: #a5a29a;
  cursor: default;
  pointer-events: none;
}

.srpk .srpk-check.is-disabled::after {
  border-color: #bdb9ad;
}

/* 対象外の公演は非表示 */
.srpk .srpk-check.is-hidden {
  display: none;
}

.srpk .srpk-note li {
  font-size: 12px;
  line-height: 1.7;
}

.srpk .srpk-caution {
  margin: 20px 0 10px;
  border: 1px solid #14161a;
}



.srpk .srpk-caution h5 {
  background: #14161a;
  color: #fff;
  padding: 8px 15px;
  font-size: 14px;
  margin: 0 0 10px;
}

.srpk .srpk-caution p {
  font-size: 12px;
  line-height: 1.7;
  margin: 15px;
}

/* 残りおみくじプレゼント（会場外向け） */
.srpk .srpk-present {
  position: relative;
  margin: 36px 0 10px;
  padding: 24px 14px 14px;
  border: 1px solid #ccc7b6;
  background: #fff;
}

.srpk .srpk-present::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 5px;
  background: repeating-linear-gradient(-45deg, #b3282d 0 7px, transparent 7px 12px, #1f3a68 12px 19px, transparent 19px 24px);
}

.srpk .srpk-present-label {
  display: table;
  margin: 0 auto;
  padding: 1px 12px;
  border: 1px solid #14161a;
  border-radius: 20px;
  font-size: 11px;
  line-height: 1.7;
  letter-spacing: .12em;
}

.srpk .srpk-present-ttl {
  margin: 8px 0 0;
  font-family: "Hiragino Mincho ProN", "Yu Mincho", YuMincho, "Noto Serif JP", serif;
  font-size: 17px;
  line-height: 1.5;
  letter-spacing: .16em;
  text-indent: .16em;
  text-align: center;
}

.srpk .srpk-present-lead {
  margin: 10px 0 0;
  font-size: 12.5px;
  line-height: 1.75;
}

.srpk .srpk-present-info {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 2px 12px;
  margin: 12px 0 0;
  padding: 10px 12px;
  background: #f8f6f1;
  font-size: 12px;
  line-height: 1.7;
}

.srpk .srpk-present-info dt {
  color: #6b6f76;
  letter-spacing: .1em;
}

.srpk .srpk-present-info dd {
  margin: 0;
}

.srpk .srpk-present-caution {
  margin: 12px 0;
  padding: 10px 10px;
  border: 1px solid #ccc7b6;
}

.srpk .srpk-present-caution span {
  color: #aaa595;
  font-weight: 600;
}

/* エントリーボタン（公演日のみ表示） */
.srpk .srpk-entries {
  margin-top: 14px;
}

.srpk .srpk-entry {
  display: block;
  padding: 12px 8px;
  border: 1px solid #14161a;
  border-radius: 30px;
  background: #14161a;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .1em;
  line-height: 1.5;
  text-align: center;
  text-decoration: none;
}

.srpk .srpk-entry.is-disabled {
  border-color: #ccc7b6;
  background: #ebe8df;
  color: #a5a29a;
  cursor: default;
  pointer-events: none;
}

.srpk .srpk-entry.is-hidden {
  display: none;
}

.srpk .srpk-present-note {
  margin: 12px 0 0;
  padding: 0;
}

.srpk .srpk-present-note li {
  font-size: 11px;
  line-height: 1.65;
  color: #4a4f56;
}

/* フォトパネル */
.srpk .srpk-panels {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin: 0px 0 26px;
}

.srpk .srpk-panels li {
  aspect-ratio: 1/2.8;
  /*  border: 1px solid #14161a;*/
  background: #f5f2e9;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding-bottom: 12px;
  font-size: 11px;
  color: #9a9ea4;
}

.srpk .srpk-panels li:has(img) {
  padding: 0;
  background: none;
}

.srpk .srpk-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 26px 0;
  padding: 22px 16px;
  background: #14161a;
  color: #fff;
  text-align: center;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .18em;
  text-indent: .18em;
  text-decoration: none;
}

.srpk .srpk-btn::after {
  content: "";
  width: 6px;
  height: 6px;
  margin-left: 16px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: rotate(45deg);
}