@charset "UTF-8";
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box; }

html {
  font-size: 16px;
  /* 桌面版基準字體大小 */
  color: #f38a0b; }

@media screen and (max-width: 1024px) {
  html {
    font-size: 14px; } }
body {
  font-family: 'Noto Sans TC', sans-serif;
  background-color: #fff;
  font-size: 1rem;
  /* 使用相對單位 */
  overflow-x: hidden; }

.frame {
  padding: 6.25rem 0; }
  @media (max-width: 768px) {
    .frame {
      padding: 3rem 0; } }

.wrap {
  margin: 5rem auto; }
  @media (max-width: 768px) {
    .wrap {
      margin: 3rem  auto; } }

.cta_button {
  display: inline-block;
  background-color: #7b34c6;
  color: white;
  padding: 1rem 2.5rem;
  border-radius: 100px;
  text-decoration: none;
  font-size: 1.5rem; }
  .cta_button span {
    font-size: 2.25rem;
    font-weight: bold; }

a:hover.cta_button {
  background: linear-gradient(to top, #520e9a, #b46eff); }

.tit {
  text-align: center;
  z-index: 1;
  position: relative; }
  .tit_maintitle {
    font-size: 3rem;
    margin-bottom: 1.5rem;
    color: #7b34c6; }
  .tit_subtitle {
    font-size: 1.5rem;
    color: #563a0f; }
  @media (max-width: 768px) {
    .tit_maintitle {
      font-size: 2.5rem;
      margin-bottom: 0rem;
      line-height: 1.6; }
    .tit_subtitle {
      font-size: 1.5rem; } }

header {
  background: linear-gradient(to right, #fff 50%, #ffba52 50%);
  position: relative;
  height: 4em;
  width: 100%;
  box-sizing: border-box;
  text-align: left;
  z-index: 9999;
  padding: 0.8em 1em 0 1em; }
  header a {
    display: inline-block;
    height: 2em; }
    header a img {
      height: 100%;
      width: auto; }
  @media (max-width: 768px) {
    header {
      background: #fff; } }

.kv {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #fff;
  margin-bottom: -2px; }
  .kv_info {
    flex: 1;
    color: #7b34c6;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center; }
    .kv_info .logo {
      display: flex;
      align-items: flex-end; }
      .kv_info .logo img {
        max-width: 166px; }
      .kv_info .logo p {
        margin-bottom: 0px;
        color: #808285;
        font-size: 1.5rem; }
    .kv_info h1 {
      font-size: 3.75rem;
      font-weight: bolder;
      margin: 1rem 0 3rem 0; }
    .kv_info p {
      font-size: 1.125rem;
      margin-bottom: 1rem;
      color: #563a0f;
      line-height: 1.6; }
      .kv_info p span {
        font-size: 12px; }
    .kv_info .highlight {
      font-size: 1.5rem;
      color: #7b34c6; }
    .kv_info .cta_button {
      margin-top: 2rem;
      animation: main 2s infinite ease-in-out;
      display: flex; }
      .kv_info .cta_button span {
        font-size: 4.5rem;
        margin: 0 3px;
        margin-bottom: -5px; }
      .kv_info .cta_button span:before {
        content: "2";
        position: absolute;
        z-index: -1;
        -webkit-text-stroke-width: 10px;
        -webkit-text-stroke-color: #7b34c6; }
    .kv_info .note {
      font-size: 12px;
      color: #000;
      padding-top: 1rem; }
@keyframes main {
  0% {
    transform: translateY(0); }
  50% {
    transform: translateY(-20px); }
  100% {
    transform: translateY(0); } }
  .kv_pic {
    background: linear-gradient(to bottom, #ffba52 35%, #f2c37d 70%, #ffc061 100%);
    flex: 1;
    position: relative;
    padding-top: 200px; }
    .kv_pic img {
      max-width: 100%;
      height: auto; }
    .kv_pic .card {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-90%, -50%); }
  @media (max-width: 1600px) {
    .kv_pic .card {
      transform: translate(-70%, -50%); } }
  @media (max-width: 1200px) {
    .kv_pic .card {
      transform: translate(-60%, -50%); } }
  @media (max-width: 1024px) {
    .kv_info .cta_button {
      height: 55px; } }
  @media (max-width: 768px) {
    .kv {
      flex-direction: column; }
      .kv_info {
        padding: 50px 0; }
        .kv_info .logo {
          align-items: center; }
          .kv_info .logo img {
            max-width: 100px; }
          .kv_info .logo p {
            font-size: 1.25rem; }
      .kv_pic {
        padding-top: 0; }
        .kv_pic .card {
          transform: translate(-50%, -60%);
          width: 90%; } }

.intro {
  position: relative;
  padding-top: 6.25rem; }
  .intro .tit {
    text-align: center;
    margin-bottom: 40px; }
    .intro .tit_maintitle {
      color: #7b34c6; }
      .intro .tit_maintitle span {
        color: #f38a0b; }
  .intro_content {
    position: relative;
    margin: 0 auto;
    padding: 0 20px;
    z-index: 2; }
    .intro_content .title {
      display: flex;
      justify-content: center;
      align-items: center; }
      .intro_content .title .card {
        width: 200px;
        position: relative;
        z-index: 2; }
      .intro_content .title .arrow {
        width: 308px;
        height: 51px;
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
        color: #7b34c6;
        font-size: 1.5rem; }
        .intro_content .title .arrow img {
          position: absolute;
          z-index: 1; }
        .intro_content .title .arrow p {
          position: absolute;
          z-index: 2;
          background-color: #fff;
          padding: 20px; }
      .intro_content .title .arrow02 {
        color: #f38a0b; }
    .intro_content .outline {
      display: flex;
      gap: 50px;
      justify-content: space-evenly;
      padding: 100px 0;
      background: linear-gradient(to bottom, white 0%, transparent 50%), linear-gradient(105deg, white 0%, #E6F3FF 20%, #eedfff 59.9%, #ffeacb 60%, #FFF5E6 80%, white 100%); }
      .intro_content .outline .box {
        display: flex;
        flex-direction: column;
        align-items: center; }
        .intro_content .outline .box p {
          color: #7b34c6;
          margin: 20px; }
        .intro_content .outline .box img {
          width: 100%; }
      .intro_content .outline .box:nth-child(n+6) p {
        color: #f38a0b; }
      .intro_content .outline .title {
        display: none; }
  @media (max-width: 768px) {
    .intro {
      padding-top: 0rem; }
      .intro .tit_maintitle {
        width: 90%;
        margin: auto; }
      .intro .title {
        flex-direction: column-reverse; }
        .intro .title .arrow {
          display: none; }
      .intro_content {
        padding: 0; }
        .intro_content .title .card {
          width: 70%; }
      .intro_content .outline {
        flex-direction: column; }
        .intro_content .outline .box img {
          width: 80%; }
      .intro .outline {
        margin: 50px 0;
        padding: 0;
        background: linear-gradient(#98cbff 0%, #E6F3FF 20%, white 51.9%, #edddc6 52%, #FFF5E6 80%, white 100%); }
        .intro .outline .title {
          display: block;
          color: #fff;
          background-color: #7b34c6;
          margin: auto;
          text-align: center;
          font-size: 1.5rem;
          padding: 30px;
          height: 0;
          line-height: 0; }
        .intro .outline .title02 {
          background-color: #f38a0b; }
        .intro .outline .box p {
          font-size: 1.5rem; } }

.card01 {
  background: linear-gradient(160deg, #fff 44%, #f1f1f1 44%); }
  .card01_content {
    display: flex;
    justify-content: space-between;
    align-items: center; }
  .card01_info {
    flex: 1;
    color: #000;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center; }
    .card01_info h2 {
      display: flex;
      gap: 20px;
      align-items: center; }
      .card01_info h2 .bosscard {
        font-size: 2.25rem;
        text-align: center; }
      .card01_info h2 .and {
        font-size: 4rem;
        font-weight: 100; }
      .card01_info h2 .platform img {
        width: 210px;
        max-width: 210px; }
      .card01_info h2 .platform .note02 {
        font-size: 1.5rem;
        margin-top: 0.75rem;
        display: block; }
    .card01_info p {
      color: #f38a0b;
      font-size: 1.875rem;
      font-weight: 500;
      line-height: 1.6;
      margin-top: 20px; }
    .card01_info ul {
      text-align-last: left;
      margin: 3rem auto;
      line-height: 1.6;
      color: #563a0f; }
      .card01_info ul li {
        list-style-type: square;
        font-size: 1.125em; }
    .card01_info .card {
      background-color: #f38a0b;
      background-color: rgba(255, 193, 97, 0.3);
      padding: 50px 100px;
      margin-top: 50px;
      border-radius: 20px; }
      .card01_info .card .logo {
        display: flex; }
        .card01_info .card .logo p {
          font-size: 1.5rem; }
      .card01_info .card .text {
        font-size: 1.125rem;
        color: #563a0f;
        font-weight: 400;
        line-height: 1.6;
        margin: 20px auto 10px auto; }
        .card01_info .card .text span {
          color: #f38a0b;
          font-weight: 600;
          background: linear-gradient(to bottom, transparent 60%, #f0ff00 60%, #f0ff00 100%) center/100% no-repeat; }
      .card01_info .card .note {
        font-size: 12px;
        color: #808285; }
  .card01_pic {
    flex: 1;
    text-align: right; }
    .card01_pic img {
      max-width: 100%;
      height: auto; }
  .card01 .cta_button {
    background-color: #f38a0b;
    color: #fff;
    padding: 1rem 5rem; }
  .card01 a:hover.cta_button {
    background: linear-gradient(to bottom, #ffab44, #ff5e00); }
  .card01 .example {
    flex-direction: column;
    padding-top: 5rem;
    margin-bottom: 0; }
    .card01 .example h2 .bosscard {
      color: #f38a0b; }
    .card01 .example .checkbox-container {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 0px 10px;
      max-width: 600px;
      margin: 20px 0;
      color: #563a0f; }
    .card01 .example .checkbox-item {
      display: flex;
      align-items: center;
      padding: 8px 16px;
      font-size: 1.125rem; }
    .card01 .example .checkbox-icon {
      width: 16px;
      height: 16px;
      border: 2px solid #000;
      border-radius: 2px;
      margin-right: 8px;
      position: relative; }
    .card01 .example .checkbox-icon::after {
      content: '✓';
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      font-size: 12px;
      font-weight: bold; }
  @media (max-width: 1024px) {
    .card01 .card01_info h2 .platform img {
      width: 150px; }
    .card01 .card01_info .card {
      padding: 25px 50px; }
    .card01 .example {
      padding-top: 0; } }
  @media (max-width: 768px) {
    .card01_content {
      flex-direction: column; }
    .card01_pic img {
      max-width: 80%;
      margin-top: 50px; }
    .card01_pic .w100 {
      max-width: 100%;
      margin-top: 0; }
    .card01_info h2 {
      gap: 10px; }
      .card01_info h2 .bosscard {
        font-size: 1.75rem; }
      .card01_info h2 .platform .note02 {
        font-size: 1.25rem; }
    .card01_info ul {
      margin: 2rem auto; }
    .card01 .example {
      padding-top: 0; }
    .card01 .example .checkbox-container {
      grid-template-columns: repeat(2, 1fr); } }
  @media (max-width: 550px) {
    .card01_pic {
      overflow-x: hidden; }
      .card01_pic .w100 {
        max-width: 140%;
        margin-left: -20%; } }

.intro03 {
  background: linear-gradient(160deg, #fff 44%, #f1f1f1 44%);
  padding-top: 6.25rem; }
  .intro03_content {
    display: flex;
    justify-content: space-between;
    align-items: center; }
  .intro03_info {
    flex: 1;
    color: #000;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center; }
    .intro03_info h2 {
      display: flex;
      gap: 20px;
      align-items: center;
      font-size: 2rem;
      color: #7b34c6; }
    .intro03_info p {
      color: #000;
      font-size: 1.5rem;
      font-weight: 500;
      line-height: 1.6;
      margin-top: 20px; }
  .intro03_pic {
    flex: 1;
    text-align: right; }
    .intro03_pic img {
      max-width: 100%;
      height: auto; }
  @media (max-width: 1024px) {
    .intro03 .card01_info h2 .platform img {
      width: 150px; }
    .intro03 .card01_info .card {
      padding: 25px 50px; } }
  @media (max-width: 768px) {
    .intro03 {
      padding-top: 3rem; }
      .intro03 .c-r {
        flex-direction: column-reverse; }
      .intro03_content {
        flex-direction: column; }
      .intro03_pic img {
        max-width: 100%;
        margin-top: 50px; }
      .intro03_info h2 {
        gap: 10px; } }

.discount {
  background-color: #ffedd1; }
  .discount h1 {
    font-weight: 300;
    line-height: 1.6; }
    .discount h1 span {
      font-weight: 600; }
  .discount_content {
    width: 1024px;
    display: flex;
    gap: 30px; }
  .discount_list {
    flex: 1;
    text-align: center;
    background-color: white;
    border: 5px solid #f38a0b;
    border-radius: 20px;
    padding: 20px 0; }
    .discount_list h3 {
      font-size: 1.5em;
      margin-bottom: 10px;
      color: #7b34c6;
      padding-bottom: 7px;
      display: inline-block;
      font-weight: 400;
      margin: 3rem auto 1rem auto;
      color: #563a0f; }
      .discount_list h3 span {
        font-weight: 900;
        color: #7b34c6; }
    .discount_list .pic {
      font-size: 12.5rem;
      font-weight: bolder; }
      .discount_list .pic span {
        font-size: 2.5rem; }
    .discount_list img {
      padding: 20px 0; }
    .discount_list p {
      font-size: 1.125em;
      line-height: 1.6;
      margin: 0;
      color: #563a0f;
      font-weight: 300; }
      .discount_list p span {
        color: #7b34c6;
        font-weight: 600; }
        .discount_list p span.note {
          font-size: 12px;
          color: #808285;
          font-weight: 300; }
  .discount_list::before {
    content: attr(data-number);
    position: absolute;
    top: -25px;
    left: calc(50% - 25px);
    background-color: #f38a0b;
    color: white;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: bold;
    font-size: 2rem; }
  .discount .slip {
    font-size: 1rem;
    margin: auto;
    color: #808285;
    text-decoration: none;
    text-align: center;
    display: block; }
    .discount .slip .arrow {
      margin-left: 5px;
      font-size: 12px; }
  .discount a:hover {
    color: #555; }
  @media (max-width: 1024px) {
    .discount_content {
      width: 95%;
      gap: 20px; } }
  @media (max-width: 1024px) {
    .discount_list img {
      width: 80%; } }
  @media (max-width: 800px) {
    .discount_content {
      width: 100%; } }
  @media (max-width: 768px) {
    .discount {
      padding: 3rem 0; }
      .discount .wrap {
        margin: 3rem auto 0 auto; }
      .discount_content {
        flex-direction: column;
        align-items: center;
        padding: 0 10px;
        gap: 0; }
      .discount_list {
        margin-bottom: 4rem;
        width: 90%; }
        .discount_list h3 {
          margin: 1rem auto; }
      .discount .slip {
        font-size: 1.25rem; } }

.line {
  background-color: #fff; }
  .line_content {
    display: flex;
    gap: 60px;
    color: #30a235;
    justify-content: center;
    align-items: center; }
  .line .cellphone {
    z-index: 999;
    position: relative;
    margin-top: -50px; }
  .line .QRcode {
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center; }
    .line .QRcode p {
      font-size: 1.125rem;
      margin-top: 1rem; }
  .line .text {
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center; }
    .line .text h3 {
      font-size: 2rem;
      color: #000; }
    .line .text p {
      color: #000;
      font-size: 1.125rem;
      margin: 1rem auto;
      width: 300px;
      line-height: 1.6; }
    .line .text .cta_button {
      background-color: #30a235; }
    .line .text a:hover.cta_button {
      background: linear-gradient(to top, #075c0c, #5fbb63); }
  @media (max-width: 1200px) {
    .line_content {
      width: 90%;
      gap: 30px;
      margin: auto; }
    .line .cellphone img {
      width: 100%; }
    .line .QRcode img {
      width: 100%; } }
  @media (max-width: 768px) {
    .line_content {
      flex-direction: column-reverse;
      gap: 0; }
    .line .QRcode {
      display: none; }
    .line .cellphone {
      width: 100%;
      top: 0;
      margin-top: 50px; }
      .line .cellphone img {
        width: 70%;
        margin: auto;
        display: block; }
    .line .text {
      margin-top: 50px; } }

.method {
  background-color: #f1f1f1; }
  .method details {
    border-radius: 4px;
    margin-bottom: 20px;
    width: 1024px;
    margin: auto;
    color: #563a0f; }
    .method details summary {
      padding: 10px;
      cursor: pointer;
      color: #563a0f;
      font-weight: bold;
      list-style: none;
      position: relative;
      font-size: 2.25rem;
      text-align: center;
      display: flex;
      align-items: center;
      justify-content: center; }
      .method details summary::-webkit-details-marker {
        display: none; }
      .method details summary::after {
        content: '';
        border: solid #563a0f;
        border-width: 0 4px 4px 0;
        display: inline-block;
        padding: 7px;
        margin-left: 15px;
        transform: rotate(45deg);
        transition: transform 0.3s ease; }
    .method details[open] > summary::after {
      transform: rotate(-135deg); }
  .method .content {
    padding: 15px;
    display: none; }
    .method .content h2 {
      color: #563a0f;
      margin-top: 2rem;
      margin-bottom: 1rem;
      padding-bottom: 3px;
      border-bottom: 1px solid #563a0f;
      display: inline-block; }
    .method .content ul {
      padding-left: 20px;
      line-height: 1.6;
      list-style-type: square; }
      .method .content ul ol {
        padding-left: 20px; }
    .method .content ol {
      padding-left: 20px;
      line-height: 1.6; }
      .method .content ol li span {
        color: #9a6d27; }
  .method details[open] .content {
    display: block; }
  @media (max-width: 1024px) {
    .method details {
      width: 100%; } }
  @media (max-width: 768px) {
    .method details {
      width: 95%; }
      .method details summary {
        font-size: 1.75rem; } }

.apply {
  position: fixed;
  right: 20px;
  bottom: 100px;
  z-index: 9999; }

.apply a:hover {
  opacity: 0.6; }

@media (max-width: 768px) {
  .apply {
    right: 5px; } }
.share {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 9999; }
  .share a:hover {
    opacity: .6; }
  @media (max-width: 768px) {
    .share {
      right: 5px; } }
