@charset "UTF-8";
header {
  padding: 24px 0 84px;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  background: #F5F5F5;
  z-index: 15; }
  header:before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    content: "";
    z-index: -1; }
  header.bg-transparent {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(41%, whitesmoke), color-stop(68%, rgba(245, 245, 245, 0.5)), color-stop(82%, rgba(245, 245, 245, 0.25)), to(rgba(40, 40, 40, 0)));
    background: linear-gradient(180deg, whitesmoke 41%, rgba(245, 245, 245, 0.5) 68%, rgba(245, 245, 245, 0.25) 82%, rgba(40, 40, 40, 0) 100%); }
    header.bg-transparent + .main {
      margin-top: 0; }
  header.scrolled:before, header.hover:before {
    background: #FFFFFF; }
  header.scrolled {
    padding-bottom: 24px; }
  header.form-header {
    padding-bottom: 24px; }
    header.form-header .right-wrapper {
      position: relative; }
      @media (max-width: 1439px) {
        html[lang="en"] header.form-header .right-wrapper {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex; } }
      @media (max-width: 1299px) {
        html:not([lang="en"]) header.form-header .right-wrapper {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex; } }
    header.form-header .nav {
      margin-right: 0; }
  @media (max-width: 1439px) {
    html[lang="en"] header {
      padding: 24px 0; } }
  @media (max-width: 1299px) {
    html:not([lang="en"]) header {
      padding: 24px 0; } }
  header .container .logo {
    margin-top: 6px;
    height: 74px;
    /* > a {
    	display: block;
    } */ }
    header .container .logo img {
      width: 335px;
      display: block; }
  @media (max-width: 1439px) {
    html[lang="en"] header .container {
      padding: 0 24px; }
      html[lang="en"] header .container .logo {
        margin-top: -1px;
        height: 64px; }
        html[lang="en"] header .container .logo img {
          width: 288px; } }
  @media (max-width: 1299px) {
    html:not([lang="en"]) header .container {
      padding: 0 24px; }
      html:not([lang="en"]) header .container .logo {
        margin-top: -1px;
        height: 64px; }
        html:not([lang="en"]) header .container .logo img {
          width: 288px; } }
  @media (max-width: 767px) {
    header .container .logo {
      margin-top: 4px !important;
      height: 40px !important; }
      header .container .logo img {
        width: 198px !important; } }
  header .header-container > .wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
  header .right-wrapper {
    position: absolute;
    top: 0;
    right: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: end;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end; }
    @media (max-width: 1439px) {
      html[lang="en"] header .right-wrapper {
        display: none; } }
    @media (max-width: 1299px) {
      html:not([lang="en"]) header .right-wrapper {
        display: none; } }
  header .language {
    color: #666666;
    position: relative; }
    header .language .icon-link {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
      header .language .icon-link:before {
        content: "";
        display: inline-block;
        background-size: contain;
        background-image: url("../img/icon/globe.svg");
        background-repeat: no-repeat;
        width: 32px;
        height: 32px; }
    header .language .sub {
      -webkit-box-shadow: 1px 1px 30px #00000015;
              box-shadow: 1px 1px 30px #00000015;
      padding: 4px 0;
      background-color: #F5F5F5;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      position: absolute;
      top: auto;
      bottom: -50px;
      left: 50%;
      -webkit-transform: translateX(-50%);
              transform: translateX(-50%);
      display: none;
      z-index: 2;
      min-width: 0; }
      header .language .sub.show {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex; }
      header .language .sub a {
        display: block;
        width: 62px;
        color: #666666;
        text-align: center;
        padding: 8px 12px;
        position: relative; }
        header .language .sub a:not(:last-child):after {
          content: "";
          height: 20px;
          width: 1px;
          background-color: #DDDDDD;
          position: absolute;
          top: 10px;
          right: 0; }
  header .nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    margin-right: 28px; }
  header .main-nav {
    margin-top: 4px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end; }
    header .main-nav .menu-item {
      position: relative; }
      header .main-nav .menu-item > a.active {
        text-decoration: underline;
        text-underline-offset: 0.2em; }
      header .main-nav .menu-item:last-child > a {
        padding-right: 0; }
      header .main-nav .menu-item:first-child > a {
        padding-left: 0; }
    header .main-nav a {
      font-size: 18px;
      font-weight: 500;
      line-height: 160%;
      display: block;
      padding: 4px 14px 32px; }
      :lang(en) header .main-nav a {
        font-size: 16px; }
  header .icon-link-block {
    display: block;
    width: 128px;
    height: 128px;
    padding: 12px;
    text-align: center;
    background-color: #D00007;
    color: #FFFFFF;
    position: relative;
    overflow: hidden;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
    @media (max-width: 1439px) {
      html[lang="en"] header .icon-link-block {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row; } }
    @media (max-width: 1299px) {
      html:not([lang="en"]) header .icon-link-block {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row; } }
    header .icon-link-block > span {
      display: block;
      position: relative; }
    header .icon-link-block .icon:before {
      display: block;
      margin: 0 auto; }
    header .icon-link-block:before {
      content: "";
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      background-color: #A50D01;
      -webkit-transform: translateY(100%);
              transform: translateY(100%);
      -webkit-transition: -webkit-transform 0.2s;
      transition: -webkit-transform 0.2s;
      transition: transform 0.2s;
      transition: transform 0.2s, -webkit-transform 0.2s; }
    header .icon-link-block.sty2 {
      background-color: #CDAA66; }
      header .icon-link-block.sty2:before {
        background-color: #91682F; }
    header .icon-link-block:hover:before {
      -webkit-transform: none;
              transform: none; }
    :lang(en) header .icon-link-block {
      font-size: 14px; }
  header .sub {
    position: absolute;
    top: 64px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    background-color: #F5F5F5;
    min-width: 200px;
    text-align: center;
    opacity: 0;
    pointer-events: none; }
    header .sub .lv2-item {
      padding: 12px 8px; }
      header .sub .lv2-item:not(:last-child) {
        border-bottom: 1px solid #E8E8E8; }
      header .sub .lv2-item a {
        padding: 0;
        font-size: 16px;
        font-weight: 300;
        line-height: 160%;
        letter-spacing: 0.2px; }
    header .sub.show {
      opacity: 1;
      pointer-events: auto; }
  header .mega-sub {
    position: fixed;
    top: 128px;
    left: 0;
    right: 0;
    background-color: #F5F5F5;
    padding: 40px 0;
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
    opacity: 0;
    pointer-events: none; }
    header .mega-sub .wrapper {
      display: grid;
      grid-template-columns: 1fr 3fr;
      gap: 80px;
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start; }
    header .mega-sub .section-title {
      font-size: 40px;
      font-weight: 300;
      line-height: normal; }
      :lang(en) header .mega-sub .section-title {
        font-size: 32px; }
    header .mega-sub .lv2-wrapper {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 80px; }
    header .mega-sub .lv2 .lv2-title {
      font-size: 18px;
      font-weight: 600;
      line-height: normal;
      margin-bottom: 24px; }
      :lang(en) header .mega-sub .lv2 .lv2-title {
        font-size: 16px; }
    header .mega-sub .lv2 .lv2-item {
      padding-bottom: 6px;
      border-bottom: 1px solid #E8E8E8; }
      header .mega-sub .lv2 .lv2-item a {
        font-size: 16px;
        font-weight: 300;
        line-height: 160%;
        letter-spacing: 0.2px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        padding: 0; }
        header .mega-sub .lv2 .lv2-item a:after {
          content: "";
          display: inline-block;
          background-size: contain;
          background-image: url("../img/icon/arrow-right.svg");
          background-repeat: no-repeat;
          width: 20px;
          height: 20px; }
        :lang(en) header .mega-sub .lv2 .lv2-item a {
          font-size: 15px; }
        header .mega-sub .lv2 .lv2-item a:after {
          -ms-flex-negative: 0;
              flex-shrink: 0; }
      header .mega-sub .lv2 .lv2-item:not(:last-child) {
        margin-bottom: 16px; }
    header .mega-sub .lv2:first-child:nth-last-child(2) {
      grid-column-start: 2; }
    header .mega-sub.show {
      opacity: 1;
      pointer-events: auto; }
  header .hamburger {
    display: none;
    font-size: 13px;
    line-height: 12.8px;
    text-align: center; }
    header .hamburger .lines {
      width: 34px;
      height: 34px;
      position: relative;
      margin-bottom: 4px; }
    header .hamburger .line {
      position: absolute;
      left: 8px;
      width: 18px;
      height: 2px;
      -webkit-transition: all 0.3s ease-in-out;
      transition: all 0.3s ease-in-out;
      background-color: #D00007; }
      header .hamburger .line:first-child {
        top: 10px; }
      header .hamburger .line:nth-child(2) {
        top: 46%; }
      header .hamburger .line:last-child {
        bottom: 10px; }
    header .hamburger .label-show {
      display: none; }
    @media (max-width: 1439px) {
      html[lang="en"] header .hamburger {
        display: block; } }
    @media (max-width: 1299px) {
      html:not([lang="en"]) header .hamburger {
        display: block; } }
    header .hamburger.show .line:nth-child(1) {
      width: 30px;
      -webkit-transform: rotate(45deg) translate(0px, 9px);
              transform: rotate(45deg) translate(0px, 9px); }
    header .hamburger.show .line:nth-child(2) {
      width: 0; }
    header .hamburger.show .line:nth-child(3) {
      width: 30px;
      -webkit-transform: rotate(-45deg) translate(0px, -9px);
              transform: rotate(-45deg) translate(0px, -9px); }
    header .hamburger.show .label {
      display: none; }
    header .hamburger.show .label-show {
      display: block; }
    @media (max-width: 767px) {
      header .hamburger {
        /* width: 72px;
        height: 72px;
        .line {
        	left: 20px;
        	&:first-child {
        		top: 24px;
        	}
        	&:last-child {
        		bottom: 24px;
        	}
        } */ } }

body.menu-open header {
  /* .sub {
  	position: relative;
  } */ }
  body.menu-open header:before {
    background-color: #FFFFFF; }
  body.menu-open header .container .logo, body.menu-open header .container .hamburger {
    position: relative;
    z-index: calc(24px + 1); }
  body.menu-open header .right-wrapper {
    display: block;
    background-color: #F9F9F9;
    top: 97px;
    width: 100%;
    height: calc(100dvh - 97px - 80px);
    overflow-y: auto; }
  body.menu-open header .nav {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    padding: 24px;
    margin-right: 0; }
  body.menu-open header .main-nav {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    width: 100%;
    margin-top: 0;
    gap: 0; }
    body.menu-open header .main-nav a {
      font-size: 22px;
      font-weight: 600;
      width: 100%;
      padding: 0 22px 12px 0; }
    body.menu-open header .main-nav .menu-item {
      border-bottom: 1px solid #DDDDDD;
      width: 100%;
      margin-bottom: 32px; }
      body.menu-open header .main-nav .menu-item.hv-sub > a {
        position: relative;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center; }
        body.menu-open header .main-nav .menu-item.hv-sub > a:after {
          content: "";
          display: inline-block;
          background-size: contain;
          background-image: url("../img/icon/arrow-down-b.svg");
          background-repeat: no-repeat;
          width: 22px;
          height: 22px; }
        body.menu-open header .main-nav .menu-item.hv-sub > a:after {
          -webkit-transition: all .2s ease;
          transition: all .2s ease; }
        body.menu-open header .main-nav .menu-item.hv-sub > a.show:after {
          -webkit-transform: rotate(180deg);
                  transform: rotate(180deg); }
  body.menu-open header .language {
    font-size: 15px;
    line-height: 24px;
    color: #2E2E2E; }
  body.menu-open header .icon-link-block {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 50%;
    height: 80px;
    padding: 24px 32px;
    font-size: 18px;
    line-height: 24px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }
    body.menu-open header .icon-link-block.sty2 {
      left: auto;
      right: 0; }
    body.menu-open header .icon-link-block > span:before {
      width: 32px;
      height: 32px; }
    @media (max-width: 575px) {
      :lang(en) body.menu-open header .icon-link-block {
        font-size: 14px; } }
  body.menu-open header .mega-sub {
    position: relative;
    top: 0;
    display: none;
    padding: 20px 0;
    opacity: 1;
    pointer-events: auto;
    -webkit-transition: none;
    transition: none;
    /* &.show {
    	height: auto;
    } */ }
    body.menu-open header .mega-sub .section-title {
      display: none; }
    body.menu-open header .mega-sub .wrapper {
      display: block; }
    body.menu-open header .mega-sub .lv2-wrapper {
      display: block;
      margin-top: -24px; }
      body.menu-open header .mega-sub .lv2-wrapper .lv2-title {
        margin-top: 24px; }
        body.menu-open header .mega-sub .lv2-wrapper .lv2-title.no-title {
          display: none; }
      body.menu-open header .mega-sub .lv2-wrapper .lv2:not(:last-child) {
        margin-bottom: 16px; }
      body.menu-open header .mega-sub .lv2-wrapper .lv2:first-child .lv2-title.no-title {
        margin-top: 24px;
        display: block;
        height: 0;
        padding: 0; }

.floating {
  position: fixed;
  right: 0;
  top: 40vh;
  z-index: 19;
  -webkit-box-shadow: -1px 2px 15px #3E0B1725;
          box-shadow: -1px 2px 15px #3E0B1725;
  width: 80px;
  -webkit-transition: width 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  transition: width 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  cursor: pointer; }
  @media screen and (max-width: 991px) {
    .floating {
      width: 57px; } }
  @media print {
    .floating {
      display: none; } }
  .floating.expanded {
    width: 224px; }

.floating-box {
  background-color: #D00007;
  color: #FFFFFF; }
  .floating-box .head {
    background-color: #A50D01;
    padding: 6px 12px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-size: 11.5px;
    line-height: 173%;
    -webkit-transition: padding 0.2s ease-in-out;
    transition: padding 0.2s ease-in-out; }
    .floating-box .head:after {
      content: "";
      display: inline-block;
      background-size: contain;
      background-image: url("../img/icon/arrow-left-w.svg");
      background-repeat: no-repeat;
      width: 16px;
      height: 16px; }
    .floating-box .head:after {
      -webkit-transition: -webkit-transform 0.2s;
      transition: -webkit-transform 0.2s;
      transition: transform 0.2s;
      transition: transform 0.2s, -webkit-transform 0.2s; }
      @media screen and (max-width: 991px) {
        .floating-box .head:after {
          display: none; } }
    @media screen and (max-width: 991px) {
      .floating-box .head {
        padding: 6px 8px; } }
  .floating-box .body {
    padding: 14px;
    height: 80px;
    position: relative;
    -webkit-transition: height 0.4s;
    transition: height 0.4s; }
    @media screen and (max-width: 991px) {
      .floating-box .body {
        height: 57px; } }
  .floating-box .icon {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-transition: opacity 0.2s ease-in-out;
    transition: opacity 0.2s ease-in-out;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%); }
    .floating-box .icon:before {
      display: block; }
      @media screen and (max-width: 991px) {
        .floating-box .icon:before {
          width: 32px !important;
          height: 32px !important; } }
  .floating-box .details {
    font-size: 13px;
    font-weight: 300;
    line-height: 155%;
    background-image: url("../img/icon/question-bg.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 150px 150px;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: opacity 0.3s ease-in-out 0.3s;
    transition: opacity 0.3s ease-in-out 0.3s; }
    .floating-box .details .intro {
      font-size: 14px;
      font-weight: 600;
      letter-spacing: 0.3px;
      margin-bottom: 12px; }
    .floating-box .details .grid > div {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      -webkit-column-gap: 16px;
              column-gap: 16px; }
  .floating-box.expanded .head {
    padding: 6px 20px; }
    .floating-box.expanded .head:after {
      -webkit-transform: rotateY(180deg);
              transform: rotateY(180deg); }
  .floating-box.expanded .body {
    padding: 20px;
    height: 150px; }
  .floating-box.expanded .icon {
    opacity: 0; }
  .floating-box.expanded .details {
    opacity: 1;
    visibility: visible; }

dialog#m-floating .dialog-body {
  padding: 0; }
dialog#m-floating .btn-close {
  position: relative;
  display: block; }
  dialog#m-floating .btn-close:after {
    width: 24px;
    height: 24px; }
dialog#m-floating .floating-box.expanded {
  height: auto; }
  dialog#m-floating .floating-box.expanded .head {
    font-size: 12px; }
  dialog#m-floating .floating-box.expanded .details .grid > div > div:last-child {
    text-align: right; }

footer {
  background-color: #DDDDDD;
  font-size: 14px;
  font-weight: 300;
  line-height: 140%;
  padding: 24px 0 40px;
  position: relative;
  z-index: 1; }
  footer .container {
    max-width: 1416px;
    /* padding: 0 $container_wider_padding; */ }
    @media (max-width: 991px) {
      footer .container {
        padding: 0 24px; } }
  footer .footer-top {
    text-align: center;
    padding-bottom: 16px;
    border-bottom: 1px solid #C7C7C7;
    margin-bottom: 60px; }
    @media (max-width: 991px) {
      footer .footer-top {
        margin-bottom: 40px; } }
    footer .footer-top .btn-top {
      font-size: 14px;
      font-weight: 300;
      line-height: 138.5%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      text-decoration: underline; }
      footer .footer-top .btn-top:before {
        content: "";
        display: inline-block;
        background-size: contain;
        background-image: url("../img/icon/arrow-up.svg");
        background-repeat: no-repeat;
        width: 24px;
        height: 24px; }
      footer .footer-top .btn-top:before {
        margin-right: 4px;
        -webkit-transition: all 0.3s ease-in-out;
        transition: all 0.3s ease-in-out; }
      footer .footer-top .btn-top:hover:before {
        -webkit-transform: translateY(-4px);
                transform: translateY(-4px); }
  footer .footer-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-bottom: 52px; }
    @media (max-width: 991px) {
      footer .footer-content {
        display: block;
        margin-bottom: 40px; } }
    footer .footer-content .footer-site-logo {
      margin-bottom: 60px; }
      @media (max-width: 991px) {
        footer .footer-content .footer-site-logo {
          margin-bottom: 40px; } }
      footer .footer-content .footer-site-logo img {
        height: 64px;
        display: block; }
    footer .footer-content .group-logo img {
      max-height: 40px; }
    footer .footer-content .group-logo .wrapper {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      margin-bottom: 28px; }
      footer .footer-content .group-logo .wrapper a + a {
        margin-left: 28px; }
    footer .footer-content .group-logo .label {
      font-size: 16px;
      font-weight: 500;
      line-height: 140%;
      margin-bottom: 16px; }
    footer .footer-content .group .label {
      font-size: 16px;
      font-weight: 600;
      padding-bottom: 16px;
      margin-bottom: 18px;
      position: relative; }
      footer .footer-content .group .label:after {
        content: "";
        display: block;
        width: 32px;
        height: 2px;
        background-color: #D00007;
        position: absolute;
        bottom: 0;
        left: 0; }
      @media (max-width: 991px) {
        footer .footer-content .group .label {
          font-size: 15px;
          padding-bottom: 8px; }
          footer .footer-content .group .label:after {
            width: 75px; } }
    footer .footer-content .group nav {
      max-width: 164px; }
      @media (max-width: 991px) {
        footer .footer-content .group nav {
          max-width: 100%; } }
      footer .footer-content .group nav li + li {
        margin-top: 18px; }
    footer .footer-content .col-sitemap {
      margin-left: 24px;
      width: 54%; }
      footer .footer-content .col-sitemap > .wrapper {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        -webkit-column-gap: 24px;
                column-gap: 24px;
        row-gap: 32px; }
      @media (max-width: 991px) {
        footer .footer-content .col-sitemap {
          margin-left: 0;
          width: 100%;
          margin-top: 64px; }
          footer .footer-content .col-sitemap > .wrapper {
            grid-template-columns: repeat(2, 1fr);
            /* .group {
            	&:first-child {
            		grid-area: 1 / 1 / 2 / 2;
            	}
            	&:nth-child(2) {
            		grid-area:  1 / 2 / 3 / 3;
            	}
            	&:last-child {
            		grid-area: 2 / 1 / 3 / 2;
            	}
            } */ } }
  footer .footer-bottom {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    font-size: 13px;
    font-weight: 300;
    line-height: 140%;
    color: #666666; }
    footer .footer-bottom nav a:not(:last-child) {
      margin-right: 40px; }
    @media (max-width: 991px) {
      footer .footer-bottom {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-align: start;
            -ms-flex-align: start;
                align-items: flex-start;
        font-size: 12px; }
        footer .footer-bottom .copyright {
          margin-bottom: 12px; } }

[data-aos="kv-zoom"] {
  -webkit-transition: -webkit-transform;
  transition: -webkit-transform;
  transition: transform;
  transition: transform, -webkit-transform;
  -webkit-transform: scale(1.08);
          transform: scale(1.08);
  -webkit-transition-duration: 6s !important;
          transition-duration: 6s !important;
  -webkit-transition-timing-function: cubic-bezier(0.22, 0.67, 0.41, 1) !important;
          transition-timing-function: cubic-bezier(0.22, 0.67, 0.41, 1) !important; }
  [data-aos="kv-zoom"].aos-animate {
    -webkit-transform: scale(1);
            transform: scale(1); }

[data-aos="spotlight"] {
  width: 0;
  -webkit-transition: width;
  transition: width;
  -webkit-transition-duration: 2s !important;
          transition-duration: 2s !important;
  -webkit-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1) !important;
          transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1) !important; }
  [data-aos="spotlight"].aos-animate {
    width: 100%; }

[data-aos="blur-in"] {
  -webkit-transition: -webkit-filter;
  transition: -webkit-filter;
  transition: filter;
  transition: filter, -webkit-filter;
  -webkit-filter: blur(4px);
          filter: blur(4px);
  -webkit-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1) !important;
          transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1) !important; }
  [data-aos="blur-in"].aos-animate {
    -webkit-filter: none;
            filter: none; }

[data-aos="deco-box"]:before {
  -webkit-transition: .6s ease .3s;
  transition: .6s ease .3s; }
[data-aos="deco-box"].aos-animate:before {
  height: 100%; }

[data-aos="text-up"] {
  overflow: hidden; }
  [data-aos="text-up"] > * {
    -webkit-transition: -webkit-transform 0.8s cubic-bezier(0.53, 0.2, 0.25, 1);
    transition: -webkit-transform 0.8s cubic-bezier(0.53, 0.2, 0.25, 1);
    transition: transform 0.8s cubic-bezier(0.53, 0.2, 0.25, 1);
    transition: transform 0.8s cubic-bezier(0.53, 0.2, 0.25, 1), -webkit-transform 0.8s cubic-bezier(0.53, 0.2, 0.25, 1);
    -webkit-transform: translate(0, 100%);
            transform: translate(0, 100%); }
  [data-aos="text-up"].aos-animate > * {
    -webkit-transform: translate(0, 0%);
            transform: translate(0, 0%); }

[data-aos="show-corners"]:before, [data-aos="show-corners"]:after {
  opacity: 0;
  -webkit-transition: .6s ease .3s;
  transition: .6s ease .3s; }
[data-aos="show-corners"]:before {
  -webkit-transform: translate(-12px, -12px) rotate(0deg) !important;
          transform: translate(-12px, -12px) rotate(0deg) !important; }
[data-aos="show-corners"]:after {
  -webkit-transform: translate(12px, 12px) rotate(180deg) !important;
          transform: translate(12px, 12px) rotate(180deg) !important; }
[data-aos="show-corners"].aos-animate:before, [data-aos="show-corners"].aos-animate:after {
  opacity: 1; }
[data-aos="show-corners"].aos-animate:before {
  -webkit-transform: rotate(0deg) !important;
          transform: rotate(0deg) !important; }
[data-aos="show-corners"].aos-animate:after {
  -webkit-transform: rotate(180deg) !important;
          transform: rotate(180deg) !important; }

@-webkit-keyframes loading {
  0% {
    -webkit-transform: rotateX(0deg);
            transform: rotateX(0deg);
    /* Start position */ }
  100% {
    -webkit-transform: rotateX(360deg);
            transform: rotateX(360deg);
    /* End position (full rotation) */ } }

@keyframes loading {
  0% {
    -webkit-transform: rotateX(0deg);
            transform: rotateX(0deg);
    /* Start position */ }
  100% {
    -webkit-transform: rotateX(360deg);
            transform: rotateX(360deg);
    /* End position (full rotation) */ } }
@-webkit-keyframes decoBox {
  0% {
    height: 0%; }
  100% {
    height: 100%; } }
@keyframes decoBox {
  0% {
    height: 0%; }
  100% {
    height: 100%; } }
@-webkit-keyframes arrow {
  0% {
    -webkit-transform: translate(0);
            transform: translate(0);
    opacity: 1; }
  40% {
    opacity: 0; }
  49.9% {
    -webkit-transform: translate(50%);
            transform: translate(50%);
    opacity: 0; }
  50% {
    -webkit-transform: translate(-50%);
            transform: translate(-50%);
    opacity: 0; }
  100% {
    -webkit-transform: translate(0);
            transform: translate(0);
    opacity: 1; } }
@keyframes arrow {
  0% {
    -webkit-transform: translate(0);
            transform: translate(0);
    opacity: 1; }
  40% {
    opacity: 0; }
  49.9% {
    -webkit-transform: translate(50%);
            transform: translate(50%);
    opacity: 0; }
  50% {
    -webkit-transform: translate(-50%);
            transform: translate(-50%);
    opacity: 0; }
  100% {
    -webkit-transform: translate(0);
            transform: translate(0);
    opacity: 1; } }
@-webkit-keyframes bounce {
  from {
    -webkit-transform: translateY(0);
            transform: translateY(0); }
  to {
    -webkit-transform: translateY(-7px);
            transform: translateY(-7px);
    /* Distance to move up */
    opacity: 0.6;
    /* Optional: adds a slight fade at the peak */ } }
@keyframes bounce {
  from {
    -webkit-transform: translateY(0);
            transform: translateY(0); }
  to {
    -webkit-transform: translateY(-7px);
            transform: translateY(-7px);
    /* Distance to move up */
    opacity: 0.6;
    /* Optional: adds a slight fade at the peak */ } }
@-webkit-keyframes pulse-glow {
  from {
    -webkit-box-shadow: 0 0 0 0 rgba(180, 58, 49, 0.8);
            box-shadow: 0 0 0 0 rgba(180, 58, 49, 0.8); }
  to {
    -webkit-box-shadow: 0 0 0 15px rgba(180, 58, 49, 0);
            box-shadow: 0 0 0 15px rgba(180, 58, 49, 0); } }
@keyframes pulse-glow {
  from {
    -webkit-box-shadow: 0 0 0 0 rgba(180, 58, 49, 0.8);
            box-shadow: 0 0 0 0 rgba(180, 58, 49, 0.8); }
  to {
    -webkit-box-shadow: 0 0 0 15px rgba(180, 58, 49, 0);
            box-shadow: 0 0 0 15px rgba(180, 58, 49, 0); } }
@-webkit-keyframes pulse-glow2 {
  from {
    -webkit-box-shadow: 0 0 0 0 #e39999;
            box-shadow: 0 0 0 0 #e39999;
    background-color: #fae8e8; }
  to {
    -webkit-box-shadow: 0 0 0 15px rgba(227, 153, 153, 0);
            box-shadow: 0 0 0 15px rgba(227, 153, 153, 0);
    background-color: white; } }
@keyframes pulse-glow2 {
  from {
    -webkit-box-shadow: 0 0 0 0 #e39999;
            box-shadow: 0 0 0 0 #e39999;
    background-color: #fae8e8; }
  to {
    -webkit-box-shadow: 0 0 0 15px rgba(227, 153, 153, 0);
            box-shadow: 0 0 0 15px rgba(227, 153, 153, 0);
    background-color: white; } }
dialog {
  width: 100%;
  height: 100%;
  border: none;
  background-color: transparent;
  overflow-x: hidden; }
  dialog[open] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }
  dialog .dialog-wrapper {
    position: relative;
    padding: 44px 0 0;
    width: 100%; }
  dialog .btn-close {
    position: absolute;
    top: 0;
    right: 0;
    border: none;
    background-color: transparent;
    cursor: pointer;
    padding: 0;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none; }
    dialog .btn-close:after {
      content: "";
      display: inline-block;
      background-size: contain;
      background-image: url("../img/icon/cross-w.svg");
      background-repeat: no-repeat;
      width: 32px;
      height: 32px; }
  dialog:-internal-dialog-in-top-layer::-webkit-backdrop {
    background-color: rgba(38, 38, 38, 0.4); }
  dialog:-internal-dialog-in-top-layer::backdrop {
    background-color: rgba(38, 38, 38, 0.4); }
  dialog .dialog-body {
    background-color: #FFFFFF;
    overflow-y: auto;
    max-height: calc(92vh - 78px);
    padding: 24px 32px;
    margin: 0 auto; }
  dialog.dialog-warning .dialog-wrapper {
    width: auto; }
  dialog.dialog-warning .msg {
    text-align: center; }
    dialog.dialog-warning .msg .icon {
      margin-bottom: 8px; }
  dialog.dialog-warning .btn-container {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: auto;
    margin-top: 32px;
    gap: 16px; }
    @media screen and (max-width: 991px) {
      dialog.dialog-warning .btn-container {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        padding: 0; } }
    dialog.dialog-warning .btn-container .btn {
      min-width: 173px;
      width: auto; }
      @media screen and (max-width: 991px) {
        dialog.dialog-warning .btn-container .btn {
          min-width: auto;
          width: 100%; } }
  dialog.apply-step1 {
    max-width: 876px; }
    dialog.apply-step1 .dialog-body {
      padding: 48px; }
      @media screen and (max-width: 991px) {
        dialog.apply-step1 .dialog-body {
          padding: 40px 24px; } }
    dialog.apply-step1 .step {
      display: none; }
      @media screen and (max-width: 991px) {
        dialog.apply-step1 .step {
          padding: 0; } }
      dialog.apply-step1 .step.show {
        display: block; }
    dialog.apply-step1 .head {
      font-size: 24px;
      font-weight: 600;
      line-height: 130%;
      color: #D00007;
      margin-bottom: 12px; }
      :lang(en) dialog.apply-step1 .head {
        font-size: 22px; }
      @media screen and (max-width: 991px) {
        dialog.apply-step1 .head {
          font-size: 20px; }
          :lang(en) dialog.apply-step1 .head {
            font-size: 20px; } }
    dialog.apply-step1 .progress {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      gap: 16px; }
      dialog.apply-step1 .progress .line {
        height: 5px;
        width: 100%;
        background-color: #EEEEEE; }
        dialog.apply-step1 .progress .line.completed {
          background-color: #D00007; }
      dialog.apply-step1 .progress .fraction {
        font-size: 16px;
        font-weight: 300;
        line-height: 160%;
        -ms-flex-negative: 0;
            flex-shrink: 0;
        color: #666666;
        margin-left: 8px; }
        dialog.apply-step1 .progress .fraction .current {
          font-size: 20px;
          font-weight: 600;
          color: #D00007; }
    dialog.apply-step1 .step-details {
      margin-top: 60px;
      padding: 0 12px; }
      @media screen and (max-width: 991px) {
        dialog.apply-step1 .step-details {
          padding: 0; } }
      dialog.apply-step1 .step-details .intro, dialog.apply-step1 .step-details .form-type-webform-markup {
        font-size: 18px;
        font-weight: 600;
        line-height: 130%;
        margin-bottom: 32px; }
        @media screen and (max-width: 991px) {
          dialog.apply-step1 .step-details .intro, dialog.apply-step1 .step-details .form-type-webform-markup {
            font-size: 14px; } }
      dialog.apply-step1 .step-details .inline-form fieldset {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        gap: 12px;
        margin-bottom: 60px; }
        @media screen and (max-width: 991px) {
          dialog.apply-step1 .step-details .inline-form fieldset {
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
            -webkit-box-align: start;
                -ms-flex-align: start;
                    align-items: flex-start;
            margin-bottom: 40px; } }
      dialog.apply-step1 .step-details .inline-form legend {
        font-size: 20px;
        font-weight: 400;
        line-height: 155%;
        display: contents; }
        :lang(en) dialog.apply-step1 .step-details .inline-form legend {
          font-size: 16px; }
        @media screen and (max-width: 991px) {
          dialog.apply-step1 .step-details .inline-form legend {
            font-size: 16px; } }
      dialog.apply-step1 .step-details .inline-form .fieldset-wrapper {
        width: 38%;
        -ms-flex-negative: 0;
            flex-shrink: 0; }
        @media screen and (max-width: 991px) {
          dialog.apply-step1 .step-details .inline-form .fieldset-wrapper {
            width: 100%; } }
      dialog.apply-step1 .step-details .inline-form .desc {
        margin-bottom: 60px; }
        @media screen and (max-width: 991px) {
          dialog.apply-step1 .step-details .inline-form .desc {
            margin-bottom: 40px; } }
      dialog.apply-step1 .step-details .inline-form .form-type-checkbox label {
        font-weight: 400; }
      dialog.apply-step1 .step-details .inline-form .form-type-checkbox input[type=checkbox]:checked:before {
        background-image: url("../img/icon/checkbox2.svg"); }
      dialog.apply-step1 .step-details .inline-form .form-type-select {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center; }
        dialog.apply-step1 .step-details .inline-form .form-type-select label {
          font-size: 20px;
          font-weight: 400;
          line-height: 155%; }
          @media screen and (max-width: 991px) {
            dialog.apply-step1 .step-details .inline-form .form-type-select label {
              font-size: 16px; } }
        dialog.apply-step1 .step-details .inline-form .form-type-select .select2-container {
          width: 38% !important; }
        dialog.apply-step1 .step-details .inline-form .form-type-select .select2-container--default .select2-selection--single .select2-selection__rendered {
          font-size: 16px;
          font-weight: 500; }
      dialog.apply-step1 .step-details .btn-container {
        margin-top: 70px; }
        dialog.apply-step1 .step-details .btn-container .btn {
          max-width: 50%;
          margin: 0 auto; }
        @media screen and (max-width: 991px) {
          dialog.apply-step1 .step-details .btn-container {
            margin-top: 40px; }
            dialog.apply-step1 .step-details .btn-container .btn {
              max-width: 100%; } }
  dialog.privacy .head {
    font-size: 40px;
    margin-bottom: 60px;
    padding-bottom: 32px;
    position: relative;
    color: #2E2E2E; }
    @media screen and (max-width: 991px) {
      dialog.privacy .head {
        font-size: 28px;
        margin-bottom: 40px; } }
    dialog.privacy .head:after {
      content: "";
      display: block;
      width: 80px;
      height: 2px;
      background-color: #D00007;
      position: absolute;
      bottom: 0;
      left: 0; }
  dialog.privacy .step-details .com-text {
    color: #525335; }
    dialog.privacy .step-details .com-text h4 {
      color: #2E2E2E; }
  dialog.disclaimer {
    max-width: 874px; }
    dialog.disclaimer .dialog-body {
      padding: 48px; }
      dialog.disclaimer .dialog-body .details {
        font-size: 18px;
        line-height: 155%;
        letter-spacing: 0.7px; }
      @media (max-width: 991px) {
        dialog.disclaimer .dialog-body {
          padding: 40px 24px; }
          dialog.disclaimer .dialog-body .details {
            font-size: 14px;
            letter-spacing: 0.6px; } }
    dialog.disclaimer .head {
      font-size: 24px;
      font-weight: 600;
      line-height: 130%;
      margin-bottom: 24px;
      color: #D00007; }
      @media (max-width: 991px) {
        dialog.disclaimer .head {
          font-size: 20px; } }

:root {
  --swiper-pagination-bullet-inactive-opacity: 1;
  --swiper-pagination-bullet-size: 10px;
  --swiper-pagination-color: #FFFFFF;
  --swiper-pagination-bullet-border-radius: 0;
  --swiper-pagination-bullet-inactive-color: transparent;
  --swiper-pagination-bullet-horizontal-gap: 8px;
  --swiper-pagination-bottom: 32px; }

.swiper-nav-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  /* .btn-next {
  	cursor: default;
  	&:after {
  		background-image: url('../img/icon/arrow-right-wsvg');
  	}
  } */ }
  .swiper-nav-container .btn-prev, .swiper-nav-container .btn-next {
    width: 60px;
    height: 60px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    background: #FFFFFF;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    cursor: pointer;
    z-index: 10;
    /* &.swiper-button-disabled {
    	cursor: default;
    	opacity: 0.3;
    } */ }
    .swiper-nav-container .btn-prev:after, .swiper-nav-container .btn-next:after {
      content: "";
      display: inline-block;
      background-size: contain;
      background-image: url("../img/icon/arrow-right.svg");
      background-repeat: no-repeat;
      width: 52px;
      height: 52px; }
    @media (max-width: 991px) {
      .swiper-nav-container .btn-prev, .swiper-nav-container .btn-next {
        width: 44px;
        height: 44px; }
        .swiper-nav-container .btn-prev:after, .swiper-nav-container .btn-next:after {
          width: 36px;
          height: 36px; } }
  .swiper-nav-container .btn-prev:after {
    background-image: url("../img/icon/arrow-left.svg"); }

.swiper-pagination-bullet {
  border: 2px solid #FFFFFF;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

/* .swiper-pagination {
	position: relative;
}

.swiper-horizontal>.swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction {
	bottom: 0;
    
}

.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
&:first-child {
        margin-left: 0;
    }
    &:last-child {
        margin-right: 0;
    }
}

.swiper-pagination-bullet {
	background: transparent;
    .path {
        display: none;
    }
}

.swiper-pagination-bullet-active .path{
	display: inline-block !important;
    stroke-dasharray: 1000;
    stroke-dashoffset: 0;
    animation: dash linear 80s;
    animation-iteration-count: unset;
}


@keyframes dash {
  from {
    stroke-dashoffset: 1000;
  }

  to {
    stroke-dashoffset: 0;
  }
}
 */
html {
  overflow-y: auto; }
  html.menu-open {
    overflow-y: hidden; }
  html:has(dialog[open]) {
    overflow: hidden; }
  html:has(header.bg-transparent) .main {
    margin-top: 0; }

body {
  background-color: #F9F9F9;
  color: #2E2E2E;
  overflow-x: hidden;
  font-family: Roboto, Noto Sans TC, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", Segoe UI Symbol, "Noto Color Emoji";
  font-size: 16px;
  line-height: 155%;
  font-weight: 400;
  position: relative; }
  @media screen and (max-width: 991px) {
    body {
      font-size: 14px; } }
  body.grayscale {
    -webkit-filter: grayscale(1);
            filter: grayscale(1); }

a {
  color: inherit; }
  a[href^="tel"] {
    color: inherit;
    text-decoration: none;
    white-space: nowrap;
    /* Keep the number on one line */
    display: inline; }

.container {
  width: 100%;
  max-width: 1194px;
  padding: 0 48px;
  margin: 0 auto; }
  @media (max-width: 991px) {
    .container {
      padding: 0 24px; } }
  .container.container-wider {
    max-width: 1416px; }

.container2 {
  max-width: 1512px;
  margin: 0 auto;
  position: relative; }

@media (max-width: 991px) {
  .desktop-only {
    display: none !important; } }

@media (min-width: 992px) {
  .mobile-only {
    display: none !important; } }

.main {
  margin-top: 128px; }
  @media (min-width: 991px) {
    .main:has(section.breadcrumb) {
      margin-top: 188px; } }
  @media (max-width: 1299px) {
    .main {
      margin-top: 97px; } }
  @media (max-width: 1439px) {
    :lang(en) .main {
      margin-top: 97px; } }

section {
  position: relative; }
  section.disclaimer {
    padding: 20px 0 100px;
    font-size: 14px;
    line-height: 155%;
    letter-spacing: 0.6px;
    color: #666666; }
    section.disclaimer strong {
      font-weight: 600; }
    @media (max-width: 991px) {
      section.disclaimer {
        font-size: 13px;
        letter-spacing: 0.5px; } }

.visually-hidden {
  position: absolute !important;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  width: 1px;
  height: 1px;
  word-wrap: normal; }

.icon-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  /* > .icon {
  	margin-right: 8px;
  } */ }
  .icon-link:before {
    margin-right: 2px; }
  .icon-link:after {
    margin-left: 8px; }
  .icon-link.icon-shop:before {
    content: "";
    display: inline-block;
    background-size: contain;
    background-image: url("../img/icon/shop.svg");
    background-repeat: no-repeat;
    width: 24px;
    height: 24px; }
  .icon-link.icon-search:before {
    content: "";
    display: inline-block;
    background-size: contain;
    background-image: url("../img/icon/search.svg");
    background-repeat: no-repeat;
    width: 24px;
    height: 24px; }
  .icon-link.icon-external:after {
    content: "";
    display: inline-block;
    background-size: contain;
    background-image: url("../img/icon/external.svg");
    background-repeat: no-repeat;
    width: 24px;
    height: 24px; }
  .icon-link.icon-download:after {
    content: "";
    display: inline-block;
    background-size: contain;
    background-image: url("../img/icon/download.svg");
    background-repeat: no-repeat;
    width: 24px;
    height: 24px; }
  .icon-link.icon-cart:before {
    content: "";
    display: inline-block;
    background-size: contain;
    background-image: url("../img/icon/cart.svg");
    background-repeat: no-repeat;
    width: 24px;
    height: 24px; }
  .icon-link.icon-prev:before {
    content: "";
    display: inline-block;
    background-size: contain;
    background-image: url("../img/icon/chevron-left.svg");
    background-repeat: no-repeat;
    width: 24px;
    height: 24px; }

.icon.icon-info {
  position: relative;
  z-index: 1; }
  .icon.icon-info:before {
    content: "";
    display: inline-block;
    background-size: contain;
    background-image: url("../img/icon/info.svg");
    background-repeat: no-repeat;
    width: 20px;
    height: 20px; }
  .icon.icon-info:before {
    -webkit-transform: translateY(4px);
            transform: translateY(4px); }
.icon.icon-question:before {
  content: "";
  display: inline-block;
  background-size: contain;
  background-image: url("../img/icon/question.svg");
  background-repeat: no-repeat;
  width: 52px;
  height: 52px; }
.icon.icon-warning:before {
  content: "";
  display: inline-block;
  background-size: contain;
  background-image: url("../img/icon/warn-r.svg");
  background-repeat: no-repeat;
  width: 80px;
  height: 80px; }
.icon.icon-user:before {
  content: "";
  display: inline-block;
  background-size: contain;
  background-image: url("../img/icon/user.svg");
  background-repeat: no-repeat;
  width: 52px;
  height: 52px; }
.icon.icon-doc:before {
  content: "";
  display: inline-block;
  background-size: contain;
  background-image: url("../img/icon/doc.svg");
  background-repeat: no-repeat;
  width: 52px;
  height: 52px; }
.icon.icon-info-r:before {
  content: "";
  display: inline-block;
  background-size: contain;
  background-image: url("../img/icon/info-r.svg");
  background-repeat: no-repeat;
  width: 24px;
  height: 24px; }

h1 {
  font-size: 48px;
  font-weight: 700;
  line-height: 150%;
  letter-spacing: 1.9px; }
  :lang(en) h1 {
    letter-spacing: 1.2px; }

h2 {
  font-size: 28px;
  font-weight: 600;
  color: #D00007;
  padding-bottom: 24px; }
  @media (max-width: 991px) {
    h2 {
      font-size: 22px;
      padding-bottom: 20px; } }

h3 {
  font-size: 24px;
  font-weight: 600;
  padding-bottom: 16px; }
  @media screen and (max-width: 991px) {
    h3 {
      font-size: 20px; } }

h4 {
  font-size: 20px;
  font-weight: 600;
  padding-bottom: 12px; }
  @media screen and (max-width: 991px) {
    h4 {
      font-size: 16px; } }

h5 {
  font-size: 16px;
  font-weight: 600;
  padding-bottom: 8px; }
  @media screen and (max-width: 991px) {
    h5 {
      font-size: 14px; } }

.btn-explore {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 6px;
  font-weight: 500; }
  .btn-explore:before {
    content: "";
    display: inline-block;
    background-size: contain;
    background-image: url("../img/icon/arrow-right.svg");
    background-repeat: no-repeat;
    width: 24px;
    height: 24px; }
  .btn-explore:hover:before {
    -webkit-animation: arrow .5s;
            animation: arrow .5s; }
  .btn-explore > span {
    text-decoration: underline; }

.btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  border: 2px solid #D00007;
  background-color: #D00007;
  border-radius: 8px;
  overflow: hidden;
  position: relative;
  text-align: center; }
  .btn > a, .btn > input, .btn > button {
    font-size: 18px;
    font-weight: 500;
    line-height: 24px;
    position: relative;
    color: #FFFFFF;
    padding: 12px 24px;
    cursor: pointer;
    background-color: transparent;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    border: none; }
    @media (max-width: 991px) {
      .btn > a, .btn > input, .btn > button {
        font-size: 15px;
        padding: 12px 24px; } }
    .btn > a.btn-explore, .btn > input.btn-explore, .btn > button.btn-explore {
      padding-left: 16px; }
      .btn > a.btn-explore:before, .btn > input.btn-explore:before, .btn > button.btn-explore:before {
        content: "";
        display: inline-block;
        background-size: contain;
        background-image: url("../img/icon/arrow-right-w.svg");
        background-repeat: no-repeat;
        width: 24px;
        height: 24px; }
      .btn > a.btn-explore > span, .btn > input.btn-explore > span, .btn > button.btn-explore > span {
        text-decoration: none; }
  .btn:before {
    content: "";
    position: absolute;
    top: -2px;
    right: -2px;
    bottom: -2px;
    left: -2px;
    background-color: #A50D01;
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
    -webkit-transition: -webkit-transform 0.2s;
    transition: -webkit-transform 0.2s;
    transition: transform 0.2s;
    transition: transform 0.2s, -webkit-transform 0.2s; }
  .btn.border-r {
    background-color: #FFFFFF; }
    .btn.border-r > a, .btn.border-r > input, .btn.border-r > button {
      color: #D00007; }
    .btn.border-r:before {
      background-color: #F5F5F5; }
  .btn.disabled {
    background-color: #AFB1B2;
    border-color: #AFB1B2; }
    .btn.disabled > * {
      cursor: default; }
    .btn.disabled:before {
      background-color: #AFB1B2; }
  .btn.filled-p {
    background-color: #F9DBE0;
    border-color: #F9DBE0; }
    .btn.filled-p > a, .btn.filled-p > input, .btn.filled-p > button {
      color: #A50D01; }
    .btn.filled-p:before {
      background-color: #F9DBE0; }
  .btn.filled-w {
    background-color: #FFFFFF;
    border-color: #FFFFFF; }
    .btn.filled-w > a, .btn.filled-w > input, .btn.filled-w > button {
      color: #D00007; }
      .btn.filled-w > a.btn-explore:before, .btn.filled-w > input.btn-explore:before, .btn.filled-w > button.btn-explore:before {
        background-image: url("../img/icon/arrow-right.svg"); }
    .btn.filled-w:before {
      background-color: #F5F5F5; }
  .btn:hover:before {
    -webkit-transform: none;
            transform: none; }

.btn-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 32px; }

.com-text p {
  margin-bottom: 24px; }
  .com-text p + ul, .com-text p + ol {
    margin-top: -12px; }
.com-text ol {
  list-style: decimal;
  padding-left: 14px; }
.com-text ul {
  list-style: none;
  padding-left: 14px;
  line-height: 140%; }
  .com-text ul > li:before {
    content: "·";
    margin-left: -14px;
    padding-right: 10px;
    font-family: Roboto, Noto Sans TC, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", Segoe UI Symbol, "Noto Color Emoji";
    font-weight: 900; }
.com-text li {
  margin-bottom: 6px; }
.com-text a {
  color: #D00007;
  text-decoration: underline; }

.deco {
  width: 96px;
  height: 0;
  position: absolute;
  top: auto;
  z-index: 0;
  /* @media screen and (max-width: $breakpoint_md - 1) {
  	width: 60px;
  	height: 60px;
  } */ }
  .deco:before {
    content: "";
    display: block;
    width: 100%;
    height: 0%;
    background-color: #F3D5D5;
    /* animation-name: decoBox;
    animation-duration: .6s;
    animation-timing-function: ease;
    animation-delay: .3s; */ }
  .deco.show {
    height: 96px; }
    @media screen and (max-width: 991px) {
      .deco.show {
        width: 60px;
        height: 60px; } }
  .deco.deco2:before {
    background-color: #D9D9D9; }
  .deco.deco3:before {
    background-color: #F3D5D5; }
  .deco.deco4:before {
    background-color: #EEEBE9; }

.com-accordion {
  margin-bottom: 24px; }
  .com-accordion button.label {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    border: none;
    border-bottom: 1px solid #C6C6C6;
    padding: 12px 40px;
    cursor: pointer;
    background-color: #E8E8E8;
    width: 100%;
    text-align: left;
    font-family: Roboto, Noto Sans TC, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", Segoe UI Symbol, "Noto Color Emoji";
    font-size: 20px;
    font-weight: 500;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 20px;
    color: inherit; }
    .com-accordion button.label:after {
      margin-top: 4px;
      -ms-flex-negative: 0;
          flex-shrink: 0; }
    .com-accordion button.label[aria-expanded=true]:after {
      content: "";
      display: inline-block;
      background-size: contain;
      background-image: url("../img/icon/minus.svg");
      background-repeat: no-repeat;
      width: 24px;
      height: 24px; }
    .com-accordion button.label[aria-expanded=false]:after {
      content: "";
      display: inline-block;
      background-size: contain;
      background-image: url("../img/icon/add.svg");
      background-repeat: no-repeat;
      width: 24px;
      height: 24px; }
    @media screen and (max-width: 991px) {
      .com-accordion button.label {
        padding: 12px 24px; } }
  .com-accordion .content {
    display: none; }
    .com-accordion .content.show {
      display: block; }
  .com-accordion.sty2 {
    margin-bottom: 20px; }
    .com-accordion.sty2 button.label {
      background-color: transparent;
      color: #D00007;
      font-size: 18px;
      font-weight: 300;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      border-bottom: none;
      padding: 10px 40px;
      gap: 10px; }
      .com-accordion.sty2 button.label:before {
        margin-top: 4px;
        -ms-flex-negative: 0;
            flex-shrink: 0; }
      .com-accordion.sty2 button.label[aria-expanded=true]:before {
        content: "";
        display: inline-block;
        background-size: contain;
        background-image: url("../img/icon/arrow-up.svg");
        background-repeat: no-repeat;
        width: 24px;
        height: 24px; }
      .com-accordion.sty2 button.label[aria-expanded=true]:after {
        display: none; }
      .com-accordion.sty2 button.label[aria-expanded=false]:before {
        content: "";
        display: inline-block;
        background-size: contain;
        background-image: url("../img/icon/arrow-up.svg");
        background-repeat: no-repeat;
        width: 24px;
        height: 24px; }
      .com-accordion.sty2 button.label[aria-expanded=false]:before {
        -webkit-transform: rotate(180deg);
                transform: rotate(180deg);
        margin-top: 0; }
      .com-accordion.sty2 button.label[aria-expanded=false]:after {
        display: none; }
  .com-accordion.sty3 {
    margin-bottom: 32px;
    padding-bottom: 24px;
    border-bottom: 1px solid #DDDDDD; }
    @media (max-width: 991px) {
      .com-accordion.sty3 {
        padding-bottom: 12px; } }
    .com-accordion.sty3 button.label {
      background-color: transparent;
      border-bottom: none;
      padding: 0;
      font-size: 24px;
      font-weight: 300; }
      .com-accordion.sty3 button.label[aria-expanded=true]:after {
        content: "";
        display: inline-block;
        background-size: contain;
        background-image: url("../img/icon/minus2.svg");
        background-repeat: no-repeat;
        width: 40px;
        height: 40px; }
      .com-accordion.sty3 button.label[aria-expanded=false]:after {
        content: "";
        display: inline-block;
        background-size: contain;
        background-image: url("../img/icon/add2.svg");
        background-repeat: no-repeat;
        width: 40px;
        height: 40px; }
      :lang(en) .com-accordion.sty3 button.label {
        font-size: 22px;
        line-height: 130%; }
      @media (max-width: 991px) {
        .com-accordion.sty3 button.label {
          font-size: 20px; }
          :lang(en) .com-accordion.sty3 button.label {
            font-size: 18px; }
          .com-accordion.sty3 button.label[aria-expanded=true]:after, .com-accordion.sty3 button.label[aria-expanded=false]:after {
            width: 32px;
            height: 32px; } }
    .com-accordion.sty3 .content {
      padding-top: 20px; }
      @media (max-width: 991px) {
        .com-accordion.sty3 .content {
          padding-top: 12px; } }

.tabs-container .tab-nav {
  gap: 6px; }
  @media (max-width: 991px) {
    .tabs-container .tab-nav {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; } }
  .tabs-container .tab-nav a {
    display: inline-block;
    width: auto;
    min-width: 195px;
    padding: 10px 24px;
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
    background-color: #D4D4D4;
    color: #737373;
    font-size: 16px;
    font-weight: 600;
    line-height: 160%;
    letter-spacing: 1px;
    text-align: center;
    -webkit-transition: all .2s ease;
    transition: all .2s ease; }
    .tabs-container .tab-nav a.active {
      background-color: #F1F1F1;
      color: #2E2E2E; }
    @media (max-width: 991px) {
      .tabs-container .tab-nav a {
        min-width: 0;
        padding: 10px 12px;
        font-size: 13px;
        width: 33%; } }
.tabs-container .tabs {
  border-radius: 8px;
  border-top-left-radius: 0;
  overflow: hidden; }
  .tabs-container .tabs .tab {
    display: none; }
    .tabs-container .tabs .tab.active {
      display: block; }
.tabs-container.sty2 .tab-nav {
  border-bottom: 1px solid #AFB1B2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  position: relative; }
  .tabs-container.sty2 .tab-nav a {
    background-color: transparent;
    color: #666666;
    border-radius: 0;
    width: 100%;
    text-decoration: none;
    font-size: 20px;
    font-weight: 300;
    letter-spacing: normal; }
    .tabs-container.sty2 .tab-nav a.active {
      color: #D00007;
      font-weight: 600; }
    @media (max-width: 991px) {
      .tabs-container.sty2 .tab-nav a {
        font-size: 18px; } }
  .tabs-container.sty2 .tab-nav .active-line {
    position: absolute;
    bottom: 0px;
    height: 4px;
    background-color: #D00007;
    -webkit-transition: width 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
    transition: width 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
    transition: transform 0.3s ease-in-out, width 0.3s ease-in-out;
    transition: transform 0.3s ease-in-out, width 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
    -webkit-transform: translateX(0px);
            transform: translateX(0px);
    width: 0px;
    left: 0; }
.tabs-container.sty2 .tabs {
  margin-top: 40px; }

.com-rating {
  background-color: #D00007;
  color: #FFFFFF;
  width: 216px;
  aspect-ratio: 1/1;
  padding: 24px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }
  .com-rating .rate {
    text-align: center;
    font-size: 70px;
    font-weight: 600;
    line-height: 130%;
    width: 100%; }
  .com-rating .org {
    font-size: 24px;
    font-weight: 600;
    line-height: 155%; }
  .com-rating .desc {
    font-size: 16px;
    font-weight: 300;
    line-height: 155%; }
  @media (max-width: 991px) {
    .com-rating {
      width: 184px; }
      .com-rating .rate {
        font-size: 60px; }
      .com-rating .org, .com-rating .desc {
        text-align: center; } }

.tips-item {
  background-color: #FFFFFF;
  width: 100%; }
  .tips-item .image-container {
    aspect-ratio: 1.4105263158;
    position: relative;
    overflow: hidden; }
    .tips-item .image-container img {
      width: 100%;
      height: 100%;
      -o-object-fit: cover;
         object-fit: cover;
      -o-object-position: center;
         object-position: center;
      display: block; }
    .tips-item .image-container:after {
      content: "";
      display: inline-block;
      background-size: contain;
      background-image: url("../img/icon/up-right.svg");
      background-repeat: no-repeat;
      width: 52px;
      height: 52px; }
    .tips-item .image-container:after {
      position: absolute;
      right: 0;
      bottom: 0; }
    @media (max-width: 991px) {
      .tips-item .image-container::after {
        width: 44px;
        height: 44px; } }
    .tips-item .image-container img {
      -webkit-transition: -webkit-transform .3s ease;
      transition: -webkit-transform .3s ease;
      transition: transform .3s ease;
      transition: transform .3s ease, -webkit-transform .3s ease; }
  .tips-item .text {
    padding: 24px 32px; }
    .tips-item .text .title {
      font-size: 24px;
      font-weight: 600;
      line-height: 130%;
      margin-bottom: 16px; }
    @media (min-width: 992px) {
      .tips-item .text .desc {
        display: -webkit-box;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden; } }
    @media (max-width: 991px) {
      .tips-item .text {
        padding: 24px; }
        .tips-item .text .title {
          font-size: 20px; } }
  .tips-item:hover .image-container img {
    -webkit-transform: scale(1.05);
            transform: scale(1.05); }

.feature-list > li {
  padding-left: 52px;
  position: relative;
  min-height: 40px;
  padding-top: 8px; }
  .feature-list > li:before {
    content: "";
    display: inline-block;
    background-size: contain;
    background-image: url("../img/icon/feature-r.svg");
    background-repeat: no-repeat;
    width: 40px;
    height: 40px; }
  .feature-list > li:before {
    position: absolute;
    top: 0;
    left: 0; }
  .feature-list > li:not(:last-child) {
    margin-bottom: 12px; }

.coverage-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .coverage-list .item {
    color: #666666; }
    .coverage-list .item .icon {
      margin-bottom: 16px; }
      .coverage-list .item .icon > img {
        width: 100px;
        height: 100px; }
    .coverage-list .item .title {
      font-size: 28px;
      font-weight: 600;
      color: #2E2E2E;
      margin-bottom: 16px; }
      :lang(en) .coverage-list .item .title {
        font-size: 26px; }
    @media (max-width: 991px) {
      .coverage-list .item {
        width: 100%;
        max-width: 100%;
        margin-bottom: 40px; }
        .coverage-list .item .icon > img {
          width: 80px;
          height: 80px; }
        .coverage-list .item .title {
          font-size: 22px; }
          :lang(en) .coverage-list .item .title {
            font-size: 22px; } }

.tippy-box {
  background-color: #F3F3F3;
  -webkit-box-shadow: 0 0px 20px #3E0B1712;
          box-shadow: 0 0px 20px #3E0B1712;
  color: #2E2E2E;
  max-height: 50vh;
  overflow: auto;
  padding: 24px; }

.tippy-content {
  pointer-events: auto; }

.tippy-template {
  display: none; }

section.contact {
  color: #FFFFFF; }
  @media (max-width: 991px) {
    section.contact {
      margin-bottom: 0; } }
  section.contact .container-wider {
    max-width: 1328px; }
    @media (max-width: 991px) {
      section.contact .container-wider {
        padding: 0; } }
  section.contact .wrapper {
    background-image: -webkit-gradient(linear, left top, left bottom, color-stop(58.6%, rgba(75, 75, 75, 0)), color-stop(76.05%, rgba(75, 75, 75, 0.660162)), color-stop(106.91%, #4B4B4B)), -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.3)), to(rgba(0, 0, 0, 0.3))), url("../img/bg/home-contact.png");
    background-image: linear-gradient(180deg, rgba(75, 75, 75, 0) 58.6%, rgba(75, 75, 75, 0.660162) 76.05%, #4B4B4B 106.91%), linear-gradient(0deg, rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3)), url("../img/bg/home-contact.png");
    background-repeat: no-repeat;
    background-size: cover;
    background-blend-mode: overlay, normal, normal;
    padding: 42px 68px;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 80px; }
    section.contact .wrapper h2 {
      color: #FFFFFF;
      -ms-flex-negative: 0;
          flex-shrink: 0;
      position: relative; }
    section.contact .wrapper .text {
      position: relative;
      font-size: 18px;
      line-height: 155%;
      letter-spacing: 0.7px;
      padding: 12px 0; }
      section.contact .wrapper .text .btn-container {
        margin-top: 32px; }
        section.contact .wrapper .text .btn-container .btn {
          width: auto; }
    @media (max-width: 991px) {
      section.contact .wrapper {
        padding: 60px 24px;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        gap: 24px; }
        section.contact .wrapper .text {
          padding: 0; }
          section.contact .wrapper .text .btn-container {
            margin-top: 24px; }
            section.contact .wrapper .text .btn-container .btn {
              width: 100%; } }
/*# sourceMappingURL=layout.css.map */