.lp__mainContent {
  margin: 0 auto;
  max-width: 768px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.lp__mainContent h1, .lp__mainContent h2, .lp__mainContent h3, .lp__mainContent h4, .lp__mainContent p, .lp__mainContent dt, .lp__mainContent dd, .lp__mainContent ol, .lp__mainContent li, .lp__mainContent section {
  color: #333;
  font-size: 1.2rem;
  line-height: 1.4;
}
.lp__mainContent .noto-serif-jp,
.lp__mainContent .noto-serif-jp span {
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 600;
}
.lp__mainContent img {
  width: 100%;
  vertical-align: bottom;
}
.lp__mainContent a {
  display: inline-block;
}
.lp__mainContent .lp__-link_txt {
  margin-top: 15px;
  color: #049;
  text-decoration: underline;
}
.lp__mainContent .lp__-center {
  text-align: center;
}
.lp__mainContent .lp__-right {
  text-align: right;
}
.lp__mainContent .lp__-bold {
  font-weight: bold;
}
.lp__mainContent .lp__-notes {
  font-size: 1rem;
}
.lp__mainContent .lp__-mt0 {
  margin-top: 0px !important;
}
.lp__mainContent .lp__-mt5 {
  margin-top: 5px !important;
}
.lp__mainContent .lp__-mt30 {
  margin-top: 30px !important;
}
.lp__mainContent .lp__txt--red {
  color: #c03;
}
.lp__mainContent .lp__date {
  margin-top: -1px;
  padding: 0.5% 3.75% 1%;
  background-color: #000;
}
.lp__mainContent .lp__date_notes {
  padding: 0.5% 0 2%;
  color: #fff;
  font-size: 1rem;
}
.lp__mainContent .lp__inner {
  padding: 0 20px 30px;
}
.lp__mainContent .lp__-wide {
  margin-left: -20px;
  margin-right: -20px;
}
.lp__mainContent .lp__bcg--img {
  background-color: #fef2dd;
  background-image: url(/fnt/cms/design_img/shared/img/cam/other/2025/1222_thanks/bg.png);
  background-size: 100% auto;
  background-position: center top;
  background-repeat: no-repeat;
}
.lp__mainContent .lp__lead {
  padding-bottom: 5vw;
}
.lp__mainContent .lp__icon_crown {
  margin: auto;
  padding-top: 5vw;
  width: 37.5%;
  text-align: center;
}
.lp__mainContent .lp__lead_txt {
  padding: 5vw 2.5vw 0;
  text-align: center;
  line-height: 7vw;
  font-size: 3.5vw;
  letter-spacing: 0.14vw;
}
.lp__mainContent .lp__icon_dvaluepass {
  margin: auto;
  padding: 5vw 0 0;
  width: 54.5%;
  text-align: center;
}
.lp__mainContent .lp__entry {
  background-color: #b80007;
}
.lp__mainContent .lp__entry h2, .lp__mainContent .lp__entry p {
  color: #fff;
}
.lp__mainContent .lp__entry_ttl {
  padding: 5vw 0;
  text-align: center;
  font-size: 5.5vw;
  letter-spacing: 0.22vw;
}
.lp__mainContent .lp__entry_btn {
  padding: 0 20px 25px;
}
.lp__mainContent .lp__btn_txt {
  margin-bottom: 15px;
  font-size: 1.4rem;
  text-align: center;
}
.lp__mainContent .lp__btn a {
  padding: 15px 5px;
  width: 100%;
  line-height: 1;
  text-align: center;
  border-radius: 30px;
  border: 3px solid #ffdaaa;
  background: -webkit-gradient(linear, left top, left bottom, from(#f8f7cb), to(#c5942a));
  background: -webkit-linear-gradient(top, #f8f7cb 0%, #c5942a 100%);
  background: linear-gradient(180deg, #f8f7cb 0%, #c5942a 100%);
  -webkit-box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
          box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
  color: #604a30;
  font-size: 2rem;
}
.lp__mainContent .lp__btn span {
  display: inline-block;
  padding-right: 17px;
  background-image: url(/fnt/cms/design_img/shared/img/cam/other/2025/1222_thanks/icon_tri_gold.png);
  background-size: auto 12px;
  background-position: right center;
  background-repeat: no-repeat;
}
.lp__mainContent .lp__btn.-off a {
  border: 3px solid #9c9c9c;
  background: #737373;
  color: #fff;
  pointer-events: none;
}
.lp__mainContent .lp__btn.-off span {
  background-image: url(/fnt/cms/design_img/shared/img/cam/other/2025/1222_thanks/icon_tri_white.png);
}
.lp__mainContent .lp__chkbox_wrap {
  margin-top: 10px;
  text-align: center;
}
.lp__mainContent input[type=checkbox] {
  display: none;
}
.lp__mainContent .lp__chkbox_label {
  position: relative;
  display: inline-block;
  margin-top: 5px;
  padding-left: 25px;
  width: auto;
  color: #fff;
  font-size: 1.2rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  cursor: pointer;
}
.lp__mainContent .lp__chkbox_label::before {
  position: absolute;
  top: 1px;
  left: -1px;
  display: block;
  width: 16px;
  height: 16px;
  background-image: url(/fnt/cms/design_img/shared/img/cam/other/2025/1222_thanks/icon_checkbox_off.png);
  background-size: 16px 16px;
  background-repeat: no-repeat;
  background-position: 0 50%;
  content: "";
}
.lp__mainContent .lp__chkbox_label::after {
  position: absolute;
  top: 1px;
  left: -1px;
  display: block;
  width: 16px;
  height: 16px;
  background-image: url(/fnt/cms/design_img/shared/img/cam/other/2025/1222_thanks/icon_checkbox_on.png);
  background-size: 16px 16px;
  background-repeat: no-repeat;
  background-position: 0 50%;
  content: "";
  opacity: 0;
}
.lp__mainContent input[type=checkbox]:checked + .lp__chkbox_label::after {
  opacity: 1;
}
.lp__mainContent .lp__foot_area {
  padding-top: 30px;
}
.lp__mainContent .lp__toggle_ttl {
  cursor: pointer;
}
.lp__mainContent .lp__toggle_box {
  display: none;
  padding: 0;
  background: none;
}
.lp__mainContent .lp__toggle_ttl:after {
  display: none;
}
.lp__mainContent .lp__terms {
  padding: 0 5px 15px;
  border: 3px #d00e11;
  border-style: none solid solid;
  background-color: #fff;
}
.lp__mainContent .lp__terms h3 {
  padding-top: 15px;
  font-weight: bold;
}
.lp__mainContent .lp__terms p a {
  color: #0066be;
  text-decoration: underline;
}
.lp__mainContent .lp__terms_ttl {
  border: 3px solid #d00e11;
  border-bottom-width: 6px;
  background-color: #fff;
  background-image: url(/fnt/cms/design_img/shared/img/cam/other/2025/1222_thanks/icon_plus.png);
  background-position: center right;
  background-repeat: no-repeat;
  background-size: auto 100%;
}
.lp__mainContent .lp__toggle-open .lp__terms_ttl {
  background-image: url(/fnt/cms/design_img/shared/img/cam/other/2025/1222_thanks/icon_minus.png);
}
.lp__mainContent .lp__cam_code {
  margin-top: 5px;
  font-size: 1rem;
  text-align: right;
}

@media screen and (min-width: 768px) {
  .lp__mainContent .lp__lead {
    padding-bottom: 38px;
  }
  .lp__mainContent .lp__icon_crown {
    padding-top: 38px;
  }
  .lp__mainContent .lp__lead_txt {
    padding: 38px 16px 0;
    line-height: 5.4rem;
    font-size: 2.7rem;
    letter-spacing: 0.1rem;
  }
  .lp__mainContent .lp__icon_dvaluepass {
    padding: 38px 0 0;
  }
  .lp__mainContent .lp__entry_ttl {
    padding: 38px 0;
    font-size: 4.3rem;
    letter-spacing: 0.17rem;
  }
}