@charset "UTF-8";
/*----------------------------------------------------*/
/* common use */
/*----------------------------------------------------*/
.wrapper {
  width: 100vw;
  min-height: 100vh;
  position: relative;
  box-sizing: border-box;
  background: #f5f5f5;
  padding-top: 156px;
}
@media all and (max-width: 1200px) {
  .wrapper {
    padding-top: 128px;
  }
}
@media all and (max-width: 768px) {
  .wrapper {
    padding-top: 54px;
  }
}

.pagesize {
  max-width: 1280px;
  margin: 0 auto;
}
@media all and (max-width: 1200px) {
  .pagesize {
    padding: 0 15px;
  }
}
@media all and (max-width: 768px) {
  .pagesize {
    padding: 0 15px;
  }
}

.color-orange {
  color: #de7c4c;
}

.color-orange-dark {
  color: #ec6941;
}

.color-yellow {
  color: #f4b751;
}

.color-yellow-dark {
  color: #daa143;
}

.color-yellow-darkest {
  color: #c47805;
}

.color-blue-gray {
  color: #8498a9;
}

.color-blue {
  color: #2679b2;
}

.color-blue02 {
  color: #38aaea !important;
}

.color-blue03 {
  color: #69b3e6;
}

.color-blue04 {
  color: #328ac6;
}

.color-blue-dark {
  color: #2a3e4f;
}

.color-blue-dark02 {
  color: #556572;
}

.color-red {
  color: #fc8b7b !important;
}

.color-red02 {
  color: #f25953 !important;
}

.color-red03 {
  color: #e66e7c;
}

.color-red04 {
  color: #e43737;
}

.color-red05 {
  color: #d05151 !important;
}

.color-green {
  color: #3fc392;
}

.color-black {
  color: #000;
}

.color-gray-dark {
  color: #333333 !important;
}

.color-black {
  color: #000 !important;
}

.color-gray {
  color: #999;
}

.color-gray-light {
  color: #666666;
}

.color-gray-light02 {
  color: #999999;
}

.color-white {
  color: #ffffff;
}

.bg-yellow-light {
  background-color: #fffaee;
}

.bg-yellow-light02 {
  background-color: #fffcf2;
}

.bg-yellow {
  background-color: #f4b751;
}

.bg-yellow-dark {
  background-color: #daa143;
}

.bg-yellowlinear, .btn-linear {
  background: linear-gradient(to bottom, #ffd07f, #d6972b 50%, #c47704 100%);
}

.bg-blue-dark02 {
  background-color: #556572;
}

.bg-blue-dark03 {
  background-color: #77848e;
}

.bg-blue-light {
  background-color: #f5faff;
}

.bg-blue03 {
  background-color: #69b3e6;
}

.bg-blue04 {
  background-color: #328ac6;
}

.bg-red {
  background-color: #fc8b7b;
}

.bg-red02 {
  background-color: #f25953 !important;
}

.bg-red-light {
  background-color: #fff5f5;
}

.bg-red-light02 {
  background-color: #ffeded;
}

.bg-orange02 {
  background-color: #f29b45;
}

.bg-green {
  background-color: #3fc392;
}

.bg-orange-dark {
  background-color: #ec6941;
}

.bg-orange-dark-fill8 {
  background-color: rgba(236, 105, 65, 0.8);
}

.bg-orange-dark-fill6 {
  background-color: rgba(236, 105, 65, 0.6);
}

.bg-white {
  background-color: #ffffff;
}

.bg-gray-light03 {
  background-color: #f8f7f6 !important;
}

/*---------------------------*/
/* 常用 */
.certification_list .item .pic img, ul.service_list li .theme, .contentArea_2side > div.l_side ul.l_side_menu li a, .breadcrumb a, footer a:hover, .header_nav .header_nav_first .header_nav_sec ul a:hover, :hover, .btn::after {
  transition: 0.2s;
}

.btn {
  position: relative;
}
.btn::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  opacity: 0;
}
.btn:hover::after {
  opacity: 0.15;
}
.btn:nth-last-child(1), .flex-item:nth-last-child(1), .d-flex.space-mid .flex-item:nth-last-child(1), .d-flex.space-small .flex-item:nth-last-child(1) {
  margin: 0;
}

.web {
  display: block;
}

.mobile {
  display: none;
}

.margin-0 {
  margin-bottom: 0 !important;
}

.margin-1x {
  margin-bottom: 4px !important;
}

.margin-2x {
  margin-bottom: 8px !important;
}

.margin-3x {
  margin-bottom: 12px !important;
}

.margin-4x {
  margin-bottom: 16px !important;
}

.margin-5x {
  margin-bottom: 20px !important;
}

.margin-6x {
  margin-bottom: 24px !important;
}

.margin-7x {
  margin-bottom: 28px !important;
}

.margin-8x {
  margin-bottom: 32px !important;
}

.margin-10x {
  margin-bottom: 40px;
}

.margin-right-0 {
  margin-right: 0 !important;
}

.margin-right-1x {
  margin-right: 4px !important;
}

.margin-right-2x {
  margin-right: 8px !important;
}

.margin-right-3x {
  margin-right: 12px !important;
}

.margin-right-4x {
  margin-right: 16px !important;
}

.margin-right-5x {
  margin-right: 20px !important;
}

.margin-right-6x {
  margin-right: 24px !important;
}

.margin-right-7x {
  margin-right: 28px !important;
}

.margin-right-12x {
  margin-right: 48px !important;
}

.padding-0 {
  padding: 0 !important;
}

.padding-1x {
  padding: 4px;
}

.padding-2x {
  padding: 8px;
}

.padding-3x {
  padding: 12px;
}

.padding-4x {
  padding: 16px;
}

.padding-5x {
  padding: 20px;
}

.padding-top-half {
  padding-top: 2px;
}

.padding-top-1x {
  padding-top: 4px;
}

.padding-top-2x {
  padding-top: 8px;
}

.padding-top-3x {
  padding-top: 12px;
}

.padding-bot-half {
  padding-bottom: 2px;
}

.padding-bot-1x {
  padding-bottom: 4px;
}

.padding-bot-2x {
  padding-bottom: 8px !important;
}

.padding-bot-3x {
  padding-bottom: 12px;
}

.padding-left-2x {
  padding-left: 8px !important;
}

.padding-left-3x {
  padding-left: 12px;
}

.padding-left-4x {
  padding-left: 16px !important;
}

.padding-left-5x {
  padding-left: 20px;
}

.padding-left-6x {
  padding-left: 24px;
}

.padding-right-2x {
  padding-right: 8px;
}

.padding-right-3x {
  padding-right: 12px;
}

.padding-right-4x {
  padding-right: 16px;
}

.padding-right-5x {
  padding-right: 20px;
}

.padding-box {
  padding: 24px 16px;
}

.padding-box-m {
  padding: 10px;
}

.font-size-xxxs {
  font-size: 10px !important;
}

.font-size-xxs {
  font-size: 12px !important;
}

.font-size-xs {
  font-size: 14px !important;
}

.font-size-s {
  font-size: 15px !important;
}

.font-size-m {
  font-size: 16px !important;
  line-height: 16px;
}

.font-size-l {
  font-size: 18px !important;
}

.font-size-ll {
  font-size: 20px !important;
}

.font-size-xl {
  font-size: 21px !important;
}

.font-size-xxl {
  font-size: 24px !important;
}

.font-size-xxxl {
  font-size: 30px;
}

.line-24 {
  line-height: 24px !important;
}

.line-32 {
  line-height: 32px !important;
}

.font-normal {
  font-weight: normal !important;
}

.font-mid {
  font-weight: 500 !important;
}

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

.font-bolder {
  font-weight: 900;
}

.text-right {
  text-align: right;
}

.text-center {
  text-align: center;
}

.align-middle {
  vertical-align: middle;
}

.fL {
  float: left;
}

.fR {
  float: right;
}

.clr {
  clear: both;
}

.font-JhengHei {
  font-family: "微軟正黑體", sans-serif;
}

.font-space-2 {
  letter-spacing: 2px;
}

.font-space-4 {
  letter-spacing: 4px;
}

.d-flex {
  display: flex;
}
.d-flex.inline {
  display: inline-flex;
}
.d-flex.align-fs {
  align-items: flex-start;
}
.d-flex.justify-c {
  justify-content: center;
}
.d-flex.justify-around {
  justify-content: space-around;
}
.d-flex.justify-between {
  justify-content: space-between;
}
.d-flex.align-c {
  align-items: center;
}
.d-flex.align-s {
  align-items: stretch;
}
.d-flex.space-small .flex-item {
  margin-right: 8px;
}
.d-flex.space-mid .flex-item {
  margin-right: 12px;
}
@media all and (max-width: 768px) {
  .d-flex.wrap-m {
    flex-wrap: wrap;
  }
}

.flex-item {
  margin-right: 10px;
}
.flex-item.flex-0 {
  flex: 0 0 auto;
}
.flex-item.flex-1 {
  flex: 1;
}
@media all and (max-width: 768px) {
  .flex-item.flex-full {
    flex: 1 1 100%;
  }
  .flex-item.flex-full .btn-box.wrap {
    flex-wrap: nowrap;
    max-width: inherit;
    width: 100%;
    justify-content: space-around;
  }
  .flex-item.flex-full .btn-box.wrap .btn {
    margin: 0;
    width: 48%;
  }
}
@media all and (max-width: 540px) {
  .flex-item.flex-full {
    flex: 1 1 100%;
  }
  .flex-item.flex-full .btn-box.wrap {
    flex-wrap: wrap;
  }
  .flex-item.flex-full .btn-box.wrap .btn {
    margin: 0 0 10px;
    width: 100%;
  }
}
.flex-item.border-right {
  padding-right: 10px;
  margin-right: 10px;
}

.d-block {
  display: block;
}

.d-inline {
  display: inline;
}

.d-inblock {
  display: inline-block;
  width: auto;
}

.w-auto {
  width: auto;
}

.w-full {
  width: 100%;
}

.w-24 {
  width: 24px;
}

.w-50 {
  width: 50px;
}

.w-70 {
  width: 70px;
}

.box-max-680 {
  max-width: 680px;
  margin-left: auto;
  margin-right: auto;
}

.border-bottom {
  border-bottom: solid 1px;
}

.border-bottom-gray {
  border-bottom: solid 1px #8498a9;
}

.border-bottom-gray-light02 {
  border-bottom: solid 1px #999999;
}

.border-radius, .dele-checkbox label {
  border-radius: 4px;
}

img {
  vertical-align: middle;
}

.imgbox {
  position: relative;
}
.imgbox img {
  /*display: block;*/
  max-width: 100%;
  height: auto;
  vertical-align: top;
}
.imgbox a {
  display: block;
  padding: 0;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
.imgbox a.btn {
  position: relative;
  top: initial;
  left: initial;
  right: initial;
  bottom: initial;
  min-width: 130px;
  font-size: 20px;
  margin: 0 20px 0 0;
  padding: 0 16px;
  line-height: 50px;
  text-align: center;
  color: #fff;
}
.imgbox.full img {
  width: 100%;
}
.imgbox.center img {
  margin: 0 auto;
}
.imgbox.flex {
  display: flex;
  justify-content: space-around;
  align-items: flex-start;
}
@media all and (max-width: 768px) {
  .imgbox.flex {
    flex-wrap: wrap;
  }
}
.imgbox.width-1000 {
  max-width: 1000px;
  margin-right: auto;
  margin-left: auto;
}
@media all and (max-width: 768px) {
  .imgbox.width-1000 {
    max-width: 100%;
    box-shadow: 0px 0px 10px 0px #ccc;
    -webkit-box-shadow: 0px 0px 10px 0px #ccc;
    -moz-box-shadow: 0px 0px 10px 0px #ccc;
    -o-box-shadow: 0px 0px 10px 0px #ccc;
  }
}
.imgbox.width-800 {
  max-width: 800px;
  margin-right: auto;
  margin-left: auto;
}
@media all and (max-width: 768px) {
  .imgbox.width-800 {
    max-width: 100%;
    box-shadow: 0px 0px 10px 0px #ccc;
    -webkit-box-shadow: 0px 0px 10px 0px #ccc;
    -moz-box-shadow: 0px 0px 10px 0px #ccc;
    -o-box-shadow: 0px 0px 10px 0px #ccc;
  }
}
.imgbox.shadowNone {
  box-shadow: none;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  -o-box-shadow: none;
}
@media all and (max-width: 768px) {
  .imgbox.shadowNone {
    box-shadow: none;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    -o-box-shadow: none;
  }
}
.imgbox.shadow {
  box-shadow: 0px 0px 10px 0px #ccc;
  -webkit-box-shadow: 0px 0px 10px 0px #ccc;
  -moz-box-shadow: 0px 0px 10px 0px #ccc;
  -o-box-shadow: 0px 0px 10px 0px #ccc;
}
.imgbox .m-show {
  display: none;
}
@media all and (max-width: 768px) {
  .imgbox .m-show {
    display: block;
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    top: 0;
    margin: 0;
    background: url(../images/btn-img-open.svg) right bottom no-repeat;
    background-size: 40px 40px;
  }
}

::-moz-selection {
  color: #fff;
  background: #daa143;
}

::selection {
  color: #fff;
  background: #daa143;
}

/*Input*/
input[type=text],
input[type=password],
select {
  min-width: 0;
  height: 40px;
  line-height: 40px;
  background: #fff;
  border: solid 1px #ced4da;
}

input[type=text],
input[type=password] {
  padding: 0 10px;
}

::-moz-placeholder {
  color: #999;
}

::placeholder {
  color: #999;
}

/*select*/
select {
  padding: 0 35px 0 10px;
  vertical-align: middle;
  color: #999;
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  background: url(../images/arrow-down-01.svg) calc(100% - 10px) center no-repeat;
  background-size: 14px auto;
}
select option {
  color: #061b2b;
}

select::-ms-expand {
  display: none;
}

/* radio */
.radio.inline {
  display: inline-block;
}
.radio input[type=radio] {
  display: none;
}
.radio input[type=radio]:checked + label:before {
  border-color: #6c8ba6;
}
.radio input[type=radio]:checked + label:after {
  transform: scale(1);
}
.radio label {
  display: inline-block;
  min-height: 16px;
  position: relative;
  padding: 0 0 0 22px;
  margin-bottom: 0;
  cursor: pointer;
}
.radio label:before, .radio label:after {
  position: absolute;
  content: "";
  margin-top: 0.2em;
  border-radius: 50%;
  transition: all 0.3s ease;
  transition-property: transform, border-color;
}
.radio label:before {
  left: 0;
  top: 0;
  width: 16px;
  height: 16px;
  border: 1px solid #6c8ba6;
}
.radio label:after {
  top: 5px;
  left: 5px;
  width: 8px;
  height: 8px;
  transform: scale(0);
  background: #6c8ba6;
}

/*checkbox*/
.checkbox {
  min-height: 1.5em;
  position: relative;
  text-align: left;
}
.checkbox.inline {
  display: inline-block;
}
.checkbox label {
  cursor: pointer;
  display: inline;
  line-height: 1em;
  clear: both;
}
.checkbox label:not(:empty) {
  padding-left: 6px;
}
.checkbox label:before, .checkbox label:after {
  content: "";
  position: absolute;
  left: 0;
  top: 0.3em;
  box-sizing: border-box;
}
.checkbox label:before {
  width: 1em;
  height: 1em;
  background: #fff;
  border: 1px solid #ced4da;
  border-radius: 4px;
  cursor: pointer;
  transition: 0.3s;
}
.checkbox input[type=checkbox] {
  outline: 0;
  visibility: hidden;
  width: 1em;
  margin: 0;
  display: block;
  float: left;
  font-size: inherit;
}
.checkbox input[type=checkbox]:checked + label:before {
  background: #fff;
}
.checkbox input[type=checkbox]:checked + label:after {
  transform: translate(0.2em, 0.25em) rotate(-45deg);
  width: 0.6em;
  height: 0.3em;
  border: 2px solid #2a3e4f;
  border-top-style: none;
  border-right-style: none;
}
.checkbox input[type=checkbox]:disabled + label:before {
  background-color: #f5f5f5;
  border-color: rgba(0, 0, 0, 0.1);
}
.dele-checkbox {
  position: relative;
  display: inline-block;
}
.dele-checkbox label {
  display: none;
  line-height: 24px;
  margin: 0 6px 6px 0;
  padding: 5px 35px 5px 10px;
  word-break: break-all;
  color: #fff;
  background: #f4b751 url(../images/btn-dele.svg) right 8px center no-repeat;
  background-size: auto 20px;
}
.dele-checkbox input[type=checkbox] {
  position: absolute;
  top: 0;
  left: 0;
  visibility: hidden;
}
.dele-checkbox input[type=checkbox]:checked + label {
  display: inline-block;
  cursor: pointer;
}
.dele-checkbox input[type=checkbox]:checked:disabled + label {
  padding: 5px 10px;
  background-image: none;
  cursor: default;
}

textarea {
  width: 100%;
  padding: 10px 10px;
  background: none;
  border: none;
  outline: none;
}

/*---------------------------------------------------*/
.btn-box {
  display: flex;
  justify-content: center;
  align-items: center;
}
.btn-box.inline {
  display: inline-flex;
}
.btn-box.left {
  justify-content: flex-start;
}
.btn-box.right {
  justify-content: flex-end;
}
.btn-box.wrap {
  flex-wrap: wrap;
  max-width: 150px;
}
.btn-box.wrap .btn {
  margin: 0 0 10px;
  width: 100%;
}
.btn-box.wrap .btn:last-child {
  margin: 0;
}
@media all and (max-width: 540px) {
  .btn-box.w-small-flex .btn {
    flex: 1 1 auto;
    min-width: 80px;
    white-space: nowrap;
  }
  .btn-box.w-small-flex .btn.flex-1 {
    flex: 1 1 30%;
  }
}
@media all and (max-width: 768px) {
  .btn-box.m-flex-center {
    justify-content: center;
  }
}

.btn {
  min-width: 130px;
  margin: 0 20px 0 0;
  padding: 0 16px;
  line-height: 44px;
  text-align: center;
  color: #fff;
}
.btn.padding-s {
  padding: 0 8px;
}
.btn.w-80 {
  min-width: 80px;
}
.btn.w-120 {
  min-width: 120px;
}
.btn.w-180 {
  min-width: 180px;
}
.btn.w-200 {
  min-width: 200px;
}
.btn.h-36 {
  line-height: 36px;
}
.btn.h-40 {
  line-height: 40px;
}
.btn-yellow {
  background: #f4b751;
}
.btn-yellow-dark {
  background: #daa143;
}
.btn-white {
  color: #daa143;
  background: #ffffff;
  border: solid 1px;
}
.btn-border {
  color: #daa143;
  border: solid 1px;
}
.btn-border:hover {
  border: solid 1px;
}
@media all and (max-width: 768px) {
  .btn.m-w-200 {
    min-width: 200px;
  }
  .btn.m-w-two {
    min-width: 44%;
  }
}

.w-break {
  display: block;
}
@media all and (max-width: 768px) {
  .w-break {
    display: inline;
  }
}

.m-break {
  display: inline;
}
@media all and (max-width: 768px) {
  .m-break {
    display: block;
  }
}

/*----------------------------------- 小網 -----------------------------------*/
@media all and (max-width: 768px) {
  .web {
    display: none;
  }
  .mobile {
    display: block;
  }
  .m-font-size-s {
    font-size: 14px;
  }
  .m-font-size-m {
    font-size: 16px;
  }
  .m-font-size-l {
    font-size: 18px;
  }
  .m-font-size-ll {
    font-size: 20px;
  }
  .m-font-size-xl {
    font-size: 21px;
  }
  .m-font-size-xxxl {
    font-size: 30px;
  }
  .m-text-center {
    text-align: center;
  }
  .m-w-full {
    width: 100%;
  }
  .m-d-box {
    display: block;
  }
  .m-d-box .flex-item {
    margin: 0 0 10px;
  }
  .m-d-box .flex-item:nth-last-child(1) {
    margin: 0;
  }
  .m-d-inline {
    display: inline;
  }
  .m-d-inblock {
    display: inline-block;
  }
  .m-d-block {
    display: block;
  }
  .m-d-flex {
    display: flex;
  }
  .m-margin-0 {
    margin: 0 !important;
  }
  .m-margin-2x {
    margin-bottom: 8px !important;
  }
  .m-margin-4x {
    margin-bottom: 16px !important;
  }
  .m-margin-5x {
    margin-bottom: 20px !important;
  }
  .m-margin-6x {
    margin-bottom: 24px !important;
  }
  .m-margin-8x {
    margin-bottom: 32px !important;
  }
  .m-padding-3x {
    padding: 12px;
  }
  .m-w-35 {
    width: 35px;
  }
}
/* --------------------------------------------------------- */
/* font */
/* noto-sans-tc-regular - latin_chinese-traditional */
@font-face {
  font-family: "Noto Sans TC";
  font-style: normal;
  font-weight: 400;
  src: local(""), url("../fonts/noto-sans-tc-v11-latin_chinese-traditional-regular.woff2") format("woff2"), url("../fonts/noto-sans-tc-v11-latin_chinese-traditional-regular.woff") format("woff");
  font-display: swap;
}
/* noto-sans-tc-500 - latin_chinese-traditional */
@font-face {
  font-family: "Noto Sans TC";
  font-style: normal;
  font-weight: 500;
  src: local(""), url("../fonts/noto-sans-tc-v11-latin_chinese-traditional-500.woff2") format("woff2"), url("../fonts/noto-sans-tc-v11-latin_chinese-traditional-500.woff") format("woff");
  font-display: swap;
}
/* noto-sans-tc-700 - latin_chinese-traditional */
@font-face {
  font-family: "Noto Sans TC";
  font-style: normal;
  font-weight: 700;
  src: local(""), url("../fonts/noto-sans-tc-v11-latin_chinese-traditional-700.woff2") format("woff2"), url("../fonts/noto-sans-tc-v11-latin_chinese-traditional-700.woff") format("woff");
  font-display: swap;
}
/* noto-sans-tc-900 - latin_chinese-traditional */
@font-face {
  font-family: "Noto Sans TC";
  font-style: normal;
  font-weight: 900;
  src: local(""), url("../fonts/noto-sans-tc-v11-latin_chinese-traditional-900.woff2") format("woff2"), url("../fonts/noto-sans-tc-v11-latin_chinese-traditional-900.woff") format("woff");
  font-display: swap;
}
/* --------------------------------------------------------- */
/*reset*/
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td, iframe, button, a, header, footer {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  letter-spacing: 0.1px;
  vertical-align: baseline;
  text-decoration: none;
  box-sizing: border-box;
  word-break: break-word;
}

body {
  color: #061b2b;
  background: #eff4f8;
  font: 16px/150% "Noto Sans TC", "微軟正黑體", sans-serif;
  font-weight: 400;
  overflow-x: hidden;
}
@media all and (max-width: 1200px) {
  body {
    font: 16px/140% "Noto Sans TC", "微軟正黑體", sans-serif;
  }
}

html, body {
  height: 100%;
}

a {
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}

button {
  background: none;
  outline: none;
  cursor: pointer;
}

ol, ul {
  list-style: none;
}

table {
  width: auto;
  border-collapse: collapse;
  border-spacing: 0;
}

input, button, textarea, select, optgroup, option {
  font-family: inherit;
  font-size: inherit;
  font-style: inherit;
  font-weight: inherit;
  outline: none;
}

figure {
  padding: 0;
  margin: 0;
}

/*reset end*/
/* header */
/* header */
.header {
  /*position: fixed;*/
  position: absolute;
  top: 0;
  width: 100%;
  transition: top 0.2s ease-in-out;
  z-index: 999;
}

.header--fixed {
  position: absolute;
  top: 0;
  width: 100%;
}
.header--fixed.top {
  transition: none;
  transform: translateY(0);
}
.header--fixed.not-top {
  position: fixed;
  transform: translateY(-100%);
}
.header--fixed.not-top.slideDown {
  transition: transform 0.3s ease-in-out;
  transform: translateY(0);
}
.header--fixed.slideDown.top {
  transition: transform 0.3s ease-in-out;
  position: fixed;
}
.header--fixed.slideUp.not-top {
  transition: transform 0.3s ease-in-out;
  transform: translateY(-100%);
}
.header--fixed.slideUp.top {
  transform: translateY(-100%);
  position: absolute;
}

.hideUp .header {
  top: -156px;
}
@media all and (max-width: 768px) {
  .hideUp .header {
    top: -56px;
  }
}

/* header_連結 */
.header_link {
  background: #efefef;
}
.header_link ul {
  display: flex;
  justify-content: flex-end;
}
.header_link a {
  font-size: 14px;
  line-height: 36px;
  color: #646464;
}
.header_link a::after {
  content: "";
  display: inline-block;
  width: 1px;
  height: 14px;
  margin: 0 10px;
  vertical-align: middle;
  background: #6a6a6a;
}
.header_link a li:nth-last-child(1) a::after {
  content: none;
}
.header_link a:hover {
  color: #2679b2;
}
@media all and (max-width: 768px) {
  .header_link {
    display: none;
  }
}

/* header_主要 */
.header_main {
  position: relative;
  z-index: 2;
  padding: 24px 0 32px;
  background: #fff;
}
.header_main::after {
  content: "";
  display: block;
  position: absolute;
  z-index: 100;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 8px;
  box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.15);
  background: #209cff; /* Old browsers */ /* FF3.6-15 */ /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to right, #209cff 0%, #44d186 32%, #eec516 75%, #fd884e 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#209cff", endColorstr="#fd884e",GradientType=1 ); /* IE6-9 */
}
.header_main .pagesize {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.header_main .logo {
  display: block;
  width: 360px;
  height: 64px;
  background: url(../images/logo.png) center no-repeat;
  background-size: 100% auto;
}
.header_main .m_menu {
  display: none;
}
@media all and (max-width: 1200px) {
  .header_main .logo {
    width: 210px;
    height: 36px;
    padding-left: 10px;
    background-position: 10px center;
    background-size: 200px 36px;
  }
}

/* header_主要_選單 */
.header_nav {
  position: relative;
}
.header_nav .header_nav_first {
  display: flex;
  /* header_主要_選單第二層 */
}
.header_nav .header_nav_first > li {
  margin-right: 16px;
  position: relative;
}
.header_nav .header_nav_first > li:nth-last-child(1) {
  margin: 0;
}
.header_nav .header_nav_first > li a {
  font-size: 18px;
  font-weight: bold;
  color: #535353;
}
.header_nav .header_nav_first > li a:hover {
  color: #38aaea;
}
@media all and (max-width: 1200px) {
  .header_nav .header_nav_first > li a {
    font-size: 15px;
  }
}
@media all and (max-width: 768px) {
  .header_nav .header_nav_first > li a {
    font-size: 18px;
  }
}
.header_nav .header_nav_first .hasSec.on {
  color: #38aaea;
}
.header_nav .header_nav_first > li:nth-child(7) .header_nav_sec {
  left: inherit;
  right: 0;
}
.header_nav .header_nav_first .header_nav_sec {
  display: none;
  position: absolute;
  top: 40px;
  left: 0;
  z-index: 101;
  min-width: 200px;
  max-width: 245px;
  padding: 10px;
  background: rgba(51, 51, 51, 0.9);
}
.header_nav .header_nav_first .header_nav_sec ul {
  margin-top: -2px;
}
.header_nav .header_nav_first .header_nav_sec ul li {
  display: block;
  position: relative;
  margin: 0 0 10px;
  padding: 0 0 0 14px;
}
.header_nav .header_nav_first .header_nav_sec ul li::before {
  content: "";
  background-color: #8ab9dc;
  width: 6px;
  height: 6px;
  border-radius: 100%;
  position: absolute;
  top: 10px;
  left: 0;
}
.header_nav .header_nav_first .header_nav_sec ul a {
  font-size: 15px;
  line-height: 18px;
  font-weight: normal;
  color: #fff;
}
.header_nav .header_nav_first .header_nav_sec ul a:hover {
  color: #bae2ff;
}
.header_nav .header_nav_first .header_nav_sec .inner {
  display: flex;
  align-items: flex-start;
  margin-bottom: 10px;
}
.header_nav .header_nav_first .header_nav_sec .title {
  flex: 0 0 auto;
  width: 7em;
  line-height: 18px;
  margin-right: 15px;
  font-size: 18px;
  font-weight: bold;
  color: #010101;
  border-right: solid 3px #3f9cff;
}

@media all and (max-width: 768px) {
  /* header */
  .header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
  }
  .slideUp .header_nav_first {
    display: none;
  }
  /* header_連結 */
  .header_link {
    display: none;
  }
  /* header_主要 */
  .header_main {
    padding: 8px 0 10px;
  }
  .header_main::after {
    height: 4px;
  }
  .header_main .pagesize {
    justify-content: center;
  }
  .header_main .logo {
    width: 210px;
    height: 36px;
    background-size: contain;
    padding: 0;
  }
  .header_main .m_menu {
    display: block;
    position: absolute;
    top: 6px;
    left: 10px;
    width: 40px;
    height: 40px;
  }
  .header_main .m_menu .line {
    display: block;
    position: absolute;
    left: 10px;
    width: 20px;
    height: 2px;
    background: #636363;
    border-radius: 2px;
  }
  .header_main .m_menu .line01 {
    top: 12px;
  }
  .header_main .m_menu .line02 {
    top: 19px;
  }
  .header_main .m_menu .line03 {
    top: 26px;
  }
  .open_m_menu .m_menu .line01 {
    animation-name: line01;
    animation-duration: 0.6s;
    animation-fill-mode: forwards;
  }
  .open_m_menu .m_menu .line02 {
    animation-name: line02;
    animation-duration: 0.2s;
    animation-fill-mode: forwards;
  }
  .open_m_menu .m_menu .line03 {
    animation-name: line03;
    animation-duration: 0.6s;
    animation-fill-mode: forwards;
  }
  @keyframes line01 {
    30% {
      top: 20px;
    }
    30% {
      transform: rotate(0deg);
    }
    100% {
      left: 8px;
      top: 19px;
      width: 24px;
      transform: rotate(-45deg);
      background: #209cfe;
    }
  }
  @keyframes line03 {
    30% {
      top: 20px;
    }
    30% {
      transform: rotate(0deg);
    }
    100% {
      left: 8px;
      top: 19px;
      width: 24px;
      transform: rotate(45deg);
      background: #209cfe;
    }
  }
  @keyframes line02 {
    50% {
      opacity: 1;
    }
    100% {
      opacity: 0;
    }
  }
  .header.open_m_menu ~ .container::after {
    content: "";
    display: block;
    position: absolute;
    top: 58px;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    cursor: pointer;
  }
  /* header_主要_選單 */
  .header_nav {
    display: none;
    position: absolute;
    top: 54px;
    left: 0;
    z-index: 100;
    width: 100%;
    max-height: calc(100vh - 58px);
    overflow-y: scroll;
    background: #fff;
    box-shadow: 0 20px 15px 0 rgba(0, 0, 0, 0.2);
  }
  .header_nav .header_nav_first {
    display: block;
    flex-wrap: wrap;
  }
  .header_nav .header_nav_first > li {
    margin: 0;
    width: 100%;
  }
  .header_nav .header_nav_first > li > a {
    display: block;
    line-height: 45px;
    padding: 0 15px;
    border-bottom: solid 1px #dbdbdb;
  }
  .header_nav .header_nav_first .hasSec,
  .header_nav .header_nav_first .hasSec:hover {
    color: #535353;
    background: url(../images/header_nav_01.png) right 15px center no-repeat;
    background-size: auto 8px;
  }
  .header_nav .header_nav_first .hasSec.on {
    background: url(../images/header_nav_03.png) right 15px center no-repeat;
    background-size: auto 8px;
  }
  .header_nav .header_nav_first .header_nav_sec {
    display: none;
    position: static;
    padding: 0;
    background: none;
    box-shadow: none;
    background: #f1f1f1;
    width: 100%;
    min-width: 100%;
  }
  .header_nav .header_nav_first .header_nav_sec ul {
    margin: 0;
    padding-left: 15px;
  }
  .header_nav .header_nav_first .header_nav_sec ul li {
    display: block;
    margin: 0;
  }
  .header_nav .header_nav_first .header_nav_sec ul li::before {
    content: "";
    top: 18px;
    width: 8px;
    height: 8px;
    left: -2px;
  }
  .header_nav .header_nav_first .header_nav_sec ul li a {
    display: block;
    padding: 10px 0;
    line-height: 24px;
    font-size: 18px;
    color: #535353;
  }
  .header_nav .header_nav_first .header_nav_sec .inner {
    display: block;
  }
  .header_nav .header_nav_first .header_nav_sec .title {
    display: block;
    width: 100%;
    margin: 0 0 5px;
    border: none;
  }
  /* .open_m_menu .header_nav { display: block; } */
  .header_nav_first .hasSec:hover,
  .header_nav_first .hasSec.blue {
    color: #209cff;
    background: url(../images/header_nav_02.png) right 15px center no-repeat;
    background-size: auto 8px;
  }
}
footer {
  padding: 50px 0;
  text-align: center;
  color: #898989;
  background: #eeeeee;
  border-top: 1px solid #ccc;
}
footer a {
  color: #898989;
}
footer a:hover {
  opacity: 0.8;
  text-decoration: underline;
}
footer p {
  margin-bottom: 10px;
}
footer .pagesize > p:last-child {
  margin-bottom: 0;
}

/*
.popup {
  display: none;
  &.open {
    display: flex;
    justify-content: center;
    align-items: center;
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    overflow-y: scroll;
    width: 100%;
    height: 100%;
    max-height: 100%;
    padding: 15px;
    background: rgba(0, 0, 0, 0.6);
    z-index: 2000;
    @include screen-width($size-mobile) {
      align-items: flex-start;
      padding: 30px 15px;
    }
  }
}
.popup_area {
  position: relative;
  z-index: 2001;
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
  padding: 32px 40px;
  background: #fff;
  border-radius: 8px;
  @include screen-width($size-mobile) {
    padding: 20px 16px;
  }
  &-s {
    max-width: 460px;
  }
}
.popup.open ~ .wrapper {
  position: fixed;
  width: 100%;
}
.popup-close {
  position: absolute;
  top: 30px;
  right: 30px;
  display: block;
  width: 40px;
  height: 40px;
  background: url(../images/btn-cancel.svg) center center no-repeat;
  background-size: 25px;
  z-index: 999;
  cursor: pointer;
  & + h2 {
    padding-right: 40px;
  }
  @include screen-width($size-mobile) {
    top: 20px;
    right: 16px;
    width: 20px;
    height: 20px;
    & + h2 {
      padding-right: 30px;
    }
  }
  &:hover {
    opacity: 0.8;
  }
}
.popup-title {
  margin-bottom: 24px;
  padding-bottom: 20px;
  text-align: center;
  font-size: 30px;
  font-weight: 700;
  border-bottom: solid 3px #e7b867;
}
*/
/*popup*/
.popup {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 999;
}
.popup iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate3d(-50%, -50%, 0);
  display: block;
}
.popup_bg {
  background-color: rgba(0, 0, 0, 0.8);
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.popup_box {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate3d(-50%, -50%, 0);
  background-color: #fff;
  width: 996px;
  height: 560px;
}
.popup_box .videobox {
  width: 996px;
  height: 560px;
}
@media all and (max-width: 1200px) {
  .popup_box {
    width: 800px;
    height: 450px;
  }
  .popup_box .videobox {
    width: 800px;
    height: 450px;
  }
}
@media all and (max-width: 768px) {
  .popup_box {
    width: 300px;
    height: 170px;
  }
  .popup_box .videobox {
    width: 300px;
    height: 170px;
  }
}
.popup_close {
  position: absolute;
  top: -50px;
  right: 0;
  width: 40px;
  height: 40px;
  color: #444;
  background-color: #fff;
  border-radius: 100%;
  text-align: center;
  font-weight: 400;
  cursor: pointer;
}
.popup_close::before {
  content: "✖";
  font-size: 18px;
  font-weight: bold;
  line-height: 40px;
}
.popup_close:hover {
  background-color: #000000;
  color: #ffffff;
}
.popup.is_hide {
  display: none;
}

/*---------------------------------------------------*/
.container {
  padding: 20px 0 36px 0;
}
@media all and (max-width: 768px) {
  .container {
    padding: 12px 0 20px;
  }
}

hr.line {
  height: 1px;
  margin: 10px 0;
  border: none;
  background: #f2f2f2;
}

ul.point {
  list-style-position: outside;
}

ul.point li {
  position: relative;
  text-indent: 32px;
  text-align: justify;
}

ul.point li::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 10px;
  left: 20px;
  width: 6px;
  height: 6px;
  vertical-align: middle;
  border-radius: 3px;
  background: #f4b751;
}

ol.num {
  list-style: none;
  padding-left: 0;
}
ol.num > li {
  counter-increment: num;
  position: relative;
  padding-left: 30px;
}
ol.num > li:nth-last-child(1) {
  margin-bottom: 0;
}
ol.num > li::before {
  content: counter(num);
  position: absolute;
  left: 5px;
}
ol.decimal {
  list-style-type: decimal;
  padding-left: 20px;
}
ol.decimal > li {
  margin-bottom: 8px;
}
ol.dot li {
  position: relative;
  text-align: left;
  padding-left: 15px;
}
ol.dot li::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 10px;
  background-color: #999;
  position: absolute;
  top: 10px;
  left: 0;
}
ol.dot.w-half {
  display: flex;
  justify-self: start;
  align-items: stretch;
  flex-wrap: wrap;
}
ol.dot.w-half li {
  min-width: 50%;
}
ol.dot.w-full {
  flex-wrap: wrap;
}
ol.dot.w-full li {
  width: 100%;
}
ol.dot.inline li {
  display: inline-block;
  padding-right: 15px;
}
ol.dot.half li {
  min-width: calc(50% - 20px);
  display: inline-block;
  padding-right: 5px;
}
ol.dot.ylw li {
  font-size: 15px;
  line-height: 24px;
  margin-bottom: 8px;
}
ol.dot.ylw li::before {
  background-color: #d7982c;
}
ol.dot.ylw > li:last-child {
  margin: 0;
}
ol > li:last-child {
  margin: 0;
}
@media all and (max-width: 768px) {
  ol.dot.inline li {
    display: block;
    padding-right: 0;
  }
  ol.dot.font-size-xs {
    font-size: 16px;
  }
  ol.dot.half li {
    min-width: 100%;
    padding-right: 0;
  }
}

/*---------------------------------------------------*/
/*麵包屑*/
.breadcrumb {
  margin-bottom: 16px;
}
.breadcrumb li + li::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 10px;
  margin: 0 10px;
  background: url(../images/breadcrumb-02.svg) center center no-repeat;
  background-size: auto 10px;
}
.breadcrumb a:hover {
  opacity: 0.8;
}
.breadcrumb li,
.breadcrumb a {
  display: inline-block;
  color: #595955;
  font-size: 0.93rem;
  font-weight: 400;
}
.breadcrumb .home {
  width: 20px;
  height: 20px;
  position: relative;
  top: 4px;
  background: url(../images/breadcrumb-01.svg) center center no-repeat;
  background-size: 20px;
}
@media all and (max-width: 768px) {
  .breadcrumb {
    margin-bottom: 8px;
  }
}

.contentArea {
  background-color: #fff;
  padding: 36px;
  border: 1px solid #eaeaea;
}
@media all and (max-width: 768px) {
  .contentArea {
    padding: 12px;
  }
}
.contentArea article p {
  padding-bottom: 16px;
  color: #666666;
  font-size: 1rem;
  line-height: 1.6rem;
}
.contentArea article p a {
  color: #328ac6;
  border-bottom: 1px solid #328ac6;
  margin: 0 4px;
}
.contentArea article p a:hover {
  border-color: #ffffff;
}
.contentArea article p a.sub-link {
  color: #ffffff;
  font-size: 0.93rem;
  padding: 2px 10px;
  border-bottom: none;
}
.contentArea article > p:last-child {
  padding-bottom: 0;
}
.contentArea article p.color-red04 {
  color: #e43737;
}
@media all and (max-width: 768px) {
  .contentArea article p {
    padding-bottom: 8px;
  }
}

.areaTitle {
  font-size: 1.75rem;
  font-weight: 500;
  line-height: 1.2em;
  color: #38aaea;
  border-bottom: 1px solid #c5c5c5;
  padding-bottom: 32px;
  margin-bottom: 32px;
}
@media all and (max-width: 768px) {
  .areaTitle {
    font-size: 24px;
    padding-bottom: 16px;
    margin-bottom: 16px;
  }
}
.areaTitle-sub {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.2em;
  color: #38aaea;
  margin-bottom: 24px;
  padding: 20px 0;
  border-top: 1px solid #e6e6e6;
  border-bottom: 2px solid #38aaea;
}
@media all and (max-width: 768px) {
  .areaTitle-sub {
    font-size: 20px;
  }
}
.areaTitle-second {
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 1.2em;
  min-height: 36px;
  color: #333333;
  margin-bottom: 16px;
  position: relative;
  padding-left: 20px;
}
.areaTitle-second::before {
  content: "";
  width: 8px;
  height: 24px;
  background-color: #f4b751;
  position: absolute;
  top: 2px;
  left: 0;
}
.areaTitle-second.c-gray::before {
  background-color: #999999;
}
@media all and (max-width: 768px) {
  .areaTitle-second {
    font-size: 1.25rem;
    line-height: 36px;
  }
  .areaTitle-second::before {
    top: 6px;
  }
}
.areaTitle-third {
  color: #e43737;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.2em;
  margin-bottom: 16px;
}
.areaTitle-third > span {
  padding: 0 10px 4px 4px;
  position: relative;
  z-index: 9;
}
.areaTitle-third > span::before {
  content: "";
  background-color: #ffeded;
  height: 14px;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: -1;
}
@media all and (max-width: 768px) {
  .areaTitle-third > span {
    padding: 0 10px 0 0;
  }
}
.areaTitle-third span.num {
  width: 18px;
  height: 18px;
  border-radius: 100%;
  border: 1px solid #e43737;
  font-size: 14px;
  padding: 0;
  margin-right: 4px;
  text-align: center;
  line-height: 18px;
  display: inline-block;
}
.areaTitle-third span.num::before {
  display: none;
}
.areaTitle-fourth {
  font-size: 24px;
  color: #d7982c;
  font-weight: 500;
  line-height: 1.2em;
  position: relative;
  padding-left: 24px;
  background: url(../images/ic/ic-title-fourth.svg) 0 8px no-repeat;
  background-size: 11px 11px;
  margin-bottom: 30px;
}
@media all and (max-width: 768px) {
  .areaTitle-fourth {
    font-size: 18px;
    padding-left: 18px;
    margin-bottom: 16px;
    background-position: 0 5px;
  }
}

.width-640,
.width-800,
.width-1160 {
  margin-left: auto;
  margin-right: auto;
}

.width-640 {
  width: 640px;
}

.width-800 {
  width: 800px;
}

.width-1160 {
  width: 1160px;
}

@media all and (max-width: 768px) {
  .width-640,
  .width-800,
  .width-1160 {
    width: 100%;
  }
  .width-640 .compareTable .tableBody table {
    width: 532px;
  }
}
@media all and (max-width: 540px) {
  .width-640 .compareTable .tableBody table {
    width: 460px;
  }
}
/*---------------------------------------------------*/
.list-dot {
  margin-bottom: 16px;
}
.list-dot > li {
  padding-left: 20px;
  color: #666666;
  font-size: 1rem;
  line-height: 1.4rem;
  margin-bottom: 8px;
  position: relative;
}
.list-dot > li::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 100%;
  position: absolute;
  top: 8px;
  left: 4px;
  background-color: #38aaea;
}
.list-dot.c-ylw > li {
  font-weight: normal;
  font-size: 0.93rem;
  line-height: 1.2rem;
  padding-left: 20px;
}
.list-dot.c-ylw > li::before {
  background-color: #f4b751;
  top: 6px;
}
.list-dot > li:last-child {
  margin: 0;
}
@media all and (max-width: 768px) {
  .list-dot {
    padding-left: 0;
  }
}
.list-dot a {
  color: #328ac6;
  border-bottom: 1px solid #328ac6;
  margin: 0 4px;
}
.list-dot a:hover {
  border-color: #ffffff;
}
.list-dot a.sub-link {
  color: #fff;
  border-bottom: none;
}
.list-dot.sub {
  padding-left: 0;
}
.list-dot.sub li {
  font-size: 0.93rem;
  padding-left: 16px;
  margin: 0;
  font-weight: normal;
}
.list-dot.sub li::before {
  width: 6px;
  height: 6px;
  background-color: #73abd0;
}
.list-dot.sub li a {
  color: #33a0e7;
  border-bottom: none;
}
.list-dot.sub li a:hover {
  color: #2679b2;
}
.list-dot.flex-2 {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
}
.list-dot.flex-2 li {
  min-width: 49%;
}

.list-asterisk {
  margin-bottom: 8px;
}
.list-asterisk > li {
  padding-left: 20px;
  color: #666666;
  font-size: 14px;
  position: relative;
}
.list-asterisk > li::after {
  content: "";
  width: 16px;
  height: 16px;
  position: absolute;
  top: 4px;
  left: 0;
  background: url(../images/ic/ic-asterisk.svg) 0 0 no-repeat;
  background-size: 16px;
}
.list-asterisk.margin-0 {
  margin-bottom: 0;
}
@media all and (max-width: 768px) {
  .list-asterisk {
    padding-left: 0;
  }
}

.detailBox-gray {
  padding: 16px;
  background-color: #f5f5f5;
}
.detailBox-gray li {
  padding-left: 12px;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  position: relative;
}
.detailBox-gray li::before {
  content: "";
  position: absolute;
  top: 8px;
  left: 0px;
  background: url(../images/ic/ic-subtitle-arw-b.svg) 0 0 no-repeat;
  background-size: contain;
  width: 8px;
  height: 8px;
}
.detailBox-gray li .sub-title {
  color: #666666;
  font-weight: 500;
  font-size: 0.93rem;
}
.detailBox-gray li p {
  margin-bottom: 0;
  padding: 0;
  font-size: 0.875rem;
}
.detailBox-gray > li:last-child {
  margin: 0;
}
.detailBox-gray.flex-two {
  display: flex;
  flex-wrap: wrap;
  padding-bottom: 8px;
}
.detailBox-gray.flex-two li {
  width: 50%;
  flex: 1 1 50%;
  margin-bottom: 8px;
}
@media all and (max-width: 768px) {
  .detailBox-gray li .sub-title,
  .detailBox-gray li p {
    font-size: 1rem;
  }
  .detailBox-gray.flex-two li {
    width: 100%;
    flex: 1 1 100%;
  }
}

.cc-num > li {
  padding-left: 24px;
  position: relative;
}
.cc-num > li .sub-title {
  font-size: 16px;
  font-weight: 500;
  color: #38aaea;
  margin-bottom: 4px;
}
.cc-num > li .num {
  width: 18px;
  height: 18px;
  border-radius: 100%;
  border: 1px solid #38aaea;
  color: #38aaea;
  text-align: center;
  font-size: 13px;
  line-height: 16px;
  font-weight: bold;
  position: absolute;
  top: 4px;
  left: 0;
}
.cc-num > li p {
  padding-bottom: 8px;
}

.cc-tit {
  border-radius: 20px;
  background-color: #38aaea;
  color: #fff;
  padding: 0 8px;
  font-size: 0.93rem;
  margin-right: 10px;
  margin-top: 2px;
}

.meritBox {
  padding: 16px;
  background-color: #fff8ec;
}
.meritBox li .sub-title {
  color: #d28300;
  font-size: 1.2rem;
  padding-left: 16px;
  margin-bottom: 8px;
  position: relative;
}
.meritBox li .sub-title::before {
  content: "";
  position: absolute;
  top: 7px;
  left: 0;
  background: url(../images/ic/ic-subtitle-mark.svg) 0 0 no-repeat;
  background-size: contain;
  width: 10px;
  height: 10px;
}
.meritBox li p {
  margin-bottom: 8px;
  padding: 0;
}

.topbn {
  position: relative;
}
.topbn .bnText {
  color: #ffffff;
  text-align: center;
  font-size: 2.25rem;
  line-height: 2.25rem;
  font-weight: 500;
  letter-spacing: 2px;
  position: absolute;
  width: 80%;
  bottom: 30px;
  left: 50%;
  margin-left: -40%;
  padding-bottom: 30px;
}
.topbn .bnText::before {
  content: "";
  width: 40px;
  height: 2px;
  background-color: #ffffff;
  position: absolute;
  bottom: 0;
  left: 50%;
  margin-left: -20px;
}
@media all and (max-width: 768px) {
  .topbn .bnText {
    font-size: 1.8rem;
    line-height: 1.8rem;
    padding-bottom: 20px;
    bottom: 20px;
  }
}

.two-col {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
}
.two-col > li {
  flex: 1 1 40%;
  min-width: 40%;
  margin-bottom: 24px;
  margin-left: 24px;
}
.two-col > li:nth-child(odd) {
  margin-left: 0;
}
.two-col > li:last-child, .two-col > li:nth-last-child(2) {
  margin-bottom: 0;
}
@media all and (max-width: 768px) {
  .two-col li {
    flex: 1 1 100%;
    max-width: 100%;
    margin-bottom: 16px;
    margin-left: 0;
  }
  .two-col > li:nth-last-child(2) {
    margin-bottom: 16px;
  }
  .two-col > li:last-child {
    margin-bottom: 0;
  }
}

.downloadNow-download {
  background-color: #f9f9f9;
  padding: 12px 20px 12px 0;
  border-left: 4px solid #69b3e6;
  display: flex;
  flex-wrap: wrap;
  line-height: 36px;
}
.downloadNow-download .fileTitle {
  min-width: 140px;
  max-width: 240px;
  padding: 0 10px;
  font-size: 1.25rem;
  color: #333333;
  text-align: center;
}
.downloadNow-download .fileTitle.w-full {
  max-width: 100%;
  width: 100%;
  text-align: left;
}
.downloadNow-download .fileList {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
}
.downloadNow-download .fileList li {
  margin: 0 10px 5px 10px;
  position: relative;
}
.downloadNow-download .fileList li::before {
  content: "";
  width: 1px;
  height: 20px;
  background-color: #a7a7a7;
  position: absolute;
  left: -10px;
  top: 8px;
}
.downloadNow-download .fileList > li:first-child {
  margin-left: 0;
}
.downloadNow-download .fileList > li:first-child::before {
  display: none;
}
.downloadNow-download .fileList > li.bNone {
  margin-left: 0;
}
.downloadNow-download .fileList > li.bNone::before {
  display: none;
}
.downloadNow-download .fileList a {
  background-color: #fc8b7b;
  color: #ffffff;
  font-size: 1rem;
  padding: 0 10px;
  border-radius: 4px;
  display: block;
}
.downloadNow-download .fileList a:hover {
  background-color: #f25953;
}
@media all and (max-width: 1200px) {
  .downloadNow-download {
    flex-wrap: wrap;
    padding: 10px 10px 1px;
  }
  .downloadNow-download .fileTitle {
    padding: 0;
    width: 100%;
    text-align: left;
    line-height: 1.4rem;
    margin-bottom: 8px;
  }
  .downloadNow-download .fileList {
    width: 100%;
    align-items: baseline;
  }
  .downloadNow-download .fileList li {
    margin: 0 10px 10px 0;
  }
  .downloadNow-download .fileList li::before {
    display: none;
  }
  .downloadNow-download .fileList a {
    padding: 8px 10px;
    line-height: 1.2rem;
  }
}
.downloadNow-download .d-flex {
  display: flex;
}
.downloadNow-download .d-flex .sophos {
  padding: 10px;
}
@media all and (max-width: 1200px) {
  .downloadNow-download .d-flex {
    flex-wrap: wrap;
  }
}
.downloadNow .fileLink {
  padding: 8px 0 0px 30px;
  margin-bottom: 16px;
  line-height: 36px;
}
.downloadNow .fileLink li {
  font-size: 1rem;
  color: #666666;
  position: relative;
  padding-left: 20px;
}
.downloadNow .fileLink li::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 100%;
  background-color: #fc8b7b;
  position: absolute;
  top: 14px;
  left: 0;
}
.downloadNow .fileLink li a {
  color: #328ac6;
  border-bottom: 1px solid #328ac6;
}
.downloadNow .fileLink li a:hover {
  border-color: #ffffff;
}
@media all and (max-width: 1200px) {
  .downloadNow .fileLink {
    padding: 10px 0;
    line-height: 1.4rem;
    margin-bottom: 8px;
  }
  .downloadNow .fileLink li {
    margin-bottom: 10px;
  }
  .downloadNow .fileLink li::before {
    top: 8px;
  }
}

.fileArea {
  background-color: #fff;
  min-height: 140px;
  border-radius: 20px;
  box-shadow: 0px 0px 10px 0px #ccc;
  -webkit-box-shadow: 0px 0px 10px 0px #ccc;
  -moz-box-shadow: 0px 0px 10px 0px #ccc;
  -o-box-shadow: 0px 0px 10px 0px #ccc;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.fileArea .fileImg {
  background-color: #f5f5f5;
  align-self: stretch;
  width: 150px;
  display: flex;
  align-items: center;
}
.fileArea .fileImg img {
  width: 150px;
  margin: 0 auto;
}
.fileArea .fileList {
  width: calc(100% - 150px);
  padding: 20px 10px 10px;
}
.fileArea .fileList.flex-col {
  display: flex;
  justify-content: start;
  align-items: center;
  flex-wrap: wrap;
}
.fileArea .fileList.flex-col li {
  flex: 1 1 50%;
  min-width: 50%;
}
.fileArea .fileList li {
  position: relative;
  padding-left: 20px;
  margin-bottom: 10px;
}
.fileArea .fileList li a {
  font-size: 1rem;
  color: #333333;
}
.fileArea .fileList li a:hover {
  color: #328ac6;
}
.fileArea .fileList li::before {
  content: "";
  background: url(../images/ic/ic-subtitle-arw-d.svg) center no-repeat;
  background-size: 20px;
  width: 20px;
  height: 20px;
  position: absolute;
  top: 4px;
  left: 0;
}
.fileArea .fileBox {
  padding: 20px 10px 10px;
}
@media all and (max-width: 768px) {
  .fileArea {
    flex-wrap: wrap;
  }
  .fileArea .fileImg {
    width: 100%;
    min-height: 80px;
    padding: 0;
  }
  .fileArea .fileList {
    width: 100%;
    max-width: 100%;
  }
  .fileArea .fileList.flex-col li {
    flex: 1 1 100%;
    min-width: 100%;
  }
  .fileArea.noWrap {
    flex-wrap: nowrap;
  }
  .fileArea.noWrap .fileImg {
    width: 100px;
    min-width: 100px;
    padding: 0;
  }
  .fileArea.noWrap .fileImg img {
    width: 100%;
    height: auto;
  }
  .fileArea.noWrap .fileList {
    width: calc(100% - 100px);
    max-width: calc(100% - 100px);
  }
}

.sub-link {
  background-color: #69b3e6;
  color: #ffffff;
  font-size: 0.93rem;
  padding: 4px 14px;
  border-radius: 6px;
  text-align: center;
  display: inline-block;
}
.sub-link + span {
  margin-left: 8px;
}
.sub-link:hover {
  background-color: #328ac6;
}

.tableArea {
  margin-left: auto;
  margin-right: auto;
  width: 1160px;
  box-shadow: 0px 0px 10px 0px #ccc;
  -webkit-box-shadow: 0px 0px 10px 0px #ccc;
  -moz-box-shadow: 0px 0px 10px 0px #ccc;
  -o-box-shadow: 0px 0px 10px 0px #ccc;
}
.tableArea table {
  width: 100%;
  font-size: 1rem;
  color: #666666;
}
.tableArea table th,
.tableArea table td {
  padding: 4px;
  height: 40px;
  vertical-align: middle;
  text-align: center;
  border: 1px solid #e5e5e5;
  border-top: none;
  border-left: none;
}
.tableArea table th.slash-line,
.tableArea table td.slash-line {
  position: relative;
}
.tableArea table th.slash-line::before,
.tableArea table td.slash-line::before {
  content: "";
  position: absolute;
  width: 1px;
  height: 402px;
  top: 1px;
  left: 0;
  right: 0;
  background-color: #e5e5e5;
  display: block;
  transform: rotate(-81.5deg);
  transform-origin: top;
  -ms-transform: rotate(-81.5deg);
  -ms-transform-origin: top;
}
.tableArea table th.slash-line .tR,
.tableArea table td.slash-line .tR {
  position: absolute;
  top: 10px;
  right: 10px;
}
.tableArea table th.slash-line .bL,
.tableArea table td.slash-line .bL {
  position: absolute;
  bottom: 10px;
  left: 10px;
}
@media all and (max-width: 768px) {
  .tableArea table th.slash-line::before,
  .tableArea table td.slash-line::before {
    height: 160px;
    transform: rotate(-68deg);
    transform-origin: top;
    -ms-transform: rotate(-68deg);
    -ms-transform-origin: top;
  }
  .tableArea table th.slash-line .tR,
  .tableArea table td.slash-line .tR {
    top: 5px;
    right: 5px;
  }
  .tableArea table th.slash-line .bL,
  .tableArea table td.slash-line .bL {
    bottom: 5px;
    left: 5px;
  }
}
.tableArea table th {
  font-weight: 500;
}
.tableArea table td {
  font-weight: normal;
}
.tableArea table td.align-left {
  text-align: left;
}
.tableArea table td.align-top {
  vertical-align: top;
}
.tableArea table.td-fs-s td {
  font-size: 15px;
}
.tableArea table.height-210 {
  height: 210px;
}
@media all and (max-width: 768px) {
  .tableArea table.height-210 {
    height: auto;
  }
}
.tableArea .bg-tbtype-1 {
  background-color: #f9f9f9;
  border-bottom: 2px solid #69b3e6;
}
.tableArea .bg-tbtype-1.lineNorm {
  border: 1px solid #e5e5e5;
  bottom: inherit;
}
.tableArea .bg-tbtype-2 {
  background-color: #69b3e6;
  color: #ffffff;
  font-size: 15px;
  font-weight: normal;
  height: 30px;
  padding: 0;
}
.tableArea .bg-tbtype-3 {
  background-color: #ef837f;
  color: #ffffff;
  border-bottom: 2px solid #db3730;
}
.tableArea .bg-tbtype-4 {
  background-color: #f9f9f9;
  border-right: 2px solid #69b3e6;
}
.tableArea .ic-inline {
  display: inline-block;
  vertical-align: middle;
  width: 28px;
  height: 28px;
  margin-right: 4px;
}
.tableArea.width-640 {
  width: 640px;
}
.tableArea.width-800 {
  width: 800px;
}
.tableArea.width-full {
  width: 100%;
}
@media all and (max-width: 1200px) {
  .tableArea {
    width: 100%;
  }
  .tableArea.width-640, .tableArea.width-800 {
    width: 100%;
  }
  .tableArea .m-tline {
    border-top: 1px solid #e5e5e5;
  }
}

.tableTitle {
  text-align: center;
  font-size: 1.25rem;
  padding: 30px 0 20px;
  background-color: #f9f9f9;
  position: relative;
}
.tableTitle .taginfo {
  position: absolute;
  top: -15px;
  left: 50%;
  margin-left: -70px;
  background-color: #e66e7c;
  color: #ffffff;
  font-size: 1rem;
  width: 140px;
  height: 30px;
  text-align: center;
  line-height: 30px;
}
.tableTitle .taginfo::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 15px 10px 15px 0;
  border-color: transparent #e66e7c transparent transparent;
  position: absolute;
  top: 0;
  left: -10px;
}
.tableTitle .taginfo::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 15px 0 15px 10px;
  border-color: transparent transparent transparent #e66e7c;
  position: absolute;
  top: 0;
  right: -10px;
}

.compareTable {
  position: relative;
  overflow: hidden;
}
.compareTable .tableHead {
  position: absolute;
  width: 30%;
  top: 0;
  left: 0;
  bottom: 0;
  height: 100%;
  z-index: 9;
}
.compareTable .tableBody {
  padding-left: 30%;
}
@media all and (max-width: 1200px) {
  .compareTable .tableHead {
    width: 160px;
  }
  .compareTable .tableBody {
    padding-left: 160px;
    overflow-x: auto;
  }
  .compareTable .tableBody table {
    width: 1000px;
  }
  .compareTable .tableBody table.width-600 {
    width: 600px;
  }
  .compareTable .tableBody table.width-full {
    width: 100%;
  }
}
.compareTable .tableHead.th-width-140 {
  width: 120px;
}
.compareTable .tableHead.th-width-140 th {
  width: 120px;
  min-width: 120px;
}
.compareTable .tableBody.th-padd-140 {
  padding-left: 120px;
}
.compareTable .tableHead.th-width-200 {
  width: 220px;
}
@media all and (max-width: 768px) {
  .compareTable .tableHead.th-width-200 {
    width: 150px;
  }
}
.compareTable .tableBody.th-padd-200 {
  padding-left: 220px;
}
@media all and (max-width: 768px) {
  .compareTable .tableBody.th-padd-200 {
    padding-left: 150px;
  }
}
.compareTable .tableHead.th-width-220 {
  width: 220px;
}
@media all and (max-width: 768px) {
  .compareTable .tableHead.th-width-220 {
    width: 150px;
  }
  .compareTable .tableHead.th-width-220 .bg-tbtype-1 {
    height: 60px;
  }
}
.compareTable .tableBody.th-padd-220 {
  padding-left: 220px;
}
@media all and (max-width: 768px) {
  .compareTable .tableBody.th-padd-220 {
    padding-left: 150px;
  }
  .compareTable .tableBody.th-padd-220 .bg-tbtype-1 {
    height: 60px;
  }
}
.compareTable .tableHead.th-width-400 {
  width: 400px;
}
@media all and (max-width: 768px) {
  .compareTable .tableHead.th-width-400 {
    width: 150px;
  }
  .compareTable .tableHead.th-width-400 .bg-tbtype-1 {
    height: 60px;
  }
}
.compareTable .tableBody.th-padd-400 {
  padding-left: 400px;
}
@media all and (max-width: 768px) {
  .compareTable .tableBody.th-padd-400 {
    padding-left: 150px;
  }
  .compareTable .tableBody.th-padd-400 .bg-tbtype-1 {
    height: 60px;
  }
}
.compareTable .tableHead.th-width-600 {
  width: 600px;
}
@media all and (max-width: 940px) {
  .compareTable .tableHead.th-width-600 {
    width: 180px;
  }
}
.compareTable .tableBody.th-padd-600 {
  padding-left: 600px;
}
@media all and (max-width: 940px) {
  .compareTable .tableBody.th-padd-600 {
    padding-left: 180px;
  }
}
@media all and (max-width: 940px) {
  .compareTable .m-height-60 {
    height: 60px;
  }
}
@media all and (max-width: 940px) {
  .compareTable .m-height-80 {
    height: 80px;
  }
}

.singleTable th {
  min-width: 120px;
}
@media all and (max-width: 540px) {
  .singleTable th {
    min-width: 100px;
  }
}

.tb-flex-two {
  display: flex;
  justify-content: stretch;
  align-items: flex-start;
  flex-wrap: wrap;
}
.tb-flex-two .compareTable {
  flex: 1 1 50%;
  width: 50%;
}
@media all and (max-width: 940px) {
  .tb-flex-two .compareTable {
    flex: 1 1 100%;
    width: 100%;
  }
}

.alignBot {
  height: 200px;
  background: url(../images/ic/ic-tb-win-2.png) right bottom no-repeat;
}

.mark-blue {
  color: #ffffff;
  background-color: #69b3e6;
  font-size: 15px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  text-align: center;
  display: inline-block;
}

.mark-txt {
  font-size: 0.875rem;
  font-weight: normal;
  color: #999999 !important;
  margin-left: 4px;
}

.notice li {
  display: flex;
  justify-content: start;
  align-items: stretch;
  color: #999999;
  font-size: 14px;
  line-height: 22px;
  letter-spacing: -0.2px;
}
.notice li .mark-blue {
  margin-right: 4px;
  letter-spacing: 0;
  min-width: 22px;
  font-size: 15px;
}

.tipArea {
  background-color: #fff5f5;
  color: #666666;
  font-size: 0.875rem;
  padding: 16px;
}
.tipArea .tipTitle {
  color: #f88d8d;
  font-size: 1.125rem;
  font-weight: 500;
  margin-bottom: 8px;
}
.tipArea li {
  padding-left: 12px;
  position: relative;
  margin-bottom: 8px;
  line-height: 1.1rem;
}
.tipArea li::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 100%;
  background-color: #f88d8d;
  position: absolute;
  top: 6px;
  left: 0;
}
.tipArea ul > li:last-child {
  margin: 0;
}

.operateList > li {
  margin-bottom: 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
}
.operateList > li .listImg {
  box-shadow: 0px 0px 10px 0px #ccc;
  -webkit-box-shadow: 0px 0px 10px 0px #ccc;
  -moz-box-shadow: 0px 0px 10px 0px #ccc;
  -o-box-shadow: 0px 0px 10px 0px #ccc;
  width: 550px;
  max-width: 550px;
  position: relative;
  z-index: 9;
}
.operateList > li .listImg img {
  width: 100%;
}
.operateList > li .listImg.radius {
  border-radius: 20px;
  overflow: hidden;
}
.operateList > li .listTxt {
  width: calc(100% - 550px);
  padding: 30px;
  position: relative;
}
.operateList > li .listTxt p {
  position: relative;
  z-index: 9;
}
.operateList > li .listTxt::before {
  content: "";
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #fffcf2;
  position: absolute;
  z-index: 0;
}
.operateList > li .listNum {
  position: absolute;
  top: -4px;
  left: 560px;
  width: 70px;
  text-align: center;
  color: #e43737;
  font-weight: bold;
  padding-bottom: 4px;
}
.operateList > li .listNum span {
  display: block;
  z-index: 9;
  position: relative;
}
.operateList > li .listNum > span:nth-child(1) {
  font-size: 1rem;
}
.operateList > li .listNum > span:nth-child(2) {
  font-size: 1.5rem;
}
.operateList > li .listNum::before {
  content: "";
  width: 100%;
  height: 14px;
  background-color: #ffeded;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1;
}
.operateList > li:last-child {
  margin: 0;
}
@media all and (max-width: 768px) {
  .operateList > li {
    flex-wrap: wrap;
  }
  .operateList > li .listImg {
    width: 100%;
    max-width: 100%;
  }
  .operateList > li .listImg.radius {
    border-bottom-right-radius: 0;
    overflow: hidden;
  }
  .operateList > li .listTxt {
    width: 100%;
    padding: 20px;
  }
  .operateList > li .listTxt::before {
    top: 0;
  }
  .operateList > li .listNum {
    position: relative;
    margin-bottom: 16px;
    top: 0;
    left: 0;
    margin-left: 0;
    width: inherit;
    text-align: left;
  }
  .operateList > li .listNum span {
    display: inline-block;
  }
  .operateList > li .listNum > span:nth-child(2) {
    padding-right: 10px;
  }
}

.dotNum {
  width: 16px;
  height: 16px;
  color: #ffffff;
  text-align: center;
  border-radius: 100%;
  font-size: 0.6rem;
  line-height: 16px;
  display: inline-block;
}
.dotNum.red {
  background-color: #e43737;
}

.btnArea {
  display: flex;
  justify-content: center;
  margin-bottom: 16px;
}
.btnArea a {
  background-color: #f4b751;
  color: #ffffff;
  font-size: 1.125rem;
  font-weight: 700;
  padding: 10px 20px;
  text-align: center;
  border-radius: 10px;
  margin: 0 4px;
  display: inline-block;
}
.btnArea a:hover {
  background-color: #daa143;
}
.btnArea.big a {
  font-size: 1.5rem;
  padding: 16px;
  min-width: 180px;
}
@media all and (max-width: 768px) {
  .btnArea {
    flex-wrap: wrap;
  }
  .btnArea a {
    width: 100%;
    display: block;
    margin: 0 0 10px;
  }
  .btnArea > a:last-child {
    margin: 0;
  }
}

section.extraInfo {
  position: relative;
  padding-top: 36px;
}
section.extraInfo::before {
  content: "";
  background-color: #fafafa;
  position: absolute;
  top: 0;
  left: -36px;
  right: -36px;
  bottom: -36px;
}
@media all and (max-width: 768px) {
  section.extraInfo {
    padding-top: 12px;
  }
  section.extraInfo::before {
    left: -12px;
    right: -12px;
    bottom: -12px;
  }
}

.giftList-box {
  width: 100%;
  position: relative;
  padding-left: 320px;
}
.giftList-box.height-440 {
  min-height: 440px;
}
.giftList-box.height-320 {
  min-height: 320px;
}
.giftList-box .giftImg {
  position: absolute;
  top: 0;
  left: 0;
  width: 300px;
  height: 240px;
}
.giftList-box .giftImg img {
  border-radius: 20px;
  box-shadow: 0px 0px 10px 0px #ccc;
  -webkit-box-shadow: 0px 0px 10px 0px #ccc;
  -moz-box-shadow: 0px 0px 10px 0px #ccc;
  -o-box-shadow: 0px 0px 10px 0px #ccc;
}
.giftList-box .giftLink {
  position: absolute;
  top: 260px;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  width: 300px;
}
.giftList-box .giftLink a {
  text-align: center;
  color: #fff;
  background-color: #69b3e6;
  border-radius: 6px;
  line-height: 36px;
  min-width: 220px;
  display: block;
  margin: 0 4px 10px;
}
.giftList-box .giftLink a:hover {
  background-color: #328ac6;
}
.giftList-box .giftInfo {
  min-height: 240px;
  margin-bottom: 24px;
}
.giftList-box .giftInfo .gift_title {
  display: flex;
  align-items: center;
  justify-content: start;
  flex-wrap: wrap;
  margin-bottom: 16px;
}
.giftList-box .giftInfo .gift_title h4 {
  font-size: 1.375rem;
  color: #333;
  display: inline-block;
}
.giftList-box .giftInfo .gift_title a {
  margin-left: 10px;
}
.giftList-box .giftInfo h5 {
  font-size: 0.93rem;
  font-weight: 500;
  margin-bottom: 10px;
}
.giftList-box .giftInfo h5.sty1 {
  color: #7aaccf;
}
.giftList-box .giftInfo h5.sty2 {
  color: #72b5a6;
}
@media all and (max-width: 768px) {
  .giftList-box {
    padding-left: 0;
  }
  .giftList-box .giftImg {
    position: relative;
    top: 0;
    margin: 0 auto 20px;
  }
  .giftList-box .giftLink {
    position: relative;
    top: 0;
    width: 100%;
    margin-bottom: 20px;
  }
  .giftList-box .giftInfo {
    min-height: auto;
  }
  .giftList-box .giftInfo .gift_title {
    font-size: 1rem;
    line-height: 1.6rem;
    margin: 0;
    justify-content: center;
    text-align: center;
    display: block;
  }
  .giftList-box .giftInfo .gift_title h4 {
    margin-bottom: 10px;
    display: block;
  }
  .giftList-box .giftInfo .gift_title h4 .m-font-s {
    font-size: 1rem;
  }
}
@media all and (max-width: 320px) {
  .giftList-box .giftImg {
    width: 100%;
    height: auto;
  }
}

.topic {
  background-color: #fffcf2;
  display: flex;
  justify-content: center;
  align-content: stretch;
  min-height: 300px;
}
.topic .imgbox {
  width: 460px;
  height: auto;
  flex: 1 1 460px;
}
.topic .textbox {
  width: calc(100% - 460px);
  padding: 10px 20px;
  display: flex;
  flex-wrap: wrap;
  align-items: center; /*垂直置中*/
  justify-content: center; /*水平置中*/
}
.topic .textbox p.font-mid {
  line-height: 2rem;
  padding: 0;
}
@media all and (max-width: 768px) {
  .topic {
    flex-wrap: wrap;
  }
  .topic .imgbox {
    width: 100%;
    flex: 1 1 100%;
    display: flex;
    justify-content: center;
  }
  .topic .textbox {
    width: 100%;
  }
}

.flex-center {
  display: flex;
  justify-content: center;
  align-items: center;
}
.flex-center.reverse {
  flex-direction: row-reverse;
}
.flex-center .imgbox.width-240 {
  width: 240px;
  min-width: 240px;
}
.flex-center .imgbox.width-460 {
  width: 460px;
  min-width: 460px;
}
.flex-center .textbox.right {
  padding-left: 32px;
}
.flex-center .textbox.left {
  padding-right: 32px;
}
.flex-center .textbox p {
  line-height: 32px;
}
@media all and (max-width: 768px) {
  .flex-center {
    flex-wrap: wrap;
  }
  .flex-center.reverse {
    flex-direction: reverse;
  }
  .flex-center .imgbox {
    display: flex;
    justify-content: center;
    margin-bottom: 16px;
  }
  .flex-center .imgbox.width-240, .flex-center .imgbox.width-460 {
    width: 100%;
    min-width: 100%;
  }
  .flex-center .textbox.right {
    padding-left: 0;
  }
  .flex-center .textbox.left {
    padding-right: 0;
  }
  .flex-center .textbox p {
    line-height: 1.6rem;
  }
}

.deploy-box {
  position: relative;
  padding: 0 32px;
}
.deploy-box ul {
  position: relative;
}
.deploy-box::before {
  content: "";
  position: absolute;
  top: 20px;
  left: 0;
  right: 0;
  bottom: 20px;
  background-color: #fffcf2;
}
@media all and (max-width: 768px) {
  .deploy-box {
    padding: 0 16px 1px;
  }
  .deploy-box::before {
    bottom: 0px;
  }
  .deploy-box li {
    margin-bottom: 16px;
  }
}

.prod-title {
  position: relative;
}
.prod-title .side-btn {
  position: absolute;
  top: 0;
  right: 0;
}
.prod-title .side-btn a {
  color: #38aaea;
  font-size: 1rem;
  border-bottom: 1px solid #38aaea;
  display: inline-block;
  margin-left: 10px;
}
.prod-title .side-btn a.btn {
  background-color: #69b3e6;
  color: #fff;
  padding: 0 10px;
  border-radius: 10px;
  height: 36px;
  line-height: 36px;
}
.prod-title .side-btn a:hover {
  border-bottom: transparent;
}
@media all and (max-width: 1200px) {
  .prod-title .side-btn {
    position: relative;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
  }
  .prod-title .side-btn a {
    min-height: 36px;
    margin: 0 8px 16px;
  }
  .prod-title .side-btn > a:last-child {
    margin-bottom: 0;
  }
}

.prod-intro {
  background-color: #fffcf2;
  padding: 24px;
}
.prod-intro .list-dot.c-ylw li {
  font-size: 1rem;
}
@media all and (max-width: 768px) {
  .prod-intro {
    padding: 20px;
  }
}

/*---------------------------------------------------*/
.scrollBox {
  overflow-y: auto;
}

@media all and (max-width: 768px) {
  .m-scrollBox {
    overflow-y: auto;
  }
  .m-scrollBox table {
    width: 900px;
  }
}

.container.cp-container {
  padding: 0;
}

.content-container {
  margin: 0 auto;
}
@media all and (max-width: 1200px) {
  .content-container {
    padding-right: 32px;
    padding-left: 32px;
  }
}
@media all and (max-width: 540px) {
  .content-container {
    padding-right: 24px;
    padding-left: 24px;
  }
}

.cp-award .content-container,
.cp-introduction .content-container,
.cp-spec-details .content-container,
.cp-spec-table .content-container {
  max-width: 920px;
}

.cp-features .content-container,
.cp-advantages .content-container,
.cp-pricelist .content-container,
.cp-extraInfo .content-container {
  max-width: 1110px;
}

.cp-spec-list .content-container {
  max-width: 654px;
}

.cp-hero .content-container {
  max-width: 1570px;
}

.cp-features .content-container,
.cp-advantages .content-container,
.cp-spec-details .content-container,
.cp-pricelist .content-container {
  padding-top: 100px;
}
@media all and (max-width: 540px) {
  .cp-features .content-container,
  .cp-advantages .content-container,
  .cp-spec-details .content-container,
  .cp-pricelist .content-container {
    padding-top: 60px;
  }
}

.cp-advantages .content-container,
.cp-spec-details .content-container {
  padding-bottom: 60px;
}
@media all and (max-width: 540px) {
  .cp-advantages .content-container,
  .cp-spec-details .content-container {
    padding-bottom: 48px;
  }
}

.cp-features .content-container,
.cp-spec-table .content-container,
.cp-pricelist .content-container {
  padding-bottom: 100px;
}
@media all and (max-width: 540px) {
  .cp-features .content-container,
  .cp-spec-table .content-container,
  .cp-pricelist .content-container {
    padding-bottom: 60px;
  }
}

.cp-spec-table .content-container {
  padding-top: 60px;
}

.cp-award .content-container {
  padding-top: 32px;
  padding-bottom: 32px;
}

.cp-introduction .content-container {
  padding-top: 44px;
  padding-bottom: 44px;
}

.cp-hero .content-container {
  padding-top: 52px;
  padding-bottom: 52px;
}

.cp-extraInfo .content-container {
  padding-top: 60px;
  padding-bottom: 60px;
}
@media all and (max-width: 540px) {
  .cp-extraInfo .content-container {
    padding-top: 48px;
    padding-bottom: 48px;
  }
}

.cp-spec-list .content-container {
  padding-top: 80px;
  padding-bottom: 80px;
}
@media all and (max-width: 540px) {
  .cp-spec-list .content-container {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}

.cp-container .section-title {
  margin-bottom: 40px;
  font-size: 2.5rem;
  line-height: 3rem;
  font-weight: 500;
  text-align: center;
  color: #333333;
  white-space: pre-wrap;
}
@media all and (max-width: 1200px) {
  .cp-container .section-title {
    margin-bottom: 32px;
    font-size: 2rem;
    line-height: 2.75rem;
  }
}
@media all and (max-width: 768px) {
  .cp-container .section-title {
    font-size: 1.5rem;
    line-height: 2.25rem;
  }
}
.cp-container .item-title-s {
  font-size: 1.75rem;
  line-height: 2rem;
  font-weight: 500;
}
@media all and (max-width: 1200px) {
  .cp-container .item-title-s {
    font-size: 1.5rem;
    line-height: 2rem;
  }
}
@media all and (max-width: 768px) {
  .cp-container .item-title-s {
    font-size: 1.25rem;
    line-height: 1.5rem;
  }
}
.cp-container .txt-md {
  font-size: 1.125rem;
  line-height: 1.75rem;
}

.cp-container .btn-wrapper {
  width: -moz-fit-content;
  width: fit-content;
  height: -moz-fit-content;
  height: fit-content;
  margin: 0 auto;
  text-align: center;
  background: #D61A69;
  box-shadow: 0px 8px 30px rgba(214, 26, 105, 0.6980392157);
}
.cp-container .btn-pk {
  display: block;
  max-width: -moz-fit-content;
  max-width: fit-content;
  padding: 18px 40px;
  font-size: 1.125rem;
  line-height: 1.75rem;
  color: #fff;
}
@media all and (max-width: 768px) {
  .cp-container .btn-pk {
    padding: 16px 32px;
  }
}
@media all and (max-width: 540px) {
  .cp-container .btn-pk {
    padding: 16px 20px;
  }
}
.cp-container .img-wrapper > img,
.cp-container .icon-wrapper > img,
.cp-container .cp-logo {
  width: 100%;
  max-width: -moz-fit-content;
  max-width: fit-content;
}
.cp-container .list-dot {
  margin-bottom: 32px;
}
.cp-container .list-dot.list-dot-pk > li {
  font-size: 1.125rem;
  line-height: 1.75rem;
  padding-left: 28px;
}
.cp-container .list-dot.list-dot-pk > li::before {
  width: 12px;
  height: 12px;
  top: 10px;
  background: radial-gradient(circle at 50% 50%, #D61A69 0%, #D61A69 3px, transparent 3.1px, transparent 5px, #D61A69 5.1px, #D61A69 100%);
}
@media all and (max-width: 768px) {
  .cp-container .list-dot.list-dot-pk {
    width: -moz-max-content;
    width: max-content;
    margin: 0 auto;
  }
}
.cp-container .list-dot.num-list > li {
  font-size: 1.125rem;
  line-height: 1.75rem;
  padding-left: 32px;
  counter-increment: dot-num;
}
.cp-container .list-dot.num-list > li::before {
  content: counter(dot-num);
  width: 20px;
  height: 20px;
  line-height: 1;
  text-align: center;
  color: #fff;
  top: 6px;
  background-color: #D61A69;
}

.cp-hero {
  background: url("../images/page/img-cp-banner-bg.jpg") no-repeat center;
  background-size: cover;
}
.cp-hero .banner-content {
  max-width: 770px;
  padding: 0 80px;
  margin-left: auto;
  margin-right: 0;
}
.cp-hero .banner-title {
  margin-bottom: 32px;
  font-size: 3.75rem;
  line-height: 4.5rem;
}
.cp-hero .banner-title > .f-pk {
  margin-bottom: 20px;
  font-weight: 500;
  color: #D61A69;
}
.cp-hero .banner-title > .f-700 {
  font-weight: 700;
}
.cp-hero .banner-txt {
  margin-bottom: 32px;
}
.cp-hero .img-wrapper {
  display: inline-block;
  width: 100%;
}
.cp-hero .btn-wrapper {
  margin-left: 0;
}
@media all and (max-width: 1200px) {
  .cp-hero .banner-title {
    font-size: 3rem;
    line-height: 3.5rem;
  }
}
@media all and (max-width: 768px) {
  .cp-hero .banner-content {
    padding: 0 40px;
  }
  .cp-hero .banner-title {
    font-size: 2.5rem;
    line-height: 3.25rem;
  }
}
@media all and (max-width: 540px) {
  .cp-hero .banner-content {
    padding: 0;
  }
  .cp-hero .banner-title {
    font-size: 2rem;
    line-height: 2.5rem;
  }
}

.cp-award {
  font-size: 1.5rem;
  line-height: 2rem;
  color: #fff;
  text-align: center;
  background-color: #363636;
}
@media all and (max-width: 768px) {
  .cp-award {
    font-size: 1.25rem;
    line-height: 2rem;
  }
}

.cp-introduction {
  text-align: center;
  background: #fff;
}
.cp-introduction .cp-logo {
  margin-bottom: 44px;
}

.cp-features .section-title {
  margin-bottom: 60px;
}
.cp-features .cp-cards {
  margin-bottom: 60px;
  display: flex;
  justify-content: center;
  align-items: stretch;
  gap: 30px;
}
.cp-features .card-item {
  width: 100%;
  max-width: 350px;
  height: auto;
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
  gap: 44px;
  text-align: center;
}
.cp-features .text-wrapper {
  flex-grow: 1;
  padding: 0 30px;
}
.cp-features .card-title {
  margin-bottom: 32px;
}
.cp-features .card-txt {
  color: #666666;
}
.cp-features .icon-wrapper {
  width: 8rem;
  height: 8rem;
  padding: 16px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 62.5rem;
  background: linear-gradient(135deg, #DDD 0%, #F8F8F8 50%, #FAFAFA 100%), radial-gradient(100.54% 100.54% at 14.45% 14.45%, #DDD 0%, #F8F8F8 50%, #FAFAFA 100%), linear-gradient(135deg, #DDD 0%, #FAFAFA 100%);
  box-shadow: 20px 20px 20px 0px rgba(0, 0, 0, 0.2), 10px 10px 10px 0px rgba(0, 0, 0, 0.15), 4px 4px 8px 0px rgba(0, 0, 0, 0.25), 28px 28px 48px 0px #DDD inset;
}
@media all and (max-width: 1200px) {
  .cp-features .text-wrapper {
    padding: 0 30px;
  }
  .cp-features .icon-wrapper {
    width: 7rem;
    height: 7rem;
  }
}
@media all and (max-width: 768px) {
  .cp-features .section-title {
    margin-bottom: 40px;
  }
  .cp-features .cp-cards {
    flex-direction: column;
    align-items: center;
    gap: 44px;
  }
  .cp-features .icon-wrapper {
    width: 6rem;
    height: 6rem;
  }
}

.cp-advantages {
  background: #fff;
  counter-reset: deco-num;
}
.cp-advantages .adv-item {
  display: flex;
  gap: 30px;
  counter-increment: deco-num;
}
.cp-advantages .adv-item:nth-of-type(1) {
  flex-direction: row-reverse;
}
.cp-advantages .adv-item:nth-of-type(1) .text-wrapper {
  align-self: flex-end;
}
.cp-advantages .adv-item:nth-of-type(2) .text-wrapper {
  align-self: center;
}
.cp-advantages .adv-item:nth-of-type(2) .img-wrapper {
  padding-top: 60px;
  padding-bottom: 32px;
}
.cp-advantages .adv-item:nth-of-type(3) {
  flex-direction: column;
}
.cp-advantages .adv-item:nth-of-type(3) .text-wrapper,
.cp-advantages .adv-item:nth-of-type(3) .img-wrapper {
  width: 100%;
}
.cp-advantages .adv-item:nth-of-type(3) .img-wrapper {
  text-align: right;
}
.cp-advantages .adv-item:not(:last-of-type) {
  margin-bottom: 32px;
}
.cp-advantages .text-wrapper {
  width: 100%;
  padding-left: 96px;
}
.cp-advantages .title-wrapper {
  padding-top: 52px;
  padding-left: 96px;
  margin-left: -96px;
  margin-bottom: 16px;
  background-color: #F7F8FA;
  position: relative;
}
.cp-advantages .title-wrapper::before {
  content: counter(deco-num);
  display: block;
  height: 100%;
  font-size: 7.5rem;
  line-height: 5.2rem;
  font-weight: 900;
  font-family: Arial, "Noto Sans TC", "微軟正黑體", sans-serif;
  vertical-align: bottom;
  color: #D61A69;
  position: absolute;
  bottom: 0;
  left: 0;
}
.cp-advantages .img-wrapper {
  width: 100%;
  text-align: center;
}
@media all and (max-width: 768px) {
  .cp-advantages .adv-item:nth-of-type(2) .img-wrapper {
    padding: 16px 160px;
  }
  .cp-advantages .adv-item:not(:last-of-type) {
    flex-direction: column;
    align-items: center;
    gap: 44px;
  }
  .cp-advantages .text-wrapper {
    padding-left: 64px;
  }
  .cp-advantages .title-wrapper {
    padding-top: 36px;
    padding-left: 64px;
    margin-left: -64px;
  }
  .cp-advantages .title-wrapper::before {
    font-size: 5.5rem;
    line-height: 3.7rem;
  }
}
@media all and (max-width: 540px) {
  .cp-advantages .adv-item:nth-of-type(2) .img-wrapper {
    padding: 8px 80px;
  }
  .cp-advantages .adv-item:nth-of-type(2) .img-wrapper > img {
    max-width: 145px;
  }
  .cp-advantages .adv-txt {
    margin-left: -64px;
  }
}

.cp-spec-details .spec-item {
  counter-reset: dot-num;
}
.cp-spec-details .spec-item:nth-of-type(1) {
  padding-bottom: 60px;
  margin-bottom: 60px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.0784313725);
}
.cp-spec-details .spec-item:nth-of-type(1) .list-dot.num-list {
  width: -moz-fit-content;
  width: fit-content;
}
.cp-spec-details .spec-item .text-wrapper {
  display: flex;
  justify-content: center;
  gap: 30px;
}
.cp-spec-details .spec-item .spct-list,
.cp-spec-details .spec-item .spec-details {
  width: 100%;
}
.cp-spec-details .spec-item .list-dot.num-list {
  width: -moz-max-content;
  width: max-content;
  margin: 0 auto;
  display: grid;
  grid-template-rows: repeat(3, auto);
  grid-auto-flow: column;
  gap: 44px 210px;
  justify-items: self-start;
}
@media all and (max-width: 768px) {
  .cp-spec-details .spec-item .list-dot.num-list {
    width: 80%;
    gap: 30px 30px;
  }
}
@media all and (max-width: 540px) {
  .cp-spec-details .spec-item .list-dot.num-list {
    width: 80%;
    grid-auto-flow: row;
    gap: 16px 30px;
  }
}

.cp-spec-list {
  background-color: #F7F8FA;
}

.cp-spec-table {
  width: 100%;
  margin: 0 auto;
}
.cp-spec-table .tableArea {
  width: 100%;
  max-width: 952px;
  margin-bottom: 60px;
  box-shadow: none;
}
.cp-spec-table .tableArea th,
.cp-spec-table .tableArea td {
  border: none;
}
.cp-spec-table .tableArea th {
  padding: 16px 16px;
}
.cp-spec-table .tableArea th:not(.title-dark-bg) {
  min-width: 138px;
  color: #D61A69;
  position: relative;
}
.cp-spec-table .tableArea th:not(.title-dark-bg) > span {
  position: relative;
  z-index: 1;
}
.cp-spec-table .tableArea th:not(.title-dark-bg)::before {
  content: "";
  display: block;
  width: 100%;
  height: calc(100% - 16px);
  margin: auto;
  position: absolute;
  top: 16px;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: #F7F8FA;
  z-index: 0;
}
.cp-spec-table .tableArea td {
  padding: 20px 32px;
  text-align: left;
}
.cp-spec-table .tableArea .title-dark-bg {
  padding: 24px 16px;
  background-color: #363636;
  color: #fff;
  font-weight: 400;
}
.cp-spec-table .tableArea .pt-8x > th,
.cp-spec-table .tableArea .pt-8x > td {
  padding-top: 32px;
}
.cp-spec-table .tableArea .tag {
  font-size: 0.75rem;
  vertical-align: text-top;
  color: #D61A69;
}
@media all and (max-width: 1200px) {
  .cp-spec-table .tableArea table, .cp-spec-table .tableArea thead, .cp-spec-table .tableArea tbody, .cp-spec-table .tableArea th, .cp-spec-table .tableArea td, .cp-spec-table .tableArea tr {
    display: block;
    height: 100%;
  }
  .cp-spec-table .tableArea tr {
    display: flex;
    flex-wrap: wrap;
    gap: 0 30px;
  }
  .cp-spec-table .tableArea th {
    width: 100%;
  }
  .cp-spec-table .tableArea th:not(.title-dark-bg) {
    margin-top: 16px;
    background-color: #F7F8FA;
  }
  .cp-spec-table .tableArea th:not(.title-dark-bg)::before {
    display: none;
  }
  .cp-spec-table .tableArea td {
    width: calc(50% - 15px);
    height: auto;
    padding: 16px 16px;
    flex-grow: 1;
    border: none;
    position: relative;
  }
  .cp-spec-table .tableArea .pt-8x > th,
  .cp-spec-table .tableArea .pt-8x > td {
    padding-top: 16px;
  }
  .cp-spec-table .tableArea .note {
    counter-reset: num;
  }
  .cp-spec-table .tableArea .note > td {
    width: 100%;
  }
  .cp-spec-table .tableArea .note .num {
    line-height: 1.5rem;
  }
  .cp-spec-table .tableArea .note .num > li {
    counter-increment: num;
  }
  .cp-spec-table .tableArea .note .num > li::before {
    content: counter(num) ".";
  }
  .cp-spec-table .tableArea .newline {
    display: none;
  }
}
@media all and (max-width: 540px) {
  .cp-spec-table .tableArea tr {
    gap: 0 24px;
  }
  .cp-spec-table .tableArea td {
    padding: 10px 0;
  }
}

.cp-pricelist {
  background-color: #f5f5f5;
}
.cp-pricelist .downloadNow {
  margin: 32px 0;
}
.cp-pricelist .downloadNow-download {
  background-color: #fff;
}
.cp-pricelist .downloadNow-download .fileTitle {
  font-weight: 700;
  letter-spacing: 2px;
  line-height: 2.25rem;
}
.cp-pricelist .table-title {
  margin-bottom: 16px;
}
.cp-pricelist .table-title > p {
  padding-left: 20px;
  color: #666666;
  margin-bottom: 8px;
  position: relative;
}
.cp-pricelist .table-title > p::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 100%;
  position: absolute;
  top: 12px;
  left: 4px;
  background-color: #38aaea;
}
.cp-pricelist .compareTable {
  overflow: visible;
}
.cp-pricelist .tableArea {
  width: 100%;
  overflow-x: auto;
}
.cp-pricelist .tableArea thead {
  display: none;
}
.cp-pricelist .tableArea tr td:first-child {
  min-width: 120px;
  position: sticky;
  left: 0;
}
.cp-pricelist .tableArea tr td:first-child::before {
  content: "";
  display: block;
  width: 1px;
  height: 100%;
  position: absolute;
  top: 0;
  right: -1px;
  bottom: 0;
  background-color: #e5e5e5;
  z-index: 1;
}
.cp-pricelist .tableArea .sticky-title {
  position: sticky;
  left: 0;
}
.cp-pricelist .tableArea .sticky-title::before {
  content: "";
  display: block;
  width: 1px;
  height: 100%;
  position: absolute;
  top: 0;
  right: -1px;
  bottom: 0;
  background-color: #e5e5e5;
  z-index: 1;
}
.cp-pricelist .tableArea th {
  padding: 16px 30px;
  font-weight: 400;
  background-color: #F9F9F9;
}
.cp-pricelist .tableArea td {
  padding: 16px;
  text-align: left;
}
.cp-pricelist .tableArea .tableVisible {
  min-width: 640px;
  background-color: #fff;
}
.cp-pricelist .tableArea .bg-ylw > td {
  background-color: #FFFAEE;
}
.cp-pricelist .tableArea .bg-pk > td {
  background-color: #FFF5F5;
}
.cp-pricelist .tableArea .row-title {
  width: 139px;
  padding: 0 44px;
}
@media all and (max-width: 1200px) {
  .cp-pricelist .downloadNow-download {
    flex-wrap: nowrap;
  }
  .cp-pricelist .table-title > p::after {
    content: "｜" attr(data-model);
    display: inline;
  }
  .cp-pricelist .tableArea thead {
    display: table-header-group;
  }
  .cp-pricelist .tableArea .model-title {
    display: none;
  }
}
@media all and (max-width: 768px) {
  .cp-pricelist .downloadNow-download {
    flex-wrap: wrap;
  }
  .cp-pricelist .tableArea th {
    padding: 12px 16px;
  }
}
@media all and (max-width: 540px) {
  .cp-pricelist .tableArea th {
    padding: 6px 10px;
  }
}

.extraInfo.cp-extraInfo {
  padding: 0;
}
.extraInfo.cp-extraInfo .list-dot:last-of-type {
  margin-bottom: 0;
}

/*表格上的頁籤切換*/
.tabs-style-bar nav {
  background: none;
}

.tabs-style-bar nav ul {
  border: none;
}

.tabs-style-bar nav ul li.tab-current a {
  background: transparent;
}

.tabs-style-bar nav ul li a {
  margin: 0;
  background-color: transparent;
}

ul.tab_menu {
  display: flex;
  justify-content: space-between;
  margin-bottom: 20px;
}

ul.tab_menu li {
  padding: 10px 5px;
  border-bottom: 2px solid #cfcfcf;
  flex: 1 1 auto;
  text-align: center;
  font-size: 1.125rem;
  color: #838a8f;
  font-weight: bold;
  position: relative;
  transition: all 0.3s;
}

ul.tab_menu li a {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
}

ul.tab_menu li:hover, ul.tab_menu li.tab-current {
  color: #fc8200;
  border-bottom: 2px solid #fc8200;
  background-color: #fff8ec;
}

@media all and (max-width: 540px) {
  ul.tab_menu li {
    font-size: 1.075rem;
  }
}
/*---------------------------------------------------*/
.logo.cdn {
  display: block;
  width: 360px;
  height: 64px;
  background: url(../images/cdn/logo.png) center no-repeat;
  background-size: 100% auto;
}
@media all and (max-width: 1200px) {
  .logo.cdn {
    width: 210px;
    height: 36px;
    padding-left: 10px;
    background-position: 10px center;
    background-size: 200px 36px;
  }
}

.contentArea {
  min-height: 500px;
}

.contentArea_2side {
  display: flex;
  gap: 30px;
  justify-content: space-between;
}
.contentArea_2side > div {
  flex: 1 1 100%;
  width: 0;
}
.contentArea_2side > div.l_side {
  flex: 0 0 200px;
  padding-right: 20px;
  border-right: 1px solid #e6e6e6;
}
@media all and (max-width: 940px) {
  .contentArea_2side > div.l_side {
    flex: 0 0 150px;
  }
}
.contentArea_2side > div.l_side .l_side_menu_bx {
  margin-bottom: 40px;
}
.contentArea_2side > div.l_side .l_side_menu_bx:last-child {
  margin-bottom: 0;
}
@media all and (max-width: 768px) {
  .contentArea_2side > div.l_side .l_side_menu_bx {
    margin-bottom: 15px;
  }
}
.contentArea_2side > div.l_side .l_side_menu_T {
  color: #333333;
  font-size: 1.25rem;
  font-weight: bold;
  margin-bottom: 10px;
}
.contentArea_2side > div.l_side .l_side_menu_T::before {
  content: "";
  width: 14px;
  height: 14px;
  background: url(../images/cdn/btn-next-blue.svg) center center no-repeat;
  background-size: 14px auto;
  display: inline-block;
  margin-right: 5px;
}
@media all and (max-width: 768px) {
  .contentArea_2side > div.l_side .l_side_menu_T {
    font-size: 1.125rem;
    margin-bottom: 5px;
  }
}
.contentArea_2side > div.l_side ul.l_side_menu li {
  margin-bottom: 5px;
  font-size: 1rem;
  color: #666666;
}
.contentArea_2side > div.l_side ul.l_side_menu li a {
  color: #666666;
}
.contentArea_2side > div.l_side ul.l_side_menu li:hover a {
  color: #aa3823;
}
.contentArea_2side > div.l_side ul.l_side_menu li span.key {
  color: #e43737;
  font-size: 0.75rem;
}
@media all and (max-width: 768px) {
  .contentArea_2side > div.l_side ul.l_side_menu {
    display: flex;
    flex-wrap: wrap;
  }
  .contentArea_2side > div.l_side ul.l_side_menu li {
    flex: 0 0 auto;
  }
  .contentArea_2side > div.l_side ul.l_side_menu li::after {
    content: "";
    width: 1px;
    height: 16px;
    background-color: #666666;
    margin: 0 10px;
    vertical-align: middle;
    display: inline-block;
  }
  .contentArea_2side > div.l_side ul.l_side_menu li:last-child::after {
    display: none;
    margin: 0;
  }
}
@media all and (max-width: 768px) {
  .contentArea_2side {
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 15px;
  }
  .contentArea_2side > div.l_side {
    flex: 0 0 100%;
    border-right: none;
    background-color: #f1fbff;
    padding: 10px;
  }
}

article.phase {
  margin-bottom: 24px;
}
article.phase:last-child {
  margin-bottom: 0;
}

ul.service_list {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}
ul.service_list li {
  flex: 0 0 auto;
  width: calc((100% - 80px) / 5);
  text-align: center;
  position: relative;
}
ul.service_list li .pic {
  max-width: 150px;
  margin: 0 auto 10px;
}
ul.service_list li .pic img {
  width: 100%;
  height: auto;
}
ul.service_list li .theme {
  color: #333333;
  font-weight: bold;
  font-size: 1.25rem;
  margin-bottom: 10px;
}
ul.service_list li p {
  color: #666666;
}
ul.service_list li a.cover {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
ul.service_list li:hover .theme {
  color: #007ac5;
}
@media all and (max-width: 768px) {
  ul.service_list {
    flex-wrap: wrap;
  }
  ul.service_list li {
    width: calc((100% - 20px) / 2);
  }
  ul.service_list li .pic {
    max-width: 120px;
    margin: 0 auto 5px;
  }
  ul.service_list li .theme {
    font-size: 1.125rem;
  }
}

.imgbox.width-800 {
  width: 100%;
}
@media all and (max-width: 768px) {
  .imgbox.width-800 {
    max-width: 100%;
    box-shadow: 0px 0px 10px 0px #ccc;
    -webkit-box-shadow: 0px 0px 10px 0px #ccc;
    -moz-box-shadow: 0px 0px 10px 0px #ccc;
    -o-box-shadow: 0px 0px 10px 0px #ccc;
  }
}

.tableArea {
  max-width: 100%;
}

.compare_plan {
  display: flex;
  gap: 20px;
}
@media all and (max-width: 768px) {
  .compare_plan {
    flex-wrap: wrap;
  }
}
.compare_plan > div {
  flex: 1 1 33%;
  border-radius: 15px;
  background-color: #fff;
  overflow: hidden;
}
.compare_plan > div:nth-child(1) {
  border: 1px solid #fa7e00;
}
.compare_plan > div:nth-child(2) {
  border: 1px solid #4579c5;
}
.compare_plan > div:nth-child(3) {
  border: 1px solid #22babf;
}
@media all and (max-width: 768px) {
  .compare_plan > div {
    flex: 1 1 100%;
  }
}
.compare_plan .plan_box .top {
  color: #fff;
  text-align: center;
  font-size: 1.5rem;
  padding: 20px 10px;
}
@media all and (max-width: 768px) {
  .compare_plan .plan_box .top {
    padding: 10px;
    font-size: 1.25rem;
  }
}
.compare_plan .plan_box .top span {
  font-size: 18px;
}
.compare_plan .plan_box .top span::before {
  content: "/";
  font-size: 14px;
  margin: 0 5px;
  display: inline-block;
}
.compare_plan .plan_box .bot {
  padding: 10px 10px 15px 10px;
}
@media all and (max-width: 768px) {
  .compare_plan .plan_box .bot {
    padding: 10px 15px 15px 15px;
  }
}
.compare_plan .plan_box .bot .price {
  font-size: 1.875rem;
  font-weight: bold;
  text-align: center;
  line-height: 1.5;
  border-bottom: 1px solid #dbdbdb;
  margin-bottom: 10px;
}
.compare_plan .plan_box .bot .relate {
  font-size: 14px;
  line-height: 1.2;
  color: #8b8b8b;
  margin-bottom: 10px;
}
.compare_plan .plan_box .bot ul.feature_list {
  margin: 0 20px;
  font-size: 16px;
  color: #333;
}
.compare_plan .plan_box .bot ul.feature_list li {
  line-height: 1.2;
  margin-bottom: 5px;
  padding-left: 25px;
  position: relative;
}
.compare_plan .plan_box .bot ul.feature_list li::before {
  content: "";
  width: 20px;
  height: 20px;
  background: url(../images/cdn/check.svg) no-repeat;
  background-size: 20px auto;
  position: absolute;
  top: 0;
  left: 0;
}
.compare_plan .plan_box .notice {
  margin: 0 20px;
  padding: 5px 0;
}
.compare_plan > div:nth-child(1) .top {
  background-color: #fa7e00;
}
.compare_plan > div:nth-child(2) .top {
  background-color: #4579c5;
}
.compare_plan > div:nth-child(3) .top {
  background-color: #22babf;
}

.compare_plan_subtitle {
  font-size: 45px;
  font-weight: bold;
  color: #1c7de1;
  text-align: center;
  line-height: 1.2;
  margin-bottom: 10px;
}

.compare_plan_2 {
  display: flex;
  gap: 20px;
}
@media all and (max-width: 768px) {
  .compare_plan_2 {
    flex-wrap: wrap;
  }
}
.compare_plan_2 > div {
  flex: 1 1 33%;
  box-shadow: 2px 2px 5px 1px rgba(0, 0, 0, 0.2);
}
.compare_plan_2 > div:nth-child(1) {
  border: 2px solid #64d1dc;
  background-image: linear-gradient(to right, #276064 0%, #4ba6ae 100%);
}
.compare_plan_2 > div:nth-child(2) {
  border: 2px solid #ecbd4f;
  background-image: linear-gradient(to right, #ff9a01 0%, #f8d57e 100%);
}
.compare_plan_2 > div:nth-child(3) {
  border: 2px solid #e27c3b;
  background-image: linear-gradient(to right, #913c18 0%, #eaae82 100%);
}
@media all and (max-width: 768px) {
  .compare_plan_2 > div {
    flex: 1 1 100%;
  }
}
.compare_plan_2 .plan_box .top {
  height: 60px;
  line-height: 60px;
  text-align: center;
  font-size: 1.5rem;
  font-weight: bold;
  letter-spacing: 2px;
  padding: 0 10px;
  background-color: #fff;
  box-shadow: inset 2px 2px 5px rgba(0, 0, 0, 0.2);
  box-sizing: border-box;
}
@media all and (max-width: 768px) {
  .compare_plan_2 .plan_box .top {
    font-size: 1.25rem;
    height: 50px;
    line-height: 50px;
  }
}
.compare_plan_2 .plan_box .bot {
  font-size: 1rem;
  padding: 100px 10px 20px 10px;
  color: #fff;
  position: relative;
}
@media all and (max-width: 768px) {
  .compare_plan_2 .plan_box .bot {
    padding: 80px 15px 20px 15px;
  }
}
.compare_plan_2 .plan_box .bot .price {
  font-size: 22px;
  font-weight: bold;
  text-align: center;
  line-height: 1.5;
  margin-bottom: 20px;
}
.compare_plan_2 .plan_box .bot .price::before {
  content: "+";
  margin-right: 5px;
}
.compare_plan_2 .plan_box .bot .price span::before {
  content: "/";
  margin-left: 5px;
  font-size: 20px;
}
.compare_plan_2 .plan_box .bot .price.txt::before {
  display: none;
}
.compare_plan_2 .plan_box .bot .price.txt span::before {
  display: none;
}
.compare_plan_2 .plan_box .bot ul.feature_list {
  margin: 0 10px;
  font-size: 16px;
}
.compare_plan_2 .plan_box .bot ul.feature_list li {
  line-height: 1.2;
  margin-bottom: 10px;
  padding-left: 20px;
  position: relative;
}
.compare_plan_2 .plan_box .bot ul.feature_list li::before {
  content: "";
  width: 6px;
  height: 6px;
  background-color: #fff;
  border-radius: 99em;
  position: absolute;
  top: 6px;
  left: 0;
}
.compare_plan_2 .plan_box:nth-child(1) .top {
  color: #489da4;
  border-bottom: 2px solid #64d1dc;
}
.compare_plan_2 .plan_box:nth-child(1) .bot::before {
  content: "";
  width: 54px;
  height: 54px;
  background: url(../images/cdn/plan_video_bg.png) no-repeat;
  background-size: 54px auto;
  position: absolute;
  top: 25px;
  left: 50%;
  margin-left: -27px;
  filter: drop-shadow(2px 2px 2px rgba(0, 0, 0, 0.4));
}
@media all and (max-width: 768px) {
  .compare_plan_2 .plan_box:nth-child(1) .bot::before {
    top: 20px;
  }
}
.compare_plan_2 .plan_box:nth-child(2) .top {
  color: #c69935;
  border-bottom: 2px solid #ecbd4f;
}
.compare_plan_2 .plan_box:nth-child(2) .bot::before {
  content: "";
  width: 54px;
  height: 54px;
  background: url(../images/cdn/plan_live_bg.png) no-repeat;
  background-size: 54px auto;
  position: absolute;
  top: 25px;
  left: 50%;
  margin-left: -27px;
  filter: drop-shadow(2px 2px 2px rgba(0, 0, 0, 0.4));
}
@media all and (max-width: 768px) {
  .compare_plan_2 .plan_box:nth-child(2) .bot::before {
    top: 20px;
  }
}
.compare_plan_2 .plan_box:nth-child(3) .top {
  color: #bf6a27;
  border-bottom: 2px solid #e27c3b;
}
.compare_plan_2 .plan_box:nth-child(3) .bot::before {
  content: "";
  width: 54px;
  height: 54px;
  background: url(../images/cdn/plan_security_bg.png) no-repeat;
  background-size: 54px auto;
  position: absolute;
  top: 25px;
  left: 50%;
  margin-left: -27px;
  filter: drop-shadow(2px 2px 2px rgba(0, 0, 0, 0.4));
}
@media all and (max-width: 768px) {
  .compare_plan_2 .plan_box:nth-child(3) .bot::before {
    top: 20px;
  }
}

.certification_list {
  display: flex;
  justify-content: space-between;
  gap: 20px;
}
@media all and (max-width: 768px) {
  .certification_list {
    flex-wrap: wrap;
  }
}
.certification_list .item {
  flex: 1 1 25%;
  text-align: center;
  position: relative;
}
@media all and (max-width: 768px) {
  .certification_list .item {
    flex: 0 0 auto;
    width: calc((100% - 20px) / 2);
  }
}
.certification_list .item .pic {
  width: 200px;
  height: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 20px;
}
.certification_list .item .pic img {
  width: 100%;
  height: auto;
}
@media all and (max-width: 768px) {
  .certification_list .item .pic {
    width: 100%;
    height: 160px;
  }
}
.certification_list .item .tt {
  font-size: 1rem;
  line-height: 1.5;
}
.certification_list .item a.cover {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

ul.report_list li {
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0px 0px 10px 0px #ccc;
  -webkit-box-shadow: 0px 0px 10px 0px #ccc;
  -moz-box-shadow: 0px 0px 10px 0px #ccc;
  -o-box-shadow: 0px 0px 10px 0px #ccc;
  margin-bottom: 24px;
  display: flex;
  gap: 20px;
}
ul.report_list li > div {
  flex: 1 1 100%;
}
@media all and (max-width: 768px) {
  ul.report_list li {
    flex-wrap: wrap;
    gap: 0;
  }
}
ul.report_list li .reportPic {
  flex: 0 0 350px;
}
ul.report_list li .reportPic img {
  width: 100%;
  height: auto;
}
@media all and (max-width: 768px) {
  ul.report_list li .reportPic {
    flex: 1 1 100%;
  }
}
ul.report_list li .reportInfo {
  padding: 20px 20px 60px 0;
  position: relative;
}
ul.report_list li .reportInfo .reportTt {
  font-size: 1.125rem;
  color: #333333;
  margin-bottom: 10px;
  overflow: hidden;
  -webkit-line-clamp: 2;
  display: -webkit-box;
  -webkit-box-orient: vertical;
}
ul.report_list li .reportInfo p {
  color: #666666;
  overflow: hidden;
  -webkit-line-clamp: 3;
  display: -webkit-box;
  -webkit-box-orient: vertical;
}
ul.report_list li .reportInfo a.sub-link {
  position: absolute;
  left: 0;
  bottom: 20px;
}
@media all and (max-width: 768px) {
  ul.report_list li .reportInfo {
    padding: 20px 20px 60px 20px;
  }
  ul.report_list li .reportInfo a.sub-link {
    left: 20px;
  }
}
ul.report_list li:hover .reportTt {
  color: #aa3823;
}
ul.report_list li:last-child {
  margin-bottom: 0;
}

.serviceform {
  margin-bottom: 30px;
  border-bottom: 1px solid #e6e6e6;
}
.serviceform .list-dot li {
  padding: 10px 0 10px 20px;
  margin-bottom: 0;
  display: flex;
  gap: 20px;
}
.serviceform .list-dot li::before {
  top: 18px;
}
.serviceform .list-dot li:first-child {
  padding-top: 0;
}
.serviceform .list-dot li:first-child::before {
  top: 8px;
}
.serviceform .list-dot li.key_bg {
  background-color: #fff5f5;
  padding: 10px 20px 10px 30px;
}
.serviceform .list-dot li.key_bg .tit {
  color: #ec6941;
  font-weight: bold;
}
.serviceform .list-dot li.key_bg::before {
  background-color: #ec6941;
  left: 14px;
}
.serviceform .list-dot li > div {
  flex: 1 1 100%;
}
.serviceform .list-dot li > div.tit {
  flex: 0 0 130px;
}
.serviceform .list-dot li > div.tit.required::after {
  content: "*";
  color: #e43737;
  display: inline-block;
}
@media all and (max-width: 768px) {
  .serviceform .list-dot li {
    padding: 5px 0 5px 20px;
    flex-wrap: wrap;
    gap: 5px;
  }
  .serviceform .list-dot li > div.tit {
    flex: 1 1 100%;
  }
  .serviceform .list-dot li::before {
    top: 13px;
  }
  .serviceform .list-dot li.key_bg {
    padding: 5px 20px 5px 30px;
  }
}
.serviceform .list-dot li input[type=text] {
  width: 100%;
}
.serviceform .list-dot li .erro_tips {
  font-size: 14px;
  color: #e43737;
}
.serviceform .list-dot li .checkbox {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.serviceform .list-dot li .checkbox > div {
  flex: 0 0 auto;
  margin-right: 20px;
  position: relative;
}
.serviceform .list-dot li .checkbox > div.full {
  flex: 0 0 100%;
  margin-right: 0;
}
.serviceform .list-dot li .checkbox > div.full input[type=text] {
  width: auto;
  height: 30px;
  line-height: 30px;
  vertical-align: middle;
  display: inline;
}
@media all and (max-width: 768px) {
  .serviceform .list-dot li .checkbox > div.full input[type=text] {
    width: 100%;
  }
}
.serviceform .list-dot li .checkbox > div:last-child {
  margin-right: 0;
}
.serviceform .list-dot li .checkbox input[type=checkbox] {
  width: 20px;
  height: 20px;
  top: 6px;
  position: relative;
}
.serviceform .list-dot li .checkbox label {
  line-height: 30px;
}
.serviceform .list-dot li .checkbox label.w-fix {
  width: 100px;
  display: inline-block;
}
.serviceform .list-dot li .checkbox label::before {
  width: 20px;
  height: 20px;
  border-radius: 0;
  top: 6px;
}
.serviceform .list-dot li .checkbox label::after {
  left: 2px;
  top: 8px;
}
.serviceform .list-dot li textarea {
  border: solid 1px #ced4da;
  resize: none;
  width: 100%;
  height: 200px;
  padding: 10px;
}/*# sourceMappingURL=cdn-page.css.map */