@charset "UTF-8";

#page-wrapper {
  --primary-bg-color: #E8EEFF;
  --primary-color: #002896;
  --color-red: #BF0000;
  --color-yellow: #F6F660;
}

#mainContent p {
  font-size: 16px;
}

#mainContent .section-roll.-narrow {
  max-width: 82rem;
}

.title.-primary img {
  height: 24px;

  @media screen and (min-width: 768px) {
    height: 36px;
  }
}

.title.-primary::after {
  aspect-ratio: 336/20;
  background: url(/campaign/img/point100new/image-title-deco.webp) center no-repeat;
  background-color: transparent !important;
  background-size: contain;
  height: auto !important;
  margin-left: 0 !important;
  transform: translateX(-50%) !important;
  width: 168px !important;

  @media screen and (min-width: 768px) {
    width: 252px !important;
  }
}

#mainVisual .title {
  background-color: #F6F660;
  text-align: center;
}

#termPanel .term-container {
  display: flex;
  font-size: 20px;
  justify-content: center;

  @media screen and (min-width: 768px) {
    font-size: 24px;
  }

  dt,
  dd {
    font-weight: bold;
  }
}

.one-btn-pattern .btn-container .btn {
  background-color: var(--color-red);
  border-radius: 3em;
  color: white;
  font-size: 18px;
  font-weight: bold;
  padding-bottom: .6em;
  padding-top: .6em;
  margin-left: auto;
  margin-right: auto;
  max-width: 343px;
  width: 100%;

  @media screen and (min-width: 768px) {
    font-size: 26px;
    max-width: 480px;
  }
}

@media (hover:hover) {
  .one-btn-pattern .btn-container .btn:hover {
    opacity: 0.8;
  }
}

.one-btn-pattern .text-link {
  display: inline;
}

#aboutPanel .card-box {
  margin-top: 16px;

  @media screen and (min-width: 768px) {
    margin-top: 20px;
  }
}

#aboutPanel .card {
  align-items: center;
  background-color: white;
  border-radius: 8px;
  color: var(--primary-color);
  display: flex;
  padding: 16px;

  @media screen and (min-width: 768px) {
    padding: 16px 32px;
  }

  .thumb {
    flex-shrink: 0;
    width: 80px;

    @media screen and (min-width: 768px) {
      width: 100px;
    }

    img {
      max-width: 100%;
    }
  }

  .text {
    font-size: 14px;
    font-weight: bold;
    padding-left: 12px;

    @media screen and (min-width: 768px) {
      font-size: 18px;
      padding-left: 24px;
    }
  }
}

#pointFlowPanel .card-container .card-box {
  padding-right: 0px !important;
  padding-left: 0px !important;
}

#pointFlowPanel .card {
  border-radius: 8px;
  height: auto;
  padding: 16px 24px;

  .title {

    img {
      height: 28px;
      margin: 0 auto;

      @media screen and (min-width: 768px) {
        height: 42px;
      }
    }
  }

  .btn-container {
    margin-top: 16px;
  }

  .btn {
    max-width: 253px;

    @media screen and (min-width: 768px) {
      max-width: 360px;
    }
  }

  .text {
    margin-bottom: 0;
    margin-top: 16px;

    @media screen and (min-width: 768px) {
      font-size: 20px;
    }

    +.image {
      margin-top: 16px;
    }

    br {
      display: initial;
    }
  }

  .image {
    img {
      max-height: none;
      max-width: 253px;
      margin: 0 auto !important;

      @media screen and (min-width: 768px) {
        max-width: 360px;
      }
    }
  }
}

#pointFlowPanel .card.-conclusion {
  background-color: transparent;
  padding-left: 0;
  padding-right: 0;

  img {
    margin-left: auto;
    margin-right: auto;
    max-width: 343px;
    width: 100%;

    @media screen and (min-width: 768px) {
      max-width: 480px;
    }
  }
}

.u-bg-primary {
  background-color: var(--primary-bg-color) !important;
}

.u-bg-yellow {
  background-color: var(--color-yellow) !important;
}

.u-text-red {
  color: var(--color-red) !important;
}


.u-d-inline-block {
  display: inline-block;
}

.fw-bold {
  font-weight: bold !important;
}

@media screen and (min-width: 768px) {
  .fs-md-14 {
    font-size: 1em !important;
  }

  .fs-md-20 {
    font-size: 1.429em !important;
  }
}

@media screen and (max-width: 767px) {
  .fs-sm-12 {
    font-size: 0.857em !important;
  }
}