@charset "UTF-8";
:root {
    --campaign-text-color: #555555;
    --campaign-bg-color: #f5f3e9;
    --campaign-container-color: #ffffff;
    --campaign-bg-pale-a: #f5f5f5;
    --campaign-theme: #555555;
    --campaign-accent: #555555;
    --campaign-bg-image: url();
    --campaign-inline-padding: 80px;
    --campaign-block-padding: 40px;
}

.page_campaign{
    overflow: hidden;
}

.campaign-wrap {
    background: var(--campaign-bg-color);
    background-image: var(--campaign-bg-image);
    background-position: center center;
    background-size: initial;
    padding-top: 22px;
    padding-bottom: 22px;
}
.campaign-wrap p {
    line-height: 1.4 !important;
    font-size: 22px;
    color: var(--campaign-text-color);
}

hr.separator {
    border: none;
    margin-block: 50px;
    position: relative;
}
hr.separator::before {
    content: "";
    display: block;
    position: absolute;
}
hr.separator--arrow-down {
    height: 35px;
}
hr.separator--arrow-down::before {
    border-style: solid;
    border-width: 35px 75px;
    border-color: #999999 transparent transparent transparent;
    left: 50%;
    transform: translateX(-50%);
}

[class*="campaign-title-"] {
    color: var(--campaign-theme);
    font-weight: bold;
}

.campaign-title-3 {
    font-size: 24px;
}

.block {
    display: block;
}

.padded {
    --_pad-x: 0px;
    --_pad-y: 0px;
    padding: var(--_pad-y) var(--_pad-x);
}
.padded.block-20 {
    --_pad-y: 20px;
}
.padded.block-30 {
    --_pad-y: 30px;
}
.padded.block-40 {
    --_pad-y: 40px;
}
.padded.block-50 {
    --_pad-y: 50px;
}

.text-center {
    text-align: center;
}

.text-left {
    text-align: left;
}

.text-right {
    text-align: right;
}

.w-fit {
    width: fit-content;
}

.m-auto {
    margin: auto;
}

.full-centered {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100vw;
    height: 100vh;
}

.floating {
    position: absolute;
}
.floating.bottom {
    top: calc(100% + 30px);
}
.floating.bottom.center {
    left: 50%;
    transform: translateX(-50%);
}

.fluid {
    width: 100%;
}

.campaign-container {
    width: min(100%, 960px);
    background: var(--campaign-container-color);
    box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.2);
    border-radius: 4px;
    position: relative;
    overflow: hidden;
    margin: auto;
}
.campaign-container__banner {
    height: fit-content;
}
.campaign-container__banner img {
    width: 100%;
    display: block;
}
.campaign-container__body {
    padding-left: var(--campaign-inline-padding, 80px);
    padding-right: var(--campaign-inline-padding, 80px);
    padding-top: var(--campaign-block-padding, 40px);
    padding-bottom: var(--campaign-block-padding, 40px);
}

.campaign-title {
    font-size: 25px !important;
    font-weight: bold;
    text-align: center;
    color: var(--campaign-theme, #555555) !important;
}

.campaign-desc p {
    font-size: 18px !important;
}

.campaign-timeline {
    font-size: 20px;
    text-align: center;
    font-weight: bold;
}

.campaign-ribbon {
    --_tail-width: 30px;
    --_ribbon-bg: #f1890e;
    display: block;
    isolation: isolate;
    margin: auto;
    position: relative;
    width: 300px;
    text-align: center;
    z-index: 1;
}
.campaign-ribbon h3 {
    background: var(--_ribbon-bg, #f1890e);
    color: #fff;
    font-size: 20px;
    font-weight: bold;
    padding: 12px 0;
}
.campaign-ribbon::before,
.campaign-ribbon::after {
    content: "";
    display: block;
    background: transparent;
    color: transparent !important;
    position: absolute;
    top: 55%;
    z-index: -1;
    width: unset;
    height: unset;
    width: var(--_tail-width);
    border-style: solid;
    transform: translateZ(-1px);
}
.campaign-ribbon::after {
    right: -30px;
    border-color: var(--_ribbon-bg) var(--campaign-container-color) var(--_ribbon-bg) #c16e0b;
    border-width: 20px 10px 20px 30px;
}
.campaign-ribbon::before {
    left: -30px;
    border-color: var(--_ribbon-bg) #c16e0b var(--_ribbon-bg) var(--campaign-container-color);
    border-width: 20px 30px 20px 10px;
}

.campaign-strap {
    background-color: var(--_strap-color-a, #e5b85c);
    font-size: 24px;
    font-weight: bold;
    padding-top: 15px;
    padding-bottom: 15px;
    text-align: center;
    border-width: 8px 0 8px 0;
    border-style: var(--__strap-border-style, solid);
    border-color: var(--__strap-color-c, --campaign-theme);
    color: var(--_strap-text-color, #ffffff);
}
.campaign-strap.striped {
    background-image: linear-gradient(
            45deg,
            var(--_strap-color-b, #dfb057) 25%,
            transparent 25%,
            transparent 75%,
            var(--_strap-color-b, #dfb057) 75%,
            var(--_strap-color-b, #dfb057)
        ),
        linear-gradient(
            45deg,
            var(--_strap-color-b, #dfb057) 25%,
            transparent 25%,
            transparent 75%,
            var(--_strap-color-b, #dfb057) 75%,
            var(--_strap-color-b, #dfb057)
        );
    background-size: 40px 40px;
    background-position: 0 0, 20px 20px;
}
.campaign-strap.stretch {
    margin-left: calc(var(--campaign-inline-padding) * -1);
    margin-right: calc(var(--campaign-inline-padding) * -1);
}

.campaign-step {
    --__step-tag-bg: var(--campaign-text-color);
    --__step-tag-color: #ffffff;
    --__notice-color: var(--campaign-text-color);
}
.campaign-step__tag {
    font-size: 24px;
    padding: 5px 20px;
    background: var(--__step-tag-bg);
    color: var(--__step-tag-color) !important;
    border-radius: 2em;
    display: inline-block;
    text-transform: uppercase;
    font-weight: bold;
    line-height: unset !important;
}
.campaign-step__body {
    margin-block-start: 24px;
}
.campaign-step__body__text {
    font-size: var(--__fs, 2.2rem)!important;
    font-weight: bold;
}
.campaign-step__body__fig {
    width: 100%;
    text-align: center;
}
.campaign-step__body__fig > img {
    width: var(--__img-width, inherit);
    text-align: center;
    margin-inline: auto;
}
.campaign-step__body__fig > figcaption {
    display: block;
    font-size: var(--__fs, 1.6rem);
    margin-block-start: 1rem;
    text-align: left;
}
.campaign-step__body__notice {
    font-size: var(--__fs, 1.6rem)!important;
    font-family: inherit;
    display: inline-block;
    color: var(--__notice-color);
    margin-top: 16px;
}

.campaign-notes {
    background: var(--campaign-bg-pale-a);
    padding: 20px;
    color: var(--__notes-text-color, --campaign-text-color);
    font-size: 14px;
}
.campaign-notes p {
    font-size: 15px !important;
}
.campaign-notes__title {
    margin-bottom: 8px;
}
.campaign-notes__list {
    display: flex;
    flex-flow: column;
    gap: 8px;
}
.campaign-notes__list li {
    color: inherit;
    list-style: "※";
    list-style-position: inside;
}
.campaign-notes.campaign-notes--plain{
  padding: 0;
  background: none;
}

.campaign-frame {
    --_frame-bg-color: var(--campaign-bg-pale-a);
    --_frame-border-color: var(--campaign-text-color);
    --_frame-text-color: var(--campaign-text-color);
    --_frame-title-color: #ffffff;
    --_frame-title-bg: var(--campaign-text-color);
    --_frame-max-width: 100%;
    --_frame-min-height: 60px;
    background: var(--_frame-bg-color);
    outline: 4px solid var(--_frame-border-color);
    outline-offset: -4px;
    border-radius: 10px;
    position: relative;
    isolation: isolate;
    width: min(100%, var(--_frame-max-width, 100%));
}
.campaign-frame__tag {
    position: absolute;
    display: block;
    left: 50%;
    transform: translateX(-50%);
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    background: var(--_frame-title-bg);
    color: var(--_frame-title-color);
    padding: 10px 30px !important;
    white-space: nowrap;
    text-transform: capitalize;
    position: absolute;
    bottom: calc(100% - 20px);
    border-radius: 4px;
    box-shadow: 0px 0px 15px rgba(241, 125, 15, 0.1607843137);
    width: min(100%, 160px);
}
.campaign-frame__tag--rounded {
    border-radius: 3em;
    width: fit-content;
}
.campaign-frame__body {
    padding-top: 30px;
    padding-bottom: 30px;
    padding-left: 60px;
    padding-right: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: calc(var(--_frame-min-height) - 60px);
}

.campaign-list {
    --_style-image: none;
    width: min(100%, 400px);
    display: flex;
    flex-flow: column nowrap;
    gap: 22px;
}
.campaign-list__item {
    font-size: 20px;
    font-weight: bold;
    display: flex;
    flex-flow: row;
    align-items: flex-start;
    gap: 1ch;
}
.campaign-list--checked .campaign-list__item::before,
.campaign-list--crossed .campaign-list__item::before {
    content: "";
    min-width: 20px;
    min-height: 20px;
    background-image: var(--_style-image);
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: contain;
    transform: translateY(-4px);
}
.campaign-list--checked {
    --_style-image: url(../images/icon/icon_check.svg);
}
.campaign-list--crossed {
    --_style-image: url(../images/icon/icon_excluded.svg);
}

.campaign-ticket {
    display: flex;
    align-items: flex-end;
    justify-content: center;
}
.campaign-ticket__img {
    position: relative;
    max-height: 100px;
    object-fit: contain;
    display: block;
    order: -1;
    width: fit-content;
}
.campaign-ticket::after,
.campaign-ticket::before {
    content: "x";
    font-size: 24px;
    font-weight: bold;
    user-select: none;
}
.campaign-ticket::after {
    content: attr(data-count);
    font-size: 30px;
}

.campaign-cta {
    --_cta-bg-color: #e4e4e4;
    --_cta-shadow: #bebebe;
    --_cta-text-color: #ffffff;
    background: var(--_cta-bg-color);
    border: none;
    border-radius: 10px;
    box-shadow: 0px 6px 0px 0px var(--_cta-shadow);
    color: var(--_cta-text-color);
    cursor: pointer;
    display: block;
    font-size: 24px;
    font-weight: bold;
    outline: none;
    padding-top: 18px;
    padding-bottom: 18px;
    text-align: center;
    user-select: none;
    width: min(100%, 420px);
}
.campaign-cta.disabled,
.campaign-cta:disabled,
.campaign-cta [aria-disabled="true"] {
    pointer-events: none;
    cursor: unset;
    box-shadow: none;
}
.campaign-cta.rounded {
    border-radius: 3em;
    padding-left: 80px;
    padding-right: 80px;
    width: auto;
}
.campaign-cta.primary {
    --_cta-bg-color: #f1890e;
    --_cta-shadow: #c16e0b;
}
.campaign-cta.primary:hover {
    --_cta-bg-color: #f39726;
}
.campaign-cta.secondary {
    --_cta-bg-color: #e83e00;
    --_cta-shadow: #a82d00;
}
.campaign-cta.secondary:hover {
    --_cta-bg-color: #ec5720;
}

.campaign-decored-quote {
    position: relative;
    isolation: isolate;
    font-size: 25px;
    color: #f1890e;
    font-weight: bold;
}
.campaign-decored-quote::before,
.campaign-decored-quote::after {
    content: "";
    position: absolute;
    border-style: solid;
    border-width: 3px 60px 6px 6px;
    border-color: transparent #f1890e transparent transparent;
    top: 50%;
    transform-origin: top center;
}
.campaign-decored-quote::after {
    transform: rotateZ(-60deg) translateY(-50%);
    left: 100%;
}
.campaign-decored-quote::before {
    transform: rotateZ(-120deg) translateY(-50%);
    right: 100%;
}

.campaign-register-button .campaign-decored-quote {
    margin-bottom: 40px;
}

.bg-new-year {
    background-image: url(../images/campaign/new_year/background.png);
}

.campaign-modal {
    width: min(80%, 740px);
    padding-top: 42px;
    padding-bottom: 42px;
    background-color: var(--campaign-bg-color);
}
.campaign-modal .prompt-text {
    color: #eb3220;
    margin: auto;
    text-align: center;
    font-weight: bold;
    margin-bottom: 20px;
}
.campaign-modal .campaign-new-year-hero {
    max-width: 300px;
}
/* newly added (for testing) */
.w-full {
  width: 100% !important;
}
.text-color-red, li:has(.text-color-red) {
  color: #f14444;
}
.text-regular {
  font-weight: normal;
}
.bullet-list li {
  list-style: inside;
  list-style-type: disc;
}
.boxed {
  padding: 2rem;
  outline: 1px solid var(--campaign-theme);
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: center;
}
.boxed.point-next {
  position: relative;
}
.boxed.point-next:after {
  content: '';
  position: absolute;
  top: calc(100% + 16px);
  display: block;
  border-width: 16px 24px 16px 24px;
  border-style: solid;
  border-color: #cccccd transparent transparent transparent;
}
.campaign-step__body {
  width: 100%;
}
.cta {
  --__bg: #0dcafa;
  --__hover-bg: #63d9f7;
  --__focus-bg: #08bdeb;
  --__color: #fff;
  --__shahow: transparent;
  --__distance: 0.8rem;
  --__fs: 2.5rem;
  --__radius: 0.8rem;
  --__padx: 64px;
  --__pady: 28px;
  --__scale: 1;
  cursor: pointer;
  display: inline-block;
  border-radius: var(--__radius);
  background: var(--__bg);
  color: var(--__color);
  font-size: var(--__fs);
  padding: var(--__pady) var(--__padx);
  width: fit-content;
  box-shadow: 0px var(--__distance) 0px var(--__shadow);
  text-align: center;
  transition: background 0.1s ease-out, transform 0.1s ease-out, box-shadow 0.1s ease-out;
}
.cta.align-center {
  margin-inline: auto;
  display: block;
}
.cta:hover {
  background: var(--__hover-bg);
}
.cta:focus {
  --__scale: 0.99;
  --__distance: 0.4rem;
  outline: none;
  background: var(--__focus-bg);
  transform: scale(var(--__scale));
}
.cta.flat {
  box-shadow: none;
  transform: unset;
}
.cta--red {
  --__bg: #f05444;
  --__focus-bg: #db4335;
  --__hover-bg: #f26355;
  --__shadow: #ad4237;
}
.cta--green {
  --__bg: #03c9a9;
  --__focus-bg: #00ba9c;
  --__hover-bg: #22d6b8;
  --__shadow: #07ad92;
}
.cta:disabled, .cta.disabled {
  --__bg: #cccccd;
  --__distance: 0.4rem;
  --__hover-bg: #cccccd;
  --__shadow: #b6b6b6;
  --__scale: 0.99;
  pointer-events: none;
  transform: scale(var(--__scale));
}
/* NJ-51058 */
.text-color-orange, li:has(.text-color-orange) {
    color: #FF9900;
  }
  .text-bold {
    font-weight: bold;
  }

/* NJ-91596 Start */
.campaign-page {
    background: #fff;
    font-family: 'Noto Sans JP', sans-serif;
    color: #333;
}
.lp-container {
    max-width: 128rem;
    margin-left: auto;
    margin-right: auto;
}
.lp-section {
    padding-top: 8rem;
    padding-bottom: 8rem;
    background: #fff;
}
.lp-section-title {
    text-align: center;
    margin-bottom: 4rem;
}
.lp-h2 {
    font-size: 3rem;
    font-weight: bold;
    color: #092846;
    margin: 0 0 1.6rem;
    line-height: 1.3;
}
.lp-lead {
    font-size: 2rem;
    color: #333;
    margin: 0;
    line-height: 1.6;
}
.lp-hero {
    position: relative;
    width: 100%;
    height: 56rem;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}
.lp-hero__container {
    position: relative;
    z-index: 1;
    width: 86rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.6rem;
    text-align: center;
    padding: 3.2rem;
}
.lp-hero__heading {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
    margin: 0;
}
.lp-hero__heading-sm {
    display: block;
    font-size: 3.6rem;
    font-weight: bold;
    color: #fff;
    line-height: 1.4;
    text-shadow: 0px 0px 2rem #e73a00;
}
.lp-hero__heading-lg {
    display: block;
    font-size: 5rem;
    font-weight: bold;
    color: #fff;
    line-height: 1.4;
    text-shadow: 0px 0px 2rem #e73a00;
}
.lp-hero__sub {
    font-size: 2rem;
    font-weight: bold;
    color: #fff;
    text-shadow: 0px 0px 2rem #e73a00;
    padding: 1.6rem 0 2.4rem 0;
    margin: 0;
    white-space: nowrap;
}
.lp-hero__btn {
    display: inline-block;
    margin-top: 0;
    padding: 2rem 4.8rem;
    background: #fff;
    color: #f1890e;
    font-size: 2.4rem;
    font-weight: bold;
    border-radius: 9999px;
    box-shadow: 0px 0px 1.6rem -0.6rem rgba(231, 58, 0, 0.8);
    text-decoration: none;
    white-space: nowrap;
    transition: background 0.2s, color 0.2s;
}
.lp-hero__btn:hover {
    background: #fff4e6;
    color: #c16e0b;
    text-decoration: none;
}
.lp-hero__img {
    display: none;
}
.lp-reasons {
    background: #fff;
    padding-bottom: 0;
}
.lp-reasons__grid {
    display: flex;
    gap: 3.2rem;
    justify-content: center;
}
.lp-reason-card {
    background: #fff;
    border-radius: 1.6rem;
    box-shadow: 0 0.2rem 1.2rem rgba(0,0,0,0.08);
    padding: 3.2rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 1.6rem;
}
.lp-reason-card__number {
    height: 3.6rem;
    display: flex;
    align-items: center;
    justify-content: center;
}
.lp-reason-card__number img {
    height: 3.6rem;
    width: auto;
    display: block;
}
.lp-reason-card__heading {
    font-size: 2.2rem;
    font-weight: bold;
    color: #092846;
    margin: 0;
    line-height: 1.4;
}
.lp-reason-card__desc {
    font-size: 1.6rem;
    color: #333;
    margin: 0;
    line-height: 1.7;
}
.lp-reason-card__img {
    margin-top: auto;
    width: 100%;
}
.lp-reason-card__img img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 0.8rem;
}
.lp-coin-system .lp-container {
    padding: 8rem 0 8.8rem;
    background: #fdf6ef;
    border-radius: 1.6rem;
}
.lp-coin-boxes {
    display: flex;
    gap: 3.2rem;
    margin-bottom: 3.2rem;
    justify-content: center;
}
.lp-coin-box {
    background: #fff;
    border-radius: 1.2rem;
    box-shadow: 0 0.2rem 1.2rem rgba(0,0,0,0.08);
    padding: 3.2rem 2rem;
    min-height: 21.5rem;
    text-align: center;
    width: 53rem;
    max-width: 100%;
}
.lp-coin-box__heading {
    font-size: 2.2rem;
    font-weight: bold;
    color: #333;
    margin: 0 0 2.1rem;
    text-align: center;
}
.lp-coin-box__icon {
    height: 8rem;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 2rem;
}
.lp-coin-box__icon img {
    height: 8rem;
    width: auto;
}
.lp-coin-box__desc {
    font-size: 1.6rem;
    color: #555;
    line-height: 1.7;
    margin: 0;
    text-align: center;
}
.lp-coin-box__highlight {
    color: #e74c3c;
    font-weight: bold;
}
.lp-coin-box__note {
    font-size: 1.4rem;
    color: #888;
}
.lp-coin-point {
    background: #fff;
    box-shadow: 0 0.2rem 1.2rem rgba(0,0,0,0.08);
    border-radius: 0.8rem;
    padding: 2.4rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 112rem;
    margin: 0 auto;
}
.lp-coin-point__heading {
    font-size: 2rem;
    font-weight: bold;
    color: #f1890e;
    margin: 0 0 1.2rem;
    text-align: center;
}
.lp-coin-point__text {
    font-size: 1.6rem;
    color: #555;
    margin: 0;
    text-align: center;
    line-height: 1.7;
}
.lp-campaigns-title-section {
    padding: 4.8rem 0;
    text-align: center;
}
.lp-campaigns-title {
    font-size: 3.2rem;
    font-weight: bold;
    color: #f1890e;
    margin: 0;
}
.lp-pickup {
    background: linear-gradient(35.7deg, #f9692b 7.8%, #fcd800 92.2%);
    padding: 8rem 0;
}
.lp-pickup-card {
    width: 89rem;
    margin: 0 auto;
    background: #fff;
    border-radius: 1.2rem;
    box-shadow: 0px 0px 5rem -1.2rem rgba(0,0,0,0.2);
    overflow: hidden;
}
.lp-pickup-card__header {
    background: #facc15;
    height: 8rem;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.4rem;
}
.lp-pickup-card__title {
    font-size: 3rem;
    font-weight: bold;
    color: #092846;
    margin: 0;
    text-align: center;
    white-space: nowrap;
}
.lp-pickup-card__body {
    padding: 3.2rem;
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
}
.lp-pickup-card__banner img {
    width: 82.6rem;
    height: 16rem;
    object-fit: cover;
    display: block;
    border-radius: 0.4rem;
}
.lp-pickup-card__date {
    display: inline-block;
    background: #fee2e2;
    color: #dc2626;
    font-size: 1.4rem;
    font-weight: bold;
    padding: 0.4rem 1.2rem;
    border-radius: 9999px;
    line-height: 2rem;
    margin-bottom: .8rem;
}
.lp-pickup-card__name {
    font-size: 2.2rem;
    font-weight: bold;
    color: #092846;
    margin: 0 0 0.8rem;
    line-height: 1.4;
}
.lp-pickup-card__desc {
    font-size: 1.6rem;
    color: #333;
    margin: 0;
    padding-bottom: 1.7rem;
    border-bottom: 0.1rem solid #eee;
    line-height: 1.5;
}
.lp-pickup-card__details {
    background: #f5f5f5;
    padding: 1.6rem;
    border-radius: 0.4rem;
}
.lp-pickup-card__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
}
.lp-pickup-card__list li {
    font-size: 1.4rem;
    color: #333;
    line-height: 1.5;
}
.lp-pickup-card__cta {
    text-align: center;
    padding-top: 0.8rem;
}
.lp-pickup-card__btn {
    display: inline-block;
    background: #f1890e;
    color: #fff;
    font-size: 2rem;
    font-weight: bold;
    padding: 1.2rem 3.2rem;
    border-radius: 0.8rem;
    text-decoration: none;
}
.lp-pickup-card__btn:hover {
    opacity: 0.9;
    color: #fff;
    text-decoration: none;
}
.lp-campaigns {
    background: #f5f5f5;
}
.lp-campaign-card {
    background: #fff;
    border-radius: 1.2rem;
    box-shadow: 0 0.2rem 1.2rem rgba(0,0,0,0.08);
    overflow: hidden;
    margin-bottom: 3.2rem;
    width: 89rem;
    margin-left: auto;
    margin-right: auto;
}
.lp-campaign-card:last-child {
    margin-bottom: 0;
}
.lp-campaign-card a {
    display: block;
    line-height: 0;
    transition: opacity 0.2s;
}
.lp-campaign-card a:hover {
    opacity: 0.9;
}
.lp-campaign-card__img {
    width: 100%;
    height: auto;
    display: block;
}
.lp-content-center {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3.2rem;
}
.lp-detail-card {
    background: #fff;
    border-radius: 1.6rem;
    box-shadow: 0px 0px 1.6rem 0px rgba(0,0,0,0.1);
    overflow: hidden;
    width: 89rem;
}
.lp-detail-card__banner {
    width: 100%;
}
.lp-detail-card__banner img {
    height: 16rem;
    display: block;
    padding: 3.2rem 3.2rem 0 3.2rem;
}
.lp-detail-card__body {
    padding: 1.6rem 3.2rem 3.2rem;
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
}
.lp-detail-card__title {
    font-size: 2.2rem;
    font-weight: bold;
    color: #092846;
    margin: 0;
    line-height: 1.4;
}
.lp-detail-card__desc {
    font-size: 1.6rem;
    color: #333;
    line-height: 1.5;
    margin: 0;
    padding-bottom: 1.7rem;
    border-bottom: 0.1rem solid #eee;
}
.lp-detail-card__condition {
    background: #f5f5f5;
    border-radius: 0.4rem;
    padding: 1.6rem;
    font-size: 1.4rem;
    color: #333;
    margin: 0;
}
.lp-detail-card__condition p {
    margin: 0;
    font-size: 1.4rem;
    line-height: 1.5;
    color: #333;
}
.lp-detail-card__cta {
    text-align: center;
    padding-top: 0.8rem;
}
.lp-callan {
    background: #fff;
}
.lp-callan__img {
    display: block;
    width: 89rem;
    height: 30rem;
    object-fit: cover;
    border-radius: 0.8rem;
}
.lp-callan__features {
    display: flex;
    gap: 3.2rem;
    width: 89rem;
}
.lp-callan__feature-col {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 1.4rem;
    align-items: center;
    text-align: center;
}
.lp-callan__feature-title {
    font-size: 2.2rem;
    font-weight: bold;
    color: #092846;
    margin: 0;
    line-height: 2rem;
}
.lp-callan__feature-desc {
    font-size: 1.6rem;
    color: #333;
    line-height: 1.5;
    margin: 0;
    width: 34.9rem;
}
.lp-h2--navy {
    color: #092846;
}
.lp-callan-promo {
    background: #092846;
    overflow: hidden;
}
.lp-callan-promo__banner {
    width: 100%;
    max-width: 128rem;
    margin: 0 auto;
}
.lp-callan-promo__image {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
}
.lp-callan-promo__content {
    display: none;
}
.lp-callan-promo__badge {
    display: none;
}
.lp-callan-promo__title {
    display: none;
}
.lp-callan-promo__subtitle {
    display: none;
}
.lp-callan-promo__description {
    display: none;
}
.lp-callan-promo__cta {
    display: none;
}
.lp-reservation {
    background: #f3f4f6;
}
.lp-reservation .lp-container .lp-section-title {
    margin-bottom: 2.4rem;
}
.lp-btn {
    display: inline-block;
    padding: 1.6rem 4rem;
    border-radius: 9999px;
    font-size: 1.8rem;
    font-weight: bold;
    text-decoration: none;
    text-align: center;
    transition: background 0.2s, box-shadow 0.2s;
    cursor: pointer;
}
.lp-btn--primary {
    background: #f1890e;
    color: #fff;
    border-radius: 0.8rem;
    padding: 1.2rem 3.2rem;
    font-size: 2rem;
    box-shadow: none;
}
.lp-btn--primary:hover {
    background: #f39726;
    color: #fff;
    text-decoration: none;
}
.lp-btn--trial {
    background: #f1890e;
    color: #fff;
    font-size: 2rem;
    font-weight: bold;
    padding: 2rem 6.4rem;
    border-radius: 9999px;
    box-shadow: 0px 1rem 1.5rem -0.3rem rgba(0,0,0,0.1), 0px 0.4rem 0.6rem -0.4rem rgba(0,0,0,0.1);
}
.lp-btn--trial:hover {
    background: #f39726;
    color: #fff;
    text-decoration: none;
}
.lp-footer-cta {
    background: #092846;
    padding: 8rem 0;
    text-align: center;
}
.lp-footer-cta__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2.4rem;
}
.lp-footer-cta__heading {
    font-size: 3.6rem;
    font-weight: bold;
    color: #fff;
    margin: 0;
    line-height: 1.6;
}
.lp-footer-cta__sub {
    font-size: 1.8rem;
    color: rgba(255,255,255,0.9);
    margin: 0;
}
.lp-friends    { background: #fff; }
.lp-sns        { background: #f3f4f6; }
.lp-scholarship{ background: #fff; }
.lp-coin-return{ background: #f3f4f6; }
.lp-detail-card__mascot {
    margin-bottom: 1.6rem;
}
.lp-detail-card__mascot img {
    display: block;
    margin: 0 auto;
    width: 10rem;
    height: 14.3rem;
    object-fit: contain;
}
.lp-link-cta {
    display: block;
    color: #00acee;
    font-size: 1.8rem;
    font-weight: bold;
    text-decoration: underline;
    text-align: center;
    padding: 0.8rem 0;
}
.lp-link-cta:hover {
    color: #0095cc;
    text-decoration: underline;
}
.lp-detail-card__condition-list {
    list-style: disc;
    margin: 0.8rem 0 0 1.6rem;
    padding: 0;
    font-size: 1.4rem;
    color: #333;
    line-height: 1.6;
}
.lp-faq {
    background: #fff;
}
.lp-faq__container {
    max-width: 76.8rem;
    margin: 0 auto;
    padding: 0 1.6rem;
}
.lp-faq__title {
    font-size: 2.4rem;
    font-weight: bold;
    color: #1f2937;
    text-align: center;
    margin: 0 0 4rem;
    line-height: 3.2rem;
}
.lp-faq__list {
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
}
.lp-faq__item {
    border-bottom: 1px solid #eee;
    padding: 2rem;
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
}
.lp-faq__item--last {
    border-bottom: none;
}
.lp-faq__q,
.lp-faq__a {
    display: flex;
    align-items: flex-start;
    gap: 1.2rem;
}
.lp-faq__label {
    font-size: 1.8rem;
    font-weight: bold;
    flex-shrink: 0;
    line-height: 2.8rem;
}
.lp-faq__label--q { color: #f1890e; }
.lp-faq__label--a { color: #8b9ba8; }
.lp-faq__qtext {
    font-size: 1.8rem;
    font-weight: bold;
    color: #092846;
    line-height: 2.8rem;
}
.lp-faq__atext {
    font-size: 1.6rem;
    font-weight: normal;
    color: #092846;
    line-height: 1.5;
}
.campaign-member-pc {
    padding: 4rem 2rem;
    background-color: #fff;
    display: flex;
    justify-content: center;
}
.campaign-member-container {
    max-width: 128rem;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4rem;
}
.campaign-member-header {
    width: 128rem;
    border-left: 0.5rem solid #f1890e;
    padding-left: 1.5rem;
    height: 3.4rem;
    display: flex;
    align-items: center;
}
.campaign-member-title {
    font-family: 'Inter', 'Noto Sans JP', sans-serif;
    font-size: 2.4rem;
    font-weight: bold;
    color: #092846;
    line-height: 3.36rem;
    margin: 0;
    white-space: nowrap;
}
.campaign-member-list {
    display: flex;
    flex-wrap: wrap;
    gap: 4rem;
    width: 108rem;
    justify-content: flex-start;
}
.campaign-member-card {
    width: 50rem;
    height: 17.3rem;
    position: relative;
}
.campaign-member-card__link {
    display: block;
    width: 100%;
    height: 100%;
    text-decoration: none;
    color: inherit;
}
.campaign-member-card__link:hover {
    opacity: 0.8;
    transition: opacity 0.2s;
}
.campaign-member-card__image {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 7.6rem;
    width: 100%;
    height: 9.7rem;
    overflow: hidden;
}
.campaign-member-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.campaign-member-card__info {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 50rem;
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
}
.campaign-member-card__tag {
    background-color: #f5f5f5;
    border-radius: 100px;
    padding: 0.6rem 1.4rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
}
.campaign-member-card__tag-text {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 1.3rem;
    font-weight: normal;
    color: #333;
    line-height: normal;
    white-space: nowrap;
}
.campaign-member-card__title {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 1.6rem;
    font-weight: normal;
    color: #333;
    letter-spacing: 0.8px;
    line-height: normal;
    margin: 0;
}
.campaign-member-empty {
    text-align: center;
    padding: 6rem 2rem;
    color: #666;
    font-size: 1.6rem;
}
.lp-section .lp-coin-system .lp-container {
    width: 112rem;
}
/* NJ-91596 End */