.cus-block {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}

@media (min-width: 576px) {

  .cus-block {
    padding-left: 24px;
    padding-right: 24px;
  }
}

@media (min-width: 1440px) {

  .cus-block {
    padding-left: 0px;
    padding-right: 0px;
  }
}

section {
  background: #f8f4ec;
}

section h2 {
    letter-spacing: 1.54px;
    margin-bottom: 1.5rem;
    font-size: 1.375rem;
    font-weight: 500;
    --tw-text-opacity: 1;
    color: rgb(45 48 51 / var(--tw-text-opacity));
  }

@media (min-width: 700px) {

  section h2 {
    margin-bottom: 2.5rem;
    font-size: 2.125rem;
    line-height: 1.5;
    font-weight: 500;
      letter-spacing: 2.38px;
  }
}

section h3 {
  text-align: center;
  font-size: 1.0625rem;
  line-height: 1.5;
  font-weight: 500;
}

@media (min-width: 700px) {

  section h3 {
    font-size: 1.3125rem;
    line-height: 1.5;
    font-weight: 500;
  }
}

section .remark {
  margin-top: 0.5rem;
  font-size: 0.8125rem;
  line-height: 1.5;
  --tw-text-opacity: 1;
  color: rgb(81 90 104 / var(--tw-text-opacity));
}

@media (min-width: 700px) {

  section .remark {
    font-size: 0.9375rem;
    line-height: 1.5;
  }
}

section {

  max-width: 100%;
  overflow-x: hidden;
}

/* 不規則形狀 kv start */

.shape-top-group {
  background-image: url('../images/opcard/text-bg.jpg');
  background-position: center bottom;
  background-size: 900px auto;
}

.shape-top-group .v3-twm-breadcrumb {
  display: none;
}

@media (min-width: 700px) {

.shape-top-group {
    background-size: 1200px auto
}
  }

@media (min-width: 1024px) {

.shape-top-group {
    background-size: 2560px auto;
    background-position: center bottom
}

    .shape-top-group .v3-twm-breadcrumb {
    display: flex;
  }
  }

@media (min-width: 2561px) {

.shape-top-group {
    background-size: 100% auto
}
  }

.shape-kv {
  -webkit-mask-image: url('../images/opcard/mask-s.png');
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center top;
  -webkit-mask-size: 100% 524px;
  mask-image: url('../images/opcard/mask-s.png');
  mask-repeat: no-repeat;
  mask-position: center top;
  mask-size: 100% 524px;
  max-width: 100%;
  overflow: hidden;
}

@media (min-width: 700px) {

.shape-kv {
    -webkit-mask-image: url('../images/opcard/mask-m.png');
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center top;
    -webkit-mask-size: 100% 524px;
    mask-image: url('../images/opcard/mask-m.png');
    mask-repeat: no-repeat;
    mask-position: center top;
    mask-size: 100% 524px;
    max-width: 100%;
    overflow: hidden
}
  }

@media (min-width: 1024px) {

.shape-kv {
    -webkit-mask-image: url('../images/opcard/mask.png');
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center top;
    -webkit-mask-size: 100% 695px;
    mask-image: url('../images/opcard/mask.png');
    mask-repeat: no-repeat;
    mask-position: center top;
    mask-size: 100% 695px
}
  }

/* 文字區塊 */

.shape-kv-wrap {
  position: relative;
  display: flex;
  height: 524px;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  padding-left: 24px;
  padding-right: 24px;
}

@media (min-width: 1024px) {

  .shape-kv-wrap {
    height: 695px;
    padding-left: 0px;
    padding-right: 0px;
      max-width: 1000px;
      align-items: flex-end;
      justify-content: center;
  }
}

.shape-kv .shape-kv-img-wrap {
  height: 524px;
}

@media (min-width: 1024px) {

  .shape-kv .shape-kv-img-wrap {
    height: 695px;
  }
}

.shape-kv .shape-kv-img-wrap {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
  }

/* 亮色遮罩 */

.shape-kv .shape-kv-img-wrap:after {
      content: '';
      width: 100%;
      height: 80%;
      position: absolute;
      bottom: 0;
      background: linear-gradient(
        180deg,
        rgba(255, 255, 255, 0) 42.64%,
        rgba(255, 255, 255, 0.9) 73.25%
      );
    }

@media (min-width: 1024px) {

.shape-kv .shape-kv-img-wrap:after {
        display: none
    }
      }

.shape-kv .shape-kv-img-wrap .shape-kv-img img {
        width: auto;
        height: 100%;
        -o-object-fit: cover;
           object-fit: cover;
      }

.top-triangle {
  margin-top: 58px;
  height: 60px;
  background-image: url('../images/opcard/top-triangle-s.png');
  background-position: center bottom -1px;
  background-size: 101% 60px;
  background-repeat: no-repeat;
}

@media (min-width: 1024px) {

.top-triangle {
    margin-top: 60px;
    height: 124px;
    background-size: 100% 124px;
    background-image: url('../images/opcard/top-triangle.png')
}
  }

/* 不規則形狀 kv end */

/* 漸層背景 start */

.gradient-bg {
  position: relative;
  background: radial-gradient(
      198.22% 213.77% at -37.07% 3.02%,
      rgba(255, 48, 16, 0.65) 12.5%,
      rgba(255, 103, 0, 0.65) 38.46%,
      rgba(255, 236, 88, 0.65) 92.88%
    ),
    radial-gradient(
      37.29% 185.84% at -39.3% 6.87%,
      rgba(255, 77, 0, 0.65) 9.52%,
      rgba(255, 135, 31, 0.65) 44.39%,
      rgba(255, 224, 88, 0.65) 81.64%
    ),
    radial-gradient(
      36.08% 173.19% at -26.04% 2.71%,
      rgba(255, 192, 88, 0.65) 13.4%,
      rgba(255, 103, 0, 0.65) 80.86%
    ),
    radial-gradient(
      35.64% 170.1% at -22.82% 2.04%,
      rgba(225, 182, 110, 0.65) 8.48%,
      rgba(255, 103, 0, 0.65) 86.87%
    ),
    rgba(217, 217, 217, 0.65);
}

.gradient-bg::after {
    content: '';
    position: absolute;
    top: -1px;
    left: 0;
    height: 29px;
    width: 100%;
    background-image: url('../images/services/bottom-triangle-s.png');
    background-repeat: no-repeat;
    background-position: top center;
    background-size: 100% 100%;
  }

@media (min-width: 1024px) {

.gradient-bg::after {
      height: 86px;
      background-image: url('../images/services/bottom-triangle.png')
  }
    }

.gradient-bg.type-2::after {
      top: 0px;
      background-image: url('../images/services/bottom-triangle-s2.png');
    }

@media (min-width: 1024px) {

.gradient-bg.type-2::after {
        background-image: url('../images/services/bottom-triangle-2.png')
    }
      }

.gradient-bg .sweet-remind-content {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

.gradient-bg h2.has-sub {
  margin-bottom: 0.5rem;
}

@media (min-width: 700px) {

  .gradient-bg h2.has-sub {
    margin-bottom: 1rem;
  }
}

/* 漸層背景 end */

/* topic-icon-group start */

.topic-icon {
  border: 1.5px solid #ff9045;
  display: flex;
  height: 3rem;
  width: 3rem;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  --tw-bg-opacity: 1;
  background-color: rgb(255 103 0 / var(--tw-bg-opacity));
}

.topic-icon .icon {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

.topic-icon-group {
  display: flex;
  align-items: center;
  gap: 1rem;
  font-size: 1.0625rem;
  line-height: 1.5;
  font-weight: 500;
}

@media (min-width: 700px) {

  .topic-icon-group {
    font-size: 1.3125rem;
    line-height: 1.5;
    font-weight: 500;
  }
}

.topic-icon-group p {
  margin-top: 0.5rem;
  font-size: 0.8125rem;
  line-height: 1.5;
  --tw-text-opacity: 1;
  color: rgb(81 90 104 / var(--tw-text-opacity));
}

@media (min-width: 1024px) {

  .topic-icon-group p {
    font-size: 0.9375rem;
    line-height: 1.5;
  }
}

.topic-icon-group.with-intro {
  align-items: flex-start;
}

.topic-icon {
  flex-shrink: 0;
}

/* topic-icon-group end */

/* 原型kv 區塊 start */

.circle-kv {
  display: flex;
  flex-direction: column-reverse;
  justify-content: center;
  gap: 1.5rem;
}

@media (min-width: 576px) {

  .circle-kv {
    align-items: center;
  }
}

@media (min-width: 1024px) {

  .circle-kv {
    flex-direction: row;
    gap: 5rem;
  }
}

.circle-kv h2 {
  font-size: 1.375rem;
  font-weight: 500;
}

@media (min-width: 700px) {

  .circle-kv h2 {
    font-size: 2.125rem;
    line-height: 1.5;
    font-weight: 500;
  }
}

.circle-kv .circle-intro {
  font-size: 0.9375rem;
  line-height: 1.5;
  --tw-text-opacity: 1;
  color: rgb(81 90 104 / var(--tw-text-opacity));
}

@media (min-width: 700px) {

  .circle-kv .circle-intro {
    font-size: 1.125rem;
    line-height: 1.5;
  }
}

.circle-kv img {
    max-width: 100%;
    width: 574px;
  }

@media (min-width: 1024px) {

.circle-kv img {
      min-width: 400px;
      width: 400px
  }
    }

@media (min-width: 1440px) {

.circle-kv img {
      min-width: 574px;
      width: 574px
  }
    }

.circle-kv .topic-icon-group {
  display: flex;
  align-items: center;
  gap: 1rem;
  font-size: 1.0625rem;
  line-height: 1.5;
  font-weight: 500;
}

@media (min-width: 700px) {

  .circle-kv .topic-icon-group {
    font-size: 1.3125rem;
    line-height: 1.5;
    font-weight: 500;
  }
}

.circle-kv .topic-icon-group p {
  font-size: 0.8125rem;
  line-height: 1.5;
  --tw-text-opacity: 1;
  color: rgb(81 90 104 / var(--tw-text-opacity));
}

.circle-kv .topic-icon-group.with-intro {
  align-items: flex-start;
}

.circle-kv .topic-icon {
  flex-shrink: 0;
}

.circle-kv .brand-logo {
    min-width: 0;
    margin-bottom: 2rem;
    width: 100%;
    max-width: 240px;
  }

@media (min-width: 1024px) {

  .circle-kv .brand-logo {
    max-width: 390px;
  }
}

/*# sourceMappingURL=vip-common.css.map */
