
@charset "UTF-8";
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

body {
  line-height: 1;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

nav ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

a.underLine {
  text-decoration: underline;
}

.extra__caution {
  padding: 0 20px;
}

.caution__txt {
  font-size: 18px;
  text-align: center;
  margin-top: 20px;
  margin-bottom: 30px;
  font-weight: bold;
  color: red;
}

.caution__txt._mt30px {
  margin-top: 30px;
}

.caution__txt.mt15px {
  margin-top: 15px;
  font-weight: normal;
}

.caution__txt._mb0 {
  margin-bottom: 0;
}

.caution__txt-strong {
  display: inline-block;
  font-size: 27px;
}


/*COMMON-----------------------------------------------------------------------------------------------------------------*/
/* --------------------
リセット追加
-------------------- */
/* --------------------
リセット追加
-------------------- */
input[type="text"], input[type="password"], input[type="submit"], input[type="button"], input[type="tel"], input[type="mail"], input[type="email"], textarea, select, button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: none;
  border: none;
  font-family: inherit;
  font-size: 100%;
  outline: none;
}

select::-ms-expand {
  display: none;
}

input[type="submit"], input[type="button"], button {
  cursor: pointer;
}

input:-ms-input-placeholder {
  color: #333;
  font-size: 0.875rem;
}

input::placeholder {
  color: #333;
  font-size: 0.875rem;
}

ul, ol, li {
  list-style: none;
}

/* --------------------
基本設定
-------------------- */
html {
  overflow-y: scroll;
}

html.msie body {
  font-size: 100%;
}

html.no-msie body {
  font-size: 16px;
}

html.iphone a:hover, html.ipod a:hover, html.ipad a:hover, html.android a:hover {
  opacity: 1.0 !important;
}

html.iphone a:hover img, html.ipod a:hover img, html.ipad a:hover img, html.android a:hover img {
  opacity: 1.0 !important;
}

body {
  background: var(--bg-color);
  color: var(--txt-color);
  text-align: center;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;
  font-weight: normal;
  line-height: 1.4;
  -webkit-text-size-adjust: 100%;
}

body {
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: unset;
}

@media only screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
  body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
}

a {
  text-decoration: none;
}

a:link, a:visited {
  color: var(--txt-color);
}

a:hover, a:active {
  color: var(--txt-color);
}

img {
  margin: 0 auto;
  display: block;
  vertical-align: bottom;
  width: 100%;
  height: auto;
}

img.par90{
  width: 90%;
}

.TxtRed {
  color: #da2129;
}

.TxtColor {
  color: var(--txt-color) !important;
}

/*サイト設定-------------------------------------------------------------------------------------------------------------*/
/*ボタン*/
@keyframes btnActiveMove {
  0% {
    transform: translate(-50%, -50%) scale(0);
    opacity: 1;
  }
  100% {
    transform: translate(-50%, -50%) scale(10);
    opacity: 0;
  }
}

@keyframes bodyActiveMove {
  0% {
    width: 0;
  }
  100% {
    width: 100%;
  }
}

.BtnMove {
  background: var(--key-color);
  position: fixed;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  animation: bodyActiveMove 0.4s cubic-bezier(0.22, 1, 0.36, 1) 0s 1 normal forwards;
}

.BtnMoveRev {
  background: var(--key-color);
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  animation: bodyActiveMove 0.4s cubic-bezier(0.22, 1, 0.36, 1) 0s 1 normal forwards;
}

.BtnSolidArrow, .BtnSolidBlank, .BtnSolidPlus, .BtnSolidMinus, .BtnSolidArrowGray, .prizeListItem .btnGray, .prizeListItem .btn,
input.BtnSolidArrow,
input.BtnSolidBlank,
input.BtnSolidPlus,
input.BtnSolidMinus,
input.BtnSolidArrowGray,
.prizeListItem input.btnGray,
.prizeListItem input.btn,
.BtnRound , .BtnSquare{
  /*ベタ塗りボタン 矢印*/
  margin: 0 auto;
  padding: 20px;
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: auto;
  color: var(--btn-color) !important;
  background-color: var(--key-color);
  background-image: var(--btn-solid-icon-arrow);
  background-repeat: no-repeat;
  background-position: right 10px top 50%;
  background-size: 16px auto;
  border-radius: 5px;
  font-size: 1.12rem;
  font-weight: bold;
  letter-spacing: -0.02em;
  line-height: 1;
}

.BtnSolidPlus,
.BtnSolidMinus,
input.BtnSolidPlus,
input.BtnSolidMinus {
  padding: 20px;
}

.BtnSolidArrow:hover, .BtnSolidBlank:hover, .BtnSolidPlus:hover, .BtnSolidMinus:hover, .BtnSolidArrowGray:hover, .prizeListItem .btnGray:hover, .prizeListItem .btn:hover,
input.BtnSolidArrow:hover,
input.BtnSolidBlank:hover,
input.BtnSolidPlus:hover,
input.BtnSolidMinus:hover,
input.BtnSolidArrowGray:hover,
.prizeListItem input.btnGray:hover,
.prizeListItem input.btn:hover,
.BtnRound , .BtnSquare{
  color: var(--btn-color) !important;
}

/* @media (max-width: 374px) {
  .BtnSolidArrow, .BtnSolidBlank, .BtnSolidPlus, .BtnSolidMinus, .BtnSolidArrowGray, .prizeListItem .btnGray, .prizeListItem .btn,
  input.BtnSolidArrow,
  input.BtnSolidBlank,
  input.BtnSolidPlus,
  input.BtnSolidMinus,
  input.BtnSolidArrowGray,
  .prizeListItem input.btnGray,
  .prizeListItem input.btn {
    background-size: 14px auto;
    font-size: 0.9375rem;
  }
} */

.BtnSolidArrow.BtnActive, .BtnActive.BtnSolidBlank, .BtnActive.BtnSolidPlus, .BtnActive.BtnSolidMinus, .BtnActive.BtnSolidArrowGray, .prizeListItem .BtnActive.btnGray, .prizeListItem .BtnActive.btn,
input.BtnSolidArrow.BtnActive,
input.BtnActive.BtnSolidBlank,
input.BtnActive.BtnSolidPlus,
input.BtnActive.BtnSolidMinus,
input.BtnActive.BtnSolidArrowGray,
.prizeListItem input.BtnActive.btnGray,
.prizeListItem input.BtnActive.btn {
  position: relative;
  overflow: hidden;
}

.BtnSolidArrow.BtnActive::after, .BtnActive.BtnSolidBlank::after, .BtnActive.BtnSolidPlus::after, .BtnActive.BtnSolidMinus::after, .BtnActive.BtnSolidArrowGray::after, .prizeListItem .BtnActive.btnGray::after, .prizeListItem .BtnActive.btn::after,
input.BtnSolidArrow.BtnActive::after,
input.BtnActive.BtnSolidBlank::after,
input.BtnActive.BtnSolidPlus::after,
input.BtnActive.BtnSolidMinus::after,
input.BtnActive.BtnSolidArrowGray::after,
.prizeListItem input.BtnActive.btnGray::after,
.prizeListItem input.BtnActive.btn::after {
  content: '';
  position: absolute;
  display: block;
  width: 60px;
  height: 60px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #fff;
  animation: btnActiveMove .6s ease-out 0s 1 normal forwards;
  border-radius: 500px;
  opacity: 0;
}

.BtnSolidBlank {
  /*ベタ塗りボタン　外部リンク*/
  background-image: var(--btn-solid-icon-blank);
}

.BtnSolidPlus {
  /*ベタ塗りボタン　プラス記号*/
  background-image: var(--btn-solid-icon-plus);
  padding: 15px;
}

.BtnSolidPlus::after {
  animation: btnActiveMove .6s ease-out 0s 1 normal none;
}

.BtnSolidMinus {
  /*ベタ塗りボタン　マイナス記号*/
  background-image: var(--btn-solid-icon-minus);
  padding: 15px;
}

.BtnSolidMinus::after {
  animation: btnActiveMove .6s ease-out 0s 1 normal none;
}

.BtnSolidArrowGray, .prizeListItem .btnGray {
  /*ベタ塗りボタン　グレーアウト*/
  background-color: #737373 !important;
  pointer-events: none;
}

.BtnSolidArrowGray.nonArrow {
  /*ベタ塗りボタン　グレーアウト ボタン無し*/
  background-color: #737373 !important;
  pointer-events: none;
  background-image: none;
}

.RecieptRegisterBtn {
  padding: 10px 20px;
  line-height: 1.2;
  margin: 0 auto;
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: auto;
  color: var(--btn-color) !important;
  background-color: var(--key-color);
  background-image: var(--btn-solid-icon-arrow);
  background-repeat: no-repeat;
  background-position: right 10px top 50%;
  background-size: 16px auto;
  border-radius: 5px;
  font-size: 1.12rem;
  font-weight: bold;
  letter-spacing: -0.02em;
}

.LowerBodyWh .BtnLineArrow, .LowerBodyWh .BtnLineReverse, .LowerBodyWh .BtnLineQr, .LowerBodyWh .BtnLineArrowBk, .LowerBodyWh .InputBodyForm .LowerBtn .BtnLineArrowBk, .InputBodyForm .LowerBtn .LowerBodyWh .BtnLineArrowBk,
.IndexBodyWh .BtnLineArrow,
.IndexBodyWh .BtnLineReverse,
.IndexBodyWh .BtnLineQr,
.IndexBodyWh .BtnLineArrowBk,
.IndexBodyWh .InputBodyForm .LowerBtn .BtnLineArrowBk,
.InputBodyForm .LowerBtn .IndexBodyWh .BtnLineArrowBk {
  color: #000;
}

.BtnLineArrow, .BtnLineReverse, .BtnLineQr, .BtnLineArrowBk, .InputBodyForm .LowerBtn .BtnLineArrowBk {
  /*罫線ボタン 矢印*/
  margin: 0 auto;
  padding: 20px;
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: auto;
  background-image: var(--btn-line-icon-arrow);
  background-repeat: no-repeat;
  background-position: right 10px top 50%;
  background-size: 16px auto;
  border: 2px solid var(--key-color);
  border-radius: 5px;
  font-size: 1.12rem;
  font-weight: bold;
  letter-spacing: -0.02em;
  line-height: 1;
}

.BtnLineArrow._arrow-wh, ._arrow-wh.BtnLineReverse, ._arrow-wh.BtnLineQr, ._arrow-wh.BtnLineArrowBk, .InputBodyForm .LowerBtn ._arrow-wh.BtnLineArrowBk {
  background-image: var(--btn-line-icon-arrow-wh);
}

/* @media (max-width: 374px) {
  .BtnLineArrow, .BtnLineReverse, .BtnLineQr, .BtnLineArrowBk, .InputBodyForm .LowerBtn .BtnLineArrowBk {
    background-size: 14px auto;
    font-size: 0.9375rem;
  }
} */

.BtnLineArrow.BtnActive, .BtnActive.BtnLineReverse, .BtnActive.BtnLineQr, .BtnActive.BtnLineArrowBk, .InputBodyForm .LowerBtn .BtnActive.BtnLineArrowBk {
  position: relative;
  overflow: hidden;
}

.BtnLineArrow.BtnActive::after, .BtnActive.BtnLineReverse::after, .BtnActive.BtnLineQr::after, .BtnActive.BtnLineArrowBk::after, .InputBodyForm .LowerBtn .BtnActive.BtnLineArrowBk::after {
  content: '';
  position: absolute;
  display: block;
  width: 60px;
  height: 60px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  /* background: #50aafe; */
  background: var(--key-color);
  animation: btnActiveMove .6s ease-out 0s 1 normal forwards;
  border-radius: 500px;
  opacity: 0;
}

.BtnLineReverse {
  /*罫線ボタン 矢印逆向き*/
  background-image: var(--btn-line-icon-reverse);
  background-position: left 10px top 50%;
}

.BtnLineReverse._arrowWh {
  background-image: var(--btn-line-icon-reverse-wh);
}

.BtnLineQr {
  /*罫線ボタン QRコード*/
  background-image: var(--btn-line-icon-qr);
  background-position: right 11px top 50%;
  line-height: 1.2;
  padding: 12px 20px;
}

.BtnLineArrowBk {
  /*罫線ボタン キャンペーントップページへ*/
  background-image: var(--btn-line-icon-arrow-bk);
}

.BtnLineArrowBk._arrow-wh {
  background-image: var(--btn-line-icon-arrow-wh);
}

.InputBodyForm .LowerBtn .BtnLineArrowBk {
  background-image: url(https://lsp-campaign.com/coke-receiptcp-202507/images/icon_arrow_reverse_bk.svg);
  background-position: left 10px top 50%;
}

.InputBodyForm .LowerBtn .BtnLineArrowBk._arrow-wh {
  color: #fff;
  background-image: url(https://lsp-campaign.com/coke-receiptcp-202507/images/icon_arrow_reverse_wh.svg);
}

._alignLeft {
  text-align: left;
}

._alignCenter {
  text-align: center;
}


._indent li{
  text-indent: -1em;
  padding-left: 1em;
}

p._indent{
  text-indent: -1em;
  padding-left: 1em;
}

._noIndent {
  text-indent: 0 !important;
  padding-left: 0 !important;
}

/*ページレイアウト*/
/*ヘッダー*/
#LowerHeader {
  width: 100%;
  max-width: 750px;
  margin: 0 auto;
}

/*フッター*/
#CommonFooter {
  margin: 0 auto;
  padding: 0 0 15px;
  border-top: 2px solid var(--key-color);
  width: 100%;
  max-width: 750px;
}

#CommonFooter .FooterID {
  padding: 15px 0  0;
  font-size: 0.6875rem;
  line-height: 1;
}

#CommonFooter .FooterID span {
  padding: 3px 13px;
  display: inline-block;
  border: 1px solid var(--txt-color);
  border-radius: 300px;
}

#CommonFooter aside {
  padding: 15px 0 0;
  font-size: 0.6875rem;
}

@keyframes dotBlink01 {
  0% {
    opacity: 0;
  }
  24% {
    opacity: 0;
  }
  25% {
    opacity: 1;
  }
  99% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

@keyframes dotBlink02 {
  0% {
    opacity: 0;
  }
  49% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  99% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

@keyframes dotBlink03 {
  0% {
    opacity: 0;
  }
  74% {
    opacity: 0;
  }
  75% {
    opacity: 1;
  }
  99% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

/*ページタイトル*/
article span.animationDot {
  display: inline-block;
  letter-spacing: normal;
  animation: dotBlink01 2s infinite;
}

article span.animationDot + span.animationDot {
  animation-name: dotBlink02;
}

article span.animationDot + span.animationDot + span.animationDot {
  animation-name: dotBlink03;
}

article h1 {
  width: 100%;
  position: relative;
  font-size: 1.6875rem;
  font-weight: bold;
}

article h1 span {
  letter-spacing: -0.2em;
}

/* @media (max-width: 374px) {
  article h1 {
    font-size: 1.5rem;
    letter-spacing: -0.05em;
  }
} */

article h1.TitLine {
  margin-bottom: 15px;
  padding-bottom: 10px;
  border-bottom: 2px solid var(--txt-color);
}

article h1.TitLine::after {
  content: '';
  width: 15px;
  height: 15px;
  display: block;
  background: var(--bg-color);
  border: 2px solid var(--txt-color);
  border-top: none;
  border-right: none;
  position: absolute;
  left: 50%;
  bottom: -10px;
  transform: translate(-50%, 0) rotate(-45deg);
}

article h2 {
  padding: 30px 0 0;
}
article h2.form {
  padding: 25px 0 0;
}
article h2.confirm {
  padding: 15px 0 0;
}

article h2 .PointTit {
  font-size: 1.12rem;
  font-weight: bold;
  line-height: 1.2;
  display: inline-block;
  position: relative;
}

article h2 .PointTit.form {
  font-size: 1rem;
  font-weight: bold;
  line-height: 1.2;
  display: inline-block;
  position: relative;
}

article h2 .PointTit span {
  font-size: 2.125rem;
  display: inline-block;
  font-family: 'Helvetica Neue', 'Helvetica', sans-serif;
}

article h2 .PointTit::after, article h2 .PointTit::before {
  content: '';
  display: block;
  width: 9px;
  height: 9px;
  background: var(--txt-color);
  border-radius: 500px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

article h2 .PointTit.form::after, article h2 .PointTit.form::before {
  content: '';
  display: block;
  width: 9px;
  height: 9px;
  background: var(--txt-color);
  border-radius: 500px;
  position: absolute;
  top: 50%;
  transform: translateY(-35%);
}

article h2 .PointTit::before {
  left: -16px;
}

article h2 .PointTit::after {
  right: -16px;
}

article .PointTitSub {
  font-size: 0.9375rem !important;
  letter-spacing: -0.02em !important;
  font-weight: bold;
}

.PrizeAnchor {
  padding: 30px 0 0;
}

.PrizeAnchor ul {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}

.PrizeAnchor ul li {
  width: 50%;
  box-sizing: border-box;
  padding: 0 5px 10px 0;
}

.PrizeAnchor ul li:nth-child(even) {
  padding: 0 0 10px 5px;
}

.PrizeAnchor ul a {
  background: var(--key-color) url(https://lsp-campaign.com/coke-receiptcp-202507/images/icon_arrow_down_wh.svg) no-repeat scroll bottom 8px left 50%;
  background-size: auto 12px;
  font-size: 0.875rem;
  padding: 12px 0 28px;
}

.PrizeSubtit {
  margin: 36px -35px 0;
  padding: 15px 0 15px !important;
  font-size: 1.25rem;
  line-height: 1;
  background: #fff;
  border-bottom: 4px solid var(--key-color);
  color: #000;
}

/* @media (max-width: 374px) {
  .PrizeSubtit {
    margin: 36px -30px 0;
  }
} */

.PrizeSubtit span {
  display: block;
  font-size: 0.75rem;
}

._prizeText {
  background-color: var(--key-color);
  font-weight: bold;
  font-size: 1.12rem !important;
  color: #fff;
  text-align: center !important;
  padding: 10px 20px !important;
  margin-top: 30px;
  line-height: 1.2;
}

/*下層基本レイアウト*/
#LowerBody {
  padding: 45px 35px;
  width: 100%;
  max-width: 750px;
  margin: 0 auto;
  box-sizing: border-box;
  border-top: 2px solid var(--key-color);
}

/* @media (max-width: 374px) {
  #LowerBody {
    padding: 45px 30px 30px;
  }
} */

#LowerBody.LowerBodyWh {
  background: #fff;
  color: #000;
}

#LowerBody p {
  padding-top: 15px;
  font-size: 0.9375rem;
}
#LowerBody p.confirm {
  padding-top: 10px;
  font-size: 0.9375rem;
}
#LowerBody p.error {
  padding: 25px 0 0;
  font-size: 0.9375rem;
}
#LowerBody p.select {
  padding: 25px 0 0;
  font-size: 0.9375rem;
}
#LowerBody p.form {
  padding-top: 10px !important;
  font-size: 0.75rem;
}
#LowerBody p._BgYellow{
  /* background-color: yellow; */
  /* display: inline-block; */
  font-size: 1.12rem;
  font-weight: bold;
  text-align: center;
  padding: 0;
  margin-top: 25px;
}
#LowerBody .toTerms {
  margin-top: 15px;
}

#LowerBody .toTerms a {
  text-decoration: underline;
}

/*form*/

.InputBody p.FormCation.FormError {
  font-size: 0.75rem;
  background: #da2129;
  color: #fff;
  border-radius: 5px;
  margin-top: 10px;
  padding: 5px 10px;
  box-sizing: border-box;
  display: none;
}

.InputBodyForm .FormOverflow {
  margin-top: 15px;
}

#LowerBody .InputBodyForm .FormOverflow .FormOverflowInner {
  margin-top: 10px;
  padding: 6px 10px;
  border: 1px solid #666;
  border-radius: 5px;
  overflow: auto;
  height: 130px;
  font-size: 0.75rem !important;
  text-align: left;
}

#LowerBody .InputBodyForm .FormOverflow .FormOverflowBody p {
  padding-top: 7px;
  font-size: 0.75rem !important;
  letter-spacing: -0.02em;
}


.Lottery {
  padding: 48px 0 72px;
  font-size: 1.5rem;
  font-weight: bold;
}

.LowerBtn {
  padding-top: 30px;
}
.LowerBtn.confirm {
  padding-top: 25px;
}
.LowerBtn.confirm ul li:last-child{
  padding-top: 30px;
}

.LowerBtn.error2 {
  padding: 25px 0 0;
}

.LowerBtn.error {
  padding: 15px 0 0;
}

.LowerBtn.form {
  padding: 25px 0 0;
}

.LowerBtn.form-fin {
  padding: 15px 0 0;
}

.LowerBtn.LowerBtnEnd {
  padding: 0;
}

.LowerBtn.CouponBtn {
  margin: 0 -35px -30px;
  padding: 30px 35px;
  background: #fff;
}

.LowerEntry.LowerWin h2, .LowerWin.LowerCoupon h2 {
  padding: 15px 0 0;
}

.LowerBtnEntryCheck {
  font-size: 0.875rem;
  padding: 10px 0;
}

.LowerEntry p.TxtCenter, .LowerCoupon p.TxtCenter {
  text-align: center;
}

.LowerBtnEntryCheck input[type="checkbox"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  background: #fff !important;
  width: 14px;
  height: 14px;
  vertical-align: text-bottom;
  border-radius: 2px;
  display: inline-block;
  position: relative;
  border: 1px solid #666 !important;
  margin: 0;
}

.InputBodyForm label {
  padding-top: 5px;
  padding-left: 1em;
  text-indent: -1em;
  font-size: 1rem;
  line-height: 1.8;
  display: block;
}

.FormCautionBox {
  margin-top: 30px;
  padding: 15px;
  background-color: #da2129;
  color: #fff;
  font-size: 0.9375rem;
}

.FormCautionBox h2 {
  padding: 0 !important;
}

.FormCautionBox p {
  margin-top: 5px;
  padding: 0 !important;
  text-align: center;
}

#LowerBody .prizeBox p {
  margin-top: 0 !important;
}
#LowerBody .prizeBox p + p {
  font-size: 0.75rem !important;
}

.GetSealImg {
  width: 40%;
  margin: 40px auto;
}

/* @media (max-width: 374px) {
  .LowerBtn.CouponBtn {
    margin: 0 -30px -30px;
    padding: 30px;
  }
} */

.LowerBtn.CouponBtn a.BtnLineArrow, .LowerBtn.CouponBtn a.BtnLineReverse, .LowerBtn.CouponBtn a.BtnLineQr, .LowerBtn.CouponBtn a.BtnLineArrowBk {
  background-image: url(https://lsp-campaign.com/coke-receiptcp-202507/images/icon_arrow_bk.svg);
  color: #000;
}

.LowerBtn li {
  padding-top: 15px;
}
.LowerBtn li.top {
  padding-top: 30px;
}

.LowerBtn li:first-child {
  padding-top: 0;
}

section.IndexBodyInner > .LowerBtn {
  padding: 0 !important;
}

.IndexPrizeWrap + .LowerBtn {
  padding: 0 !important;
  margin-top: 30px;
}

.IndexPrizeWrap p {
  text-align: left;
}

@keyframes LowerResultMove {
  0% {
    transform: translate(0, 15px);
    opacity: 0;
  }
  50% {
    opacity: .2;
  }
  100% {
    transform: translate(0, 0);
    opacity: 1;
  }
}

.LowerResult {
  animation: LowerResultMove .4s ease-out .6s 1 normal forwards;
  opacity: 0;
}

h1.LowerResult {
  animation: LowerResultMove .4s ease-out .3s 1 normal forwards;
  opacity: 0;
}

.LowerResultCaution {
  font-size: 0.875rem !important;
  text-align: left;
}

/*下層 エントリー〜当落*/
.LowerEntry .TextLeft, .LowerCoupon .TextLeft {
  text-align: left;
}

.LowerEntry.LowerWin h2, .LowerWin.LowerCoupon h2 {
  padding: 15px 0 0;
}

.LowerEntry.LowerWin.LowerWinCode figure, .LowerWin.LowerWinCode.LowerCoupon figure {
  padding: 0;
  margin-top: -15px;
}

.LowerEntry.LowerWin.LowerWinCode h1, .LowerWin.LowerWinCode.LowerCoupon h1 {
  font-size: 1.12rem;
  padding: 30px 0 0;
}

.LowerEntry.LowerWin.LowerWinCode .LowerWinCoupon, .LowerWin.LowerWinCode.LowerCoupon .LowerWinCoupon {
  padding: 0;
}

.LowerEntry.LowerWin.LowerWinCode .LowerWinCoupon p, .LowerWin.LowerWinCode.LowerCoupon .LowerWinCoupon p {
  padding: 8px 0 0 !important;
  font-size: 0.75rem !important;
}

.LowerEntry figure, .LowerCoupon figure {
  padding: 15px 0 0;
}

.LowerEntry .LowerEntryPoint, .LowerCoupon .LowerEntryPoint {
  padding: 15px 0 0;
}

.LowerEntry .LowerEntryPoint dt, .LowerCoupon .LowerEntryPoint dt {
  border: 2px solid var(--key-color);
  color: var(--key-color);
  border-radius: 5px;
  padding: 10px 2px;
  font-size: 1rem;
  font-weight: bold;
  letter-spacing: -0.03em;
}

.LowerEntry .LowerEntryPoint dt span, .LowerCoupon .LowerEntryPoint dt span {
  letter-spacing: -0.08em;
}

.LowerEntry .LowerEntryPoint dd, .LowerCoupon .LowerEntryPoint dd {
  padding: 5px 0 0;
  font-size: 0.9375rem;
  letter-spacing: -0.03em;
}

/* @media (max-width: 374px) {
  .LowerEntry .LowerEntryPoint dd, .LowerCoupon .LowerEntryPoint dd {
    font-size: 0.875rem;
  }
} */

.LowerEntry .LowerEntryPoint dd span, .LowerCoupon .LowerEntryPoint dd span {
  letter-spacing: -0.08em;
}

.LowerEntry .LowerWinCoupon, .LowerCoupon .LowerWinCoupon {
  padding: 0 0 0;
  margin: 0 auto -20px;
}

.LowerEntry .LowerWinCoupon h3, .LowerCoupon .LowerWinCoupon h3 {
  font-size: 1rem;
  font-weight: bold;
  line-height: 1;
  text-align: left;
  position: relative;
  padding: 0 0 0 20px;
}

.LowerEntry .LowerWinCoupon h3::before, .LowerCoupon .LowerWinCoupon h3::before {
  content: '';
  display: block;
  width: 14px;
  height: 14px;
  background: var(--txt-color);
  border-radius: 2px;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
}

.LowerEntry .LowerWinCoupon div, .LowerCoupon .LowerWinCoupon div {
  margin: 10px auto 0;
  background: #fff;
  color: #000;
  border: 1px solid var(--txt-color);
  border-radius: 5px;
  padding: 7px 0;
  font-family: 'Helvetica Neue', 'Helvetica', sans-serif;
  font-size: 1.3125rem;
  line-height: 1;
}

.LowerEntry .LowerWinCaution, .LowerCoupon .LowerWinCaution {
  margin: 10px 0 0;
  border: 1px solid var(--txt-color);
}

.LowerEntry .LowerWinCaution h3, .LowerCoupon .LowerWinCaution h3 {
  padding: 0 15px 0;
  font-size: 0.875rem;
  text-align: left;
}

.LowerEntry .LowerWinCaution h3:first-child, .LowerCoupon .LowerWinCaution h3:first-child {
  padding: 20px 15px 0;
}

.LowerEntry .LowerWinCaution h3 + ul, .LowerCoupon .LowerWinCaution h3 + ul {
  padding: 5px 15px 20px;
}

.LowerEntry .LowerWinCaution ul, .LowerEntry .LowerWinCaution ol, .LowerCoupon .LowerWinCaution ul{
  padding: 20px 15px;
}

.LowerEntry .LowerWinCaution ol ul{
  padding: 0;
}

.LowerEntry .LowerWinCaution li, .LowerCoupon .LowerWinCaution li {
  font-size: 0.75rem;
  text-justify: inter-cluster;
  text-align: justify;
  line-break: strict;
  word-break: break-all;
  /* padding: 0 0 0 1em;
  text-indent: -1em; */
}

.LowerEntry .LowerWinCaution a, .LowerCoupon .LowerWinCaution a {
  text-decoration: underline;
}

.LowerEntry .LowerWinCaution p, .LowerCoupon .LowerWinCaution p {
  padding: 5px 15px 20px !important;
  font-size: 0.75rem !important;
  text-justify: inter-cluster;
  text-align: justify;
  line-break: strict;
  word-break: break-all;
}

.LowerEntry .LowerWinCaution h3+ol{
  padding: 5px 15px 20px;
}

.LowerWinCaution .IndexAddress {
  padding-top: 0;
}

.LowerWinCaution .IndexAddress dt {
  font-size: 0.875rem;
  text-align: left;
  padding-top: 20px;
}

.LowerWinCaution .IndexAddress ul {
  padding: 0 15px 0;
}

.LowerWinCaution .IndexAddress li {
  font-size: 0.75rem !important;
  padding-top: 0;
}

#LowerBody .LowerEntry .prizeBox {
  border: 1px solid var(--key-color);
  background: #fff;
  display: block;
  margin-top: 15px;
  padding: 0 15px 15px;
}
#LowerBody .LowerEntry .prizeBox02 {
  border: 1px solid #000;
}

#LowerBody .LowerEntry .prizeBox p.caution {
  font-size: .75rem;
}

h1.LowerResult + .TxtRed._alignLeft li {
  font-size: 0.9375rem !important;
  /* margin-top: 10px; */
  padding-left: 1em;
  text-indent: -1em;
}

.LowerResult ul._alignLeft li{
  padding-left: 1em;
  text-indent: -1em;
}


/*下層 抽選*/
.LoadPic {
  padding: 15px 0 15px;
  margin: 0 auto;
}

.LoadPic div {
  width: 100px;
  margin: 0 auto;
}

.LoadPic p , .LotteryPic p {
  padding: 0 !important;
  margin: 0 auto !important;
  font-size: 0.75rem !important;
}

.LotteryPic div{
  width: 200px;
  margin: 0 auto;
}

.LowerCoupon {
  padding: 0 0 15px;
}

.LowerCoupon h1 {
  font-size: 1.3125rem;
}

/* @media (max-width: 374px) {
  .LowerCoupon h1 {
    font-size: 1.12rem;
  }
} */

.LowerCoupon p.CouponCaution {
  text-align: left;
  font-size: 0.75rem !important;
}

.CouponCode {
  padding: 0 0 15px;
}

.CouponCode figure {
  background: #fff;
  padding: 15px 35px 10px;
  margin: 0 -35px;
}

.CouponCode figure img {
  width: 300px;
}

/* @media (max-width: 374px) {
  .CouponCode figure {
    margin: 0 -30px;
    padding: 15px 30px 10px;
  }
} */

.CouponCode .CouponNum {
  padding: 0 0 15px !important;
}

.CouponCode p {
  font-size: 0.75rem !important;
  padding-bottom: 15px !important;
}

.CouponCode dl {
  border-radius: 5px;
  overflow: hidden;
  border: solid 2px;
  border-color: var(--key-color);
}

.CouponCode dl dt {
  background: var(--key-color);
  color: var(--btn-color);
  font-size: 0.75rem;
  font-weight: bold;
  padding: 5px 0;
}

.CouponCode dl dd {
  background: #fff;
  color: #000;
  font-weight: bold;
  padding: 5px 0;
}

.CouponCode.CouponCodeQR figure img {
  width: 140px;
}

.CouponCode.CouponCodeQR dl:nth-child(4) {
  margin-top: 15px;
}

.CouponDocuments {
  background: #fff;
  padding: 15px 35px 0;
  margin: 0 -35px;
  color: #000;
}

/* @media (max-width: 374px) {
  .CouponDocuments {
    margin: 0 -30px;
    padding: 15px 30px 0;
  }
} */

.CouponDocuments h1.TitLine {
  border-bottom: 2px solid #000;
}

.CouponDocuments h1.TitLine::after {
  background: #fff;
  border: 2px solid #000;
  border-top: 0;
  border-right: 0;
}

.CouponDocuments h2 {
  padding-top: 30px;
  font-size: 1rem;
  text-align: left;
}

.CouponDocuments h3 {
  padding-top: 15px;
  font-size: 0.875rem;
  text-align: left;
}

.CouponDocuments ul, .CouponDocuments ol {
  padding-top: 7px;
}

.CouponDocuments li {
  padding-top: 3px;
  font-size: 0.75rem;
  text-indent: -1em;
  padding-left: 1em;
  text-align: left;
}

.CouponDocuments li:first-child {
  padding-top: 0;
}

.CouponDocuments p {
  padding-top: 3px !important;
  font-size: 0.75rem !important;
  text-align: left;
}

.CouponDocuments .CouponDocumentsImg {
  padding-top: 15px;
}

.CouponDocuments .CouponDocumentsImg img {
  width: 100%;
  height: auto;
}

/*汎用エラー*/
.LowerError,
body.ErrorBody {
  padding: 0 0 15px;
  background: #fff;
}

.LowerError h1,
body.ErrorBody h1 {
  font-size: 1.3125rem;
  color: #da2129;
}

.LowerError p,
body.ErrorBody p {
  font-size: 0.875rem !important;
}

/*END*/
.EndIndexCaution {
  background: #da2129;
  padding: 20px;
}

.EndIndexCaution p {
  padding: 0 !important;
  font-size: 0.875rem !important;
  color: #fff;
  font-weight: bold;
}

.CpEndIndexCaution {
  background: #da2129;
  padding: 30px 0;
}

.CpEndIndexCaution p {
  font-size: 1.25rem;
  color: #fff;
  font-weight: bold;
}

span.notice2{
  font-size: .75rem;
  font-weight: normal;
}

.ZaikoCaution p {
  color: #fff;
  font-weight: bold;
  font-size: 1rem !important;
}

/* @media (max-width: 374px) {
  .ZaikoCaution p br {
    display: none;
  }
} */

/*INDEX*/
#IndexBody {
  max-width: 750px;
  margin: 0 auto;
}

#IndexBody .IndexTeaser section.Inquiry,
#IndexBody .IndexTeaser .ContactForm {
  display: none !important;
  padding: 0 !important;
}

.Inquiry {
  padding: 0 !important;
}

#IndexBody .IndexKv {
  padding-bottom: 30px;
}

#IndexBody .IndexKv.IndexKvCoupon {
  padding: 0;
}

#IndexBody .IndexKv.IndexKvEnd {
  padding: 0;
}

#IndexBody .IndexKv p {
  padding: 15px 20px 0;
  font-size: 0.75rem;
}

#IndexBody .IndexKv ul.outline {
  padding: 15px 20px 0;
  font-size: 0.75rem;
}
#IndexBody .IndexKv ul {
  padding: 15px 20px 0;
  font-size: 0.75rem;
}
/* #IndexBody .IndexKv ul.outline li {
	margin-top: 1rem;
} */
#IndexBody .IndexKv ul.outline li:first-child {
  margin-top: 0;
}

#IndexBody .IndexKv p.AnchorText {
  padding: 10px 20px;
  font-size: 0.6875rem;
}

#IndexBody .IndexKv p.AnchorText a {
  text-decoration: underline;
}

#IndexBody .IndexKv .IndexKvBtn {
  padding: 0 35px 0;
}

/* @media (max-width: 374px) {
  #IndexBody .IndexKv .IndexKvBtn {
    padding: 15px 30px 0;
  }
} */

#IndexBody .IndexKv dl {
  margin: 0 20px 0;
  padding: 15px 0 15px;
  font-size: 0.875rem;
  font-weight: bold;
  border: 1px solid var(--txt-color);
  border-top: none;
  border-right: none;
  border-left: none;
}

#IndexBody .IndexKv dl dt {
  font-size: 0.875rem;
}

/* @media (max-width: 374px) {
  #IndexBody .IndexKv dl {
    margin: 10px 15px 0;
  }
} */

#IndexBody .IndexKv dl dd {
  letter-spacing: -0.03em;
  font-size: 0.875rem;
}

#IndexBody .IndexKv dl dd:nth-child(3) {
  font-size: 0.75rem;
  font-weight: normal;
}

/* @media (max-width: 374px) {
  #IndexBody .IndexKv dl dd {
    font-size: 0.75rem;
  }
} */

#IndexBody .IndexKv dl dd span {
  font-weight: normal;
  font-size: 0.75rem;
}

#IndexBody .IndexKv dl + dl {
  margin-top: 0;
  border-top: none;
}

#IndexBody .IndexKv ._s {
  display: block;
  font-size: .85em;
  margin-top: .25em;
}

#IndexBody .IndexKvTeaser h2 {
  background: var(--bg-color);
  padding: 30px 0;
  font-size: 1.25rem;
  color: var(--txt-color);
}

#IndexBody .IndexKvTeaser dl:first-of-type{
  /* border-top: 1px solid var(--txt-color); */
  margin-top: 0;
  padding-top: 0;
}

#IndexBody .IndexKvShare {
  padding: 0 35px;
}

/* @media (max-width: 374px) {
  #IndexBody .IndexKvShare {
    padding: 0 30px;
  }
} */

#IndexBody .IndexKvShare h2 {
  font-size: 1.25rem;
  position: relative;
  width: auto;
  display: inline-block;
}

#IndexBody .IndexKvShare h2::before {
  content: '';
  display: block;
  background: var(--txt-color);
  width: 3px;
  height: 36px;
  border-radius: 500px;
  position: absolute;
  bottom: 0;
  left: -20px;
  transform: rotate(-30deg);
}

#IndexBody .IndexKvShare h2::after {
  content: '';
  display: block;
  background: var(--txt-color);
  width: 3px;
  height: 36px;
  border-radius: 500px;
  position: absolute;
  bottom: 0;
  right: -20px;
  transform: rotate(30deg);
}

#IndexBody .IndexKvShare .LowerBtn {
  padding-top: 10px;
}

#IndexBody .IndexKvShare .LowerBtn a {
  font-size: 0.9375rem;
}

/* @media (max-width: 374px) {
  #IndexBody .IndexKvShare .LowerBtn a {
    font-size: 0.8125rem;
  }
} */

#IndexBody .IndexBodyInner {
  padding: 45px 35px;
  border-top: 2px solid var(--key-color);
}

#IndexBody .IndexBodyInner.IndexInclude {
  padding: 30px 35px;
  border-top: 2px solid var(--key-color);
}

/* @media (max-width: 374px) {
  #IndexBody .IndexBodyInner {
    padding: 30px;
  }
} */

#IndexBody .IndexBodyInner p.IndexCaution {
  padding: 0;
  font-size: 0.75rem;
}

#IndexBody .IndexBodyInner.IndexBodyLineless {
  border-top: none;
}

#IndexBody .IndexBodyInner.IndexBodyWh {
  background: #fff;
  color: #000;
}

#IndexBody .IndexBodyInner.IndexBodyWh h1.TitLine {
  border-bottom: 2px solid #000;
}

#IndexBody .IndexBodyInner.IndexBodyWh h1.TitLine::after {
  background: #fff;
  border: 2px solid #000;
  border-top: 0;
  border-right: 0;
}

#IndexBody .IndexBodyInner.IndexHowtoStep ol li {
  padding-top: 30px;
}

#IndexBody .IndexBodyInner.IndexHowtoStep h2 {
  padding: 3px 0 7px;
  font-size: 1.12rem;
  font-family: 'Helvetica Neue', 'Helvetica', sans-serif;
  line-height: 1;
  background: #e6e6e6;
  border-radius: 500px;
  vertical-align: baseline;
}

#IndexBody .IndexBodyInner.IndexHowtoStep h2 span {
  font-size: 1.75rem;
  display: inline-block;
  margin-left: 3px;
  vertical-align: baseline;
}

#IndexBody .IndexBodyInner.IndexHowtoStep figure {
  padding-top: 15px;
}

#IndexBody .IndexBodyInner.IndexTarget {
  border: none;
  padding-top: 0;
}

#IndexBody .IndexBodyInner.IndexTarget figure {
  padding-top: 15px;
}

#IndexBody .IndexBodyInner.IndexTarget ul {
  padding: 15px 0 0;
}

#IndexBody .IndexBodyInner.IndexTarget li {
  text-align: left;
  padding-left: 1em;
  text-indent: -1em;
  font-size: 0.875rem;
  line-height: 1.5;
}

#IndexBody .IndexBodyInner.IndexTarget li span {
  font-size: 0.75rem;
  background: #e6e6e6;
  display: inline-block;
  padding: 3px 7px;
  margin-right: 5px;
  text-indent: 0;
  border-radius: 4px;
}

#IndexBody .IndexBodyInner p {
  padding-top: 15px;
  font-size: 0.9375rem;
  letter-spacing: -0.05em;
}

#IndexBody .IndexBodyInner p.lineTitle {
  padding-top: 15px;
  font-size: 0.9375rem;
  letter-spacing: -0.05em;
}

#IndexBody .IndexBodyInner p.modal {
  padding-top: 0;
  font-size: 0.875rem;
  letter-spacing: -0.05em;
}

/* @media (max-width: 374px) {
  #IndexBody .IndexBodyInner p {
    font-size: 0.875rem;
  }
} */

#IndexBody .IndexBodyInner .wrap-sideSlash {
  padding: 2em 0;
}

#IndexBody .IndexBodyInner .wrap-sideSlash .BtnSolidBlank {
  line-height: 1.2 !important;
}

#IndexBody .IndexBodyInner p.sideSlash {
  display: inline-block;
  position: relative;
  padding: 0 30px;
  font-weight: normal;
  margin-bottom: 1em;
}

#IndexBody .IndexBodyInner p.sideSlash:before {
  content: "";
  width: 1px;
  border-radius: 1px;
  background-color: #fff;
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  transform: rotate(-25deg);
}

#IndexBody .IndexBodyInner p.sideSlash:after {
  content: "";
  width: 1px;
  border-radius: 1px;
  background-color: #fff;
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  transform: rotate(25deg);
}

#IndexBody .EntryAccordion .IndexDocuments {
  border: none;
}

#IndexBody .EntryAccordion aside.IndexDocuments {
  padding: 20px 0 15px;
}

#IndexBody .EntryAccordion aside.IndexDocuments h1._Gray {
  background-color: #737373;
  background-image: none;
  pointer-events: none;
}

#IndexBody .EntryAccordion aside.IndexDocuments + .TitLine {
  margin-top: 20px;
}

#IndexBody .EntryAccordion aside.IndexDocuments .IndexDocumentsHidden {
  padding: 15px;
}

#IndexBody .EntryAccordion aside.IndexDocuments .IndexDocumentsHidden p {
  text-align: center;
}

#IndexBody .EntryAccordion aside.IndexDocuments .LowerBtn {
  padding: 15px 0 0;
}

#IndexBody .EntryAccordion aside.IndexDocuments ul {
  padding: 0;
}

#IndexBody .EntryAccordion aside.IndexDocuments li {
  padding: 0;
  text-indent: 0;
}

#IndexBody .EntryAccordion aside.IndexDocuments li + li {
  margin-top: 15px;
}

#IndexBody .EntryAccordion aside.IndexDocuments a {
  background-color: var(--key-color);
  text-decoration: none;
  text-align: center;
  background-image: var(--btn-solid-icon-arrow);
}

#IndexBody .IndexDocuments section {
  padding: 30px 0 0;
}

#IndexBody .IndexDocuments section:first-child {
  padding: 0;
}

/* #IndexBody .IndexDocuments h1 {
  cursor: pointer;
  padding: 15px 20px;
} */

#IndexBody .IndexDocuments .IndexDocumentsHidden{
  display: none;
  border-radius: 5px;
  background: #e6e6e6;
  margin-top: 7px;
  padding: 15px;
  text-justify: inter-cluster;
  text-align: justify;
  line-break: strict;
  word-break: break-all;
}

#IndexBody .IndexDocuments .IndexDocumentsHidden.Open {
  display: block;
}

#IndexBody .IndexDocuments .IndexDocumentsHidden._imageBox {
  padding: 0;
}

#IndexBody .IndexDocuments .IndexDocumentsHidden.IndexDocumentsFaq h2 {
  padding-top: 30px;
  font-size: 0.875rem;
}

#IndexBody .IndexDocuments .IndexDocumentsHidden.IndexDocumentsFaq h2:first-child {
  padding-top: 15px;
}

#IndexBody .IndexDocuments .IndexDocumentsHidden h1 {
  font-size: 0.875rem;
  padding: 15px 0 7px;
  border-bottom: 1px solid #000;
  cursor: auto;
}

#IndexBody .IndexDocuments #Term h1:hover,
#IndexBody .IndexDocuments #Question h1:hover {
  cursor: pointer;
}

#IndexBody .IndexDocuments .IndexDocumentsHidden h2 {
  padding-top: 15px;
  font-size: 0.875rem;
  text-align: center;
}

#IndexBody .IndexDocuments #Term .IndexDocumentsHidden h2,
#IndexBody .IndexDocuments #Question .IndexDocumentsHidden h2 {
  text-align: left;
  padding-top: 15px;
}

#IndexBody .IndexDocuments #Question {
  padding-top: 15px;
}

#IndexBody .IndexDocuments .IndexDocumentsHidden h3 {
  padding-top: 7px;
  font-size: 0.75rem;
}

#IndexBody .IndexDocuments .IndexDocumentsHidden p {
  padding-top: 7px;
  font-size: 0.75rem;
  letter-spacing: -0.02em;
}

#IndexBody .IndexDocuments .IndexDocumentsHidden ul, #IndexBody .IndexDocuments .IndexDocumentsHidden ol {
  padding-top: 7px;
}

#IndexBody .IndexDocuments .IndexDocumentsHidden li {
  padding-top: 3px;
  font-size: 0.75rem;
  text-indent: -1em;
  padding-left: 1em;
}

#IndexBody .IndexDocuments .IndexDocumentsHidden li.CautionTxt {
  color: red;
  font-size: 1em !important;
  font-weight: bold;
  text-align: center;
  padding: 10px 0;
}

#IndexBody .IndexDocuments .IndexDocumentsHidden li:first-child {
  padding-top: 0;
}

#IndexBody .IndexDocuments .IndexDocumentsHidden a {
  color: #000;
  text-decoration: underline;
}

#IndexBody .IndexDocuments .IndexDocumentsHidden a span.BtnCautionTxt {
  display: block;
  font-size: 0.75em;
  font-weight: normal;
  padding: 10px 0 0;
}

#IndexBody .IndexDocuments .IndexDocumentsClose {
  margin: 15px 60px 0;
  text-align: center;
}

#IndexBody .IndexDocuments .IndexDocumentsClose .BtnSolidMinus {
  cursor: pointer;
  padding: 10px 15px;
  font-size: 0.75rem;
}

#IndexBody .IndexPointNotice {
  background: var(--key-color);
  padding: 1px 0;
  margin: -15px -35px 27px;
}
/*
@media (max-width: 374px) {
  #IndexBody .IndexPointNotice {
    margin: -15px -30px 27px;
  }
} */

#IndexBody .IndexPointNotice div {
  border: 1px solid #fff;
  border-left: none;
  border-right: none;
  padding: 10px;
  font-size: 1rem;
  font-weight: bold;
  color: #fff;
  line-height: 1;
}

#IndexBody .IndexPointStopCaution {
  background: #da2129;
  padding: 30px 35px !important;
  margin: 15px -35px 0 !important;
}

/* @media (max-width: 374px) {
  #IndexBody .IndexPointStopCaution {
    padding: 30px 30px !important;
    margin: 15px -30px 0 !important;
  }
} */

#IndexBody .IndexPointStopCaution p {
  font-size: 1rem;
  font-weight: bold;
  color: #fff;
  line-height: 1.5;
  padding: 0;
}

#IndexBody .IndexPointEntry {
  padding-top: 25px;
}

#IndexBody .IndexPointEntry input[type='tel'] {
  display: block;
  background: #e6e6e6;
  font-family: 'Helvetica Neue', 'Helvetica', sans-serif;
  width: 100%;
  box-sizing: border-box;
  font-size: 1.3125rem;
  line-height: 0.8;
  color: #000;
  padding: 5px 10px;
  text-align: center;
  border-radius: 5px;
  margin: 5px auto 0;
}

#IndexBody .IndexPointEntry input[type='tel']:first-child {
  margin: 0 auto;
}

#IndexBody .IndexPointEntry nav {
  padding: 15px 0 0;
  width: 100%;
  position: relative;
  overflow: hidden;
}

#IndexBody .IndexPointEntry nav span {
  content: '';
  position: absolute;
  display: block;
  width: 60px;
  height: 60px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #fff;
  animation: btnActiveMove .6s ease-out 0s 1 normal forwards;
  border-radius: 500px;
}

#IndexBody .IndexPointEntry .AnchorTargetText {
  font-weight: bold;
}

#IndexBody .IndexPointEntry .AnchorTargetText a {
  color: #000;
  text-decoration: underline;
}

#IndexBody .IndexPointQr p {
  padding: 30px 0 0;
  font-size: 0.75rem;
}

#IndexBody .IndexPointQr .LowerBtn {
  padding: 15px 0 0;
}

#IndexBody .IndexPrize h1.TitLine {
  margin-bottom: 15px;
}

#IndexBody .IndexPrize h2 {
  padding-top: 15px;
}

#IndexBody .IndexPrize h2.CorseTitle {
  font-size: 1.8rem;
  padding-top: 50px;
}

#IndexBody .IndexPrize figure {
  padding-top: 10px;
}

#IndexBody .IndexPrize figure.IndexPrize3Point {
  padding-top: 30px;
}

#IndexBody .IndexPrize p {
  font-size: 0.75rem;
  padding: 10px 0 0;
}

#IndexBody .IndexPrize p.IndexPrizeCaption {
  text-justify: inter-cluster;
  text-align: justify;
  line-break: strict;
  word-break: break-all;
}

#IndexBody .IndexPrize ul.IndexPrizeCaption {
  font-size: 0.75rem;
  padding: 10px 0 0;
  text-justify: inter-cluster;
  text-align: justify;
  line-break: strict;
  word-break: break-all;
}

#IndexBody .IndexPrize ul.IndexPrizeCaption li {
  padding-left: 1em;
  text-indent: -1em;
}

#IndexBody .IndexPrize aside.LowerBtn {
  padding: 30px 0 0;
}

.IndexAddress {
  padding: 30px 0 0;
  font-size: 0.8125rem;
}

.IndexAddress dt {
  padding-top: 7px;
  line-height: 1.2;
  font-weight: bold;
}

.IndexAddress dd {
  padding-top: 7px;
}

.IndexAddress ul li {
  padding-top: 7px;
  font-size: 0.8125rem !important;
}

.IndexAddress ul li:first-child {
  padding-top: 0;
}

.IndexAddress a {
  color: #000;
  text-decoration: underline;
}

.HistoryBody {
  padding-top: 15px;
}

.HistoryBody table {
  margin-top: 8px;
  width: 100%;
  border: 1px solid var(--border-color);
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 5px;
  overflow: hidden;
}

.HistoryBody table:first-child {
  margin-top: 0;
}

.HistoryBody table tr:first-child {
  border: none;
}

.HistoryBody table tr:first-child th {
  border: none;
}

.HistoryBody table tr:first-child td {
  border: none;
}

.HistoryBody table th {
  border-top: 1px solid var(--border-color);
  background: #cccccc;
  text-align: center;
  font-size: 0.8125rem;
  font-weight: normal;
  color: #000;
  padding: 10px 3px;
  letter-spacing: 0.08em;
  width: 84px;
  box-sizing: border-box;
}

.HistoryBody table td {
  border-top: 1px solid var(--border-color);
  background: #fff;
  text-align: left;
  font-size: 0.8125rem;
  color: #000;
  padding: 10px;
  letter-spacing: -0.03em;
}

.HistoryBody table td .TxtBl{
  color: #000 !important;
}

.HistoryBody table td a {
  color: var(--key-color);
  text-decoration: underline;
}

.HistoryBody table td a.LinkBK {
  color: #000;
}

.HistoryBody table td .HistoryWin {
  color: var(--key-color);
}

.HistoryBody table td .HistoryWin span {
  font-weight: bold;
  font-size: 0.9375rem;
}

.HistoryBody table td .HistoryLose span {
  font-weight: bold;
  font-size: 0.9375rem;
}

.HistoryBody table td .HistoryWait span {
  font-weight: bold;
  font-size: 0.9375rem;
}

.HistoryBody table td .HistorySeal {
  color: var(--key-color);
}

.HistoryBody table td .HistorySeal span {
  font-weight: bold;
  font-size: 0.9375rem;
}

.HistoryPagenation {
  padding-top: 10px;
}

.HistoryPagenation aside {
  font-size: 0.75rem;
}

.HistoryPagenation nav {
  padding-top: 10px;
}

.HistoryPagenation nav li {
  display: inline-block;
  margin: 0 5px;
  font-size: 0.875rem;
  line-height: 1;
  font-family: 'Helvetica Neue', 'Helvetica', sans-serif;
}

/* @media (max-width: 374px) {
  .HistoryPagenation nav li {
    margin: 10px 3px 0;
  }
} */

.HistoryPagenation nav li a {
  display: block;
  padding: 7px 5px;
  min-width: 32px;
  box-sizing: border-box;
  border: 1px solid var(--txt-color);
  border-radius: 5px;
}

.HistoryPagenation nav li.HistoryPageArrowLeft {
  border: none;
  padding: 0;
}

.HistoryPagenation nav li.HistoryPageArrowLeft a {
  min-width: 24px;
  border: none;
  font-weight: bold;
}

.HistoryPagenation nav li.HistoryPageArrowRight {
  border: none;
  padding: 0;
}

.HistoryPagenation nav li.HistoryPageArrowRight a {
  min-width: 24px;
  border: none;
  font-weight: bold;
}

.HistoryPagenation nav li span {
  display: block;
  padding: 7px 5px;
  min-width: 32px;
  box-sizing: border-box;
  border-radius: 5px;
  background: var(--key-color);
  color: var(--btn-color);
}

html.ModalOpen {
  overflow-y: hidden;
  position: fixed;
  left: 0;
  width: 100%;
  height: 100%;
}

html.ModalOpen body {
  position: fixed;
  left: 0;
  width: 100%;
}

/*メンテナンス時*/

.Maintenance {
  background: #da2129;
  padding: 20px 0;
  color: #fff;
}

.Maintenance h1 {
  width: 100%;
  position: relative;
  font-size: 1.6875rem;
  font-weight: bold;
}

.Maintenance h2 {
  padding: 0 20px 0;
}

#IndexBody .IndexKv .Maintenance p {
  font-size: 0.875rem !important;
  padding: 15px 20px 0;
}

.Maintenance p strong {
  font-size: 1.1em;
}

.Maintenance span.notice {
  font-size: 0.875rem !important;
  padding: 0;
}

.Maintenance-white {
  background: #fff;
  padding: 45px 35px 30px;
  color: #000;
}

.Maintenance-white p {
  padding: 15px 0 0;
  font-size: 0.9375rem
}

p.notice-red {
  color: red;
}




@media (orientation: landscape) {
  html.ModalOpen.ModalLandscape {
    overflow-y: visible !important;
    position: static !important;
  }
}

@media (orientation: landscape) {
  html.ModalOpen.ModalLandscape body {
    position: relative !important;
    top: 0 !important;
  }
}

@media (orientation: landscape) {
  html.ModalOpen.ModalLandscape #ModalCover, html.ModalOpen.ModalLandscape #ModalCoverMovie,
  html.ModalOpen.ModalLandscape #ModalCover_2nd,
  html.ModalOpen.ModalLandscape #ModalCover_3rd {
    position: absolute !important;
    overflow-y: visible !important;
  }
}

@media (orientation: landscape) {
  html.ModalOpen.ModalLandscape #ModalCover .ModalOuter, html.ModalOpen.ModalLandscape #ModalCoverMovie .ModalOuter,
  html.ModalOpen.ModalLandscape #ModalCover_2nd .ModalOuter,
  html.ModalOpen.ModalLandscape #ModalCover_3rd .ModalOuter {
    align-items: flex-start !important;
  }
}

@-ms-viewport {
  width: auto;
}

.InputBody p {
  text-align: left;
}

.InputBodyForm p {
  padding: 5px 0 !important;
}

.InputBodyForm p.personalData {
  padding: 15px 0 0 !important;
}

#LowerBody .InputBodyForm p.caution {
  padding: 10px 0 0 !important;
  font-size: 0.75rem;
}

.InputBodyForm {
  padding: 0;
}

.InputBodyForm p.TxtCenter {
  text-align: center;
}

.InputBodyForm.InputBodyFormConfirm dl {
  padding-bottom: 15px;
  border-bottom: 1px solid #ccc;
}

.InputBodyForm dl {
  padding: 15px 0 0;
  text-align: left;
}

.InputBodyForm dt {
  font-size: 0.875rem;
  font-weight: bold;
}

.InputBodyForm dt span {
  display: inline-block;
  background: #ff0000;
  color: #fff;
  font-weight: bold;
  font-size: 0.75rem;
  padding: 3px 6px;
  border-radius: 3px;
  margin-left: 5px;
  line-height: 1;
}

.InputBodyForm dd {
  padding: 5px 0 0;
}

.InputBodyForm dd.CheckedColor {
  color: #999;
}

.InputBodyForm dd.CheckedColor label.CheckEtc {
  color: var(--txt-color);
}

.InputBodyForm dd input.CheckEtc2Form {
  opacity: .3;
}

.InputBodyForm dd input, .InputBodyForm dd select {
  background: #eee;
  border: 1px solid #e8e8e8;
  border-radius: 5px;
  width: 100%;
  box-sizing: border-box;
  padding: 3px 6px;
  display: block;
}

.InputBodyForm dd input:-ms-input-placeholder, .InputBodyForm dd textarea:-ms-input-placeholder {
  color: #999;
  font-size: 0.8125rem;
}

.InputBodyForm dd input::placeholder, .InputBodyForm dd textarea::placeholder {
  color: #999;
  font-size: 0.8125rem;
}

.InputBodyForm dd input[type="file"] {
  display: block;
  margin-top: 5px;
}

.InputBodyForm dd input[type="file"]:first-child {
  margin-top: 0;
}

.InputBodyForm dd select {
  background: #eee url(https://lsp-campaign.com/coke-receiptcp-202507/images/icon_arrow_select.svg) no-repeat right 10px top 50%;
  background-size: auto 7px;
  line-height: 24px;
}

.InputBodyForm dd select.select_age {
  display: inline-block;
  width: 8em;
  margin-right: .25em;
}

.InputBodyForm dd select.select_age._mini {
  width: 5em;
}

.InputBodyForm dd .wrap_md {
  display: block;
  margin-top: .5em;
}

.InputBodyForm dd .wrap_md select.select_age:nth-child(n+2) {
  margin-left: .25em;
}

.InputBodyForm dd .InputError {
  display: block;
  background: #ff0000;
  color: #fff;
  font-weight: bold;
  font-size: 0.75rem;
  padding: 3px 6px;
  border-radius: 3px;
  margin-top: 5px;
  line-height: 1;
  width: 100%;
  box-sizing: border-box;
}

/* .InputBodyForm dd span {
  display: block;
} */

.InputBodyForm dd.flex {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

.InputBodyForm dd.flex > * + * {
  margin-left: 2%;
}

.InputBodyForm dd.flex input {
  width: calc(50% - 1%);
}

.InputBodyForm dd.flex .InputError {
  margin-left: 0;
}

.InputBodyForm dd .input_min {
  width: 72px !important;
}

.InputBodyForm dd button.InputAddressAuto {
  font-size: 0.6875rem;
  width: 42%;
  border: 1px solid var(--txt-color);
  border-radius: 5px;
  color: var(--txt-color);
  line-height: 1.3;
  margin-left: 4% !important;
}

/* @media (max-width: 374px) {
  .InputBodyForm dd button.InputAddressAuto {
    width: calc(37% - 10px);
  }
} */

.InputBodyForm .InputFormPostal {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.InputBodyForm .InputFormPostal input {
  width: 50%;
}

.InputBodyForm .InputFormPostal button.InputAddressAuto {
  font-size: 0.6875rem;
  width: calc(50% - 10px);
  border: 1px solid var(--txt-color);
  border-radius: 5px;
}

.InputBodyForm input[type="checkbox"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  background: #eee;
  width: 14px;
  height: 14px;
  vertical-align: text-bottom;
  border-radius: 2px;
  display: inline-block;
  position: relative;
  border: 1px solid #e8e8e8;
  margin: 0;
}

.InputBodyForm input[type="checkbox"]:checked::before {
  content: '';
  display: block;
  position: absolute;
  left: 1px;
  top: 6px;
  width: 5px;
  height: 2px;
  transform: rotate(45deg);
  background: #000;
}

.InputBodyForm input[type="checkbox"]:checked::after {
  content: '';
  display: block;
  position: absolute;
  right: 4px;
  bottom: 2px;
  width: 2px;
  height: 8px;
  transform: rotate(40deg);
  background: #000;
}

.InputBodyForm input[type="radio"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  background: #eee;
  width: 14px;
  height: 14px;
  vertical-align: text-bottom;
  border-radius: 500px;
  display: inline-block;
  position: relative;
  border: 1px solid #e8e8e8;
  margin: 0;
}

.InputBodyForm input[type="radio"]:checked::after {
  content: '';
  display: block;
  position: absolute;
  line-height: 1;
  left: 50%;
  top: 50%;
  width: 8px;
  height: 8px;
  background: #000;
  border-radius: 500px;
  transform: translate(-50%, -50%);
}

.InputBodyForm label {
  padding-top: 0px;
  font-size: 1rem;
  line-height: 1.8;
  display: block;
}

.InputBodyForm textarea {
  background: #eee;
  border: 1px solid #e8e8e8;
  border-radius: 5px;
  width: 100%;
  box-sizing: border-box;
  padding: 3px 6px;
  display: block;
}

.CompleteCaution {
  font-size: 0.875rem !important;
}

.CompleteCaution p {
  font-size: 0.875rem !important;
}

.LowerMovie {
  padding: 45px 0;
}

.LowerMovie video {
  width: 100%;
  height: auto;
}

.LowerMovie .MovieVol {
  width: 72px;
  height: 24px;
  display: block;
  border-radius: 500px;
  opacity: 0;
}

.LowerMovie .MovieVol.MovieVolOn {
  background: var(--key-color) url(https://lsp-campaign.com/coke-receiptcp-202507/images/icon_vol_on.png) no-repeat center center;
  background-size: auto 14px;
}

.LowerMovie .MovieVol.MovieVolOff {
  background: #737373 url(https://lsp-campaign.com/coke-receiptcp-202507/images/icon_vol_off.png) no-repeat center center;
  background-size: auto 14px;
}

#ModalCoverMovie {
  display: block;
}

#Modal.ModalVolSelect {
  padding: 30px;
}

/* @media (max-width: 374px) {
  #Modal.ModalVolSelect {
    padding: 30px 15px;
  }
} */

#Modal.ModalVolSelect p {
  padding-top: 0;
}

#Modal.ModalVolSelect ul {
  padding-top: 30px;
  width: 100%;
  display: flex;
  justify-content: space-between;
}

#Modal.ModalVolSelect li {
  width: calc(50% - 7px);
}

#Modal.ModalVolSelect li a {
  display: block;
  border-radius: 500%;
  width: 100%;
  box-sizing: border-box;
  padding: 10px;
}

#Modal.ModalVolSelect li a.MovieStartOff {
  background: #737373;
}

#Modal.ModalVolSelect li a.MovieStartOn {
  background: var(--key-color);
}

#Modal.ModalVolSelect li a img {
  width: 100%;
  height: auto;
  display: block;
}

html.MovieBody, body.MovieBody {
  overflow: hidden;
}

html.MovieBody #CommonFooter, body.MovieBody #CommonFooter {
  padding: 0 0 5px;
  position: fixed;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 0);
}

html.MovieBody .LowerMovie, body.MovieBody .LowerMovie {
  padding: 0;
}

html.MovieBody .LowerMovie video, body.MovieBody .LowerMovie video {
  width: 100%;
  height: auto;
  position: fixed;
  top: calc(50% - 35px);
  left: 50%;
  transform: translate(-50%, -50%);
}

html.MovieBody .LowerMovie .MovieVol, body.MovieBody .LowerMovie .MovieVol {
  position: fixed;
  right: 10px;
}

html.MovieBody.MovieBodyLand, body.MovieBody.MovieBodyLand {
  width: 100%;
  height: 100%;
  position: relative;
}

html.MovieBody.MovieBodyLand #CommonFooter, body.MovieBody.MovieBodyLand #CommonFooter {
  padding: 5px 0;
  position: fixed;
  bottom: 0;
  left: 0;
  display: flex;
  justify-content: center;
  transform: translate(0, 0);
}

html.MovieBody.MovieBodyLand #CommonFooter .FooterID, body.MovieBody.MovieBodyLand #CommonFooter .FooterID {
  padding: 0;
}

html.MovieBody.MovieBodyLand #CommonFooter aside, body.MovieBody.MovieBodyLand #CommonFooter aside {
  padding: 0;
  margin-left: 10px;
}

html.MovieBody.MovieBodyLand .LowerMovie, body.MovieBody.MovieBodyLand .LowerMovie {
  padding: 0;
}

html.MovieBody.MovieBodyLand .LowerMovie video, body.MovieBody.MovieBodyLand .LowerMovie video {
  width: auto;
  height: auto;
  position: fixed;
  top: calc(50% - 10px - 24px);
  left: 50%;
  transform: translate(-50%, -50%);
}

.LowerAddress {
  padding: 25px 0 0;
  font-size: 0.75rem;
}

.LowerAddress dt {
  line-height: 1.5;
}

.LowerAddress dd {
  padding-top: 7px;
}

.LowerAddress ul li {
  padding-top: 7px;
}

.LowerAddress ul li:first-child {
  padding-top: 0;
}

.LowerAddress a {
  color: #000;
  text-decoration: underline;
}

ul.errorCaption {
  font-size: 0.75rem;
  padding: 0;
  text-justify: inter-cluster;
  text-align: justify;
  line-break: strict;
  word-break: break-all;
}

ul.errorCaption li {
  padding-left: 1em;
  text-indent: -1em;
}

p.errorCaption {
  font-size: 0.75rem !important;
  padding: 10px 0 0 !important;
  text-justify: inter-cluster;
  text-align: justify;
  line-break: strict;
  word-break: break-all;
}

#IndexBody .IndexBodyInner p.TxtSmall {
  font-size: 0.75rem;
}

.prizeList {
  margin-top: 15px;
}

.prizeListItem {
  background-color: #fff;
  color: #000;
  border: solid 1px;
  border-color: var(--border-color);
  border-radius: 5px;
  overflow: hidden;
  padding: 15px 10px;
}

.prizeListItem + .prizeListItem {
  margin-top: 10px;
}

.prizeListItem .prizeInfo {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.prizeListItem .prize-l {
  flex: 4;
  padding: 0;
}

.prizeListItem .prize-r {
  flex: 5;
  font-size: 0.6875rem;
  padding-left: 1em;
  text-align: left;
}

.prizeListItem .prize-r-caution {
  font-size: 0.625rem !important;
  color: var(--key-color);
}

.prizeListItem th,
.prizeListItem td {
  padding-top: .2em;
  padding-bottom: .2em;
  font-size: 0.685rem;
}

.prizeListItem th {
  padding-right: .5em;
  white-space: nowrap;
}

.prizeListItem td {
  vertical-align: middle;
}

.prizeListItem select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  text-align: left;
  margin-top: 15px;
  padding-top: 0.5em;
  padding-bottom: 0.5em;
  padding-right: 30px;
  width: 100%;
  background: #eee url(https://lsp-campaign.com/coke-receiptcp-202507/images/icon_arrow_select.svg) no-repeat right 10px top 50%;
  background-size: auto 7px;
  border-radius: 5px;
  font-size: 0.875rem;
  /* font-weight: bold; */
  line-height: 1;
}

/* @media (max-width: 374px) {
  .prizeListItem select {
    background-size: 14px auto;
    font-size: 3.733333333333333vw;
  }
} */

.prizeListItem .btn {
  margin-top: 15px;
  width: auto;
  padding-top: .5em;
  padding-bottom: .5em;
}

.prizeListItem .btn._disable {
  background-color: #737373;
  pointer-events: none;
}

._disable {
  background-color: #737373 !important;
  background-image: var(--btn-solid-icon-arrow) !important;
  border: none !important;
  color: #fff !important;
  pointer-events: none !important;
}

span.Answer , .EntryDisplay form > p.TxtRed{
  color: var(--key-color);
}
.EntryDisplay p.TxtRed{
  color: #da2129 !important;
}

.prizeListItem .btnGray {
  margin-top: 15px;
  width: auto;
  padding-top: .5em;
  padding-bottom: .5em;
  background-color: #737373;
  pointer-events: none;
}

.prizeListItem .CautionTxt {
  color: #da2129;
  font-size: 0.875rem !important;
  padding: 0 !important;
  display: none;
  margin-top: 5px;
}

/* .EntryFileSize {
  display: none;
} */

.EntryFileSizeTxt aside {
  text-align: center;
}

.EntryFileSizeTxt p {
  font-size: 0.75rem !important;
  color: #da2129;
}

/* @media (max-width: 374px) {
  .EntryFileSizeTxt p {
    font-size: 0.6875rem !important;
  }
} */

.EntryFileSizeOther {
  display: block;
}

.EntryFileSizeOther aside {
  text-align: center;
}

.EntryFileSizeOther p {
  font-size: 0.75rem !important;
  color: #da2129;
}

/* @media (max-width: 374px) {
  .EntryFileSizeOther p {
    font-size: 0.6875rem !important;
  }
} */

.EntryDisplay .EntryDisplayTotal {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 20px auto;
  font-weight: bold;
}

.fontBk {
  color: #000;
}

.EntryDisplay .EntryDisplayTotal .fontBk {
  color: #000;
}

.EntryDisplay .EntryDisplayTotal > span {
  display: block;
}

.EntryDisplay .EntryDisplayTotal span.EntryTotalNum {
  color: var(--key-color);
  font-weight: bold;
  font-size: 1.5em;
  /* padding: .5em .8em; */
  border: 2px solid var(--key-color);
  border-radius: .5em;
  margin: 0 .5em;
  min-width: 60px;
  height: 60px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.EntryDisplay .EntryDisplayTotal._noLefty {
  padding-left: 2em;
}

.EntryDisplay .EntryDisplayTotal._noLefty span.EntryTotalNum {
  padding-right: 1.4em;
  padding-left: 1.4em;
}

.EntryDisplay .EntryDisplayList {
  padding: 2px 0;
  background: #eee;
  border-radius: .5em;
}

.EntryDisplay .EntryDisplayList ._item {
  display: flex;
  justify-content: center;
  margin: 0 auto;
  padding: 8px 10px;
}
.EntryDisplay .EntryDisplayList ._item02 {
  flex-direction: column;
  margin: 0 auto;
  padding: 8px 10px;
}
.EntryDisplay .EntryDisplayList ._item02 p {
  text-align: start;
  font-size: 0.75rem !important;
  padding-top: 5px !important;
  color: #da2129;
}
.EntryDisplay .EntryDisplayList ._item02 ._innerItem {
  display: flex;
}

.EntryDisplay .EntryDisplayList ._item + ._item {
  border-top: 2px solid #fff;
}

.EntryDisplay .EntryDisplayList ._item > span {
  display: block;
}

.EntryDisplay .EntryDisplayList ._item ._itemNameWrap {
  flex-grow: 999;
  display: flex;
  align-items: center;
  background: #fff;
  border: 1px solid var(--key-color);
  border-radius: .25em;
  height: 42px;
}

.EntryDisplay .EntryDisplayList ._item ._itemPoint {
  display: inline-flex;
  align-items: center;
  align-content: center;
  justify-content: center;
  flex-wrap: wrap;
  flex-shrink: 0;
  font-size: .7em;
  background: var(--key-color);
  color: var(--btn-color);
  width: 3.5em;
  height: 100%;
}

.EntryDisplay .EntryDisplayList ._item ._itemPoint > span {
  display: block;
  width: 100%;
  line-height: 1;
}

.EntryDisplay .EntryDisplayList ._item ._itemPoint strong {
  font-size: 1.2em;
  line-height: 1;
  display: block;
  width: 100%;
}

.EntryDisplay .EntryDisplayList ._item ._itemName {
  flex-grow: 999;
  font-size: .9em;
  text-align: left;
  padding: .75em 1em;
  line-height: 1.2;
}

.EntryDisplay .EntryDisplayList ._item ._itemX {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  padding: 0 .25em;
  font-size: 1.6em;
  color: var(--key-color);
}

.EntryDisplay .EntryDisplayList ._item ._itemStatus_Num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.EntryDisplay .EntryDisplayList ._item ._itemStatus_Num input {
  width: 4em;
  height: 100%;
  background: #fff;
  border: 1px solid var(--key-color);
  border-radius: .25em;
  font-size: 1.2em;
  font-weight: bold;
  text-align: center;
  box-sizing: border-box;
}

.EntryDisplay .EntryDisplayList ._item ._itemStatus_Num input::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.EntryDisplay .EntryDisplayList ._item ._itemStatus_Num input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.EntryDisplay .EntryDisplayList ._item ._itemStatus_Num input::placeholder {
  color: #c9c9c9;
}

.EntryDisplay .RadioSelect{
  margin-top: 30px;
  display: flex;
  flex-direction: column;
  align-items: center;
  background: #eee;
  border-radius: 0.2em;
  padding: 30px 10%;
  font-size: 1.3125rem;
}

.prizeListCover{
  margin-top: 45px;

}

.prizeListCover .RadioSelect {
  margin-top: 10px;
}

.prizeListCover .RadioSelect li {
  display: flex;
  align-items: center;
  text-align: left;
  font-size: 1.25rem !important;
}

.prizeListCover .RadioSelect li input {
  margin: 0;
}

.prizeListCover .RadioSelect li {
  display: flex;
  align-items: center;
  text-align: left;
  font-size: 1.25rem !important;
  margin-bottom: 15px;
}
.prizeListCover .RadioSelect li label{
  padding-left: 5px;
}
.prizeListCover .RadioSelect li:last-child {
  margin-bottom: 0;
}

/* .EntryDisplay .RadioSelect .RadioSelectBtn{
	margin: 15px auto;
}

.EntryDisplay .RadioSelect .RadioSelectBtn:last-child{
	margin: 15px auto;
} */



.IndexPointNow {
  padding: 15px 0 0 ;
}

.IndexPointNow.IndexPointNowEnd {
  padding: 0;
}

.IndexPointNow dt {
  font-size: 1.25rem;
  font-weight: bold;
  padding: 0 0 15px;
}

.IndexPointNow dd {
  font-family: 'Helvetica Neue', 'Helvetica', sans-serif;
  font-weight: bold;
  margin-right: 5px;
  display: inline-block;
  box-sizing: border-box;
  padding: 15px 30px;
  min-width: 150px;
  font-size: 2.625rem;
  line-height: 0.8;
  border: 2px solid var(--key-color);
  border-radius: 10px;
  vertical-align: bottom;
  line-height: 0.8;
  color: var(--key-color);
  position: relative;
  background-color: #fff;
}

.IndexPointNow dd .IndexPointNowSmall {
  display: block;
  font-size: 1.25rem;
  line-height: 1;
  position: absolute;
  bottom: 0;
  right: -3.5em;
}

html.ModalOpen {
  overflow-y: hidden;
  position: fixed;
  left: 0;
  width: 100%;
  height: 100%;
}

html.ModalOpen body {
  position: fixed;
  left: 0;
  width: 100%;
}

@media (orientation: landscape) {
  html.ModalOpen.ModalLandscape {
    overflow-y: visible !important;
    position: static !important;
  }
}

@media (orientation: landscape) {
  html.ModalOpen.ModalLandscape body {
    position: relative !important;
    top: 0 !important;
  }
}

@media (orientation: landscape) {
  html.ModalOpen.ModalLandscape .ModalCover {
    position: absolute !important;
    overflow-y: visible !important;
  }
}

@media (orientation: landscape) {
  html.ModalOpen.ModalLandscape .ModalCover .ModalOuter {
    align-items: flex-start !important;
  }
}

@-ms-viewport {
  width: auto;
}

#IndexBody .ModalAll {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background-color: rgba(0, 0, 0, 0.6);
  transition: all ease-in-out .2s;
}

#IndexBody .ModalAll .ModalContents {
  background-color: #fff;
  padding: 30px 20px;
  text-align: center;
  width: min(70%, 550px);
  border-radius: 5px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate3d(-50%, -50%, 0);
}

#IndexBody .ModalAll .ModalContents .caution__txt p:nth-of-type(2) {
  font-size: 1rem;
}

#IndexBody .ModalAll .ModalContents .caution__txt + p {
  font-size: 12px;
}

#IndexBody .ModalAll .ModalContents p.caution__txt-strong {
  font-size: 1.5rem;
  padding: 0;
}

#IndexBody .ModalAll .ModalContents .ModalClose {
  position: absolute;
  width: 24px;
  height: 24px;
  background: #000;
  right: -11px;
  top: -11px;
  cursor: pointer;
  z-index: 999999999999999;
  border-radius: 500px;
  border: 2px solid #fff;
  box-shadow: 0 1px 2px 1px rgba(0, 0, 0, 0.5);
}

#IndexBody .ModalAll .ModalContents .ModalClose::before, #IndexBody .ModalAll .ModalContents .ModalClose::after {
  content: '';
  display: block;
  width: 12px;
  height: 2px;
  background: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
  transition: .6s;
}

#IndexBody .ModalAll .ModalContents .ModalClose::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

/* 年齢確認モーダル */
.ModalWrap-Age{
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch !important;
  background: rgba(0, 0, 0, 0.6);
  z-index: 99999999999999;
  transition: .3s .2s;
}

.ModalWrap-Age .ModalInner-Age{
  position: absolute;
  top: 50%;
  left: 50%;
  max-width: 510px;
  width: 73.333333333%;
  transform: translate(-50%, -50%);
  border-radius: 5px;
  background-color: var(--bg-color);
  padding: 30px 20px;
}

.ModalWrap-Age .ModalInner-Age form label{
  font-size: 18px;
  font-weight: 700;
  display: block;
  margin-bottom: 15px;
}

.ModalWrap-Age .ModalInner-Age form p{
  font-size: 12px;
  margin-bottom: 15px;
}

.ModalWrap-Age .ModalInner-Age form p .underLine {
  text-decoration: underline;
}

.ModalWrap-Age .ModalInner-Age form .AgeWrap{
  font-size: 20px;
  width: 100px;
  margin: 0 auto 15px;
  padding: 0 8px;
  position: relative;
  border-radius: 10px;
  border: 2px solid var(--key-color);
  display: flex;
  justify-content: center;
  align-items: center;
}
.ModalWrap-Age .ModalInner-Age form .AgeWrap span{
  position: absolute;
  left: calc(100% + 15px);
  bottom: 0;

}



/* .ModalWrap-Age .ModalInner-Age form .AgeWrap input::placeholder{
	font-size: 42px;
}
.ModalWrap-Age .ModalInner-Age form .AgeWrap input[type="number"]{
	-moz-appearance:textfield;
}

.ModalWrap-Age .ModalInner-Age form .AgeWrap input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.ModalWrap-Age .ModalInner-Age form .AgeWrap input:focus{
	outline: none;
}
.ModalWrap-Age .ModalInner-Age form .AgeWrap input{
	font-size: 42px;
	padding: 15px 0;
	border-radius: 10px;
	display: inline-block;
	border: 2px solid var(--key-color);
	text-align: center;
	margin-right: 15px;
	width: 150px;
} */

/* .ModalWrap-Age .ModalInner-Age form .AgeWrap input:focus{
	outline: none;
} */

.ModalWrap-Age .ModalInner-Age form .AgeWrap label{
  margin: 0;
  pointer-events: all;
}
.ModalWrap-Age .ModalInner-Age form .AgeWrap .ageNumLabel{
  /* display: block; */
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 9999999;
  background-color: var(--bg-color);
  color: var(--txt-color);
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 10px;
  pointer-events: none;
  margin: 0;
  font-size: 20px;
  background-image: url(https://lsp-campaign.com/coke-receiptcp-202507/images/icon_arrow_select.svg);
  background-repeat: no-repeat;
  background-position: 90% 50%;
  background-size: 10px;
}

/* .ModalWrap-Age .ModalInner-Age form .AgeWrap .ageNumLabel::after {
	content: "";
	display: block;
	background: url(../images/icon_arrow_select.svg) no-repeat right 10px top 50%;
	background-size: 10px;
} */

.ModalWrap-Age .ModalInner-Age form .AgeWrap select{
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-size: 22px;
  text-align: -webkit-center;
  text-align: center;
  padding: 8px 20px;
  margin: 0;
  /* pointer-events: none; */
  color: var(--txt-color);

}

/* .ModalWrap-Age .ModalInner-Age form .AgeWrap select:checked{
	height: 40px;
} */
.ModalWrap-Age .ModalInner-Age form .AgeWrap select option{
  font-size: 20px;
  /* text-align: center; */
}


.ModalWrap-Age .ModalInner-Age form #Terms{
  border-radius: 5px;
  border: 2px solid var(--key-color);
  margin-bottom: 30px;
  padding: 15px 10px;
  text-align: left;
}


.ModalWrap-Age .ModalInner-Age form .BtnCheck{

  margin: 0 auto;
  padding: 20px;
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: auto;
  color: var(--btn-color) !important;
  background-color: var(--key-color);
  background-image: var(--btn-solid-icon-arrow);
  background-repeat: no-repeat;
  background-position: right 10px top 50%;
  background-size: 16px auto;
  border-radius: 5px;
  font-size: 1.12rem;
  font-weight: bold;
  letter-spacing: -0.02em;
  line-height: 1;

}
.ModalWrap-Age .ModalInner-Age form .disabled{

  color: #999 !important;
  background-color: #343434;
  border-radius: 5px;
}

/* 年齢確認モーダル */
.outline a{
  text-decoration: underline;
}

.ModalWrap {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch !important;
  background: rgba(0, 0, 0, 0.6);
  z-index: 99999999999999;
  transition: .3s .2s;
}

.ModalWrap .ModalOuter {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  margin: 0 auto;
}

.ModalWrap .ModalInner {
  padding: 40px 0;
  width: 100%;
}

@media (min-width: 901px) {
  .ModalWrap .ModalInner {
    width: 590px;
  }
}

#Modal {
  color: #000;
  background: #fff;
  width: calc(100% - 60px);
  margin: 0 30px;
  box-sizing: border-box;
  padding: 30px 20px;
  border-radius: 5px;
  position: relative;
}

#Modal._wide {
  margin: 0 auto;
}

#Modal.ModalGetPoint {
  padding: 70px 20px;
}

#Modal h1 {
  font-size: 1.12rem;
  padding-bottom: 15px;
  color: var(--key-color);
}

#Modal h1 span {
  font-size: 2.125rem;
}

#Modal h1.ModalTitleOnly {
  padding: 55px 0;
}

#Modal h1.ModalErrorTitle {
  color: #000;
}

#Modal figure {
  padding-bottom: 15px;
}

#Modal figure img {
  width: 100%;
  max-width: 420px;
}

#Modal p {
  font-size: 0.75rem;
}

#Modal p + p {
  margin-top: 15px;
}

#Modal > .ModalClose , #ModalCover-Age .ModalInner-Age > .ModalClose{
  position: absolute;
  width: 24px;
  height: 24px;
  background: #000;
  right: -11px;
  top: -11px;
  cursor: pointer;
  z-index: 999999999999999;
  border-radius: 500px;
  border: 2px solid #fff;
  box-shadow: 0 1px 2px 1px rgba(0, 0, 0, 0.5);
}

#Modal > .ModalClose::before, #ModalCover-Age .ModalInner-Age > .ModalClose::before, #ModalCover-Age .ModalInner-Age > .ModalClose::after , #Modal > .ModalClose::after {
  content: '';
  display: block;
  width: 12px;
  height: 2px;
  background: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
  transition: .6s;
}

#Modal > .ModalClose::after ,  #ModalCover-Age .ModalInner-Age > .ModalClose::after{
  transform: translate(-50%, -50%) rotate(-45deg);
}

#Modal .overIsScroll {
  box-sizing: border-box;
  width: 100%;
  border: 1px solid #eee;
  border-radius: 3px;
  max-height: 50vh;
  overflow: auto;
  padding: 1em;
  text-align: left;
  font-size: 0.75rem;
}

#Modal .overIsScroll li + li {
  margin-top: 1em;
  padding-top: 1em;
  border-top: 1px solid #eee;
}

#Modal .overIsScroll .time {
  display: block;
  margin-bottom: .2em;
  font-size: .8em;
}

#Modal .check20over {
  display: block;
  font-size: 1.25rem;
  padding: 1.5em 0;
}

#Modal .LowerBtn a {
  font-size: 0.875rem;
  color: #000;
}

#Modal .LowerBtn a.BtnNoEffect {
  font-size: 1.12rem;
}

/* Terms */
.TermsBody{
  display: block;
  padding: 0;
  background: none;
  text-align: justify;
  line-break: strict;
  word-break: break-all;
}

.TermsBody p,li{
  font-size: 0.75rem !important;
  letter-spacing: -0.02em !important;
}

.TermsBody p{
  font-size: 0.75rem !important;
  letter-spacing: -0.02em !important;
  padding-top: 7px !important;
}

.TermsBody li{
  padding: 3px 0 0 0;
  text-indent: -1em;
  padding-left: 1em;
}

.TermsBody ul{
  padding-top: 7px !important;
}

.TermsBody ul._pt0{
  padding-top: 0px !important;
}

.TermsBody h2{
  font-size: 0.875rem;
}

.TermsBody h3{
  font-size: 0.75rem;
  padding: 7px 0 0 0;
}

.TermsBody h2{
  padding-top: 15px;
}

.TermsBody a{
  text-decoration: underline;
}

.TermsBody ol._noIndent > li {
  text-indent: 0 !important;
  padding-left: 0 !important;
}

/* outline 注釈部分 */
.annotation{
  font-size: 0.75rem;
  padding: 10px 20px 0;
}

.DistributeCaution h2 {
  color: red;
  font-size: 1.2rem;
}
.DistributeCaution h2.caution__txt-strong {
  font-size: 27px;
}

.DistributeCaution p {
  font-weight: bold;
}
.DistributeCaution p span {
  color: red;
}

.Distribution {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.Distribution .DistributionItem {
  box-sizing: border-box;
  margin: 20px 0 0;
  width: 49%;
  border: solid 1px #000;
  padding: 13px;
}

.Distribution .DistributionItem:nth-of-type(19) .DistributionName {
  font-size: 0.9rem;
}

.Distribution .DistributionItem:nth-of-type(19) .DistributionName,
.Distribution .DistributionItem:nth-of-type(20) .DistributionName {
  height: 80px;
}

.Distribution .DistributionImg {
  margin-top: 10px;
}

.Distribution .DistributionBtn {
  margin-top: 10px;
}

.Distribution .DistributionFlex {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 10px;
}

.Distribution .DistributionFlex .DistributionName {
  font-size: 1rem;
  font-weight: bold;
  text-align: left;
  height: 54px;
}

.Distribution .DistributionPoint dd {
  display: flex;
  justify-content: flex-end;
  align-items: end;
  color: var(--key-color);
}

.Distribution .DistributionPoint .DistributionPointNum {
  font-family: 'Helvetica Neue', 'Helvetica', sans-serif;
  font-weight: bold;
  box-sizing: border-box;
  padding: 10px 24px;
  font-size: 1.8rem;
  line-height: 0.8;
  border: 2px solid var(--key-color);
  border-radius: 10px;
  vertical-align: bottom;
  line-height: 0.8;
  background-color: #fff;
  margin-right: 4px;
}

.Distribution .DistributionPoint .DistributionPointSmall {
  white-space: nowrap;
}

@media (max-width: 768px) {
  .Distribution .DistributionFlex {
    display: block;
  }
  .Distribution .DistributionFlex br {
    display: none;
  }

  .Distribution .DistributionPoint .DistributionPointNum {
    width: min(66.7%, 84px);
    padding: 10px 0;
  }
}

#IndexBody .IndexDocuments .detail-prize .detail-prize-content{
  border: solid 1px red;
  padding: 30px;
  margin-bottom: 10px;
  background: #fff;
}

#IndexBody .EntryDisplay img.Icon{
  width: 40%;
  margin: 45px auto 20px;
}

#IndexBody .EntryDisplay .TxtBig{
  font-size: 1.3125rem;
  font-weight: bold;
  color: var(--key-color);
}

.LowerResult .caution__txt {
  margin: 0 auto;
}

.BtnSolidPlus:hover,
.BtnSolidMinus:hover {
  cursor: pointer;
}


/*アイコンなし　ボタン機能なし*/

#nonEntry.nonBtn {
  margin: 0 auto;
  padding: 20px;
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: auto;
  color: var(--btn-color) !important;
  background-color: var(--key-color);
  border-radius: 5px;
  font-size: 1.12rem;
  font-weight: bold;
  letter-spacing: -0.02em;
  line-height: 1;
}

#IndexBody .nonBtn-IndexDocuments {
  display: block;
  border-radius: 5px;
  background: #e6e6e6;
  padding: 15px;
  margin-top: 7px;
  text-align: justify;
  line-break: strict;
  word-break: break-all;
}
#IndexBody .IndexDocuments section.nonBtn-IndexDocuments {
  padding: 15px;
}


/*リンクなしアンダーライン*/
.nolink_underline {
  text-decoration: underline;
}
._underline{
  text-decoration: underline;
}


._mb10 {
  margin-bottom: 10px !important;
}
._mb0{
  margin-bottom: 0 !important;
}


/*以下新規追加*/
.txt-size-01 {
  padding-top: 15px !important;
  padding-bottom: 10px !important;
  font-size: 0.75rem !important;
}

article h1.rule {
  margin-bottom: 15px;
  padding-bottom: 10px;
}

.txt-red {
  color: red;
}

.top-45 {
  padding-top: 45px !important;
}

.top-15 {
  padding-top: 15px;
}

.bottom-15 {
  padding-bottom: 15px;
}

.bottom-30 {
  padding-bottom: 30px;
}

.top-line {
  border-top: none !important;
  padding-top: 0 !important;
}

.FixEntry {
  box-sizing: border-box;
  height: 93px;
}

#IndexBody .IndexKv .IndexKvBtn-02 {
  padding: 15px 0 0;
}

/* @media (max-width: 374px) {
  #IndexBody .IndexKv .IndexKvBtn-02 {
    padding: 15px 30px 0;
  }
} */

/*追従ボタン*/
.FixEntryWrap {
  background-color: rgba(255, 255, 255, .75);
  box-sizing: border-box;
  padding: 5px;
  position: fixed;
  bottom: 0;
  width: 100%;
}

.FixEntryWrap p {
  font-size: 0.7em;
  padding: 0.4em;
}

.FixEntryWrap a {
  font-size: 1.25rem !important;
}

/*ギフト*/
.Gift-Txt {
  margin: 20px 0 10px;
}

.Gift-Num {
  padding: 5px 0 5px;
  border-top: solid 2px #E6E6E6;
  border-right: solid 2px #E6E6E6;
  border-bottom: solid 2px #E6E6E6;
  border-left: solid 2px #E6E6E6;
  border-radius: 5px;
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 10px;
}

.txt-left {
  padding-left: 1em;
  text-indent: -1em;
  text-align: left;
}

.txt-left-02 {
  padding-top: 5px;
  padding-left: 1em;
  text-indent: -1em;
  text-align: left;
}

.txt-left-03 {
  padding-top: 20px !important;
}

.pt-01 {
  padding-top: 20px !important;
  padding-bottom: 20px !important;
}

.pt-02 {
  font-size: 0.8375rem !important;
  padding-top: 5px !important;
  padding-bottom: 20px;
}

.pb-01 {
  padding-top: 10px !important;
  padding-bottom: 20px !important;
}

.ptb-01 {
  padding-top: 30px !important;
  padding-bottom: 30px !important;
}

.ptb-02 {
  padding-top: 30px !important;
  padding-bottom: 15px !important;
}

#LowerBody-04 {
  padding: 45px 35px;
  width: 100%;
  max-width: 750px;
  margin: 0 auto;
  box-sizing: border-box;
}

article h1.TitLine-02 {
  margin-bottom: 15px;
  padding-bottom: 10px;
}

.TermsBody-03{
  display: block;
  padding: 0;
  background: none;
  text-align: justify;
  line-break: strict;
  word-break: break-all;
}

.TermsBody-03 h2 {
  font-size: 0.875rem;
}

.TermsBody-03 p {
  font-size: 0.75rem !important;
  letter-spacing: -0.02em !important;
  padding-top: 7px !important;
}

#LowerBody p.confirm-02 {
  padding-top: 25px!important;
  font-size: 0.9375rem;
}

/*アコーディオンメニュー*/
.IndexDocumentsHidden, .TermsBody-02 {
  border-radius: 5px;
  background: #E6E6E6;
  margin-top: 7px;
  padding: 5px 15px 20px;
  color: #000;line-break: strict;
  text-align: justify;
  word-break: break-all;
}

.TermsBody-02 h2 {
  font-size: 0.9375rem !important;
}

.TermsBody-02 p {
  font-size: 0.75rem !important;
}

.inner-box {
  padding: 0 !important;
  margin-top: -15px !important;
  line-height: 1.3rem;
  /* background: #a3b9e0; */
  /* margin-bottom: 20px !important; */
}

.inner-box figure {
  padding: 0;
}

.f-white {
  color: #FFF;
  font-size: 0.875rem !important;
}

.f-red {
  color: red;
  font-size: 1em !important;
  font-weight: bold;
  text-align: center;
  padding: 10px 0 15px;
}

.f-red-02 {
  color: red;
  font-size: 1em !important;
  font-weight: bold;
  text-align: center;
}

.BtnLineArrow-02, .BtnLineReverse-02, .BtnLineQr, .BtnLineArrow-02Bk, .InputBodyForm .LowerBtn .BtnLineArrow-02Bk, .RegisterBtn-02-js {
  margin: 0 auto;
  padding: 12px 20px 12px 0;
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: auto;
  background: #FFF;
  background-image: var(--btn-line-icon-arrow);
  background-repeat: no-repeat;
  background-position: right 10px top 50%;
  background-size: 16px auto;
  border: 1px solid #000;
  border-radius: 5px;
  text-align: center;
  font-size: 0.9375rem;
  font-weight: bold;
  letter-spacing: -0.02em;
  line-height: 1;
}

.BtnSolidArrowGray-02,
input.BtnSolidArrowGray-02 {
  margin: 0 auto;
  padding: 12px !important;
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: auto;
  color: #fff !important;
  background: #A6A6A6;
  /* background-color: var(--key-color);  */
  background-image: var(--btn-solid-icon-arrow);
  background-repeat: no-repeat;
  background-position: right 10px top 50%;
  background-size: 16px auto;
  border-radius: 5px;
  text-align: center;
  font-size: 0.9375rem;
  font-weight: bold;
  letter-spacing: -0.02em;
  line-height: 1;
  pointer-events: none;
}

@media (max-width: 350px) {
  .EntryBtnList .BtnLineArrow-02, .EntryBtnList .BtnLineReverse-02, .EntryBtnList .BtnLineQr, .EntryBtnList .BtnLineArrow-02Bk, .EntryBtnList .InputBodyForm .LowerBtn .BtnLineArrow-02Bk, .EntryBtnList .RegisterBtn-02-js, .EntryBtnList .BtnSolidArrowGray-02, .EntryBtnList input.BtnSolidArrowGray-02 {
    font-size: 4vw !important;
  }
}

.IndexDocumentsAccordion h1.AccordionBtnGray {
  background-color: #A6A6A6;
}

.EntryEnd {
  background-color: #000;
  color: #fff;
  font-size: 1.12rem !important;
  font-weight: bold;
  line-height: 1;
  margin-top: 10px;
  padding: 15px 0;
  text-align: center;
}

._pt0 {
  padding-top: 0 !important;
}
._pt5 {
  padding-top: 5px !important;
}
._pt10 {
  padding-top: 10px !important;
}
._pt15 {
  padding-top: 15px !important;
}
._pt20 {
  padding-top: 20px !important;
}
._pt25 {
  padding-top: 25px !important;
}
._pt30 {
  padding-top: 30px !important;
}

._pl0{
  padding-left: 0 !important;
}

._pr0{
  padding-right: 0 !important;
}

._pb0 {
  padding-bottom: 0 !important;
}

._pb15 {
  padding-bottom: 15px !important;
}

._pb20 {
  padding-bottom: 20px !important;
}

._pb30 {
  padding-bottom: 30px !important;
}

._mt0 {
  margin-top: 0px !important;
}

._mt5 {
  margin-top: 5px !important;
}

._mt10 {
  margin-top: 10px !important;
}

._mt15 {
  margin-top: 15px !important;
}

._mt20 {
  margin-top: 20px !important;
}
._mt25 {
  margin-top: 25px !important;
}

._mt40 {
  margin-top: 40px;
}

._mt45 {
  margin-top: 45px;
}

._mt60 {
  margin-top: 60px;
}

._mb20 {
  margin-bottom: 20px !important;
}

._fz1rem {
  font-size: 1rem !important;
  padding: 20px 24px 20px 16px !important;
}

._fz1-3{
  font-size: 1.3rem !important;
}

._fz1-38{
  font-size: 1.3875rem !important;
}

._fz1-12{
  font-size: 1.12rem !important;
}

._fz10{
  font-size: 0.685rem !important;
}

._fz12{
  font-size: 0.75rem !important;
}

._fz14{
  font-size: 0.875rem !important;
}

._fz16{
  font-size: 1rem !important;
}

._fz20{
  font-size: 1.25rem !important;
}

._fw-b{
  font-weight: bold !important;
}

._fw-n{
  font-weight: normal !important;
}

._borderNone {
  border: none;
  border-radius: 0;
  padding: 0;
}

.LinkBorder{
  text-decoration: underline;
}

._backColorRed{
  background-color: #da2129;
  color: #fff;
  padding: 10px!important;
  font-weight: bold;
}

.ModalEntryBtn {
  display: block;
  font-size: 0.875rem;
  font-weight: bold;
  text-align: center;
  text-decoration: underline;
}

#IndexBody .IndexPointEntry nav {
  overflow:hidden;
  position:relative;
  width:100%;
  padding:15px 0 0;
}

#IndexBody .TermsBody h2+.IndexAddress,
.TermsBody02 h2+.IndexAddress,
#LowerBody .TermsBody h2+.IndexAddress{
  padding-top: 0 !important;
  font-size: 0.75rem;
}
#IndexBody .TermsBody h2+.IndexAddress dt,
.TermsBody02 h2+.IndexAddress dt,
#LowerBody .TermsBody h2+.IndexAddress dt{
  font-weight: normal !important;
  font-size: 0.75rem;
}
#IndexBody .TermsBody h2+.IndexAddress ul,
.TermsBody02 h2+.IndexAddress ul,
#LowerBody .TermsBody h2+.IndexAddress ul{
  padding-top: 0 !important;
}
#IndexBody .TermsBody h2+.IndexAddress ul li,
.TermsBody02 h2+.IndexAddress ul li,
#LowerBody .TermsBody h2+.IndexAddress ul li{
  font-size: 0.75rem;
  padding-top: 3px !important;
  font-size: 12px !important;
}

._noIndent li{
  text-indent: 0 !important;
  padding-left: 0 !important;
}

.TermsBody02 h2{
  padding-top: 15px !important;
}

.InputBodyForm dd.imgPreview img {
  display: block;
  margin: 10px auto 0;
  width: 50%;
}

.TxtBl{
  color: #000 !important;
}

ol._noIndent ._indent {
  text-indent: -1rem !important;
  padding-left: 1rem !important;
}

ul._noIndent li._indent{
  text-indent: -1rem !important;
  padding-left: 1rem !important;
}

.CpMaintenanceIndexCaution {
  background: #da2129;
  padding: 15px 20px;
}

.CpMaintenanceIndexCaution p {
  font-size: 0.8375rem !important;
  color: #fff;
  font-weight: bold;
  padding: 0 !important;
}

.EntryDisplay .RadioSelect{
  margin-top: 30px;
  display: flex;
  flex-direction: column;
  align-items: center;
  background: #eee;
  border-radius: 0.2em;
  padding: 30px 10%;
  font-size: 1.3125rem;
}

.prizeListCover .RadioSelect li {
  display: flex;
  align-items: center;
  text-align: left;
  font-size: 1.25rem !important;
  margin-bottom: 15px;
}

.prizeListCover .RadioSelect li label{
  padding-left: 5px;
}

.prizeListCover .RadioSelect li:last-child {
  margin-bottom: 0;
}

sup {
  font-size: smaller;
  vertical-align: super;
}

/* BtnLineArrow ボタン非活性 */
._disabled {
  background-color: #737373 !important;
  pointer-events: none;
  color: #fff !important;
  background-image: var(--btn-line-icon-arrow-wh) !important;
  border: none;
}

/* マイページ コース選択アコーディオン*/
#IndexBody .EntryAccordion .IndexDocumentsAccordion .IndexDocumentsHidden a{
  background-color: #fff;
  text-decoration: none;
  text-align: center;
  background-image: var(--btn-line-icon-arrow-bk);
}

#IndexBody .EntryAccordion aside.selectCorse{
  padding: 20px 0 0;
}

#IndexBody .EntryAccordion aside.selectCorse * + * {
  padding: 20px 0 0;
}

/* シングルコース・併売コース 赤字タイトル */
.corseTitle{
  padding-top: 0 !important;
  margin-bottom: 30px;
  font-size: 1.6875rem !important;
  font-weight: bold;
  color: var(--key-color);
}

/* タブ切り替え */
.HistoryTabList {
  display: flex;
  justify-content: space-between;
  border-bottom: 2px solid var(--key-color);
}

.HistoryTab {
  width: 50%;
  text-align: center;
  font-size: 1rem !important;
  color: var(--key-color);
  padding: 0.6rem 0.2rem;
  border-radius: 0.8rem 0.8rem 0 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

.HistoryTab:hover {
  cursor: pointer;
}

.HistoryTabSelect {
  background-color: var(--key-color);
  color: #fff;
}

/* 無料クーポン獲得 モーダル */

body.modal-open,
html.modal-open {
  overflow: hidden;
  touch-action: none;
}

#CouponModal .ModalWrap {
  overflow: hidden;
}

#CouponModal .ModalOuter {
  width: 100%;
  max-width: 600px;
}

#CouponModal .ModalInner {
  max-height: calc(100vh - 30px);
  background-color: #fff;
  padding: 24px 0;
  border-radius: 15px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
}


#CouponModal #Modal{
  border-radius: 15px;
  padding: 30px 0px;
}

#CouponModal h1{
  padding-bottom: 10px;
  color: var(--txt-color);
  font-size: 1.25rem;
}

#CouponModal h1 span.TxtRed{
  font-size: 1.25rem;
  letter-spacing: -0.02em;
}

#CouponModal h1::before{
  margin-right: 10px;
  content: "";
  display: inline-block;
  width: 30px;
  height: 30px;
  background-image: url(https://lsp-campaign.com/coke-receiptcp-202507/images/icon_cautionmark.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  vertical-align: middle;

}

#CouponModal .couponCautionText{
  flex: 1 1 auto;
  overflow-y: auto;
  max-height: 50vh;
  margin: 0;
  text-align: left;
  -webkit-overflow-scrolling: touch;
  padding-right: 1rem;
  box-sizing: content-box;
}

#CouponModal .couponCautionText p{
  padding-top: 1rem;
  margin-top: 0;
  font-weight: bold;
}

#CouponModal .couponCautionText h2{
  text-align: center;
  margin-top: 1rem;
  margin-bottom: 1rem;
}

#CouponModal .couponCautionText h3{
  text-align: center;
  margin-top: 1rem;
  margin-bottom: 1rem;
}

#CouponModal .couponCautionText ul{
  margin-top: 3px;
}

#CouponModal ul li{
  text-align: left;
  text-indent: -1em;
  padding-left: 1em;
}

#CouponModal .BtnRound{
  margin-top: 15px;
  font-size: 1rem;
  background-image: none;
}

#CouponModal .couponDeadline{
  padding-top: 10px;
  font-size: 0.875rem;
  font-weight: bold;
}

#CouponModal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.6);
  display: none;
  justify-content: center;
  align-items: center;
  padding: 16px;
  box-sizing: border-box;
  z-index: 1000;
  overflow: auto;
}

#CouponModal .ModalOuter {
  width: 100%;
  max-width: 600px;
  margin: auto;
}

#CouponModal .ModalInner {
  max-height: calc(100vh - 30px);
  margin: 15px 0;
  overflow-y: auto;
  background-color: #fff;
  padding: 24px 0;
  border-radius: 15px;
  box-sizing: border-box;
  -webkit-overflow-scrolling: touch;
}


/* 無料クーポン表示 */

#LowerBody.CouponDisplayWrap h2{
  font-size: 1.6875rem;
}

#LowerBody.CouponDisplayWrap .timer{
  margin-top: 10px;
  border: 3px solid #000;
  border-radius: 20px;
  padding: 10px 20px 20px;
}

#LowerBody.CouponDisplayWrap .timer .text{
  font-size: 0.875rem;
  font-weight: bold;
}

#LowerBody.CouponDisplayWrap .timer .time{
  margin-top: 15px;
  font-size: 2rem;
  font-weight: bold;
}

/* クーポン引換期間外 */
.CouponEndCaution{
  background: #da2129;
  padding: 10px 20px 15px;
  max-width: 750px;
  margin: 0 auto;
  box-sizing: border-box;
  color: #fff;
  font-size: 0.8125rem;
  font-weight: bold;
}

/* 角丸ボタン */
.BtnRound{
  border-radius: 40px;
  margin-top: 15px;
}

/* ボタンアイコンなし */
.none-arrow{
  background-image: none;
}