@charset "UTF-8";
.campaign__box {
  --border-color: #1434CB;
  --border-color02: #3A62D4;
  --border-sub-color: #FCC015;
  --main-color: #0E1E73;
  --arrow-color: #8997CD;
  --box-bg-color: #DDE4FF;

  --heading-h3-font-size-num: 28;
  --heading-h4-font-size-num: 24;
  --text-font-size-num: 20;
  --notes-font-size-num: 16;

  --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));
}
@media screen and (max-width: 959px) {
  .campaign__box {
    --heading-h3-font-size-num: 20;
    --heading-h4-font-size-num: 16;
    --text-font-size-num: 16;
    --notes-font-size-num: 12;
  }
}

/* ts */
.cp-layer--top ,
.cp-layer--middle ,
.cp-layer--bottom {
  display: flex;
  flex-direction: column;
}

.cp-layer--top {
  gap: 24px;
}

.cp-layer--middle {
  gap: 16px;
}

.cp-layer--bottom {
  gap: 8px;
}

.cp-heading__h3 {
  font-weight: bold;
  font-size: var(--heading-h3-font-size);
  line-height: 1;
  letter-spacing: 0;
  position: relative;
  margin-top: 50px;
  border-bottom: 4px solid var(--border-color02);
  padding-bottom: 6px;
}

.cp-heading__h4 {
  font-weight: bold;
  font-size: var(--heading-h4-font-size);
  line-height: 1.2;
  letter-spacing: 0;
  position: relative;
  margin-top: 0px;
  display: inline-flex;
  align-items: center;
  gap: 16px;
}

.cp-heading__h4::before {
  content: "";
  display: inline-block;
  width: 40px;
  height: 6px;
  background-image: linear-gradient(90deg, var(--border-color), var(--border-color) 50%,var(--border-sub-color) 50%,var(--border-sub-color) 100%);
  position: relative;
  top: -2px;
}

.cp-text {
  font-size: var(--text-font-size);
  line-height: 1.5;
  letter-spacing: 0;
  margin-top: 0px;
}

.cp-image {
  margin-top: 0px;
}

.cp-box {
  margin-top: 0px;
  background: var(--box-bg-color);
}

.cp-box__heading__wrap {
  padding: 12px;
  background: var(--main-color);
}

.cp-box__heading {
  margin: 0 auto;
  text-align: center;
  color: #ffffff;
  font-weight: bold;
  font-size: var(--heading-h4-font-size);
  line-height: 1;
  letter-spacing: 0;
}

.cp-box__heading--icon {
  display: inline-block;
  width: 1.1545833em;
  height: 1em;
  line-height: 0;
  vertical-align: top;
  background-image: url("/-/media/tfc/Shared/TSCampaign/img/2026/05/20260520-01-01/20260520-01-01_05.svg");
  background-size: contain;
}

.cp-box__contents {
  padding: 16px;
}

.campaign__box .list-normal-wrap {
  padding-left: 14px;
  margin-top: 0px;
}

.campaign__box .list-normal__item {
  font-size: var(--text-font-size);
  padding-left: 16px;
  margin-bottom: 0;
  line-height: 1.5;
  letter-spacing: 0;
}

.campaign__box .list-note-wrap {
  margin-top: 0px;
}

.campaign__box .list-note-wrap .list-note__item {
  font-size: var(--notes-font-size);
  line-height: 1.5;
  margin-bottom: 0;
}

.campaign__box .list-normal__item::before {
  background: #333333;
  width: 3px;
  height: 3px;
}

.cp-table {
  width: 100%;
  border-collapse: collapse;
  color: #333333;
  text-align: center;
}

.cp-table th,
.cp-table td {
  padding: 12px 20px;
  font-size: var(--text-font-size);
  line-height: 1.5;
  font-weight: 300;
  letter-spacing: 0;
  text-align: center;
  color:#333333;
  box-sizing: content-box;
  position: relative;
}

.cp-table th {
  background: #cccccc;
  white-space: nowrap;
  border: 2px solid #cccccc;
  font-weight: bold;
}

.cp-table thead th {
  background: #cccccc;
  border-right: 2px solid #ffffff;
  border-left: 2px solid #ffffff;
}

.cp-table thead > tr:first-child > *  {
  border-top: 0px;
}

.cp-table thead > tr:last-child > * {
  border-bottom: 0px;
}

.cp-table th[colspan] {
  border-bottom: none;
}

.cp-table td {
  border: 2px solid #cccccc;
}

.cp-table thead tr > :first-child {
  border-left-color: #cccccc;
}

.cp-table thead tr > :last-child {
  border-right-color: #cccccc;
}

.cp-table tbody > tr:first-child > *  {
  border-top-width: 1px;
}

.cp-table tbody > tr:last-child > * {
  padding-bottom: 9px;
}

.cp-table tbody > tr td {
  padding-bottom: 10px;
}

.cp-table__td__icon {
  position: relative;
}

.cp-table__td__icon--top,
.cp-table__td__icon--bottom {
  position: absolute;
  left: 0;
  right: 0;
  text-align: center;
}

.cp-table__td__icon--top {
  top: -0.7em;
}

.cp-table__td__icon--bottom {
  bottom: -0.7em;
}

.cp-box__contents__inner {
  background: #ffffff;
  padding: 32px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.cp-box__contents__heading {
  font-weight: bold;
  font-size: var(--heading-h4-font-size);
  line-height: 1.2;
  letter-spacing: 0;
  border-bottom: 6px solid var(--border-sub-color);
  width: fit-content;
  margin: 0 auto;
  text-align: center;
  padding-bottom: 6px;
  color: var(--main-color);
}

.cp-box__contents__text--date {
  text-align: center;
  font-weight: bold;
  font-size: var(--heading-h4-font-size);
  line-height: 1.5;
  letter-spacing: 0;
  color: var(--main-color);
}

.date-num {
  font-size: calc((var(--text-font-size) * 7 / 4) - 3px);
}

.date--circle {
  font-weight: bold;
  font-size: var(--heading-h4-font-size);
  line-height: 1;
  letter-spacing: 0;
  width: calc(1em + 15px);
  height: calc(1em + 15px);
  background: var(--main-color);
  color: #ffffff;
  border-radius: 50%;
  display: inline-flex;
  top: -3px;
  position: relative;
  margin: 0 6px;
  justify-content: center;
  align-items: center;
}

.cp-box__contents__heading--step__wrap {
  border-radius: 46px;
  padding: 10px 32px;
  gap: 12px;
  background: var(--main-color);
  display: flex;
  justify-content: center;
}

.cp-box__contents__heading--step {
  font-weight: bold;
  font-size: var(--heading-h4-font-size);
  line-height: 1.2;
  letter-spacing: 0;
  text-align: center;
  color: #ffffff;
  display: inline-flex;
  justify-content:center;
  align-items:center;
  gap: 12px;
}

.step-num--circle {
  font-weight: bold;
  font-size: var(--heading-h4-font-size);
  line-height: 1;
  letter-spacing: 0;
  background: #ffffff;
  color: var(--main-color);
  border-radius: 50%;
  display: inline-flex;
  padding: 5.5px;
  height: calc(1em + 15px);
  width: calc(1em + 15px);
  border: 2px solid var(--main-color);
  justify-content: center;
  align-items: center;
}

.cp-box__contents__heading--step .step-num--circle {
  border: 0px;
}

.cp-box__contents__text--step {
  text-align: center;
  font-size: var(--heading-h4-font-size);
  line-height: 1.5;
  letter-spacing: 0;
}

.cp-box__contents__link-text--step {
  font-size: var(--text-font-size);
  line-height: 1.5;
  letter-spacing: 0;
  text-align: center;
}

.cp-box__contents__link-text--step .text__link {
  font-weight: bold;
  color: var(--border-color);
  text-decoration: underline;
}

.cp-box__contents__link-text--step .text__link:hover {
  text-decoration: none;
}

.cp-box__contents__text--emphasis {
  font-weight: bold;
  font-size: var(--heading-h4-font-size);
  line-height: 1.5;
  letter-spacing: 0;
  text-align: center;
  color: var(--main-color);
}

.cp-box__contents__arrow--step {
  width: 100%;
  height: 82px;
  position: relative;
}

.cp-box__contents__arrow--step::before {
  content: "";
  width: 0;
  height: 0;
  position: absolute;
  left: 0;
  right: 0;
  border-style: solid;
  border-width: 34px 43.5px 0 43.5px;
  border-color: var(--arrow-color) transparent transparent transparent;
  margin: 24px auto;
}

.campaign__box .cp-notes .list-normal-wrap {
  padding-left: 11px;
}

.campaign__box .cp-notes .list-normal__item {
  font-size: var(--notes-font-size);
  padding-left: 12px;
}

.campaign__box .cp-notes .list-normal__item::before {
  width: 2px;
  height: 2px;
}

@media screen and (max-width: 959px) {
  .cp-layer--top {
    gap: 12px;
  }

  .cp-layer--middle {
    gap: 8px;
  }

  .cp-heading__h3 {
    line-height: 1.2;
    border-bottom-width: 2px;
    margin-top: 24px;
  }

  .cp-heading__h4 {
    gap: 8px;
    line-height: 1;
  }

  .cp-heading__h4::before {
    width: 20px;
    height: 4px;
    top: 0px;
  }

  .cp-heading {
    line-height: 1;
  }

  .cp-image {
    max-width: 670px;
    margin-left: auto;
    margin-right: auto;
  }

  .cp-box__heading {
    line-height: 1.2;
  }

  .cp-box__heading__wrap {
    padding: 8px;
  }

  .campaign__box .list-normal__item {
    padding-left: 13px;
  }

  .campaign__box .list-normal-wrap {
    padding-left: 11px;
  }

  .campaign__box .list-normal__item::before {
    width: 2px;
    height: 2px;
  }
  .m670-sp {
    margin-left: auto;
    margin-right: auto;
    max-width: 670px;
    width: 100%;
  }
  .cp-table th, .cp-table td {
    padding: 10px;
  }

  .cp-table tbody > tr td {
    padding-bottom: 8px;
  }

  .cp-table tbody > tr:last-child > * {
    padding-bottom: 7px;
  }

  .cp-box {
    margin: 16px auto 0;
    max-width: 670px;
    width: 100%;
  }

  .cp-box__contents__inner {
    padding: 16px;
    gap: 16px;
  }

  .cp-box__contents__heading {
    padding-bottom: 3px;
    border-bottom-width: 3px;
  }

  .cp-box__contents__text--date {
    width: fit-content;
    text-align: left;
    margin: 12px auto 0;
    line-height: 1.2;
  }

  .date--circle {
    height: calc(1em + 10px);
    width: calc(1em + 10px);
    text-align: center;
    margin: 0 3px;
    top: -5px;
  }

  .cp-box__contents__heading--step__wrap {
    border-radius: 8px;
    padding: 12px 16px;
    gap: 6px;
    justify-content: left;
  }

  .cp-box__contents__heading--step {
    justify-content: center;
    width: 100%;
    position: relative;
    padding-left: 30px;
  }

  .step-num--circle {
    height: calc(1em + 10px);
    width: calc(1em + 10px);
    flex-shrink: 0;
  }
  .cp-box__contents__heading--step .step-num--circle {
    position: absolute;
    left: 0;
  }

  .cp-box__contents__link-text--step {
    font-size: calc(var(--text-font-size) * 0.875);
  }

  .cp-box__contents__text--emphasis {
    margin-top: 7px;
  }

  .cp-box__contents__arrow--step {
    height: 51px;
  }

  .cp-box__contents__arrow--step::before {
    border-width: 27px 35px 0 35px;
    margin: 12px auto;
  }

  .campaign__box .cp-notes .list-normal__item {
    padding-left: 10px;
  }

  .campaign__box .cp-notes .list-normal-wrap {
    padding-left: 8px;
    margin-top: 4px;
  }
}

@media screen and (max-width: 374px) {
  .cp-box__contents__heading--step__wrap {
    padding: 8px;
  }
}
/* ts */

