@charset "UTF-8";
.campaign__box {
  --border-color: #1434CB;
  --border-color02: #C5C5C5;
  --link-color: #3A62D4;
  --cp-icon-color: #333333;
  --border-sub-color: #FCC015;
  --main-color: #0E1E73;
  --arrow-color: #8997CD;
  --box-bg-color: #DDE4FF;
  --color-red: #EB0A1E;

  --heading-h2-font-size-num: 32;
  --heading-h3-font-size-num: 28;
  --heading-h4-font-size-num: 20;
  --text-font-size-num: 20;
  --notes-font-size-num: 16;

  --heading-h2-font-size: calc(1px * var(--heading-h2-font-size-num));
  --heading-h3-font-size: calc(1px * var(--heading-h3-font-size-num));
  --heading-h4-font-size: calc(1px * var(--heading-h4-font-size-num));
  --text-font-size: calc(1px * var(--text-font-size-num));
  --notes-font-size: calc(1px * var(--notes-font-size-num));
  padding-bottom: 30px;
}
@media screen and (max-width: 959px) {
  .campaign__box {
    --heading-h2-font-size-num: 22;
    --heading-h3-font-size-num: 20;
    --heading-h4-font-size-num: 16;
    --text-font-size-num: 16;
    --notes-font-size-num: 12;
    padding-bottom: 10px;
  }
}

/* ts */

.cp-heading__h2 {
  font-weight: bold;
  font-size: var(--heading-h2-font-size);
  line-height: 1.5;
  letter-spacing: 0;
  text-align: center;
}

.cp-heading__h3 {
  font-weight: bold;
  font-size: var(--heading-h3-font-size);
  line-height: 1;
  letter-spacing: 0;
  position: relative;
  margin-top: 4px;
  border-bottom: 4px solid var(--border-color02);
  padding-top: 6px;
  padding-bottom: 6px;
}

.cp-accordion .cp-heading__h3 {
  margin-top: 0px;
  padding-top: 10px;
}

.cp-heading__h4 {
  font-weight: bold;
  font-size: var(--heading-h4-font-size);
  line-height: 1.5;
  letter-spacing: 0;
  position: relative;
  margin-top: 0px;
  margin-bottom: 8px;
}

.cp-text {
  font-size: var(--text-font-size);
  line-height: 1.5;
  letter-spacing: 0;
  margin-top: 0px;
}

.cp-button-wrap {
  margin-top: 32px;
  display: flex;
  justify-content: center;
}

.cp-button--primary {
  background-color: var(--color-red);
  color: #fff;
}

.cp-button {
  border-radius: 32px;
  padding: 8px 36px;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  display: flex;
  justify-content: center;
  text-align: center;
  position: relative;
  line-height: 1.5;
  letter-spacing: 0;
  box-shadow: 0px 4px 0px 0px rgb(0 0 0 / 20%);
}

.cp-button:where(.external, .login-button) .cp-button__inner {
  position: relative;
}

.cp-button.external .cp-button__inner::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -26px;
  transform: translateY(-50%);
  width: 16.33px;
  height: 14px;
  background-size: contain;
}

.cp-button--primary.external .cp-button__inner::after {
  background-image: url("/-/media/tfc/ts3web/file/common/img/components/link-external-white.png");
}

.cp-button.login-button {
  background-color: #ffffff;
  color: var(--color-red);
  border: 2px solid var(--color-red);
  margin-top: 8px;
  padding: 7px 36px 5px;
}

.cp-button.login-button::after {
  content: none;
}

.cp-button.login-button .cp-button__inner::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -26px;
  transform: translateY(-50%);
  width: 15.43px;
  height: 16px;
  background-size: contain;
  background-image: url("/-/media/tfc/ts3web/file/common/img/components/link-login-red.png");
}

.cp-button:hover {
  opacity: 0.6;
}

.cp-anchor {
  margin-top: 24px;
  display: flex;
  justify-content: center;
}

.cp-anchor__link {
  font-weight: 600;
  font-size: 16px;
  line-height: 150%;
  letter-spacing: 0;
  text-align: center;
  text-decoration: underline;
  color: #333333;
  display: inline-flex;
  gap: 6px;
  justify-content: center;
  align-items: baseline;
}

.cp-anchor__link::after {
  content: "";
  width: calc(1em / sqrt(2));
  height: calc(1em / sqrt(2));
  transform: rotate(45deg);
  border-right: 2px solid #333333;
  border-bottom: 2px solid #333333;
  display: inline-block;
}

.cp-section.-blue {
  margin-top: 30px;
  --cp-icon-color: #3A62D4;
  --border-color02: #3A62D4;
  --bg-color01: #AAEAFD;
  --bg-color02: #E8F9FF;
  --marker-color: #FFDA55;
}

.cp-section.-yellow {
  --cp-icon-color: #500E83;
  --border-color02: #500E83;
  --bg-color01: #FFEC67;
  --bg-color02: #FFFAD6;
  --marker-color: #FFEC67;
}

.cp-section__inner {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.cp-section__inner.-wide {
  width: calc(100% + 160px);
  margin-left: -80px;
  z-index: 2;
  background-image: linear-gradient(180deg, var(--bg-color01) 441px, var(--bg-color02) 583px);
  padding-bottom: 28px;
}

.cp-section.-yellow .cp-section__inner.-wide {
  background-image: linear-gradient(180deg, var(--bg-color01) 435px, var(--bg-color02) 510px);
  padding-top: 48px;
  padding-bottom: 48px;
}

.cp-section.-blue .cp-section__inner.-wide::before ,
.cp-section.-blue .cp-section__inner.-wide::after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 120px min(540px,calc(540vw / 10.8)) 0 min(540px,calc(540vw / 10.8));
}

.cp-section.-blue .cp-section__inner.-wide::before {
  border-color: var(--border-color02) transparent transparent transparent;
  top: 0;
  z-index: -1;
  border-width: 128.3px min(580px,calc(580vw / 10.8)) 0 min(580px,calc(580vw / 10.8));
  left: max(-40px,calc(-40vw / 10.8));
}

.cp-section.-blue .cp-section__inner.-wide::after {
  border-color: #FFFFFF transparent transparent transparent;
  top: 0;
  z-index: -1;
}

.cp-section.-blue .cp-heading__h2 {
  height: 128px;
}

.cp-section__content {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.cp-section__content__inner {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.cp-section__inner.-wide .cp-section__content {
  padding: 0 80px;
}

.cp-text__wrap {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.cp-text--emphasis {
  font-weight: bold;
  font-size: var(--heading-h3-font-size);
  line-height: 1.5;
  letter-spacing: 0;
  color: var(--color-red);
  background-image: linear-gradient(0deg, var(--marker-color) 40%, transparent 40%);
}

.cp-text__box {
  display: inline-flex;
  gap: 6px;
  justify-content: center;
  align-items: center;
}

.cp-section.-yellow .cp-text__box {
  flex-direction: column;
  gap: 2px;
  margin-top: 8px;
  margin-bottom: -2px;
}

.cp-text--note {
  font-size: var(--notes-font-size);
}

.cp-orderlist--circle {
  counter-reset: cpOrderlistCircle;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.cp-orderlist__item {
  list-style: none;
  font-size: var(--text-font-size);
  display: flex;
  gap: 12px;
  line-height: 1.5;
  font-weight: bold;
}

.cp-orderlist--circle .cp-orderlist__item:before {
  content: counter(cpOrderlistCircle);
  counter-increment: cpOrderlistCircle ;
  width: 1.6em;
  height: 1.6em;
  display: inline-flex;
  background: var(--border-color02);
  border-radius: 2em;
  justify-content: center;
  align-items: center;
  font-size: 1em;
  line-height: 1;
  font-weight: bold;
  flex-shrink: 0;
  color: #ffffff;
}

.cp-box--white {
  background: #ffffff;
  display: flex;
  flex-direction: row;
}

.cp-box--white .cp-box__image {
  width: 340px;
  margin-top: 0;
  line-height: 0;
  display: block;
}

.cp-box--white .cp-box__text {
  width: calc(100% - 340px);
  padding: 16px;
  font-size: 20px;
  margin-top: 0;
  line-height: 1.5;
  letter-spacing: 0;
}

.cp-text sup {
  line-height: 0;
}

.cp-box--border {
  padding: 11px;
  border: 1px solid #333333;
}

.cp-box--border .cp-box__text {
  font-size: var(--text-font-size);
  line-height: 1.5;
  letter-spacing: 0;
}

.cp-box--border a.text__link {
  color: var(--link-color);
  text-decoration: underline;
  font-weight: 600;
}

.cp-box--border a.text__link:hover {
  text-decoration: none;
}

.cp-box--half {
  display: flex;
  flex-direction: row;
  gap: 20px;
}

.cp-box__item {
  width: calc(50% - 10px);
  border-radius: 8px;
}

.cp-box__item.-blue {
  background: #D7F5FF;
  padding: 16px 0;
}

.cp-box__item.-yellow {
  background: #FFEC67;
  padding: 16px 0;
}

.cp-box__item .image {
  margin-top: 0;
}

.cp-accordion-body {
  display: block grid;
  transition: grid-template-rows 0.5s;
  grid-template-rows: 0fr;
}

.cp-accordion-body > * {
  overflow: hidden;
}

.cp-accordion-body.is-show {
  grid-template-rows: 1fr;
}

.cp-accordion .cp-heading__h3::after,
.cp-accordion .cp-heading__h3::before {
  content: "";
  background: var(--cp-icon-color);
  width: 30.8px;
  height: 4.2px;
  display: block;
  position: absolute;
  right: 6px;
  top: 15px;
}

.cp-accordion .cp-heading__h3::after {
  transform: rotate(90deg);
}

.cp-accordion .cp-heading__h3.is-expanded::after {
  transform: rotate(0deg);
}

.cp-note__text {
font-weight: 600;
font-size: 16px;
line-height: 1.5;
letter-spacing: 0;
color: #333333;
margin-top: 24px;
margin-bottom: 8px;
}

.cp-notes__hr {
  border: 0px;
  border-top: 1px solid #C5C5C5;
  margin: 24px 0;
}


.cp-image {
  margin-top: 0px;
}


.campaign__box .list-note-wrap {
  margin-top: 0px;
}

.campaign__box .list-note-wrap .list-note {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.campaign__box .list-note-wrap .list-note__item {
  font-size: var(--notes-font-size);
  line-height: 1.5;
  margin-bottom: 0;
}





















@media screen and (max-width: 959px) {
  .cp-section__inner.-wide {
    width: calc(100% + 40px);
    margin-left: -20px;
    background-image: linear-gradient(180deg, var(--bg-color01) min(calc(121px + 29vw),320px), var(--bg-color02) min(calc(121px + 74.5vw), 635px));
    padding-bottom: 40px;
  }

  .cp-section__inner {
    gap: 14px;
  }

  .cp-heading__h3 {
    line-height: 1.2;
    border-bottom-width: 2px;
  }

  .cp-heading__h4 {
    margin-bottom: 12px;
  }

  .cp-heading {
    line-height: 1;
  }

  .cp-button {
    max-width: 334px;
    width: 100%;
    padding: 8px 36px;
    line-height: 1.266;
    letter-spacing: 0;
    text-align: center;
  }

  .cp-anchor {
    margin-top: 16px;
  }

  .cp-anchor__link {
    align-items: center;
    line-height: 1.2;
    gap: 10px;
  }

  .cp-anchor__link::after {
    width: calc(0.75em / sqrt(2));
    height: calc(0.75em / sqrt(2));
  }
  .cp-section__inner.-wide .cp-section__content {
    padding: 0 20px;
    gap: 16px;
  }
  .cp-section.-blue .cp-heading__h2 {
    padding-bottom: 41px;
    height: auto;
  }

  .cp-section.-blue {
    margin-top: 24px;
  }

  .cp-section.-blue .cp-section__inner.-wide::before {
    border-width: 113px 508px 0 508px;
    left: calc(50vw - 508px);
  }

  .cp-section.-blue .cp-section__inner.-wide::after {
    border-width: 107px 480px 0 480px;
    left: calc(50vw - 481px);
  }
  .cp-text__box {
    flex-wrap: wrap;
    gap: 0px;
    margin-top: 4px;
  }

  .cp-text__wrap {
    gap: 8px;
  }

  .cp-text--emphasis {
    background-image: linear-gradient(0deg, var(--marker-color) 30%, transparent 30%);
  }

  .mt-sp-04-n {
    margin-top: -4px;
  }
  .cp-image {
    max-width: 670px;
    margin-left: auto;
    margin-right: auto;
  }
  .cp-section.-blue .cp-image.image {
    width: calc(100% - 17px);
  }

  .cp-orderlist__item {
    font-size: var(--text-font-size);
    gap: 6px;
  }

  .cp-orderlist--circle .cp-orderlist__item:before {
    width: 1.5em;
    height: 1.5em;
  }

  .cp-orderlist--circle {
    gap: 12px;
  }

  .cp-accordion .cp-heading__h3::after, .cp-accordion .cp-heading__h3::before {
    width: 17.6px;
    height: 2.4px;
    right: 4px;
    top: calc(50% - 2.4px);
  }

  .cp-section__content__inner {
    gap: 16px;
  }

  .cp-box--white {
    flex-direction: column;
  }

  .cp-box--white .cp-box__image {
    width: 100%;
  }

  .cp-box--white .cp-box__text {
    width: 100%;
    padding: 8px 16px;
    font-size: 16px;
  }
  .cp-section.-yellow .cp-section__inner.-wide {
    background-image: linear-gradient(180deg, var(--bg-color01) calc(40px + 70vw), var(--bg-color02) calc(40px + 95vw));
    padding-top: 40px;
    padding-bottom: 30px;
  }

  .cp-section.-yellow .cp-text__box {
    text-align: center;
    margin-top: 4px;
    margin-bottom: 0px;
    gap: 4px;
  }
  .cp-button-wrap {
    margin-top: 24px;
  }

  .cp-button {
    max-width: 335px;
    width: 100%;
  }

  .cp-section__content {
    gap: 16px;
  }
  .cp-section :not(.cp-section__inner.-wide) .cp-section__content {
    margin-top: 8px;
  }
  .cp-box--border {
    padding: 15px;
  }

  .cp-box--half {
    flex-direction: column;
    gap: 16px;
  }

  .cp-box__item {
    width: 100%;
    border-radius: 4px;
  }

  .cp-box__item.-blue {
    padding: 16px;
  }

  .cp-button.login-button {
    margin-top: 14px;
  }

  .cp-box__item.-yellow .cp-button-wrap {
    padding: 0 16px;
  }
  .cp-note__text {
    font-size: 14px;
    margin-top: 16px;
    margin-bottom: 8px;
  }

  .cp-notes__hr {
    margin: 16px 0;
  }

}

@media screen and (min-width: 960px) {
  .cp-button {
    max-width: 380px;
    min-width: 327px;
    width: 100%;
  }
}
/* ts */

