
@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.underLineBk {
  text-decoration: underline;
  color: #000 !important;
}

.extra__caution {
  padding: 0 20px;
}

.caution__txt {
  font-size: 18px;
  text-align: center;
  margin: 20px auto;
  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;
  background: var(--bg-color);
}

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 !important;
}

html.iphone a:hover img,
html.ipod a:hover img,
html.ipad a:hover img,
html.android a:hover img {
  opacity: 1 !important;
}

body {
  padding-bottom: env(safe-area-inset-bottom);
  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: #fff;
}

a:hover,
a:active {
  color: #fff;
}

img {
  margin: 0 auto;
  display: block;
  vertical-align: bottom;
  width: 100%;
  height: auto;
}

.TxtRed {
  color: #da2129;
}

/*サイト設定-------------------------------------------------------------------------------------------------------------*/
/*ボタン*/
@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,
.BtnSolidArrow1,
.BtnSolidBlank,
.BtnSolidPlus,
.BtnSolidMinus,
.BtnSolidArrowGray,
.prizeListItem .btnGray,
.prizeListItem .btn,
input.BtnSolidArrow,
input.BtnSolidBlank,
input.BtnSolidPlus,
input.BtnSolidMinus,
input.BtnSolidArrowGray,
.prizeListItem input.btnGray,
.prizeListItem input.btn {
  /*ベタ塗りボタン 矢印*/
  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;
}

#IndexBody .IndexBodyInner .BtnSolidArrow1 {
  background-image: none;
  padding: 20px;
  font-size: 1.12rem;
  letter-spacing: -0.02em;
}

.BtnSolidPlus,
.BtnSolidMinus,
input.BtnSolidPlus,
input.BtnSolidMinus {
  padding: 15px 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 {
  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 0.6s ease-out 0s 1 normal forwards;
  border-radius: 500px;
  opacity: 0;
}

.BtnSolidBlank {
  /*ベタ塗りボタン　外部リンク*/
  background-image: var(--btn-solid-icon-blank);
}

.BtnSolidBlankBk {
  background-image: var(--btn-solid-icon-blank-bk);
}

.BtnSolidPlus {
  /*ベタ塗りボタン　プラス記号*/
  background-image: var(--btn-solid-icon-plus);
}

.BtnSolidPlus::after {
  animation: btnActiveMove 0.6s ease-out 0s 1 normal none;
}

.BtnSolidMinus {
  /*ベタ塗りボタン　マイナス記号*/
  background-image: var(--btn-solid-icon-minus);
}

.BtnSolidMinus::after {
  animation: btnActiveMove 0.6s ease-out 0s 1 normal none;
}

.BtnSolidArrowGray,
.prizeListItem .btnGray {
  /*ベタ塗りボタン　グレーアウト*/
  background-color: #737373 !important;
  color: #fff !important;
  pointer-events: none;
}

.BtnSolidArrowGray,
input.BtnSolidArrowGray {
  background-image: var(--btn-line-icon-arrow-wh);
  color: #fff !important;
}

.BtnSolidArrowGray{
  border: solid 2px #737373 !important;
}

.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;
}

.BtnSolidArrowWh {
  background-image: var(--btn-solid-icon-arrow);
}

.RegisterBtn-js {
  margin: 0 auto;
  padding: 20px;
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: auto;
  /* color: var(--btn-color) !important; */
  color: #000;
  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;
}

.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 0.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%;
}

.BtnLineReverseWh {
  /*罫線ボタン 矢印逆向き*/
  background-image: var(--btn-line-icon-reverse-wh);
}

.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._arrow-wh {
  color: #fff;
  background-image: url(https://lsp-campaign.com/lemondo-2026cp-1/images/icon_arrow_reverse_wh.svg);
}

/*ページレイアウト*/
/*ヘッダー*/
#LowerHeader {
  width: 100%;
  max-width: 750px;
  margin: 0 auto;
}

/*フッター*/
#CommonFooter {
  margin: 0 auto;
  padding: 0 0 15px;
  padding-bottom: calc(15px + env(safe-area-inset-bottom));
	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 h1.TitLine.otherCampaign {
  font-size: 1.12rem;
}

article h2 {
  padding: 30px 0 0;
}

article h2 .PointTit {
	margin-right: 28px;
	margin-left: 28px;
	padding-right: 10px;
	padding-left: 10px;
	font-size: 1.12rem;
	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::before {
  left: -15px;
}

article h2 .PointTit::after {
  right: -15px;
}

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/lemondo-2026cp-1/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;
}

/*下層基本レイアウト*/
#LowerBody {
  padding: 45px 35px 45px;
  width: 100%;
  max-width: 750px;
  margin: 0 auto;
  box-sizing: border-box;
}

@media (max-width: 374px) {
  #LowerBody {
    padding: 45px 30px 45px;
  }
}

#LowerBody.LowerBodyWh {
  background: #fff;
  color: #000;
}

#LowerBody p {
  padding: 15px 0 0;
  font-size: 0.9375rem;
}

#LowerBody .toTerms {
  margin-top: 15px;
}

#LowerBody .toTerms a {
  text-decoration: underline;
}

/*form*/

.InputBodyForm p.FormCation.FormError {
  background: #da2129;
  color: #fff;
  border-radius: 5px;
  margin-top: 5px;
  padding: 5px 10px !important;
  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: 30px 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 10px;
}

.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 {
  padding: 15px;
  background-color: #da2129;
  color: #fff;
}

@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/lemondo-2026cp-1/images/icon_arrow_bk.svg);
  color: #000;
}

.LowerBtn li {
  padding-top: 15px;
}

.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: 0.2;
  }

  100% {
    transform: translate(0, 0);
    opacity: 1;
  }
}

.LowerResult {
  animation: LowerResultMove 0.4s ease-out 0.6s 1 normal forwards;
  opacity: 0;
}

h1.LowerResult {
  animation: LowerResultMove 0.4s ease-out 0.3s 1 normal forwards;
  opacity: 0;
}

.LowerResultCaution {
  font-size: 0.875rem !important;
  text-align: left;
}

.LowerResultCaution li {
  font-size: 0.875rem !important;
  text-align: left;
  text-indent: -1em;
  padding-left: 1em;
}

/*下層 エントリー〜当落*/
.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: 1.12rem;
  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: 10px 0 0;
  font-size: 1rem;
  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: 30px 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,
.LowerCoupon .LowerWinCaution ul {
  padding: 20px 15px;
}

.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: 20px 15px !important;
  font-size: 0.75rem !important;
  text-justify: inter-cluster;
  text-align: justify;
  line-break: strict;
  word-break: break-all;
}
.LowerEntry .LowerWinCaution p._pt5 {
  padding-top: 5px !important;
}
.LowerEntry .LowerWinCaution p._pb0 {
  padding-bottom: 0 !important;
}

.LowerWinCaution .IndexAddress {
  padding-top: 0px !important;
  text-align: left;
}
.LowerWinCaution .IndexAddress dt {
  padding-left: 15px;
  padding-right: 15px;
  padding-top: 0;
}
.LowerWinCaution .IndexAddress dd {
  padding-top: 0;
}
.LowerWinCaution .IndexAddress ul {
  padding-top: 5px;
}
.LowerWinCaution .IndexAddress ul li {
  padding-top: 0px;
}
#LowerBody .LowerEntry .prizeBox {
  border: 1px solid var(--key-color);
  background: #fff;
  display: block;
  margin: 20px 0;
  padding: 0 15px 15px;
}

#LowerBody .LowerEntry .prizeBox p.caution {
  font-size: 0.75rem;
}

h1.LowerResult + .TxtRed._alignLeft li {
  font-size: 0.9375rem !important;
  margin-top: 10px;
  padding-left: 1em;
  text-indent: -1em;
}

/*下層 抽選*/
.LoadPic {
  padding: 15px 0 15px;
  margin: 0 auto;
}

.LoadPic div {
  width: 100px;
  margin: 0 auto;
}

.LoadPic p {
  padding: 0 !important;
  margin: 0 auto !important;
  font-size: 0.75rem !important;
}

.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: 0.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.IndexKvCoupon {
  padding: 0;
}

#IndexBody .IndexKv.IndexKvEnd {
  padding: 0;
}

#IndexBody .IndexKv {
  padding-bottom: 30px;
}

#IndexBody .IndexKv.MypageUnder {
  padding-bottom: 15px;
}

#IndexBody .IndexKv .outline {
  padding: 15px 20px 0;
  font-size: 0.75rem;
}

#IndexBody .IndexKv p.AnchorText {
  padding: 15px 20px 10px;
  font-size: 0.6875rem;
}

#IndexBody .IndexKv p.AnchorText a {
  text-decoration: underline;
}

#IndexBody .IndexKv .IndexKvBtn {
  padding: 15px 35px 0;
}

#IndexBody .IndexKv .IndexKvBtn._pt0 {
  padding: 0 35px 0;
}

@media (max-width: 374px) {
  #IndexBody .IndexKv .IndexKvBtn {
    padding: 15px 30px 0;
  }
}

#IndexBody .IndexKv dl:first-of-type {
  padding-top: 15px;
}

#IndexBody .IndexKv dl {
  margin: 0 20px 0;
  padding: 10px 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 .IndexKvTeaser dl {
  /* border: none; */
  margin: 0 20px 0;
  padding: 10px 0 15px;
  font-size: 0.875rem;
  font-weight: bold;
  border: 1px solid var(--txt-color);
  border-top: none;
  border-right: none;
  border-left: none;
}

@media (max-width: 374px) {
  #IndexBody .IndexKv dl {
    margin: 10px 15px 0;
  }
}

#IndexBody .IndexKv dl dd {
  letter-spacing: -0.03em;
}

@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: 0.85em;
  margin-top: 0.25em;
}

#IndexBody .IndexKvTeaser h2 {
  background: var(--bg-color);
  padding: 30px 0 10px;
  font-size: 1.25rem;
  color: var(--txt-color);
}

#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: 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: 15px 0 0;
  font-size: 0.9375rem;
  letter-spacing: -0.05em;
}

#IndexBody .IndexBodyInner .EntryFileSizeOther p {
  padding-top: 20px;
  font-size: 0.75rem;
  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;
}

#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: #fff;
  text-decoration: none;
  text-align: center;
}

#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: 15px 0 0;
} */

#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 0.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: 30px 0 0;
}

#IndexBody .IndexPrize h2.CorseTitle {
  font-size: 1.8rem;
  padding-top: 50px;
}

#IndexBody .IndexPrize figure {
  padding: 10px 0 0;
}

#IndexBody .IndexPrize figure.IndexPrize3Point {
  padding: 30px 0 0;
}

#IndexBody .IndexPrize p {
  font-size: 0.75rem;
  padding: 10px 0 0;
}

#IndexBody .IndexPrize li {
  font-size: 0.75rem;
}

#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: 7px 0 0;
  line-height: 1.2;
  font-weight: bold;
}

.IndexAddress dd {
  padding-top: 7px;
}

.IndexAddress ul li {
  padding-top: 7px;
}

.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 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 .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: 0px 4px 0;
  font-size: 0.875rem;
  line-height: 1;
  font-family: "Helvetica Neue", "Helvetica", sans-serif;
}

@media (max-width: 374px) {
  .HistoryPagenation nav li {
    margin: 0px 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: 7px 0; */
}

.HistoryPagenation nav li.HistoryPageArrowLeft a {
  min-width: 24px;
  border: none;
  font-weight: bold;
}

.HistoryPagenation nav li.HistoryPageArrowRight {
  border: none;
  /* padding: 7px 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: 10px 0;
  color: #fff;
}

.Maintenance h1 {
  width: 100%;
  position: relative;
  font-size: 1.6875rem;
  font-weight: bold;
}

.Maintenance h2 {
  padding: 30px 0 0;
}

.Maintenance p {
  font-size: 0.875rem !important;
  padding: 10px 20px;
}

.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;
}

.InputBody h2 {
  padding-top: 25px !important;
}
.InputBody h2._pt15 {
  padding-top: 15px !important;
}

.InputBodyForm p {
  padding: 5px 0 !important;
}
.InputBodyForm p._pt10 {
  padding-top: 10px !important;
}

.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: 0.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/lemondo-2026cp-1/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: 0.25em;
}

.InputBodyForm dd select.select_age._mini {
  width: 5em;
}

.InputBodyForm dd .wrap_md {
  display: block;
  margin-top: 0.5em;
}

.InputBodyForm dd .wrap_md select.select_age:nth-child(n + 2) {
  margin-left: 0.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: 5px;
  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/lemondo-2026cp-1/images/icon_vol_on.png) no-repeat center
    center;
  background-size: auto 14px;
}

.LowerMovie .MovieVol.MovieVolOff {
  background: #737373 url(https://lsp-campaign.com/lemondo-2026cp-1/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;
}

.prizeListCover {
  margin-top: 30px;
}

.prizeListCover .RadioSelect {
  margin-top: 10px;
}

.prizeListCover .RadioSelect li {
  display: flex;
  align-items: center;
  gap: 0 5px;
  text-align: left;
  font-size: 1.25rem !important;
}

.prizeListCover .RadioSelect li input {
  margin: 0;
}

.prizeList {
  margin-top: 1em;
}

.prizeListItem + .prizeListItem {
  margin-top: 20px;
}

.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: 0.2em;
  padding-bottom: 0.2em;
}

.prizeListItem th {
  padding-right: 0.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: 10px;
  padding-top: 0.5em;
  padding-left: 0.5em;
  padding-bottom: 0.5em;
  width: 100%;
  background: #eee url(https://lsp-campaign.com/lemondo-2026cp-1/images/icon_arrow_select.svg) no-repeat right 10px top
    50%;
  background-size: auto 7px;
  border-radius: 5px;
  font-size: 0.875rem;
  line-height: 1;
  cursor: pointer;
}

@media (max-width: 374px) {
  .prizeListItem select {
    background-size: 14px auto;
    font-size: 0.8125rem;
  }
}

.CautionTxt {
  margin-top: 5px;
  color: #da2129;
  font-size: 0.875rem !important;
  padding: 0 !important;
}

.prizeListItem .btn {
  margin-top: 15px;
  width: auto;
  padding-top: 0.5em;
  padding-bottom: 0.5em;
}

.prizeListItem .btn._disable {
  background-color: #737373;
  pointer-events: none;
}

.prizeListItem .btnGray {
  margin-top: 15px;
  width: auto;
  padding-top: 0.5em;
  padding-bottom: 0.5em;
  background-color: #737373;
  pointer-events: 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 20px;
  font-weight: bold;
}

.fontBk {
  color: #000;
}

.EntryDisplay .EntryDisplayTotal .fontBk {
  color: #000;
}

.EntryDisplay .EntryDisplayTotal > span {
  display: block;
}

.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;
}

.EntryDisplay .RadioSelect .RadioSelectBtn {
  margin: 15px auto;
}

#IndexBody .EntryDisplay .TxtMiddle {
  font-weight: bold;
  margin-bottom: 5px;
  padding-top: 0;
  font-size: 1rem;
}
#IndexBody .EntryDisplay .TxtMiddle + ul {
  margin-bottom: 20px;
  font-size: 0.75rem;
}

#IndexBody .EntryDisplay .TxtBig {
  font-size: 1.3125rem;
  font-weight: bold;
}

.EntryDisplay .EntryDisplayTotal span.EntryTotalNum {
  color: var(--key-color);
  font-weight: bold;
  font-size: 1.5em;
  padding: 0 2px;
  border: 2px solid var(--key-color);
  border-radius: 0.5em;
  margin: 0 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: 0.5em;
}

.EntryDisplay .EntryDisplayList ._item {
  display: flex;
  justify-content: center;
  margin: 0 auto;
  padding: 8px 10px;
}

.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: 0.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: 0.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: 0.875rem;
  text-align: left;
  padding: 0.75em 1em;
  line-height: 1.2;
}

.EntryDisplay .EntryDisplayList ._item ._itemX {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  padding: 0 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: 0.25em;
  font-size: 0.875rem;
  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;
}

.IndexPointNow {
  padding: 0 0 30px;
}

.IndexPointNow._mt30px {
  margin-top: 30px;
}

.IndexPointNow.IndexPointNowEnd {
  padding: 0;
}

.IndexPointNow dt {
  font-size: 1rem;
  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.3125rem;
  line-height: 1;
  position: absolute;
  bottom: 0;
  right: -3.5em;
}

.TxtRedSmall {
  color: #da2129;
  text-align: center;
}

html.ModalOpen {
  overflow-y: hidden;
  position: fixed;
  left: 0;
  width: 100%;
  height: 100%;
}

html.ModalOpen body {
  position: fixed;
  left: 0;
  width: 100%;
}

.ModalCover {
  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: 0.3s 0.2s;
}

.ModalCover .ModalOuter {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  margin: 0 auto;
}

.ModalCover .ModalInner {
  padding: 40px 0;
  width: 100%;
}

@media (min-width: 901px) {
  .ModalCover .ModalInner {
    width: 590px;
  }
}

@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 0.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: 0.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: 0.3s 0.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: 30px;
}

.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 label {
  margin: 0;
  pointer-events: all;
}

.ModalWrap-Age .ModalInner-Age form .AgeWrap .ageNumLabel {
  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/lemondo-2026cp-1/images/icon_arrow_select.svg);
  background-repeat: no-repeat;
  background-position: 90% 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;
  color: var(--txt-color);
}

.ModalWrap-Age .ModalInner-Age form .AgeWrap select option {
  font-size: 20px;
}

.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: 0.3s 0.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: 15px 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: 0.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: 0.2em;
  font-size: 0.8em;
}

#Modal .check20over {
  display: block;
  font-size: 1.25rem;
  padding: 1.5em 0;
}

#Modal .LowerBtn a {
  /* font-size: 0.875rem; */
  color: #000;
}

/* Terms */
.TermsBody {
  display: block;
  padding: 0;
  background: none;
  text-align: justify;
  line-break: strict;
  word-break: break-all;
}

.TermsBody p,
.TermsBody 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 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;
  color: #000;
}

.TermsBody + h2 {
  font-size: 14px;
  padding-top: 15px;
  text-align: left;
}

h2 + .IndexAddress,
h2 + .IndexAddress ul {
  padding-top: 0 !important;
}

h2 + .IndexAddress dt {
  font-size: 12px;
  font-weight: normal;
  padding-top: 7px;
  text-align: left;
}

h2 + .IndexAddress dd {
  font-size: 12px;
  padding: 0;
  text-align: left;
}

h2 + .IndexAddress li {
  padding-top: 3px !important;
  text-align: left;
}

/* 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;
}

.LowerResult .caution__txt {
  margin: 0 auto;
}

.GiftTxt {
  margin: 20px 0 10px;
}

.GiftNum {
  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;
}

.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;
}

.FormCautionBox h2 {
  padding: 0 !important;
}

.FormCautionBox p {
  margin-top: 5px;
  padding: 0 !important;
}

._fw-b {
  font-weight: bold;
}

/* マイページ */
#IndexBody .IndexBodyInner.IndexBodyWh .Register {
  display: block;
  margin: 15px auto 25px;
}

#IndexBody .IndexBodyInner .EntryBtnBox {
  font-weight: bold;
  padding: 0;
  margin-bottom: 15px;
}

#IndexBody .IndexBodyInner.IndexBodyWh .RegisterNum,
#IndexBody .IndexBodyInner.IndexBodyWh .RegisterNum02 {
  box-sizing: border-box;
  color: var(--key-color);
  display: inline-block;
  font-family: "Helvetica Neue", "Helvetica", sans-serif;
  font-weight: bold;
  font-size: 2.625rem;
  line-height: 0.8;
  padding: 15px 30px;
  border: 2px solid var(--key-color);
  border-radius: 10px;
  position: relative;
  min-width: 150px;
}

#IndexBody .IndexBodyInner.IndexBodyWh .RegisterNum::after {
  content: "シール";
  color: var(--key-color);
  font-weight: bold;
  font-size: 1.125rem;
  position: absolute;
  bottom: 0;
  right: -4.5em;
}

#IndexBody .IndexBodyInner.IndexBodyWh .RegisterNum02::after {
  content: "本";
  color: var(--key-color);
  font-weight: bold;
  font-size: 1.3125rem;
  position: absolute;
  bottom: 0;
  right: -1.5em;
}

.BtnLineArrow2 {
  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;
  text-align: center;
}

.BtnLineArrowWh {
  background-image: url(https://lsp-campaign.com/lemondo-2026cp-1/images/icon_arrow_wh.svg);
}

#IndexBody .IndexLimitCaution p {
  font-size: 0.875rem;
  color: #fff;
  font-weight: bold;
}

#IndexBody .IndexLimitCaution {
  background: #da2129;
  padding: 20px 0;
}

#IndexBody .IndexMaintenanceCaution {
  background: #da2129;
  padding: 20px 20px;
}

#IndexBody .IndexMaintenanceCaution p {
  font-size: 15px;
  color: #fff;
  font-weight: bold;
}

#IndexBody .IndexMaintenanceCaution p span {
  font-weight: normal;
  font-size: 14px;
}

#IndexBody .IndexConfirmCaution p {
  font-size: 1.25rem;
  color: #fff;
  font-weight: bold;
}

#IndexBody .IndexConfirmCaution p + p {
  padding-top: 10px;
  font-size: 0.725rem;
  color: #fff;
  font-weight: 400;
}

#IndexBody .IndexConfirmCaution {
  background: #da2129;
  padding: 0 0 20px;
}

.taCenter {
  text-align: center;
}

#IndexBody .TxtRed a {
  color: #da2129;
}

.FontSize {
  font-size: 0.75rem;
}

.ErrorConditionBtn {
  line-height: 1.5;
  padding: 10px 25px 10px 15px;
}

.outline.Under {
  border: 1px solid var(--txt-color);
  border-top: none;
  border-right: none;
  border-left: none;
  padding: 15px 0 15px !important;
  margin: 0 20px 0;
}

.MypageUnder .outline.Under {
  border: none;
}

ol._noIndent li {
  text-indent: 0 !important;
  padding-left: 0 !important;
}

ul._indent li {
  text-indent: -1em !important;
  padding-left: 1em !important;
}

ol._noIndent ul._indent li {
  text-indent: -1em !important;
  padding-left: 1em !important;
}

._p0 {
  padding: 0 !important;
}

._pt5 {
  padding-top: 5px !important;
}

._pt10 {
  padding-top: 10px !important;
}

._pt15 {
  padding-top: 15px !important;
}

._pt20 {
  padding-top: 20px !important;
}

._pt30 {
  padding-top: 30px !important;
}

._pt45 {
  padding-top: 45px !important;
}

._pb0 {
  padding-bottom: 0 !important;
}

._pb15 {
  padding-bottom: 15px !important;
}

._pb45 {
  padding-bottom: 45px !important;
}

._mt10 {
  margin-top: 10px;
}

._mt15 {
  margin-top: 15px !important;
}

._mt20 {
  margin-top: 20px !important;
}

._mt25 {
  margin-top: 25px !important;
}

._mt30 {
  margin-top: 30px !important;
}

._mt40 {
  margin-top: 40px;
}

._mt60 {
  margin-top: 60px;
}

._mb10 {
  margin-bottom: 10px !important;
}

._mb15 {
  margin-bottom: 15px !important;
}

._mb30 {
  margin-bottom: 30px;
}

._alignLeft {
  text-align: left;
}

ul._indent li {
  text-indent: -1em;
  padding-left: 1em;
}

._pl17 {
  padding-left: 1.7em;
}

._pl03 {
  padding-left: 0.3em;
}

._noBorder {
  border: 0 !important;
}

._fz14 {
  font-size: 0.875rem !important;
}

._alignLeft li {
  padding-left: 1em !important;
  text-indent: -1em !important;
}

/*追従ボタン*/
.FixEntryWrap {
  background-color: rgba(255, 255, 255, 0.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;
}

.FixEntry {
  box-sizing: border-box;
  height: 93px;
}

.TermsBody h2:first-of-type {
  padding-top: 0 !important;
}

.IndexDocumentsFaq h2:first-of-type {
  padding-top: 0px !important;
}

ul._indent li._noIndent {
  text-indent: 0 !important;
  padding-left: 0 !important;
}

li._noIndent {
  text-indent: 0 !important;
  padding-left: 0 !important;
}

.RadioSelect li:not(:first-of-type) {
  margin-top: 20px !important;
}

.underLineWh {
  text-decoration: underline;
}

.IndexAddress .underLineWh {
  color: #000 !important;
}

.FormOverflow .IndexAddress .underLineWh {
  color: #fff !important;
}

.TxtBk input[type="file"] {
  color: #000 !important;
}

.InputBodyForm dd.imgPreview img {
  display: block;
  margin: 10px auto 0;
  width: 50%;
}

.TxtWh a.underLineWh {
  color: #fff !important;
}

._caption {
  font-size: 0.75rem;
}

/* 年齢確認モーダル */
.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: 0.3s 0.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: #fff;
  padding: 30px 20px;
}

.ModalWrap-Age .ModalInner-Age form label {
  font-size: 18px;
  font-weight: 700;
  display: block;
  margin-bottom: 30px;
  color: #000;
}

.ModalWrap-Age .ModalInner-Age form p {
  color: #000;
  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 ul li {
  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 !important;
  font-weight: bold;
  letter-spacing: -0.02em;
  line-height: 1;
  text-indent: 0;
}
.ModalWrap-Age .ModalInner-Age form ul li:hover {
  cursor: pointer;
}
.ModalWrap-Age .ModalInner-Age form ul .btn02 {
  margin-top: 12px;
}

html.ModalOpen {
  overflow-y: hidden;
  position: fixed;
  left: 0;
  width: 100%;
  height: 100%;
}

.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: #fff;
  color: #000;
  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/lemondo-2026cp-1/images/icon_arrow_select.svg);
  background-repeat: no-repeat;
  background-position: 90% 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: #000;
}

.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;
}

._pt5 {
  padding-top: 5px !important;
}

._pt25 {
  padding-top: 25px !important;
}

._pb45 {
  padding-bottom: 45px !important;
}

._mb30 {
  margin-bottom: 30px !important;
}

._mt0 {
  margin-top: 0 !important;
}

#LowerBody ._error p:first-of-type {
  padding-top: 25px !important;
}

#LowerBody ._error .LowerBtn {
  padding-top: 25px !important;
}

._pt0 {
  padding-top: 0 !important;
}

#LowerBody ._error p._pt0 {
  padding-top: 0 !important;
}

.InputBodyForm p._pb0 {
  padding-bottom: 0 !important;
}

.noBottomBorder .outline.Under {
  border-bottom: none !important;
}

.FormOverflow .TermsBody a {
  color: var(--txt-color);
}

.TxtBl {
  color: #000 !important;
}

._fz12 {
  font-size: 0.75rem !important;
}

.CpErrorCaution {
  background: #da2129;
  padding: 30px 20px;
}

.CpErrorCaution p {
  font-size: 1rem;
  color: #fff;
}

._txt_normal {
  font-weight: 400 !important;
}

._txt_normal li{
	font-size: 0.75rem;
}

._borcerBtm_keyColor {
  border-bottom: var(--key-color) solid 2px;
}

._pb30 {
  padding-bottom: 30px !important;
}

.getSealBtn {
  background-color: #e6e6e6;
  border-radius: 5px;
  margin-top: 7px;
  padding: 15px;
}

.getSealBtn .BtnLineArrow {
  background-color: #fff;
}

.InputConfirm__num {
  font-size: 1rem;
  font-weight: bold;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 20px auto;
}

.InputConfirm__num__amount {
  border: 2px solid var(--key-color);
  border-radius: 0.5em;
  color: var(--key-color);
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.5em !important;
  margin: 0 0.5em;
  min-width: 60px;
  height: 60px;
}

._itemNameWrap .itemList__seal {
  background-color: var(--key-color);
  color: var(--btn-color);
  display: flex;
  flex-shrink: 0;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-size: 0.7em !important;
  line-height: 1;
  width: 3.5em;
  height: 100%;
  color: #fff;
}

html {
  scroll-behavior: smooth;
}

body {
  background-color: var(--bg-color);
  color: var(--txt-color);
  font-size: 100%;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;
  font-weight: normal;
  line-height: 1.4;
}

img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

a {
  color: var(--txt-color);
  text-decoration: none;
}

li {
  list-style: none;
}

.wrapper {
  font-size: 0.875rem;
  margin: 0 auto;
  width: min(100%, 750px);
}

.Lower .IndexContents {
  padding: 45px 35px;
}

.LowerBtn .CampaignTopBtn {
  margin-top: 30px;
}

.LowerBtn .CampaignTopBtn._mt15 {
  margin-top: 15px;
}

.LowerBtn .CampaignTopBtn._mt25 {
  margin-top: 25px;
}

.Notes {
  color: #da2129;
}

.Footer {
  border-top: 2px solid var(--key-color);
  padding: 15px 0;
}

.Footer p {
  font-size: 0.6875rem;
}

.Footer p.UniqueId {
  border: 1px solid var(--txt-color);
  border-radius: 50px;
  display: inline-block;
  padding: 3px 13px;
}

.Footer p.Copyright {
  margin-top: 15px;
}

.BgWh {
  background-color: #fff;
}

.TitleCaption {
  font-size: 0.9375rem;
  margin-top: 30px;
}

.Bold {
  font-weight: bold;
}

.UnderLine {
  text-decoration: underline;
}

._mt1em {
  margin-top: 1em;
}

._mt15 {
  margin-top: 15px;
}

._mt25 {
  margin-top: 25px;
}

._mt30 {
  margin-top: 30px;
}

._pt15 {
  padding-top: 15px !important;
}

.BtnLineArrow,
.BtnSolidArrow,
.BtnSolidBlank,
.accordion {
  background-size: 16px auto;
  background-position: right 10px top 50%;
  background-repeat: no-repeat;
  border: 2px solid var(--key-color);
  border-radius: 5px;
  display: block;
  font-size: 1.12rem;
  font-weight: bold;
  line-height: 1;
  margin: 0 auto;
  padding: 20px;
  width: 100%;
}

.BtnLineArrow._disabled,
.BtnSolidArrow._disabled,
.BtnSolidBlank._disabled,
.accordion._disabled {
  background-color: #737373 !important;
  border: 1px solid #737373 !important;
  color: #fff !important;
  cursor: default;
  pointer-events: none;
  transition: background-color 0.1s, color 0.1s;
  background-image: url(https://lsp-campaign.com/lemondo-2026cp-1/images/icon_arrow_wh.svg);
}

.BtnLineArrow.BackBtn,
.BtnSolidArrow.BackBtn,
.BtnSolidBlank.BackBtn,
.accordion.BackBtn {
  background-position: left 10px top 50%;
}

.BtnSolidArrow,
.BtnSolidBlank,
.accordion {
  background-color: var(--key-color);
  color: var(--btn-color);
}

.accordion {
  cursor: pointer;
  padding: 15px 20px;
}

.accordion__detail {
  background-color: #e6e6e6;
  border-radius: 5px;
  display: none;
  margin-top: 7px;
  padding: 15px;
}

.accordion__detail dt,
.accordion__detail dd {
  text-align: left;
}

/* -----------------------------------------------------
  bodyタグへのクラス付与によるボタンアイコンの色制御
	--------------------------------------------------- */
body {
  /* -- 色ボタン 固定 --*/
  /* -- 色ボタン黒、背景色ボタン黒 --*/
  /* -- 色ボタン黒、背景色ボタン白 --*/
  /* -- 色ボタン白、背景色ボタン黒 --*/
  /* -- 色ボタン白、背景色ボタン白 --*/
}

body .BtnLineArrow {
  color: #000;
  background-image: url(https://lsp-campaign.com/lemondo-2026cp-1/images/icon_arrow_bk.svg);
}

body.btn_bk.text_bk .BtnSolidArrow {
  background-image: url(https://lsp-campaign.com/lemondo-2026cp-1/images/icon_arrow_bk.svg);
}

body.btn_bk.text_bk .BtnSolidArrow.BackBtn {
  background-image: url(https://lsp-campaign.com/lemondo-2026cp-1/images/icon_arrow_reverse_bk.svg);
}

body.btn_bk.text_bk .BtnSolidArrow._disabled {
  background-image: url(https://lsp-campaign.com/lemondo-2026cp-1/images/icon_arrow_wh.svg);
}

body.btn_bk.text_bk .BtnSolidBlank {
  background-image: url(https://lsp-campaign.com/lemondo-2026cp-1/images/icon_blank_bk.svg);
}

body.btn_bk.text_bk .BtnSolidBlank._disabled {
  background-image: url(https://lsp-campaign.com/lemondo-2026cp-1/images/icon_blank_wh.svg);
}

body.btn_bk.text_bk .accordion {
  background-image: url(https://lsp-campaign.com/lemondo-2026cp-1/images/icon_plus_bk.svg);
}

body.btn_bk.text_bk .accordion.QuestionClose {
  background-image: url(https://lsp-campaign.com/lemondo-2026cp-1/images/icon_minus_bk.svg);
}

body.btn_bk.text_bk .BtnLineArrow.btn-bgcolor {
  background-image: url(https://lsp-campaign.com/lemondo-2026cp-1/images/icon_arrow_bk.svg);
}

body.btn_bk.text_bk .BtnLineArrow.btn-bgcolor.BackBtn {
  background-image: url(https://lsp-campaign.com/lemondo-2026cp-1/images/icon_arrow_reverse_bk.svg);
}

body.btn_bk.text_wh .BtnSolidArrow {
  background-image: url(https://lsp-campaign.com/lemondo-2026cp-1/images/icon_arrow_bk.svg);
}

body.btn_bk.text_wh .BtnSolidArrow.BackBtn {
  background-image: url(https://lsp-campaign.com/lemondo-2026cp-1/images/icon_arrow_reverse_bk.svg);
}

body.btn_bk.text_wh .BtnSolidArrow._disabled {
  background-image: url(https://lsp-campaign.com/lemondo-2026cp-1/images/icon_arrow_wh.svg);
}

body.btn_bk.text_wh .BtnSolidBlank {
  background-image: url(https://lsp-campaign.com/lemondo-2026cp-1/images/icon_blank_bk.svg);
}

body.btn_bk.text_wh .BtnSolidBlank._disabled {
  background-image: url(https://lsp-campaign.com/lemondo-2026cp-1/images/icon_blank_wh.svg);
}

body.btn_bk.text_wh .accordion {
  background-image: url(https://lsp-campaign.com/lemondo-2026cp-1/images/icon_plus_bk.svg);
}

body.btn_bk.text_wh .accordion.QuestionClose {
  background-image: url(https://lsp-campaign.com/lemondo-2026cp-1/images/icon_minus_bk.svg);
}

body.btn_bk.text_wh .BtnLineArrow.btn-bgcolor {
  color: #fff;
  background-image: url(https://lsp-campaign.com/lemondo-2026cp-1/images/icon_arrow_wh.svg);
}

body.btn_bk.text_wh .BtnLineArrow.btn-bgcolor.BackBtn {
  background-image: url(https://lsp-campaign.com/lemondo-2026cp-1/images/icon_arrow_reverse_wh.svg);
}

body.btn_wh.text_bk .BtnSolidArrow {
  background-image: url(https://lsp-campaign.com/lemondo-2026cp-1/images/icon_arrow_wh.svg);
}

body.btn_wh.text_bk .BtnSolidArrow.BackBtn {
  background-image: url(https://lsp-campaign.com/lemondo-2026cp-1/images/icon_arrow_reverse_wh.svg);
}

body.btn_wh.text_bk .BtnSolidBlank {
  background-image: url(https://lsp-campaign.com/lemondo-2026cp-1/images/icon_blank_wh.svg);
}

body.btn_wh.text_bk .accordion {
  background-image: url(https://lsp-campaign.com/lemondo-2026cp-1/images/icon_plus_wh.svg);
}

body.btn_wh.text_bk .accordion.QuestionClose {
  background-image: url(https://lsp-campaign.com/lemondo-2026cp-1/images/icon_minus_wh.svg);
}

body.btn_wh.text_bk .BtnLineArrow.btn-bgcolor {
  background-image: url(https://lsp-campaign.com/lemondo-2026cp-1/images/icon_arrow_bk.svg);
}

body.btn_wh.text_bk .BtnLineArrow.btn-bgcolor.BackBtn {
  background-image: url(https://lsp-campaign.com/lemondo-2026cp-1/images/icon_arrow_reverse_bk.svg);
}

body.btn_wh.text_wh .BtnSolidArrow {
  background-image: url(https://lsp-campaign.com/lemondo-2026cp-1/images/icon_arrow_wh.svg);
}

body.btn_wh.text_wh .BtnSolidArrow.BackBtn {
  background-image: url(https://lsp-campaign.com/lemondo-2026cp-1/images/icon_arrow_reverse_wh.svg);
}

body.btn_wh.text_wh .BtnSolidBlank {
  background-image: url(https://lsp-campaign.com/lemondo-2026cp-1/images/icon_blank_wh.svg);
}

body.btn_wh.text_wh .accordion {
  background-image: url(https://lsp-campaign.com/lemondo-2026cp-1/images/icon_plus_wh.svg);
}

body.btn_wh.text_wh .accordion.QuestionClose {
  background-image: url(https://lsp-campaign.com/lemondo-2026cp-1/images/icon_minus_wh.svg);
}

body.btn_wh.text_wh .BtnLineArrow.btn-bgcolor {
  color: #fff;
  background-image: url(https://lsp-campaign.com/lemondo-2026cp-1/images/icon_arrow_wh.svg);
}

body.btn_wh.text_wh .BtnLineArrow.btn-bgcolor.BackBtn {
  background-image: url(https://lsp-campaign.com/lemondo-2026cp-1/images/icon_arrow_reverse_wh.svg);
}

.BtnSolidArrow._disabled {
  cursor: default;
  pointer-events: none;
}

.BtnSolidArrow:not(._disabled) {
  cursor: pointer;
}

.Modal {
  background-color: rgba(0, 0, 0, 0.6);
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2;
  display: none;
  justify-content: center;
  align-items: center;
}

.ModalContents {
  background-color: #fff;
  border-radius: 5px;
  padding: 30px 20px;
  width: calc(100% - 60px);
  max-width: 530px;
  position: relative;
  color: #000;
}

.ModalContentsGet {
  color: var(--key-color);
  font-size: 1.12rem;
  font-weight: bold;
  margin: 55px auto;
}

.ModalContentsClose {
  background-color: #000;
  border: 2px solid #fff;
  border-radius: 50px;
  box-shadow: 0 1px 2px 1px rgba(0, 0, 0, 0.5);
  cursor: pointer;
  width: 28px;
  height: 28px;
  z-index: 3;
  position: absolute;
  top: -11px;
  right: -11px;
}

.ModalContentsClose::before,
.ModalContentsClose::after {
  background-color: #fff;
  content: "";
  display: block;
  width: 12px;
  height: 2px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate3d(-50%, -50%, 0) rotate(45deg);
}

.ModalContentsClose::after {
  transform: translate3d(-50%, -50%, 0) rotate(-45deg);
}

.ageCheck__intro {
  font-size: 0.875rem;
}

.ageCheck__question {
  font-size: 1.25rem;
  font-weight: bold;
  margin: 30px auto;
}

.ageCheck li + li {
  margin-top: 15px;
}

.BtnSolidBlank02,
.BtnLineArrow.BtnActive,
.BtnActive.BtnLineReverse,
.BtnActive.BtnLineQr,
.BtnActive.BtnLineArrowBk,
.InputBodyForm .LowerBtn .BtnActive.BtnLineArrowBk,
input.BtnSolidArrow.BtnActive,
input.BtnActive.BtnSolidBlank,
input.BtnActive.BtnSolidPlus,
input.BtnActive.BtnSolidMinus,
input.BtnActive.BtnSolidArrowGray,
.BtnSolidArrow.BtnActive .BtnActive.btnGray,
.BtnSolidArrow.BtnActive .BtnActive.btn,
.BtnActive.BtnSolidBlank .BtnActive.btnGray,
.BtnActive.BtnSolidBlank .BtnActive.btn,
.BtnActive.BtnSolidPlus .BtnActive.btnGray,
.BtnActive.BtnSolidPlus .BtnActive.btn,
.BtnActive.BtnSolidMinus .BtnActive.btnGray,
.BtnActive.BtnSolidMinus .BtnActive.btn,
.BtnActive.BtnSolidArrowGray .BtnActive.btnGray,
.BtnActive.BtnSolidArrowGray .BtnActive.btn,
.prizeListItem .BtnActive.btnGray,
.prizeListItem .BtnActive.btn {
  position: relative;
  overflow: hidden;
}

.BtnSolidArrow,
.BtnSolidBlank,
.BtnSolidPlus,
.BtnSolidMinus,
.BtnSolidArrowGray,
.BtnLineArrow,
.BtnLineReverse,
.BtnLineQr,
.BtnLineArrowBk,
.InputBodyForm .LowerBtn .BtnLineArrowBk,
input.BtnSolidArrow,
input.BtnSolidBlank,
input.BtnSolidPlus,
input.BtnSolidMinus,
input.BtnSolidArrowGray {
  position: relative;
  overflow: hidden;
}

.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;
}

.BtnLineArrowBk {
  color: #000;
}

.BtnLineArrowBk {
  background-image: var(--btn-line-icon-arrow-bk);
}

.BtnSolidArrow.BtnActive::before,
.BtnActive.BtnSolidBlank::before,
.BtnActive.BtnSolidPlus::before,
.BtnActive.BtnSolidMinus::before,
.BtnActive.BtnSolidArrowGray::before {
  content: "";
  position: absolute;
  display: block;
  width: 60px;
  height: 60px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #fff;
  animation: btnActiveMove 0.6s ease-out forwards;
  border-radius: 500px;
  opacity: 0;
  z-index: 1;
}

.BtnLineArrow.BtnActive::before,
.BtnActive.BtnLineReverse::before,
.BtnActive.BtnLineQr::before,
.BtnActive.BtnLineArrowBk::before,
.BtnSolidBlank02::before,
.InputBodyForm .LowerBtn .BtnActive.BtnLineArrowBk::before {
  content: "";
  position: absolute;
  display: block;
  width: 60px;
  height: 60px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: var(--key-color);
  animation: btnActiveMove 0.6s ease-out forwards;
  border-radius: 500px;
  opacity: 0;
  z-index: 1;
}

.prizeListItem .BtnActive.btnGray::after,
.prizeListItem .BtnActive.btn::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: var(--key-color);
  animation: btnActiveMove 0.6s ease-out forwards;
  border-radius: 500px;
  opacity: 0;
  z-index: 1;
}

input.BtnSolidArrow.BtnActive::after,
input.BtnActive.BtnSolidBlank::after,
input.BtnActive.BtnSolidPlus::after,
input.BtnActive.BtnSolidMinus::after,
input.BtnActive.BtnSolidArrowGray::after {
  content: "";
  position: absolute;
  display: block;
  width: 60px;
  height: 60px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: var(--key-color);
  animation: btnActiveMove 0.6s ease-out forwards;
  border-radius: 500px;
  opacity: 0;
  z-index: 1;
}

.BtnSolidArrowGray,
.prizeListItem .btnGray,
.BtnSolidArrowGray.nonArrow {
  pointer-events: none;
}

.BtnSolidPlus,
.BtnSolidMinus {
  padding: 15px;
}

.RecieptRegisterBtn {
  padding: 10px 20px;
  line-height: 1.2;
  margin: 0 auto;
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: auto;
  background-color: var(--key-color);
  border-radius: 5px;
  font-size: 1.12rem;
  font-weight: bold;
  letter-spacing: -0.02em;
}

.BtnLineArrow,
.BtnLineReverse,
.BtnLineQr,
.BtnLineArrowBk,
.InputBodyForm .LowerBtn .BtnLineArrowBk,
.RegisterBtn-js {
  margin: 0 auto;
  padding: 20px 26px 20px 26px;
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: auto;
  border: 2px solid var(--key-color);
  border-radius: 5px;
  font-size: 1.12rem;
  font-weight: bold;
  letter-spacing: -0.02em;
  line-height: 1;
}

@keyframes btnActiveMove {
  0% {
    transform: translate(-50%, -50%) scale(0);
    opacity: 1;
  }
  100% {
    transform: translate(-50%, -50%) scale(10);
    opacity: 0;
  }
}
.BtnMove {
  background: var(--bg-color);
  position: fixed;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  animation: bodyActiveMove 0.4s cubic-bezier(0.22, 1, 0.36, 1) forwards;
  z-index: 9999;
}

.BtnMoveRev {
  background: var(--bg-color);
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  animation: bodyActiveMove 0.4s cubic-bezier(0.22, 1, 0.36, 1) forwards;
  z-index: 9999;
}

@keyframes bodyActiveMove {
  0% {
    width: 0;
  }
  100% {
    width: 100%;
  }
}
.AnchorTerms {
  font-size: 0.6875rem;
  margin: 0 0 10px;
}

.AnchorTerms a {
  text-decoration: underline;
}

.Outline {
  font-size: 0.75rem;
  padding: 20px;
}

.IndexKvEntry {
  padding: 15px 35px 30px;
}

.IndexKv.Teaser .Attention {
  background-color: transparent;
  color: var(--txt-color);
  padding: 20px 0 10px;
}

.IndexKv.Teaser .Attention h2 {
  font-size: 1.25rem;
}

.IndexKv.Teaser .Outline {
  border: none;
}

.Attention {
  background-color: #da2129;
  color: #fff;
  padding: 20px;
}

.Attention h2 {
  font-size: 1rem;
}

.Attention p {
  font-size: 0.75rem;
}

.Attention p:not(:first-child) {
  margin-top: 15px;
}

.Attention p + h2 {
  margin-top: 15px;
}

.Attention.EndCampaign {
  padding: 30px 20px;
}

.Attention.EndCampaign h2 {
  font-size: 1.25rem;
}

.IndexContents {
  border-top: 1px solid var(--key-color);
  padding: 30px 35px;
}

.IndexContents.Fixed-color {
  background-color: #fff;
  color: #000;
}

.IndexContents.Fixed-color h2.UnderArrow {
  border-bottom: 2px solid #000;
}

.IndexContents.Fixed-color h2.UnderArrow::after {
  background-color: #fff;
  border-left: 2px solid #000;
  border-bottom: 2px solid #000;
}

.IndexContents h2 {
  font-size: 1.6875rem;
  font-weight: bold;
  margin-bottom: 15px;
}

.IndexContents h2.UnderArrow {
  border-bottom: 2px solid var(--txt-color);
  padding-bottom: 10px;
  position: relative;
}

.IndexContents h2.UnderArrow::after {
  content: "";
  display: block;
  height: 15px;
  width: 15px;
  background-color: var(--bg-color);
  border-left: 2px solid var(--txt-color);
  border-bottom: 2px solid var(--txt-color);
  position: absolute;
  bottom: -10px;
  left: 50%;
  transform: translate3d(-50%, 0, 0) rotate(-45deg);
}

.IndexContents .Caption {
  margin-top: 5px;
}

.IndexContents .Caption li {
  font-size: 0.75rem;
  text-align: left;
  text-indent: -1em;
  padding-left: 1em;
}

.IndexContents .Caption p {
  font-size: 0.75rem;
  text-align: left;
}

.days {
  font-size: 0.875rem;
  font-weight: bold;
  margin: 0 20px;
}

.days dl {
  border-bottom: 1px solid var(--txt-color);
  padding: 15px 0;
}

.days dl:first-of-type {
  padding-top: 20px;
}

.days p,
.days li {
  font-size: 0.75rem;
  font-weight: normal;
}

.days + .Outline {
  border-bottom: 1px solid var(--txt-color);
  margin: 0 20px;
}

.NowSealPointNum {
  border: 2px solid var(--key-color);
  border-radius: 10px;
  color: var(--key-color);
  background-color: #fff;
  display: inline-block;
  font-family: "Helvetica Neue", "Helvetica", sans-serif;
  font-size: 2.625rem;
  font-weight: bold;
  line-height: 1;
  min-width: 150px;
  padding: 10px 30px;
  position: relative;
  box-sizing: border-box;
}

.NowSealPointNum::after {
  color: var(--key-color);
  content: "シール";
  font-size: 1.25rem;
  position: absolute;
  bottom: 0;
  right: -3.5em;
}

.NowSealPoint._amount .NowSealPointNum::after {
  content: "円";
  right: -1.5em;
}

.NowSealBtn {
  margin-top: 25px;
}

.GetSeal p {
  font-size: 0.9375rem;
  margin-top: 30px;
}

.GetSeal p + p {
  margin-top: 15px;
}

.GetSealBtn {
  margin-top: 20px;
}

.GetSealBtn .BtnLineArrow {
  color: #000;
  /* 色は固定 */
}

.GetSealBtn dt {
  background-color: var(--key-color);
  border: 2px solid var(--key-color);
  border-radius: 5px;
  color: var(--btn-color);
  display: block;
  font-size: 1.12rem;
  font-weight: bold;
  line-height: 1;
  margin: 0 auto;
  padding: 18px 20px;
}

.GetSealBtn dd {
  background-color: #e6e6e6;
  border-radius: 5px;
  margin-top: 7px;
  padding: 15px;
}

.GetSealBtn li + li {
  margin-top: 15px;
}

.GetSealBtn .BtnLineArrow {
  background-color: #fff;
}

.TargetImg {
  margin: 30px auto 0;
}

.PrizeName {
  margin: 30px auto 15px;
  text-align: center;
}

.PrizeName span {
  font-size: 1.25rem;
  font-weight: bold;
  position: relative;
  display: inline-block;
  padding: 0 1.5em;
}

.PrizeName span::before,
.PrizeName span::after {
  background-color: var(--txt-color);
  border-radius: 50%;
  content: "";
  display: block;
  height: 9px;
  width: 9px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.PrizeName span::before {
  left: 0;
}

.PrizeName span::after {
  right: 0;
}

.PrizeName .PoinTit {
  display: inline-block;
}

.HowtoEntry {
  background-color: #fff;
  color: #000;
}

.HowtoEntryImg {
  margin-top: 30px;
}

.HowtoEntry h2.UnderArrow {
  border-bottom: 2px solid #000;
}

.HowtoEntry h2.UnderArrow::after {
  background-color: #fff;
  border-left: 2px solid #000;
  border-bottom: 2px solid #000;
}

.History li + li {
  margin-top: 15px;
}

.TermsContents * {
  text-align: left;
}

.TermsContents .Inquiry {
  margin: 0;
}

.TermsContents .Inquiry dl {
  justify-content: flex-start;
}

.TermsContents .Inquiry dt {
  flex-shrink: 0;
}

.TermsContents .Inquiry p:last-child {
  padding-left: 1em;
  text-indent: -1em;
}

.TermsContents dt,
.TermsContents dd {
  color: #000;
  /* 色は固定 */
}

.TermsContents a {
  color: #000;
  text-decoration: underline;
  /* 色は固定 */
}

.TermsBody {
  /* 色は固定 */
}

.TermsBody :first-child {
  padding-top: 0px;
}

.TermsBody p {
  font-size: 0.75rem;
  letter-spacing: -0.02em;
  padding-top: 7px;
}

.TermsBody h2 {
  font-size: 0.875rem;
  letter-spacing: -0.02em;
  text-align: left;
  font-weight: bold;
  padding-top: 15px;
  margin-bottom: 0;
}

.TermsBody ul {
  list-style: none;
  padding-top: 7px;
}

.TermsBody li {
  font-size: 0.75rem;
  letter-spacing: -0.02em;
  padding-left: 1em;
  padding-top: 3px;
  text-indent: -1em;
}

.txt_bk {
  color: #000;
  /* 色は固定 */
}

.Question {
  color: #000;
  margin-top: 15px;
}

.QuestionContents dt,
.QuestionContents dd {
  color: #000;
  /* 色は固定 */
}

.QuestionContents a {
  color: #000;
  text-decoration: underline;
  /* 色は固定 */
}

.Question p {
  font-size: 0.75rem;
  letter-spacing: -0.02em;
  padding-top: 10px;
  text-align: left;
}

.Question h2:first-child {
  padding-top: 0px;
}

.Question h2 {
  font-size: 0.875rem;
  text-align: left;
  font-weight: bold;
  padding-top: 15px;
  margin-bottom: 0;
}

.Question ul {
  list-style: none;
  padding-top: 7px;
}

.Question li {
  font-size: 0.75rem;
  letter-spacing: -0.02em;
  padding-top: 3px;
  padding-left: 1em;
  text-indent: -1em;
  text-align: left;
}

.EntrySelect p {
  margin-top: 25px;
}

.EntrySelect p._mt30 {
  margin-top: 30px;
}

.EntrySelect .EntryList li {
  margin-top: 15px;
}

.EntrySelect .EntryList li + li {
  margin-top: 30px;
}

.EntrySelect .EntryList li h3 {
	position: relative;
	font-size: 1.25rem;
	line-height: 1.4;
	font-weight: 700;
}

.EntrySelect .EntryList li h3 .PointTit {
	margin-right: 28px;
	margin-left: 28px;
	padding-right: 10px;
	padding-left: 10px;
	font-size: 1.12rem;
	font-weight: bold;
	line-height: 1.2;
	display: inline-block;
	position: relative;
}

.EntrySelect .EntryList li h3 .PointTit::after,
.EntrySelect .EntryList li h3 .PointTit::before {
  content: "";
  display: block;
  width: 9px;
  height: 9px;
  background: var(--txt-color);
  border-radius: 500px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.EntrySelect .EntryList li h3 .PointTit::before {
  left: -15px;
}

.EntrySelect .EntryList li h3 .PointTit::after {
  right: -15px;
}

.EntrySelect .EntryList li .EntryListBox{
  color: #000;
  background-color: #fff;
  border: 1px solid var(--border-color);
  border-radius: 5px;
	margin-top: 15px;
  padding: 15px 10px;
}

.EntrySelect .EntryList li .EntryListBox .EntryListBoxBtn {
  margin-top: 15px;
}

.EntrySelect .EntryList li .EntryListBox .EntryListBoxBtn a {
  padding: 0.5em 0;
}

.EntrySelect .NowSeal {
  margin-top: 30px;
}

.EntrySelect .NowSealPointNum {
  margin-top: 0;
}

.EntrySelect .NowSeal h2 {
  font-size: 1.25rem;
}

.EntryConfirmRegister {
  margin: 25px auto;
}

.EntryConfirmRegister li + li {
  margin-top: 15px;
}

.EntryConfirmRegister .InputImage {
  font-size: 1.12rem;
  padding: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.EntryConfirmRegister .Notes {
  margin-top: 10px;
}

.EntryConfirmRegister .Notes p {
  text-align: center;
  font-size: 0.75rem;
}

.EntryConfirmRegister .Notes li {
  padding-left: 1em;
  text-indent: -1em;
}

.EntryConfirm .PrizeName {
  margin: 15px auto;
}

.EntryConfirm figcaption {
  margin-top: 10px;
}

.EntryConfirm figcaption p,
.EntryConfirm figcaption li {
  font-size: 0.75rem;
  text-align: left;
}

.EntryConfirm figcaption li {
  padding-left: 1em;
  text-indent: -1em;
}

.EntryConfirm .Point {
  margin: 15px auto 25px;
}

.EntryConfirm .PointRequired {
  border: 2px solid var(--key-color);
  color: var(--key-color);
  border-radius: 5px;
  padding: 10px 2px;
  font-size: 1rem;
  font-weight: bold;
}

.EntryConfirm .PointAfter {
  margin: 10px 0 0;
  font-size: 0.9375rem;
}

.EntryConfirm._fin .PrizeName {
  margin: 15px auto 10px;
}

.EntryConfirm._fin ul {
  margin-bottom: 15px;
}

.EntryConfirm._fin li {
  font-size: 0.75rem;
  text-align: left;
  padding-left: 1em;
  text-indent: -1em;
}

.EntryConfirm._fin p {
  font-size: 0.9375rem;
}

.EntryConfirm._fin .LowerBtn {
  margin-top: 25px;
}

.EntryConfirm._fin .LowerBtn li {
  padding-left: 0;
  text-indent: 0;
}

.EntryConfirm .BtnLineArrow:not(.BackBtn) {
  background-image: url(https://lsp-campaign.com/lemondo-2026cp-1/images/icon_arrow_wh.svg);
}

.Amount__radio {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 20px auto 10px;
}

.Amount__input {
  margin: 0 auto;
  position: relative;
  width: calc(100% - 4em);
}

.Amount__input::after {
  color: var(--txt-color);
  content: "円";
  font-size: 0.9375rem;
  display: block;
  position: absolute;
  bottom: 0;
  right: -1.5em;
}

.Amount__input .amountPrice {
  background: #eee;
  border: 1px solid #e8e8e8;
  border-radius: 10px;
  box-sizing: border-box;
  color: #000;
  display: block;
  font-family: "Helvetica Neue", "Helvetica", sans-serif;
  font-size: 2em;
  font-weight: bold;
  line-height: 1;
  padding: 0.5em 1em;
  text-align: center;
  width: 100%;
  -moz-appearance: textfield;
}

.Amount__input .amountPrice::-webkit-outer-spin-button,
.Amount__input .amountPrice::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.Amount__input .amountPrice._disabled {
  background-color: #737373;
  pointer-events: none;
}

.Amount__output {
  margin: 20px auto 0;
}

.Amount__output dl {
  border: 1px solid var(--key-color);
  border-radius: 5px;
  display: flex;
  font-size: 0.9375rem;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}

.Amount__output dl + dl {
  margin-top: 5px;
}

.Amount__output dt {
  background-color: var(--key-color);
  color: var(--btn-color);
  font-weight: bold;
  padding: 0.5em 1em;
  width: 50%;
}

.Amount__output dd {
  padding: 0.5em 0.5em 0.5em 1em;
  text-align: right;
  width: 50%;
  background-color: #fff;
}

.Amount__output dd .yen {
  display: inline-block;
  font-size: 0.8em;
  margin-left: 0.7em;
}

.Amount__notes {
  border: 1px solid var(--txt-color);
  padding: 30px 20px;
  margin: 25px auto;
}

.Amount__notes dt {
  font-size: 1.12rem;
  font-weight: bold;
}

.Amount__notes dt + dd {
  margin: 15px auto;
}

.Amount__notes dd {
  font-size: 0.9375rem;
  font-weight: bold;
}

.Amount__notes dd li {
  font-size: 0.75rem;
  font-weight: normal;
  padding-left: 1em;
  text-indent: -1em;
  text-align: left;
}

.Amount .amountModal__price + ul {
  margin-top: 20px;
}

.Amount .amountModal h2 {
  font-size: 1.25rem;
}

.Amount .amountModal p {
  font-size: 1.12rem;
  font-weight: bold;
  margin: 20px auto;
}

.Amount .amountModal dl {
  background-color: #eee;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.12rem;
  font-weight: bold;
  padding: 0.5em 1em;
}

.Amount .amountModal dl + dl {
  margin-top: 10px;
}

.Amount .amountModal dt {
  width: 40%;
}

.Amount .amountModal dd {
  background-color: #fff;
  padding: 0.5em 1em;
  text-align: right;
  width: 60%;
}

.Amount .amountModal dd .yen {
  display: inline-block;
  font-size: 0.8em;
  margin-left: 0.7em;
}

.Amount label {
  font-size: 1.12rem;
  padding-left: 1em;
  text-indent: -1em;
}

.Amount input[type="radio"] {
  background-color: #eee;
  border: 1px solid #e8e8e8;
  border-radius: 50px;
  display: inline-block;
  width: 14px;
  height: 14px;
  position: relative;
}

.Amount input[type="radio"]:checked::after {
  background-color: #000;
  border-radius: 50px;
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate3d(-50%, -50%, 0);
}

.WinNotes {
  border: 1px solid var(--txt-color);
  font-size: 0.75rem;
  padding: 20px 15px;
}

.WinNotes dt,
.WinNotes dd,
.WinNotes li,
.WinNotes h2,
.WinNotes p,
.WinNotes dl {
  text-align: left;
}

.WinNotes dt {
  font-size: 0.875rem;
  font-weight: bold;
}

.WinNotes dd {
  margin-top: 5px;
}

.WinNotes dd + dt {
  margin-top: 20px;
}

.WinNotes li {
  padding-left: 1em;
  text-indent: -1em;
}

.WinNotes a {
  text-decoration: underline;
}

.WinNotes .Inquiry {
  font-size: 0.75rem;
  margin-top: 20px;
  color: var(--txt-color);
}

.WinNotes .Inquiry h2 {
  font-size: 0.875rem;
}

.WinNotes .Inquiry h2 + p {
  font-size: 0.75rem;
  margin-top: 5px;
}

.WinNotes .Inquiry p,
.WinNotes .Inquiry dl {
  display: block;
  margin: 0;
}

.WinNotes .Inquiry dt {
  font-size: 0.75rem;
  font-weight: normal;
  flex-shrink: 0;
}

.WinNotes .Inquiry dt,
.WinNotes .Inquiry dd {
  display: inline;
}

.WinNotes .Inquiry small {
  display: block;
  font-size: 0.75rem;
  padding-left: 1em;
  text-indent: -1em;
  text-align: left;
}

.Win .GiftCode dt {
  margin: 15px 0 10px;
}

.Win .GiftCode dd {
  border: 2px solid #e6e6e6;
  border-radius: 5px;
  padding: 5px 0;
  font-size: 1.25rem;
  font-weight: bold;
}

.Win .GiftCode + .BtnSolidArrow {
  margin: 10px auto 25px;
}

.Win .PrizeName {
  margin: 15px auto 10px;
}

.Win p {
  font-size: 0.9375rem;
}

.Win p + p {
  margin-top: 15px;
}

.Win .BtnSolidArrow {
  margin: 15px auto;
}

.Lose h2 {
  margin-bottom: 25px;
}

.Lose p {
  font-size: 0.9375rem;
}

.LoadingTitle {
  font-size: 1.6875rem;
  font-weight: bold;
}

.LoadingImg {
  margin: 20px auto 10px;
  width: 100px;
}

.LoadingTxt {
  font-size: 0.75rem;
}

.LoadingTxt + p {
  font-size: 0.9375rem;
  margin-top: 20px;
}

.PageLoadOverlay {
  background: var(--bg-color);
  position: fixed;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
}

.HistoryBody {
  margin-top: 30px;
}

.HistoryBody table {
  border: 1px solid var(--border-color);
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 5px;
  color: var(--txt-color);
  font-size: 0.8125rem;
  width: 100%;
}

.HistoryBody table + table {
  margin-top: 10px;
}

.HistoryBody tr:first-child th,
.HistoryBody tr:first-child td {
  border: none;
}

.HistoryBody th,
.HistoryBody td {
  border-top: 1px solid var(--border-color);
  color: #000;
}

.HistoryBody th {
  background-color: #ccc;
  font-weight: normal;
  padding: 10px 3px;
  text-align: center;
  width: 84px;
}

.HistoryBody th.left-up {
  border-top-left-radius: 4px;
}

.HistoryBody th.left-bottom {
  border-bottom-left-radius: 4px;
}

.HistoryBody td {
  padding: 10px;
  text-align: left;
  background-color: #fff;
}

.HistoryBody td.right-up {
  border-top-right-radius: 4px;
}

.HistoryBody td.right-bottom {
  border-bottom-right-radius: 4px;
}

.HistoryWait span,
.HistoryWin span {
  font-size: 0.9375rem;
  font-weight: bold;
}

.HistoryWait a,
.HistoryWin a {
  color: var(--key-color);
  text-decoration: underline;
}

.HistoryWait a.LinkBk,
.HistoryWin a.LinkBk {
  color: #000;
  /* 色は固定 */
}

.HistoryWin {
  color: var(--key-color);
}

.HistoryPageNation {
  font-size: 0.75rem;
}

.HistoryPageNation > div {
  margin: 10px auto;
}

.HistoryPageNation ul {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 10px;
}

.HistoryPageNation li {
  line-height: 1;
}

.HistoryPageNation li:not(.HistoryPageArrowLeft):not(.HistoryPageArrowRight) a {
  border: 1px solid var(--txt-color);
  border-radius: 5px;
  color: var(--txt-color);
  display: block;
  min-width: 32px;
}

.HistoryPageNation li.HistoryPageArrowLeft a,
.HistoryPageNation li.HistoryPageArrowRight a {
  font-weight: bold;
}

.HistoryPageNation li a {
  font-family: "Helvetica Neue", "Helvetica", sans-serif;
  padding: 7px 5px;
}

.HistoryPageNation li span {
  background-color: var(--key-color);
  border: 1px solid var(--key-color);
  border-radius: 5px;
  color: var(--btn-color);
  display: block;
  font-family: "Helvetica Neue", "Helvetica", sans-serif;
  padding: 7px 5px;
  min-width: 32px;
}

.Inquiry {
  font-size: 0.8125rem;
  margin-top: 30px;
  color: #000;
}

.Inquiry h2 {
  font-size: 0.8125rem;
  font-weight: bold;
  margin-top: 7px;
  margin-bottom: 0;
}

.Inquiry .IndexAddress {
  padding-top: 30px 0 0;
  font-size: 0.8125rem;
}

.Inquiry .IndexAddress dt {
  padding-top: 7px;
  line-height: 1.2;
  font-weight: bold;
  text-align: center;
}

.Inquiry .IndexAddress dd {
  padding-top: 7px;
}

.Inquiry .IndexAddress ul li {
  padding-top: 7px;
  letter-spacing: -0.02em !important;
}

.Inquiry .IndexAddress ul li:first-child {
  padding-top: 0;
}

.Inquiry dl {
  margin-top: 7px;
}

.Inquiry p {
  margin-top: 7px;
}

.Inquiry a {
  color: #000;
  /* 色は固定 */
}

.Error {
  color: #000;
}

.ErrorCaption ul {
  font-size: 0.75rem;
}

.ErrorCaption li {
  padding-left: 1em;
  text-indent: -1em;
  text-align: left;
}

.Error h2 {
  font-size: 1.6875rem;
  font-weight: bold;
  margin-bottom: 25px;
}

.Error p {
  font-size: 0.9375rem;
}

.Error .BtnLineArrow {
  color: #000;
}

.Error .UnderLine {
  color: #000;
}

.Error .toTerms a {
  font-size: 1rem;
}

.Error .Inquiry h2 {
  font-size: 0.8125rem;
  margin-bottom: 0;
}

.Error .Inquiry p {
  font-size: 0.8125rem;
}

.Error .InputImage._ec {
  font-size: 1rem;
  padding: 13px 20px;
}

#LowerBody {
  padding: 45px 35px 45px;
  width: 100%;
  max-width: 750px;
  margin: 0 auto;
  box-sizing: border-box;
}

#LowerBody p {
  padding: 15px 0 0;
  font-size: 0.9375rem;
}

#LowerBody p.error {
  padding: 25px 0 0;
}

.LowerBodyWh {
  background: #fff;
  color: #000;
}

.LowerBodyBk {
  background: #000;
  color: #fff;
}

.contact input[type="radio"] {
  background-color: #eee;
  border: 1px solid #e8e8e8;
  border-radius: 50px;
  display: inline-block;
  width: 14px;
  height: 14px;
  position: relative;
}

.contact input[type="radio"]:checked::after {
  background-color: #000;
  border-radius: 50px;
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate3d(-50%, -50%, 0);
}

.contact input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  background-color: transparent;
  border: 1px solid #666;
  border-radius: 2px;
  display: inline-block;
  width: 14px;
  height: 14px;
  vertical-align: middle;
  position: relative;
}

.contact input[type="checkbox"]:checked::before,
.contact input[type="checkbox"]:checked::after {
  background-color: #fff;
  content: "";
  display: block;
  position: absolute;
}

.contact input[type="checkbox"]:checked::before {
  top: 6px;
  left: 1px;
  width: 5px;
  height: 2px;
  transform: rotate(45deg);
}

.contact input[type="checkbox"]:checked::after {
  right: 4px;
  bottom: 2px;
  width: 2px;
  height: 8px;
  transform: rotate(40deg);
}

.contact
  dl:not(:first-child):not(.contact__terms dl):not(.contact__inquiry dl) {
  margin-top: 15px;
}

.contact dt,
.contact dd {
  text-align: left;
}

.contact dt:not(.contact__terms dt):not(.contact__inquiry dt) {
  font-size: 0.875rem;
  font-weight: bold;
}

.contact dt:not(.contact__terms dt):not(.contact__inquiry dt) span {
  background: #ff0000;
  border-radius: 3px;
  color: #fff;
  display: inline-block;
  font-size: 0.75rem;
  font-weight: bold;
  padding: 3px 6px;
  margin-left: 5px;
  line-height: 1;
}

.contact dd:not(.contact__terms dd):not(.contact__inquiry dd) {
  font-size: 1rem;
  margin-top: 5px;
}

.contact dd:not(.contact__terms dd):not(.contact__inquiry dd).contact__notes {
  font-size: 0.9375rem;
}

.contact dd label {
  cursor: pointer;
  display: block;
  line-height: 1.8;
  padding-left: 1em;
  text-indent: -1em;
  text-align: left;
}

.contact dd input,
.contact dd select,
.contact dd textarea {
  background: #eee;
  border: 1px solid #e8e8e8;
  border-radius: 5px;
  box-sizing: border-box;
  color: #000;
  display: block;
  font-size: 1rem;
  line-height: 1.5;
  width: 100%;
  padding: 3px 6px;
  text-align: left;
  text-align-last: left;
  direction: ltr;
}

.contact dd input[type="file"] {
  font-size: 0.875rem;
}

.contact dd input[type="file"]:not(:first-child) {
  margin-top: 5px;
}

.contact dd select {
  background: #eee url(https://lsp-campaign.com/lemondo-2026cp-1/images/icon_arrow_select.svg) no-repeat right 10px top
    50%;
  background-size: auto 7px;
  line-height: 24px;
  text-align: left;
  text-align-last: left;
  direction: ltr;
}

.contact dd select option {
  text-align: left;
  text-align-last: left;
  direction: ltr;
}

.contact h4 {
  font-size: 1rem;
  margin: 15px auto 10px;
}

.contact__intro {
  font-size: 0.9375rem;
  margin-top: 30px;
}

.contact__title {
  margin: 25px auto 15px;
}

.contact__title span {
  font-size: 1.12rem;
  font-weight: bold;
  position: relative;
}

.contact__title span::before,
.contact__title span::after {
  background-color: var(--txt-color);
  border-radius: 50%;
  content: "";
  display: block;
  height: 9px;
  width: 9px;
  position: absolute;
  top: 50%;
  transform: translate3d(0, -50%, 0);
}

.contact__title span::before {
  left: -1em;
}

.contact__title span::after {
  right: -1em;
}

.contact__privacy {
  font-size: 0.9375rem;
}

.contact__terms {
  border: 1px solid #666;
  border-radius: 5px;
  height: 130px;
  padding: 6px 10px;
  overflow-y: scroll;
  font-size: 0.75rem;
}

.contact__terms .Inquiry {
  font-size: 0.75rem;
}

.contact__terms .Inquiry h2 {
  font-size: 0.75rem;
}

.contact__check {
  font-size: 1rem;
  margin: 10px auto;
}

.contact__caution {
  color: #da2129;
  font-size: 0.75rem;
  text-align: center;
  margin-top: 10px;
}

.contact__cautionBox {
  background-color: #da2129;
  margin-top: 30px;
  padding: 15px;
}

.contact__cautionBox h3,
.contact__cautionBox p {
  color: #fff;
  font-size: 0.9375rem;
}

.contact__cautionBox p:nth-child(3) {
  margin-top: 20px;
}

.contact__cautionBox + p {
  font-size: 0.9375rem;
  margin-top: 15px;
}

.contact .InputError {
  background: #ff0000;
  border-radius: 3px;
  color: #fff;
  display: none;
  font-size: 0.9375rem;
  text-align: left;
  padding: 5px;
  margin-top: 5px;
  width: 100%;
}

.contact.confirm dl {
  border-bottom: 1px solid var(--border-color);
  padding-bottom: 15px;
}

.contact.confirm .imgPreview img {
  display: block;
  margin: 10px auto 0;
  width: 50%;
}

.contact.fin .contact__inquiry .Inquiry,
.contact.fin .contact__inquiry a {
  color: var(--txt-color);
}

.contact .LowerBtnNote {
  font-size: 0.75rem;
}

.contact select.select_age {
  display: inline-block;
  width: 12em;
  margin-right: 0.25em;
}

body.text_bk .contact input[type="checkbox"]:checked::before,
body.text_bk .contact input[type="checkbox"]:checked::after {
  background-color: #000;
}

input,
select,
textarea {
  appearance: none;
  background: none;
  border: none;
  font-family: inherit;
  font-size: 100%;
  outline: none;
}

input::placeholder,
select::placeholder,
textarea::placeholder {
  color: #999;
  font-size: 0.8125rem;
}

.sendForm__intro {
  margin-top: 30px;
}

.sendForm__limit {
  margin-top: 15px;
}

.sendForm p {
  font-size: 0.9375rem;
  text-align: left;
}

.sendForm form {
  margin-top: 30px;
}

.sendForm dl + dl {
  margin-top: 15px;
}

.sendForm dt {
  font-size: 0.875rem;
  font-weight: bold;
  text-align: left;
}

.sendForm dt span {
  background: #ff0000;
  border-radius: 3px;
  color: #fff;
  display: inline-block;
  font-size: 0.75rem;
  font-weight: bold;
  padding: 3px 6px;
  margin-left: 5px;
  line-height: 1;
}

.sendForm dd {
  margin-top: 5px;
  text-align: left;
}

.sendForm dd.flex {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0 2%;
}

.sendForm dd.flex input {
  width: 49%;
}

.sendForm dd.flex._min input {
  width: 72px;
}

.sendForm dd input,
.sendForm dd select {
  background: #eee;
  border: 1px solid #e8e8e8;
  border-radius: 5px;
  box-sizing: border-box;
  color: #000;
  display: block;
  font-size: 1rem;
  line-height: 1.5;
  width: 100%;
  padding: 3px 6px;
  text-align: left;
  text-align-last: left;
}

.sendForm dd .InputAddress {
  background-color: transparent;
  border: 1px solid var(--txt-color);
  border-radius: 5px;
  color: var(--txt-color);
  cursor: pointer;
  font-size: 0.6875rem;
  line-height: 1.3;
  margin-left: 2%;
  width: 42%;
}

.sendForm .InputError {
  background: #ff0000;
  border-radius: 3px;
  color: #fff;
  display: none;
  font-weight: bold;
  font-size: 0.75rem;
  line-height: 1;
  text-align: left;
  padding: 3px 6px;
  margin-top: 5px;
  width: 100%;
}

.sendForm.confirm form {
  margin-top: 20px;
}

.sendForm.confirm dl {
  border-bottom: 1px solid var(--border-color);
  padding-bottom: 15px;
}

.sendForm.confirm dd {
  font-size: 1rem;
}

.sendForm.confirm .LowerBtn {
  margin-top: 25px;
}

.sendForm.fin p {
  text-align: center;
}

.InputConfirm__intro {
  font-size: 0.9375rem;
}

.InputConfirm__num {
  font-size: 1rem;
  font-weight: bold;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 20px auto;
}

.InputConfirm__num__amount {
  border: 2px solid var(--key-color);
  border-radius: 0.5em;
  color: var(--key-color);
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.5em;
  margin: 0 0.5em;
  min-width: 60px;
  height: 60px;
}

.InputConfirm__notes {
  margin-top: 10px;
}

.InputConfirm__notes p {
  font-size: 0.75rem;
  text-align: left;
}

.InputConfirm__notes li {
  font-size: 0.75rem;
  padding-left: 1em;
  text-indent: -1em;
  text-align: left;
}

.InputConfirm__btn {
  margin: 25px auto 10px;
}

.InputConfirm__caution {
  color: #da2129;
  font-size: 0.75rem;
}

.InputConfirm .itemList {
  border-radius: 0.5em;
  overflow: hidden;
}

.InputConfirm .itemList__seal {
  background-color: var(--key-color);
  color: var(--btn-color);
  display: flex;
  flex-shrink: 0;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-size: 0.7em;
  line-height: 1;
  width: 3.5em;
  height: 100%;
}

.InputConfirm .itemList__seal strong {
  font-size: 1.2em;
}

.InputConfirm .itemList__name {
  flex-grow: 1;
  font-size: 0.9em;
  line-height: 1.2;
  padding: 0.75em 1em;
  text-align: left;
}

.InputConfirm .itemList__times {
  color: var(--key-color);
  font-size: 1.6em;
  flex-shrink: 0;
  margin: 0 0.25em;
}

.InputConfirm .itemList__num input[type="number"] {
  font-size: 1.2em;
  width: 4em;
  -moz-appearance: textfield;
}

.InputConfirm .itemList__num input[type="number"]::-webkit-outer-spin-button,
.InputConfirm .itemList__num input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.InputConfirm .itemList li {
  background-color: #eee;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 8px 10px;
}

.InputConfirm .itemList li + li {
  margin-top: 2px;
}

.InputConfirm .itemList p,
.InputConfirm .itemList input[type="number"] {
  background-color: #fff;
  border: 1px solid var(--key-color);
  border-radius: 0.25em;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 42px;
  box-sizing: border-box;
}

.InputConfirm .itemList p {
  flex-grow: 1;
}

.InputConfirm .BtnSolidArrow._ec {
  font-size: 1rem;
}

.InputConfirm .Amount__output dd {
  color: #000;
  /* 色は固定 */
}

#confirmModal .Notes {
  font-size: 0.875rem;
}

#confirmModal .BtnSolidArrow._ec {
  padding: 18px 10px 18px 0;
}

.EntryList select {
  background: #eee;
  color: #000;
  border: 1px solid #e8e8e8;
  border-radius: 5px;
  width: 100%;
  box-sizing: border-box;
  padding: 3px 6px;
  display: block;
  background: #eee url(https://lsp-campaign.com/lemondo-2026cp-1/images/icon_arrow_select.svg) no-repeat right 10px top
    50%;
  background-size: auto 7px;
  line-height: 24px;
	padding-right: 23px;
	font-size: 0.7rem;
}

._fc_wh{
	color: #fff !important;
	background-image: var(--btn-line-icon-arrow-wh) !important;
}

.icn_left{
	background-image: url(https://lsp-campaign.com/lemondo-2026cp-1/images/icon_arrow_reverse_wh.svg) !important;
    background-position: left 10px top 50%;
}

._bg_yl{
	background-color: var(--key-color);
}

figcaption ul li{
	text-align: left;
}

._pt10{
	padding-top: 10px !important;
}

.needBox{
	margin: 0 auto;
    padding: 20px !important;
    display: block;
    box-sizing: border-box;
    width: 100%;
    height: auto;
    border: 1px solid var(--key-color);
    border-radius: 5px;
    font-size: 1.12rem !important;
    font-weight: bold;
    letter-spacing: -0.02em;
    line-height: 1;
	color: var(--key-color);
}

.InputConfirm .itemList p, .InputConfirm .itemList input[type=number] {
    text-align: center;
}

.accordion{
  width: auto;
}

._mb15{
  margin-bottom: 15px !important;
}

._underLine{
  color: #000 !important;
  text-decoration: underline;
}

.HeadLabel{
	margin: 0 auto;
	padding: 20px 26px 20px 26px;
	display: block;
	box-sizing: border-box;
	width: 100%;
	height: auto;
	border: 2px solid var(--key-color);
	background-color: var(--key-color);
	border-radius: 5px;
	font-size: 1.12rem;
	font-weight: bold;
	letter-spacing: -0.02em;
	line-height: 1;
}

/* 20251211 */

.strongBox{
  background: #fff;
  border: 3px solid var(--key-color);
  border-radius: 5px;
  color: #000;
  font-size: .8375rem !important;
  margin-top: 6px;
  padding: 15px !important;
  text-align: center !important;
}

.CautionTxt {
    color: #da2129;
    font-size: 0.875rem !important;
    padding: 0 !important;
    display: none;
    margin-top: 5px !important;
}

/* 20251212 */

._fw15{
  font-size: 0.9375rem !important;
}

/* 20251217 */

.digitalNote{
  font-size: 0.75rem;
  padding: 10px 0 0;
}

._fz12{
  font-size: 0.75rem !important;
}

._emphasis{
  background-color: #ffff00;
  color: #ff0000;
  font-weight: 700;
}

input{
  font-size: revert;
}

.BtnLoading{
	display: none;
	pointer-events: none;
}