@charset "UTF-8";
/* このファイルはUTF-8のBOMなし(UTF-8N)で保存しています */

/**
 * SCSS Information
 * ===============================================================
 *
 * File name: _module.scss
 * Summary:   モジュール用スタイル
 * Author:    CrEa Inc.
 *
 * -----------------------------------
 *
 * TOC:
 *     =1    modules
 *
 * ===============================================================
*/

/** =1
 * ========================================
 * modules
 * ========================================
 */

/*
* icon
* ----------------------------------
*/
[class*="icon-"] {
  display: inline-block;
  width: calc(16 / 12 * 1em);
  height: calc(16 / 12 * 1em);
  fill: currentColor;
  stroke: currentColor;
}

/*
* layout
* ----------------------------------
*/
.columnWrap {
  display: flex;
  flex-wrap: wrap;
}
.columnWrap.justifyCenter {
  justify-content: center;
}
.columnWrap.alignCenter {
  align-items: center;
}

.columnWrap .colGlow {
  flex-grow: 1;
}

.columnWrap [class*="col"] .linkBtn {
  min-width: initial;
  height: 100%;
  background: var(--color-main);
  padding-inline: calc(24 / 16 * 1em);
}
@media (max-width: 767px) {
  .columnWrap [class*="col"] .linkBtn {
    width: 100%;
  }
  .columnWrap [class*="col"] .linkBtn.small {
    font-size: 1.2rem;
  }
}

.columnWrap .col-1 {
  width: calc(1 / var(--col-max) * 100%);
}
.columnWrap .col-2 {
  width: calc(2 / var(--col-max) * 100%);
}
.columnWrap .col-3 {
  width: calc(3 / var(--col-max) * 100%);
}
.columnWrap .col-4 {
  width: calc(4 / var(--col-max) * 100%);
}
.columnWrap .col-5 {
  width: calc(5 / var(--col-max) * 100%);
}
.columnWrap .col-6 {
  width: calc(6 / var(--col-max) * 100%);
}
.columnWrap .col-7 {
  width: calc(7 / var(--col-max) * 100%);
}
.columnWrap .col-8 {
  width: calc(8 / var(--col-max) * 100%);
}
.columnWrap .col-9 {
  width: calc(9 / var(--col-max) * 100%);
}
.columnWrap .col-10 {
  width: calc(10 / var(--col-max) * 100%);
}
.columnWrap .col-11 {
  width: calc(11 / var(--col-max) * 100%);
}
.columnWrap .col-12 {
  width: calc(12 / var(--col-max) * 100%);
}

@media (max-width: 767px) {
  .columnWrap .col-sp-1 {
    width: calc(1 / var(--col-max) * 100%);
  }
  .columnWrap .col-sp-2 {
    width: calc(2 / var(--col-max) * 100%);
  }
  .columnWrap .col-sp-3 {
    width: calc(3 / var(--col-max) * 100%);
  }
  .columnWrap .col-sp-4 {
    width: calc(4 / var(--col-max) * 100%);
  }
  .columnWrap .col-sp-5 {
    width: calc(5 / var(--col-max) * 100%);
  }
  .columnWrap .col-sp-6 {
    width: calc(6 / var(--col-max) * 100%);
  }
  .columnWrap .col-sp-7 {
    width: calc(7 / var(--col-max) * 100%);
  }
  .columnWrap .col-sp-8 {
    width: calc(8 / var(--col-max) * 100%);
  }
  .columnWrap .col-sp-9 {
    width: calc(9 / var(--col-max) * 100%);
  }
  .columnWrap .col-sp-10 {
    width: calc(10 / var(--col-max) * 100%);
  }
  .columnWrap .col-sp-11 {
    width: calc(11 / var(--col-max) * 100%);
  }
  .columnWrap .col-sp-12 {
    width: calc(12 / var(--col-max) * 100%);
  }
}

.columnWrap.hasGap {
  gap: var(--col-gap);
}
.columnWrap.hasGap .col-1 {
  width: calc(
    1 / var(--col-max) * (100% - var(--col-gap) * (var(--col-max) - 1))
  );
}
.columnWrap.hasGap .col-2 {
  width: calc(
    2 / var(--col-max) * (100% - var(--col-gap) * (var(--col-max) - 1))
  );
}
.columnWrap.hasGap .col-3 {
  width: calc(
    3 / var(--col-max) * (100% - var(--col-gap) * (var(--col-max) - 1))
  );
}
.columnWrap.hasGap .col-4 {
  width: calc(
    4 / var(--col-max) * (100% - var(--col-gap) * (var(--col-max) - 1))
  );
}
.columnWrap.hasGap .col-5 {
  width: calc(
    5 / var(--col-max) * (100% - var(--col-gap) * (var(--col-max) - 1))
  );
}
.columnWrap.hasGap .col-6 {
  width: calc(
    6 / var(--col-max) * (100% - var(--col-gap) * (var(--col-max) - 1))
  );
}
.columnWrap.hasGap .col-7 {
  width: calc(
    7 / var(--col-max) * (100% - var(--col-gap) * (var(--col-max) - 1))
  );
}
.columnWrap.hasGap .col-8 {
  width: calc(
    8 / var(--col-max) * (100% - var(--col-gap) * (var(--col-max) - 1))
  );
}
.columnWrap.hasGap .col-9 {
  width: calc(
    9 / var(--col-max) * (100% - var(--col-gap) * (var(--col-max) - 1))
  );
}
.columnWrap.hasGap .col-10 {
  width: calc(
    10 / var(--col-max) * (100% - var(--col-gap) * (var(--col-max) - 1))
  );
}
.columnWrap.hasGap .col-11 {
  width: calc(
    11 / var(--col-max) * (100% - var(--col-gap) * (var(--col-max) - 1))
  );
}
.columnWrap.hasGap .col-12 {
  width: calc(
    12 / var(--col-max) * (100% - var(--col-gap) * (var(--col-max) - 1))
  );
}

@media (max-width: 767px) {
  .columnWrap.hasGap .col-sp-1 {
    width: calc(
      1 / var(--col-max) * (100% - var(--col-gap) * (var(--col-max) - 1))
    );
  }
  .columnWrap.hasGap .col-sp-2 {
    width: calc(
      2 / var(--col-max) * (100% - var(--col-gap) * (var(--col-max) - 1))
    );
  }
  .columnWrap.hasGap .col-sp-3 {
    width: calc(
      3 / var(--col-max) * (100% - var(--col-gap) * (var(--col-max) - 1))
    );
  }
  .columnWrap.hasGap .col-sp-4 {
    width: calc(
      4 / var(--col-max) * (100% - var(--col-gap) * (var(--col-max) - 1))
    );
  }
  .columnWrap.hasGap .col-sp-5 {
    width: calc(
      5 / var(--col-max) * (100% - var(--col-gap) * (var(--col-max) - 1))
    );
  }
  .columnWrap.hasGap .col-sp-6 {
    width: calc(
      6 / var(--col-max) * (100% - var(--col-gap) * (var(--col-max) - 1))
    );
  }
  .columnWrap.hasGap .col-sp-7 {
    width: calc(
      7 / var(--col-max) * (100% - var(--col-gap) * (var(--col-max) - 1))
    );
  }
  .columnWrap.hasGap .col-sp-8 {
    width: calc(
      8 / var(--col-max) * (100% - var(--col-gap) * (var(--col-max) - 1))
    );
  }
  .columnWrap.hasGap .col-sp-9 {
    width: calc(
      9 / var(--col-max) * (100% - var(--col-gap) * (var(--col-max) - 1))
    );
  }
  .columnWrap.hasGap .col-sp-10 {
    width: calc(
      10 / var(--col-max) * (100% - var(--col-gap) * (var(--col-max) - 1))
    );
  }
  .columnWrap.hasGap .col-sp-11 {
    width: calc(
      11 / var(--col-max) * (100% - var(--col-gap) * (var(--col-max) - 1))
    );
  }
  .columnWrap.hasGap .col-sp-12 {
    width: calc(
      12 / var(--col-max) * (100% - var(--col-gap) * (var(--col-max) - 1))
    );
  }
}

.columnWrap.hasGapNarrow {
  gap: var(--col-gap-narrow);
}
.columnWrap.hasGapNarrow .col-1 {
  width: calc(
    1 / var(--col-max) * (100% - var(--col-gap-narrow) * (var(--col-max) - 1)) +
      var(--col-gap-narrow) * (1 - 1)
  );
}
.columnWrap.hasGapNarrow .col-2 {
  width: calc(
    2 / var(--col-max) * (100% - var(--col-gap-narrow) * (var(--col-max) - 1)) +
      var(--col-gap-narrow) * (2 - 1)
  );
}
.columnWrap.hasGapNarrow .col-3 {
  width: calc(
    3 / var(--col-max) * (100% - var(--col-gap-narrow) * (var(--col-max) - 1)) +
      var(--col-gap-narrow) * (3 - 1)
  );
}
.columnWrap.hasGapNarrow .col-4 {
  width: calc(
    4 / var(--col-max) * (100% - var(--col-gap-narrow) * (var(--col-max) - 1)) +
      var(--col-gap-narrow) * (4 - 1)
  );
}
.columnWrap.hasGapNarrow .col-5 {
  width: calc(
    5 / var(--col-max) * (100% - var(--col-gap-narrow) * (var(--col-max) - 1)) +
      var(--col-gap-narrow) * (5 - 1)
  );
}
.columnWrap.hasGapNarrow .col-6 {
  width: calc(
    6 / var(--col-max) * (100% - var(--col-gap-narrow) * (var(--col-max) - 1)) +
      var(--col-gap-narrow) * (6 - 1)
  );
}
.columnWrap.hasGapNarrow .col-7 {
  width: calc(
    7 / var(--col-max) * (100% - var(--col-gap-narrow) * (var(--col-max) - 1)) +
      var(--col-gap-narrow) * (7 - 1)
  );
}
.columnWrap.hasGapNarrow .col-8 {
  width: calc(
    8 / var(--col-max) * (100% - var(--col-gap-narrow) * (var(--col-max) - 1)) +
      var(--col-gap-narrow) * (8 - 1)
  );
}
.columnWrap.hasGapNarrow .col-9 {
  width: calc(
    9 / var(--col-max) * (100% - var(--col-gap-narrow) * (var(--col-max) - 1)) +
      var(--col-gap-narrow) * (9 - 1)
  );
}
.columnWrap.hasGapNarrow .col-10 {
  width: calc(
    10 / var(--col-max) *
      (100% - var(--col-gap-narrow) * (var(--col-max) - 1)) +
      var(--col-gap-narrow) * (10 - 1)
  );
}
.columnWrap.hasGapNarrow .col-11 {
  width: calc(
    11 / var(--col-max) *
      (100% - var(--col-gap-narrow) * (var(--col-max) - 1)) +
      var(--col-gap-narrow) * (11 - 1)
  );
}
.columnWrap.hasGapNarrow .col-12 {
  width: calc(
    12 / var(--col-max) *
      (100% - var(--col-gap-narrow) * (var(--col-max) - 1)) +
      var(--col-gap-narrow) * (12 - 1)
  );
}

@media (max-width: 767px) {
  .columnWrap.hasGapNarrow .col-sp-1 {
    width: calc(
      1 / var(--col-max) *
        (100% - var(--col-gap-narrow) * (var(--col-max) - 1)) +
        var(--col-gap-narrow) * (1 - 1)
    );
  }
  .columnWrap.hasGapNarrow .col-sp-2 {
    width: calc(
      2 / var(--col-max) *
        (100% - var(--col-gap-narrow) * (var(--col-max) - 1)) +
        var(--col-gap-narrow) * (2 - 1)
    );
  }
  .columnWrap.hasGapNarrow .col-sp-3 {
    width: calc(
      3 / var(--col-max) *
        (100% - var(--col-gap-narrow) * (var(--col-max) - 1)) +
        var(--col-gap-narrow) * (3 - 1)
    );
  }
  .columnWrap.hasGapNarrow .col-sp-4 {
    width: calc(
      4 / var(--col-max) *
        (100% - var(--col-gap-narrow) * (var(--col-max) - 1)) +
        var(--col-gap-narrow) * (4 - 1)
    );
  }
  .columnWrap.hasGapNarrow .col-sp-5 {
    width: calc(
      5 / var(--col-max) *
        (100% - var(--col-gap-narrow) * (var(--col-max) - 1)) +
        var(--col-gap-narrow) * (5 - 1)
    );
  }
  .columnWrap.hasGapNarrow .col-sp-6 {
    width: calc(
      6 / var(--col-max) *
        (100% - var(--col-gap-narrow) * (var(--col-max) - 1)) +
        var(--col-gap-narrow) * (6 - 1)
    );
  }
  .columnWrap.hasGapNarrow .col-sp-7 {
    width: calc(
      7 / var(--col-max) *
        (100% - var(--col-gap-narrow) * (var(--col-max) - 1)) +
        var(--col-gap-narrow) * (7 - 1)
    );
  }
  .columnWrap.hasGapNarrow .col-sp-8 {
    width: calc(
      8 / var(--col-max) *
        (100% - var(--col-gap-narrow) * (var(--col-max) - 1)) +
        var(--col-gap-narrow) * (8 - 1)
    );
  }
  .columnWrap.hasGapNarrow .col-sp-9 {
    width: calc(
      9 / var(--col-max) *
        (100% - var(--col-gap-narrow) * (var(--col-max) - 1)) +
        var(--col-gap-narrow) * (9 - 1)
    );
  }
  .columnWrap.hasGapNarrow .col-sp-10 {
    width: calc(
      10 / var(--col-max) *
        (100% - var(--col-gap-narrow) * (var(--col-max) - 1)) +
        var(--col-gap-narrow) * (10 - 1)
    );
  }
  .columnWrap.hasGapNarrow .col-sp-11 {
    width: calc(
      11 / var(--col-max) *
        (100% - var(--col-gap-narrow) * (var(--col-max) - 1)) +
        var(--col-gap-narrow) * (11 - 1)
    );
  }
  .columnWrap.hasGapNarrow .col-sp-12 {
    width: calc(
      12 / var(--col-max) *
        (100% - var(--col-gap-narrow) * (var(--col-max) - 1)) +
        var(--col-gap-narrow) * (12 - 1)
    );
  }
}

/*
* form
* ----------------------------------
*/
/* listButton */
.listButton {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  column-gap: 20px;
  row-gap: 12px;
  text-align: center;
  margin-block-start: 30px;
}
.listButton.layoutVertical {
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
@media (min-width: 768px) {
  .listButton.reverseHorizontalPc {
    flex-direction: row-reverse;
  }
}
/* .listButton .listButtonItem .linkBtn {
  padding-block: 7px;
} */
.limitAera {
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 15px;
  margin-block-start: 20px;
  font-weight: 700;
}
.limitAeraTitle {
  color: var(--color-sub);
}
.limitAera.mrNone {
  margin-block-start: 0;
}

/* labelRequired */
.labelRequired {
  display: inline-flex;
  padding-block: calc(4 / 10 * 1em);
  padding-inline: calc(8 / 10 * 1em);
  background-color: var(--color-accent);
  color: var(--color-text-bright);
  letter-spacing: 0.1em;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.2;
}
.labelRequired .text {
  line-height: 1.2;
  text-box: trim-both cap alphabetic;
}
@supports not (text-box: trim-both cap alphabetic) {
  .labelRequired .text {
    margin-block: calc((1em - 1lh) / 2);
  }
}

/* inputGroup */
.inputGroup {
  display: flex;
  overflow: hidden;
  border-radius: var(--border-radius-small);
  box-shadow: 0 0 0 1px var(--color-border-pale);
  background-color: var(--color-base-bright);
}
.inputGroup input[type="text"],
.inputGroup input[type="password"],
.inputGroup input[type="email"],
.inputGroup input[type="tel"] {
  border-radius: none;
  box-shadow: none;
}
.inputGroup .inputGroupText {
  display: grid;
  place-items: center;
  padding-inline: calc(12 / 16 * 1em);
  background-color: rgb(from var(--color-border-pale) r g b / 0.5);
}
.inputGroup .inputGroupText:not(:first-child) {
  border-inline-start: 1px solid var(--color-border-pale);
}
.inputGroup .inputGroupText:not(:last-child) {
  border-inline-end: 1px solid var(--color-border-pale);
}

/* boxFormFill */
.boxFormFill {
  padding-block: 32px;
  padding-inline: clamp(20px, calc(40 / 1024 * 100cqw), 40px);
  background-color: var(--color-base-pale);
}
@media (min-width: 768px) {
  /* .boxFormFill {
    border-radius: var(--border-radius-large);
  } */
}

.boxFormVertical .boxFormFill {
}
@media (max-width: 767px) {
  .boxFormVertical .boxFormFill {
    /* margin-inline: calc(50% - 50vw); */
    margin-inline: max(-40px, calc(-40 / 768 * 100cqw));
  }
}
@media (min-width: 768px) {
  .boxFormVertical .boxFormFill {
    margin-inline: max(-40px, calc(-40 / 1024 * 100cqw));
    /* border-radius: var(--border-radius-large); */
  }
}

/* boxToastMessage */
.boxToastMessage {
  padding-block: 32px;
  padding-inline: clamp(20px, calc(40 / 1024 * 100cqw), 40px);
  background-color: rgb(from var(--color-main) r g b / 0.2);
}
@media (min-width: 768px) {
  .boxToastMessage {
    border-radius: var(--border-radius-large);
  }
}

.boxFormVertical .boxToastMessage {
}
@media (max-width: 767px) {
  .boxFormVertical .boxToastMessage {
    margin-inline: calc(50% - 50vw);
  }
}
@media (min-width: 768px) {
  .boxFormVertical .boxToastMessage {
    margin-inline: max(-40px, calc(-40 / 1024 * 100cqw));
    border-radius: var(--border-radius-large);
  }
}

.boxToastMessage .boxToastMessageText {
  display: flex;
  align-items: center;
  column-gap: calc(8 / 16 * 1em);
  color: var(--color-main);
  font-size: 1.6rem;
  line-height: 1.4;
  font-weight: 700;
}
.boxToastMessage .boxToastMessageText [class*="icon-"] {
  flex-shrink: 0;
  width: calc(24 / 16 * 1em);
  height: calc(24 / 16 * 1em);
}

.boxToastMessage.has-error {
  background-color: rgb(from var(--color-error) r g b / 0.15);
  color: var(--color-error);
}
.boxToastMessage.has-error .boxToastMessageText {
  color: var(--color-error);
}

/* boxFormVertical */
.boxFormVertical {
  display: flex;
  flex-direction: column;
  row-gap: calc(32 / 16 * 1em);
  width: min(640px, 100%);
  margin-inline: auto;
  font-size: 1.6rem;
  line-height: 1.4;
}
.boxFormVertical.widthNarrow {
  width: min(480px, 100%);
  max-width: 480px;
}
.boxFormVertical .boxFormVerticalBody {
  display: flex;
  flex-direction: column;
  row-gap: calc(32 / 16 * 1em);
}

.boxFormVertical .boxFormVerticalLine {
  display: flex;
  flex-direction: column;
  row-gap: calc(10 / 16 * 1em);
}
.boxFormVertical .boxFormVerticalLabel {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  column-gap: calc(16 / 16 * 1em);
  row-gap: calc(8 / 16 * 1em);
  margin-bottom: 0.25em;
  font-weight: bold;
  font-size: clamp(1.4rem, calc(16 / 768 * 100cqw), 1.6rem);
}
.boxFormVertical .boxFormVerticalLabel label {
  font-weight: inherit;
  /* white-space: nowrap; */
}
.boxFormVertical .boxFormVerticalItem {
  display: flex;
  flex-direction: column;
  column-gap: calc(8 / 16 * 1em);
  row-gap: calc(8 / 16 * 1em);
  line-height: 1.4;
}
.boxFormVertical .boxFormVerticalNotice {
  font-size: 1.2rem;
  line-height: 1.4;
}
.boxFormVertical .boxFormVerticalError {
  display: flex;
  align-items: center;
  column-gap: calc(4 / 12 * 1em);
  color: var(--color-error);
  font-weight: 700;
  font-size: 1.2rem;
}

.boxFormVertical .boxFormVerticalFooter {
  display: flex;
  flex-direction: column;
  row-gap: calc(32 / 16 * 1em);
}
.boxFormVertical .boxFormVerticalFooterWrapper{
  background-color: var(--color-main-bright);
  padding: 20px;
}
.boxFormVertical .boxFormVerticalFooter .boxFormVerticalFooterText{
  font-size: 1.4rem;
  margin-block-end: 25px;
}
.boxFormVertical .boxFormVerticalFooter .boxFormVerticalFooterText:last-child{
  margin-block-end: 0;
}
.boxFormVertical .boxFormVerticalFooter .listNotice {
  font-size: 1.4rem;
}
.boxFormVertical .boxFormVerticalFooter .listButton .linkBtn{
  transition: all 0.1s ease;
}
@media (max-width: 767px) {
  .boxFormVertical .boxFormVerticalFooter .listButton .listButtonItem {
    width: 100%;
  }
}
@media (min-width: 768px) {
  /* .boxFormVertical .boxFormVerticalFooter .listButton .listButtonItem {
    width: min(320px, 100%);
  } */
}

.boxFormVertical.is-confirm {
  row-gap: calc(24 / 16 * 1em);
}
.boxFormVertical.is-confirm .boxFormVerticalBody {
  row-gap: calc(24 / 16 * 1em);
}

.boxFormVertical.is-confirm .boxFormVerticalLine:not(:first-child) {
  padding-block-start: calc(24 / 16 * 1em);
  border-top: 1px solid var(--color-border-pale);
}
.boxFormVertical.is-confirm .boxFormVerticalLine.noBorder:not(:first-child) {
  border-top: none;
}

/*
* section rally
* ----------------------------------
*/
.sectionRally {
}
@media (max-width: 767px) {
}
@media (min-width: 768px) {
  .sectionRally + .sectionRally {
    margin-block-start: clamp(56px, calc(96 / 1440 * 100cqw), 96px);
  }
}
.sectionRally .sectionRallyTitleBlock {
  text-align: center;
  margin-block-end: 20px;
}
.sectionRally .sectionRallyMainTitle {
  font-size: 2.4rem;
  font-weight: 700;
}
.sectionRally .sectionRallyLabel {
  display: inline-block;
  background: var(--color-main);
  color: var(--color-base-bright);
  font-size: 1.2rem;
  font-weight: 700;
  border-radius: 50px;
  padding-inline: 10px;
  text-align: center;
}
.sectionRally .sectionRallyLabel.w50 {
  width: 50px;
  margin-inline: auto;
}
.sectionRally .sectionRallyTitle {
  margin-block-end: 30px;
  padding-block-end: 10px;
  border-bottom: 5px dotted var(--color-main);
  color: var(--color-main);
  font-family: var(--serif-ja);
  font-weight: 700;
  font-size: clamp(2.4rem, calc(32 / 768 * 100cqw), 3.2rem);
  line-height: 1.4;
  text-align: center;
}
.sectionRally .sectionRallyTitle:has(.sectionPrizeTitleMain) {
  border-bottom: none;
  padding-block-end: 0;
}
.sectionRally .sectionRallyTitle.mr30 {
  margin-block-end: 30px;
}

.sectionRally .sectionRallyContent {
  padding-block-end: 50px;
  background-image: linear-gradient(
    -45deg,
    transparent 7px,
    var(--color-base-bright) 0
  );
  background-position: right bottom;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  color: var(--color-text);
}
.sectionRally .sectionPrizeImage img {
  width: 100%;
}
/*
* pageTop
* ----------------------------------
*/

.pageTop {
  opacity: 0;
  position: fixed;
  right: 10px;
  bottom: 10px;
  z-index: 10;
  width: clamp(48px, calc(48 / 640 * 100cqw), 80px);
  height: clamp(48px, calc(48 / 640 * 100cqw), 80px);
  pointer-events: none;
  transition: opacity 0.3s ease;
}
.pageTop .is-appear {
  opacity: 1;
  pointer-events: auto;
}

.pageTop a.pageTopLink {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  row-gap: calc(8 / 80 * 100%);
  container-type: inline-size;
  width: 100%;
  height: 100%;
  border-radius: var(--border-radius-round);
  background-color: var(--color-main-deep);
  color: var(--color-text-bright);
}
.pageTop a.pageTopLink .icon-arrow {
  width: min(24px, calc(16 / 48 * 100cqw));
  height: min(24px, calc(16 / 48 * 100cqw));
}

.pageTop a.pageTopLink .text {
}
@media (max-width: 767px) {
  .pageTop a.pageTopLink .text {
    display: none;
  }
}
@media (min-width: 768px) {
  .pageTop a.pageTopLink .text {
    font-family: var(--sans-serif-en);
    font-weight: 700;
    font-size: clamp(1rem, calc(12 / 80 * 100cqw), 1.2rem);
    letter-spacing: 0.05em;
    line-height: 1.2;
  }
}

/** =2
 * ========================================
 * modules for javascript
 * ========================================
 */

/* accordion
 * ----------------------------------
 */
.js-accordion {
}
.js-accordion .js-accordionTrigger {
  cursor: pointer;
}
.js-accordion .js-accordionContent {
  overflow: clip;
}

.contentBlock {
  background: var(--color-base-bright);
  margin-block-end: 80px;
}
@media (max-width: 767px) {
  .contentBlock {
    margin-block: 46px;
  }
}
.contentBlockSteplist {
  list-style-type: none;
  padding: 0;
  margin-block-end: 60px;
}
.contentBlockSteplistItem {
  display: flex;
  list-style-type: none;
  align-items: center;
  column-gap: 28px;
  padding-block-end: 29px;
  margin-block-end: 27px;
  border-bottom: dotted 2px #3e3a39;
}
@media (max-width: 767px) {
  .contentBlockSteplistItem {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    padding-block-end: 15px;
    margin-block-end: 15px;
  }
}
.contentBlockSteplistItem:nth-child(2) {
  align-items: flex-start;
}
.contentBlockSteplistItem:last-child {
  padding-block-end: 0;
  margin-block-end: 0;
  border-bottom: none;
}
.contentBlockSteplistItemTextMemo{
  line-height: 1.8;
  font-weight: 700;
  color: var(--color-main);
}
.contentBlockSteplistItemTextInnerlist{
  margin-block-end: 7px;
}
.contentBlockSteplistItemStepnum {
  display: flex;
  align-items: baseline;
  font-family: var(--serif-en);
  color: var(--color-main);
  height: 40px;
}
.contentBlockSteplistItemText .blueAccent a {
  text-decoration: none;
}
.contentBlockSteplistItemText .blueAccent a:hover {
  text-decoration: underline;
}
@media (max-width: 767px) {
  .contentBlockSteplistItemText p {
    font-size: 1.6rem;
    line-height: calc(25 / 16);
  }
  .contentBlockSteplistItemText .blueAccent a:hover {
    text-decoration: none;
  }
}
.contentBlockSteplistItemStepnum .sub,
.contentBlockSteplistItemStepnum .num {
  line-height: 0.2;
}
.contentBlockSteplistItemStepnum .sub {
  font-size: 2rem;
  letter-spacing: 0.1em;
}
@media (max-width: 767px) {
  .contentBlockSteplistItemStepnum .sub {
    font-size: 1.8rem;
  }
}
.contentBlockSteplistItemStepnum .num {
  font-size: 5rem;
}
@media (max-width: 767px) {
  .contentBlockSteplistItemStepnum .num {
    font-size: 4rem;
  }
}
.contentBlock.bgPink {
  background: var(--color-main-bright);
  margin-block: 100px;
  padding-block-start: 80px;
  padding-block-end: 85px;
}
.contentBlock.bgPink.mgNone {
  margin-block-start: 0;
  margin-block-end: 0;
  padding-inline: calc(20 / 390 * 100cqw);
}
.contentBlock.bgPink.mgNone .footerButton {
  margin-block-end: 0;
}
@media (max-width: 767px) {
  .contentBlock.bgPink {
    margin-block: 46px;
    padding-block-start: 40px;
    padding-block-end: 40px;
  }
}
.contentBlockInner {
  max-width: 1240px;
  margin-inline: auto;
  padding-inline: 20px;
}
.contentBlockInner.paddingNone {
  padding-inline: 0;
}
.contentBlockTitle {
  font-size: 4.2rem;
  font-weight: 700;
  line-height: 1;
  color: var(--color-main);
  font-family: var(--serif-ja);
  border-bottom: dotted 5px var(--color-main);
  padding-block-end: 20px;
  margin-block-end: 40px;
}
@media (max-width: 768px) {
  .contentBlockTitle {
    font-size: 2.8rem;
    line-height: calc(41 / 28);
    padding-block-end: 15px;
    margin-block-end: 20px;
  }
  .contentBlockTitle.mrSp {
    margin-block-end: 20px;
  }
}
.contentBlockListItem,
.contentBlockText {
  font-size: 1.6rem;
  line-height: calc(35 / 16);
}
@media (max-width: 768px) {
  .contentBlockListItem,
  .contentBlockText {
    font-size: 1.5rem;
    line-height: calc(30 / 15);
  }
}
.contentBlockListItem {
  position: relative;
  padding-inline-start: 20px;
}
.contentBlockListItem::before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
}
.contentBlockSteplistItemText .blueAccent {
  position: relative;
  padding-inline-end: 35px;
}
.contentBlockSteplistItemText .blueAccent::after {
  content: "";
  width: 25px;
  height: 25px;
  background: url(/assets/rally/img/kawasaki/image/home/blueAccentArrow.svg);
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
}
.contentBlockSteplistItemTextInnerlistItem {
  list-style-type: none;
  position: relative;
  padding-inline-start: 13px;
  font-weight: 700;
}
.contentBlockSteplistItemTextInnerlistItem::after {
  content: "・";
  font-size: 1.2rem;
  font-weight: 700;
  position: absolute;
  top: 6px;
  left: 0;
}
.contentBlockSteplistItemTextInnerlistItem .moreSmall{
  font-weight: 400;
}
.tryArea {
  margin-block-end: 60px;
}
@media (max-width: 767px) {
  .tryArea {
    margin-block-end: 30px;
  }
}
.tryAreaCorner {
  display: flex;
  align-items: center;
  max-width: 980px;
  margin-inline: auto;
  column-gap: 30px;
  background:
    url(/assets/rally/img/kawasaki/image/home/tryFrameTop.webp) no-repeat top
      center,
    url(/assets/rally/img/kawasaki/image/home/tryFrameBottom.webp) no-repeat
      bottom center,
    url(/assets/rally/img/kawasaki/image/home/tryFrameMiddle.webp) repeat-y
      center;
  background-color: var(--color-main-bright);
  background-size: 100% auto;
  padding: 32px 45px;
  position: relative;
  margin-block-end: 10px;
}
.tryCornerText {
  color: var(--color-text);
}
@media (max-width: 767px) {
  .tryAreaCorner {
    position: relative;
    padding-inline: 20px;
    padding-block-start: 40px;
    padding-block-end: 20px;
  }
  .tryCornerTitleiimg {
    width: 159px;
    position: absolute;
    top: -30px;
    left: 0;
    right: 0;
    margin: auto;
  }
  .tryCornerText {
    font-size: 1.6rem;
    line-height: calc(25 / 16);
  }
}
.tryAreaCorner::before {
  content: "";
  width: 80px;
  height: 80px;
  background: url(/assets/rally/img/kawasaki/image/home/tryIcon.webp) no-repeat;
  background-size: 100% auto;
  position: absolute;
  top: -30px;
  left: -20px;
}
@media (max-width: 767px) {
  .tryAreaCorner::before {
    width: 60px;
    height: 60px;
    top: -２5px;
    left: -10px;
  }
}
.tryAreaCornerText {
  font-size: 1.6rem;
  line-height: calc(25 / 16);
}
.tryAreaMemo {
  max-width: 980px;
  font-size: 1.2rem;
  margin: auto;
  text-align: center;
}
@media (max-width: 767px) {
  .tryAreaMemo {
    text-align: left;
  }
}
.fancbtnArea {
  display: flex;
  justify-content: center;
  column-gap: 16px;
  font-size: 1.8rem;
  font-weight: 600;
}
.fancbtnArea .linkBtn{
  margin-inline: 0;
}
.linkBtn {
  transition: opacity 0.3s;
}
@media (max-width: 767px) {
  .linkBtn:hover {
    opacity: 1;
  }
}
@media (max-width: 767px) {
  .fancbtnArea {
    flex-direction: column;
    justify-content: center;
    align-items: center;
    row-gap: 10px;
  }
}
.contentBlockFlexbox,
.contentBlockFlexboxRightPrizelistItem {
  display: flex;
}
.contentBlockFlexbox {
  column-gap: 50px;
}
@media (max-width: 767px) {
  .contentBlockFlexbox {
    flex-direction: column;
  }
}
.contentBlockFlexboxLeftImage {
  position: relative;
  margin-block-end: 10px;
}
.contentBlockFlexboxLeftImage img,
.photoLinkBlock .photoLinkBlockLeftImage img{
  pointer-events: none;
  user-select: none;
}
.contentBlockFlexboxLeftImage::before {
  content: "";
  position: absolute;
  background: transparent;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 1;
}
@media (max-width: 767px) {
  .contentBlockFlexboxLeft {
    width: 100%;
    margin-block-end: 47px;
  }
}
.contentBlockFlexboxLeftMemo {
  display: block;
  line-height: 1.8;
}
@media (max-width: 767px) {
  .contentBlockFlexboxLeftMemo {
    font-size: 1.2rem;
  }
}
.contentBlockFlexboxRight {
  width: 693px;
}
@media (max-width: 767px) {
  .contentBlockFlexboxRight {
    width: 100%;
  }
}
.contentBlockFlexboxRightPrizelistItem {
  position: relative;
  padding-inline-start: 140px;
  margin-block-end: 47px;
}
@media (max-width: 767px) {
  .contentBlockFlexboxRightPrizelistItem {
    padding-inline-start: 100px;
    margin-block-end: 34px;
  }
}
.contentBlockFlexboxRightPrizelistItem:last-child {
  margin-block-end: 0;
}
.contentBlockFlexboxRightPrizelistItemHead {
  width: 113px;
  height: 134px;
  position: absolute;
  top: -25px;
  left: 0;
}
@media (max-width: 767px) {
  .contentBlockFlexboxRightPrizelistItemHead {
    width: 90px;
    height: 111px;
  }
}
.contentBlockFlexboxRightPrizelistItemTitle {
  width: 100%;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: calc(32 / 22);
  border-bottom: dotted 2px var(--color-text);
  padding-block-end: 12px;
  margin-block-end: 10px;
}
@media (max-width: 767px) {
  .contentBlockFlexboxRightPrizelistItemTitle {
    font-size: 1.9rem;
  }
}
.contentBlockFlexboxRightPrizelistItemSub{
  font-size: 1.4rem;
  color: var(--color-main);
  position: relative;
}
.contentBlockFlexboxRightPrizelistItemSub::before{
  content: "＼";
}
.contentBlockFlexboxRightPrizelistItemSub::after{
  content: "／";
}
.contentBlockFlexboxRightPrizelistItemDetail {
  width: 100%;
}
.contentBlockFlexboxRightPrizelistItemWrapper{
  display: flex;
  position: relative;
  flex-wrap: wrap;
}
.contentBlockFlexboxRightPrizelistItemWrapperFlex{
  display: flex;
  align-items: center;
  height: auto;
  position: absolute;
  top: 8px;
  left: 0;
  column-gap: 5px;
}
@media (max-width: 767px){
  .contentBlockFlexboxRightPrizelistItemWrapperFlex{
    position: static;
  }
}
.contentBlockFlexboxRightPrizelistItemWrapperFlex .pinkTag{
  text-align: center;
  width: 58px;
  height: 18px;
  background: var(--color-main);
  border-radius: 15px;
  font-size: 1.3rem;
  color: #fff100;
  font-weight: 700;
  line-height: 18px;
  font-weight: 700;
}
.contentBlockFlexboxRightPrizelistItemWrapper .contentBlockFlexboxRightPrizelistItemTitle{
  padding-inline-start: 130px;
}
@media (max-width: 767px){
  .contentBlockFlexboxRightPrizelistItemWrapper .contentBlockFlexboxRightPrizelistItemTitle{
    padding-inline-start: 0;
  }
}
.contentBlockFlexboxRightPrizelistItemDetail .blueAccent,
.contentBlockFlexboxRightPrizelistItemDetail .pinkText {
  font-weight: 700;
}
@media (max-width: 767px) {
  .contentBlockFlexboxRightPrizelistItemDetail .blueAccent,
  .contentBlockFlexboxRightPrizelistItemDetail .pinkText {
    font-size: 1.5rem;
    line-height: calc(22 / 15);
  }
}
.contentBlockFlexboxRightPrizelistItemDetail .pinkText {
  color: var(--color-main);
  margin-block-end: 8px;
}
.contentBlockFlexboxRightPrizelistItemTitleList .numDot {
  display: flex;
  align-items: end;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .contentBlockFlexboxRightPrizelistItemTitleList .numDot {
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
  }
}
.contentBlockFlexboxRightPrizelistItemTitleList .pinkDot {
  position: relative;
  padding-inline-start: 66px;
}
@media (max-width: 767px){
  .contentBlockFlexboxRightPrizelistItemTitleList .pinkDot {
    font-size: 1.9rem;
    padding-inline-start: 0;
    margin-block-end: 10px;
  }
}
.contentBlockFlexboxRightPrizelistItemTitleList .pinkDot::before {
  text-align: center;
  width: 58px;
  height: 18px;
  background: var(--color-main);
  position: absolute;
  top: 3px;
  left: 0;
  bottom: 0;
  margin: auto;
  border-radius: 15px;
  font-size: 1.3rem;
  color: #fff100;
}
@media (max-width: 767px) {
  .contentBlockFlexboxRightPrizelistItemTitleList .pinkDot::before {
    display: flex;
    align-items: center;
    justify-content: center;
    position: static;
    padding: 0;
    line-height: 1;
    height: 20px;
    padding-block-end: 2px;
    margin: 0;
  }
}
.contentBlockFlexboxRightPrizelistItemTitleList .pinkDot:first-child:before {
  content: "1周目";
}
.contentBlockFlexboxRightPrizelistItemTitleList .pinkDot:last-child:before {
  content: "2周目";
}
ol.contentBlockFlexboxRightPrizelistItemTitleList {
  counter-reset: number;
  list-style-type: none !important;
  padding-inline-start: 0;
}
ol.contentBlockFlexboxRightPrizelistItemTitleList .numDot {
  position: relative;
  padding-left: 30px;
  line-height: 1.5em;
  padding-inline-start: 30px;
  margin-block-end: 7px;
}
@media (max-width: 1200px) {
  ol.contentBlockFlexboxRightPrizelistItemTitleList .numDot {
    flex-direction: column;
    align-items: start;
  }
}
ol.contentBlockFlexboxRightPrizelistItemTitleList .numDot::before {
  position: absolute;
  counter-increment: number;
  content: counter(number);
  display: inline-block;
  background: var(--color-text);
  font-family: var(--serif-en);
  color: #fff;
  font-weight: bold;
  font-size: 15px;
  border-radius: 50%;
  left: 0;
  width: 25px;
  height: 25px;
  line-height: 1;
  text-align: center;
  top: 17px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
ol.contentBlockFlexboxRightPrizelistItemTitleList .numDot .detail {
  position: relative;
}
@media (max-width: 767px) {
  ol.contentBlockFlexboxRightPrizelistItemTitleList .numDot .detail {
    font-size: 18px;
  }
}
ol.contentBlockFlexboxRightPrizelistItemTitleList .numDot .detail.sign {
  padding-inline-end: 75px;
}
@media (max-width: 767px) {
  ol.contentBlockFlexboxRightPrizelistItemTitleList .numDot .detail.sign {
    padding-inline-end: 0;
  }
}
ol.contentBlockFlexboxRightPrizelistItemTitleList .numDot .detail.sign::before {
  content: "";
  width: 79px;
  height: 57px;
  background: url(/assets/rally/img/kawasaki/image/home/signIcon.webp) no-repeat;
  background-size: 100%;
  position: absolute;
  bottom: 0;
  right: 0;
}
@media (max-width: 767px) {
  ol.contentBlockFlexboxRightPrizelistItemTitleList
    .numDot
    .detail.sign::before {
    width: 59px;
    height: 43px;
    top: -12px;
    right: 10px;
    bottom: inherit;
  }
}
ol.contentBlockFlexboxRightPrizelistItemTitleList .numDot .capacity {
  font-size: 1.4rem;
}
ol.contentBlockFlexboxRightPrizelistItemTitleList .numDot .capacity .big {
  margin-inline-end: 4px;
}
ol.contentBlockFlexboxRightPrizelistItemTitleList .numDot::after {
  content: "";
  width: 80px;
  height: 1px;
  background: url(/assets/rally/img/kawasaki/image/home/prizeLine.webp)
    no-repeat;
  position: absolute;
  top: 6px;
  bottom: 0;
  right: 73px;
  margin: auto;
}
@media (max-width: 1200px) {
  ol.contentBlockFlexboxRightPrizelistItemTitleList .numDot::after {
    content: none;
  }
}
@media (max-width: 767px) {
  ol.contentBlockFlexboxRightPrizelistItemTitleList .numDot::after {
    content: none;
  }
}
ol.contentBlockFlexboxRightPrizelistItemTitleList .numDot:first-child::after {
  top: 30px;
}
.contentBlockFlexboxRightPrizelistItemMemo {
  font-size: 1.2rem;
  line-height: calc(18 / 12);
  position: relative;
  padding-inline-start: 12px;
}
.contentBlockFlexboxRightPrizelistItemMemo::before {
  content: "※";
  position: absolute;
  top: 0;
  left: 0;
}

/** =3
 * ========================================
 * linkBtn
 * ========================================
 */

.linkBtn {
  display: inline-block;
  position: relative;
  min-width: 260px;
  margin-inline: auto;
  padding-block: calc(10 / 16 * 1em);
  padding-inline: calc(40 / 16 * 1em);
  border: none;
  border-radius: 100vmax;
  background: var(--color-main)
    url(/assets/rally/img/kawasaki/image/home/linkBtnArrow.svg) no-repeat right
    23px center;
  color: var(--color-text-bright);
  font-family: var(--serif-ja);
  line-height: 1.4;
  font-size: inherit;
  text-align: center;
}
.linkBtn.arrowLeft {
  background: var(--color-main);
}
.linkBtn.arrowLeft::after {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 23px;
  translate: 0 -50%;
  width: 10px;
  height: 7px;
  transform: rotateY(180deg);
  background: url(/assets/rally/img/kawasaki/image/home/linkBtnArrow.svg)
    no-repeat center center;
  background-size: 100% auto;
  content: "";
}
.linkBtn.arrowLeft [class*="icon-"] {
  transform: rotate(180deg);
}
.linkBtn.downLoad {
  background: var(--color-main)
    url(/assets/rally/img/kawasaki/image/common/downloadIcon.svg) no-repeat
    right 23px center;
  margin-inline: auto;
}
.linkBtn.backBtn {
  background: var(--color-main)
    url(/assets/rally/img/kawasaki/image/common/backArrow.svg) no-repeat left
    23px center;
  background-size: 10px;
}
@media (max-width: 767px) {
  .linkBtn {
    font-size: 1.4rem;
    background: var(--color-main)
      url(/assets/rally/img/kawasaki/image/home/linkBtnArrow.svg) no-repeat
      right 14px center;
  }
}
.linkBtn.blue {
  background: var(--color-sub)
    url(/assets/rally/img/kawasaki/image/home/linkBtnArrow.svg) no-repeat right
    23px center;
}
.linkBtn.ghost {
  box-shadow: inset 0 0 0 1px var(--color-main);
  background: url(/assets/rally/img/kawasaki/image/home/linkBtnArrowColorMain.svg)
    no-repeat right 23px center;
  color: var(--color-main);
}
.linkBtn.ghost.backBtn {
  background: url(/assets/rally/img/kawasaki/image/common/backArrowColorMain.svg)
    no-repeat left 23px center;
}
.linkBtn.disabled {
  background: #eee url(/assets/rally/img/kawasaki/image/home/linkBtnArrow.svg)
    no-repeat right 23px center;
    pointer-events: none;
}

/** =3
 * ========================================
 * text
 * ========================================
 */
.bold {
  font-weight: 700;
}
.blueAccent {
  color: var(--color-sub);
}
.small {
  font-size: 1.6rem;
}
.moreSmall{
  font-size: 1.3rem;
}
.normalWeight{
  font-weight: 400;
}
.big {
  font-size: 2.2rem;
}
.lowPageTtl {
  font-size: clamp(2.4rem, 2.8vw, 3.2rem);
  text-align: center;
  font-weight: 700;
  text-align: center;
  line-height: 83.333%;
  margin-block-end: 50px;
}
@media (max-width: 767px) {
  .lowPageTtl {
    margin-block-end: 25px;
  }
}
.lowIntroText {
  font-size: clamp(1.4rem, 2.8vw, 1.6rem);
  line-height: 1.7;
  text-align: center;
}
.lowIntroTextSmall {
  font-size: clamp(1.2rem, 2.8vw, 1.4rem);
  line-height: 1.7;
  text-align: center;
}

.contentBlockFlexboxRightPrizelistItemCompBtn {
  width: 100%;
  margin-block-start: 10px;
}
.contentBlockFlexboxRightPrizelistItemCompBtnAcce {
  text-align: center;
  margin-block-end: 4px;
}
.contentBlockFlexboxRightPrizelistItemCompBtn .linkBtn {
  width: 100%;
  text-align: center;
  margin-block-end: 7px;
  position: relative;
  max-width: 210px;
  margin-inline: auto;
}
.contentBlockFlexboxRightPrizelistItemCompBtn .flexAreaInnerBlock{
  width: 100%;
}
.contentBlockFlexboxRightPrizelistItemCompBtn .flexAreaInnerBlock.firstTime {
  position: relative;
  margin-block: 25px;
}
.contentBlockFlexboxRightPrizelistItemCompBtn .flexAreaInnerBlock.firstTime::before {
  content: "";
  width: 60px;
  height: 20px;
  background: url(/assets/rally/img/kawasaki/image/mypage/firstTime.svg)
    no-repeat;
  background-size: 100% auto;
  position: absolute;
  top: -23px;
  left: 0;
  right: 0;
  margin: auto;
}
.contentBlockFlexboxRightPrizelistItemCompBtn .linkBtn.secondTime::before {
  content: "";
  width: 60px;
  height: 20px;
  background: url(/assets/rally/img/kawasaki/image/mypage/secondTime.svg)
    no-repeat;
  background-size: 100% auto;
  position: absolute;
  top: -23px;
  left: 0;
  right: 0;
  margin: auto;
}
.contentBlockFlexboxRightPrizelistItemCompBtn .linkBtn:last-child {
  margin-block-end: 0;
}
.posterSpotTitle {
  font-size: 2.4rem;
  font-weight: 700;
  text-align: center;
  line-height: calc(34 / 24);
  color: var(--color-main);
  margin-block-end: 20px;
}
.posterSpotText {
  font-size: 1.4rem;
  line-height: calc(28 / 14);
  text-align: center;
  margin-block-end: 20px;
}
.posterSpotMap {
  max-width: 600px;
  margin: auto;
}
.js-agreeModal{
  text-align: center;
  border: none;
  padding: 25px 40px;
}
.js-agreeModalTitle{
  font-size: 1.8rem;
  font-family: var(--serif-ja);
  color: var(--color-main);
}
.js-agreeModalText{
  line-height: 2;
  margin-block-end: 7px;
}
.js-agreeModal .linkBtn{
  background: var(--color-main);
}
dialog[open]::backdrop {
  background: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(4px); 
}
.checkboxGroup{
  text-align: center;
}