@charset "UTF-8";
/* 
 * 全域變數
 */
:root {
  --color-blue: #003B9E;
  --color-blue-light: #005CEC;
  --color-blue-dark: #003ea1;
  --color-menu: #555;
  --color-menu-hover: var(--color-blue-light);
  --color-header-line: rgb(0 0 0 / 25%);
  --ff-def: "Poppins", "Noto Sans TC", "Microsoft JhengHei UI", "Microsoft JhengHei", sans-serif;
  --fs-def: 16px;
  --fs-h1: clamp(1.875rem, 0.9908536585rem + 2.4390243902vw, 3.125rem);
  --fs-h2: clamp(1.75rem, 1.2195121951rem + 1.4634146341vw, 2.5rem);
  --fs-h3: clamp(1.625rem, 1.3597560976rem + 0.7317073171vw, 2rem);
  --fs-h4: clamp(1.5rem, 1.2347560976rem + 0.7317073171vw, 1.875rem);
  --fs-h5: clamp(1.375rem, 1.1981707317rem + 0.487804878vw, 1.625rem);
  --fs-h6: clamp(1.25rem, 1.1615853659rem + 0.243902439vw, 1.375rem);
  --h-header: 100px;
  --w-label: 150px;
  --h-btn: 60px;
  --h-input: 60px;
  --h-breadcrumb: 60px;
  --w-container: 1410px;
  --gap: 25px;
  --gap-leave: calc(max(0px, (100vw - min(100vw, var(--w-container))) * 0.5) + var(--gap));
  --plyr-control-spacing: 10px;
  --plyr-color-main: #003B9E;
}
:root .header {
  --h-input: 50px;
  --w-container: 1750px;
}
:root .footer, :root .kanban__carousel-wrap {
  --w-container: 1290px;
}
:root .header {
  --gap-leave: calc(max(0px, (100vw - min(100vw, var(--w-container))) * 0.5) + var(--gap));
}

@media (min-width: 1121px) {
  :root .is-no-pt:not(.is-fixed-header) {
    --color-menu: #fff;
    --color-menu-hover: #b5d3ff;
    --color-header-line: rgb(255 255 255 / 30%);
  }
}
@media (max-width: 1120px) {
  :root {
    --h-header: 70px;
    --h-breadcrumb: 45px;
  }
}
@media (max-width: 767px) {
  :root {
    --h-header: 55px;
    --h-btn: 50px;
    --h-input: 50px;
  }
}
@media (max-width: 639px) {
  :root {
    --h-breadcrumb: 35px;
  }
}
/* 
 * Reset
 */
* {
  min-width: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: relative;
  outline-color: #86aff5;
}
*::before, *::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

body {
  margin: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  text-wrap: pretty;
}

p {
  text-wrap: pretty;
}

a {
  text-decoration: none;
}
a:hover {
  text-decoration: none;
}

ul,
ol {
  list-style: none;
  padding: 0;
  margin: 0;
}

img,
picture,
svg,
video,
canvas {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
  font-style: italic;
  background-repeat: no-repeat;
  background-size: cover;
}

hr {
  border: none;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  margin: max(3vh, 25px) auto;
}

img {
  -o-object-position: center;
     object-position: center;
  -o-object-fit: cover;
     object-fit: cover;
}

input,
button,
textarea,
select {
  font: inherit;
}

::-webkit-input-placeholder {
  color: #ccc;
  opacity: 1;
}

::-moz-placeholder {
  color: #ccc;
  opacity: 1;
}

:-ms-input-placeholder,
:-moz-placeholder {
  color: #ccc;
  opacity: 1;
}

input[type=date]::-webkit-inner-spin-button {
  display: none;
  -webkit-appearance: none;
}

body,
html {
  margin: 0;
  padding: 0;
  font-family: var(--ff-def);
  color: #555;
  line-height: 2;
  font-weight: 420;
  word-wrap: break-word;
  scrollbar-width: thin;
  scrollbar-color: #666 #eee;
  /* Chrome, Edge, and Safari */
  /*網頁捲軸【寬度】*/
  /*網頁捲軸【背景】顏色*/
  /*網頁捲軸【把手】顏色*/
  /*網頁捲軸【滑過時】把手的顏色*/
}
body *,
html * {
  scrollbar-width: thin;
}
body ::-webkit-scrollbar,
html ::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
body ::-webkit-scrollbar-track,
html ::-webkit-scrollbar-track {
  background: #666;
  border-radius: 5px;
}
body ::-webkit-scrollbar-thumb,
html ::-webkit-scrollbar-thumb {
  background-color: #eee;
  border-radius: 5px;
}
body ::-webkit-scrollbar-thumb:hover,
html ::-webkit-scrollbar-thumb:hover {
  background: #666;
}
body *,
html * {
  scrollbar-color: #666 #eee;
}
body *::-webkit-scrollbar,
html *::-webkit-scrollbar {
  width: 5px;
}
body *::-webkit-scrollbar-track,
html *::-webkit-scrollbar-track {
  -webkit-box-shadow: none;
          box-shadow: none;
  margin: 0;
  background: #666;
}
body *::-webkit-scrollbar-thumb,
html *::-webkit-scrollbar-thumb {
  -webkit-box-shadow: none;
          box-shadow: none;
  background: #eee;
}
body *:hover::-webkit-scrollbar-thumb,
html *:hover::-webkit-scrollbar-thumb {
  background: #eee;
}

html {
  font-size: var(--fs-def);
}

body {
  font-size: 1rem;
  text-wrap: pretty;
  padding-top: var(--h-header);
  padding-bottom: 0;
  background-color: #fff;
}

/**!
 * * 保留BS v3隱藏/顯示的樣式 https://getbootstrap.com/docs/3.4/customize/
 * * Bootstrap v3.4.1 (https://getbootstrap.com/)
 * * Copyright 2011-2019 Twitter, Inc.
 * * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */
/**! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
img {
  vertical-align: middle;
}

.img-responsive {
  display: block;
  max-width: 100%;
  height: auto;
}

[role=button] {
  cursor: pointer;
}

.center-block {
  display: block;
  margin-right: auto;
  margin-left: auto;
}

.pull-right {
  float: right !important;
}

.pull-left {
  float: left !important;
}

.hide {
  display: none !important;
}

.show {
  display: block !important;
}

.invisible {
  visibility: hidden;
}

.text-hide {
  font: 0/0 a;
  color: transparent;
  text-shadow: none;
  background-color: transparent;
  border: 0;
}

.hidden {
  display: none !important;
}

.affix {
  position: fixed;
}

@-ms-viewport {
  width: device-width;
}
.visible-xs,
.visible-sm,
.visible-md,
.visible-lg,
.visible-xs-block,
.visible-xs-inline,
.visible-xs-inline-block,
.visible-sm-block,
.visible-sm-inline,
.visible-sm-inline-block,
.visible-md-block,
.visible-md-inline,
.visible-md-inline-block,
.visible-lg-block,
.visible-lg-inline,
.visible-lg-inline-block,
.visible-print,
.visible-print-block,
.visible-print-inline,
.visible-print-inline-block {
  display: none !important;
}

@media (max-width: 767px) {
  .visible-xs {
    display: block !important;
  }
  table.visible-xs {
    display: table !important;
  }
  tr.visible-xs {
    display: table-row !important;
  }
  th.visible-xs,
  td.visible-xs {
    display: table-cell !important;
  }
}
@media (max-width: 767px) {
  .visible-xs-block {
    display: block !important;
  }
}
@media (max-width: 767px) {
  .visible-xs-inline {
    display: inline !important;
  }
}
@media (max-width: 767px) {
  .visible-xs-inline-block {
    display: inline-block !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm {
    display: block !important;
  }
  table.visible-sm {
    display: table !important;
  }
  tr.visible-sm {
    display: table-row !important;
  }
  th.visible-sm,
  td.visible-sm {
    display: table-cell !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-block {
    display: block !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-inline {
    display: inline !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-inline-block {
    display: inline-block !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md {
    display: block !important;
  }
  table.visible-md {
    display: table !important;
  }
  tr.visible-md {
    display: table-row !important;
  }
  th.visible-md,
  td.visible-md {
    display: table-cell !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-block {
    display: block !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-inline {
    display: inline !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-inline-block {
    display: inline-block !important;
  }
}
@media (min-width: 1200px) {
  .visible-lg {
    display: block !important;
  }
  table.visible-lg {
    display: table !important;
  }
  tr.visible-lg {
    display: table-row !important;
  }
  th.visible-lg,
  td.visible-lg {
    display: table-cell !important;
  }
}
@media (min-width: 1200px) {
  .visible-lg-block {
    display: block !important;
  }
}
@media (min-width: 1200px) {
  .visible-lg-inline {
    display: inline !important;
  }
}
@media (min-width: 1200px) {
  .visible-lg-inline-block {
    display: inline-block !important;
  }
}
@media (max-width: 767px) {
  .hidden-xs {
    display: none !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .hidden-sm {
    display: none !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .hidden-md {
    display: none !important;
  }
}
@media (min-width: 1200px) {
  .hidden-lg {
    display: none !important;
  }
}
@media print {
  .visible-print {
    display: block !important;
  }
  table.visible-print {
    display: table !important;
  }
  tr.visible-print {
    display: table-row !important;
  }
  th.visible-print,
  td.visible-print {
    display: table-cell !important;
  }
}
@media print {
  .visible-print-block {
    display: block !important;
  }
}
@media print {
  .visible-print-inline {
    display: inline !important;
  }
}
@media print {
  .visible-print-inline-block {
    display: inline-block !important;
  }
}
@media print {
  .hidden-print {
    display: none !important;
  }
}
.clearfix:before,
.clearfix:after {
  content: " ";
  display: table;
  clear: both;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

.disabled,
.disabled:hover {
  cursor: not-allowed;
}

/* 
 * Animation
 */
@-webkit-keyframes ani_kanban_in {
  0% {
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@keyframes ani_kanban_in {
  0% {
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@-webkit-keyframes ani_kanbanStatic_in {
  0% {
    -webkit-transform: translate(-50%, 25%);
            transform: translate(-50%, 25%);
    opacity: 0;
  }
  100% {
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
    opacity: 1;
  }
}
@keyframes ani_kanbanStatic_in {
  0% {
    -webkit-transform: translate(-50%, 25%);
            transform: translate(-50%, 25%);
    opacity: 0;
  }
  100% {
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
    opacity: 1;
  }
}
@-webkit-keyframes ani_fade_in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes ani_fade_in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@-webkit-keyframes ani_fade_in_up {
  from {
    opacity: 0;
    -webkit-transform: translateY(50px);
            transform: translateY(50px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes ani_fade_in_up {
  from {
    opacity: 0;
    -webkit-transform: translateY(50px);
            transform: translateY(50px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes ani_fade_in_right {
  0% {
    -webkit-transform: translate(-50px, 0);
            transform: translate(-50px, 0);
    opacity: 0;
  }
  100% {
    -webkit-transform: translate(0);
            transform: translate(0);
    opacity: 1;
  }
}
@keyframes ani_fade_in_right {
  0% {
    -webkit-transform: translate(-50px, 0);
            transform: translate(-50px, 0);
    opacity: 0;
  }
  100% {
    -webkit-transform: translate(0);
            transform: translate(0);
    opacity: 1;
  }
}
@-webkit-keyframes ani_fade_in_left {
  0% {
    -webkit-transform: translate(50px, 0);
            transform: translate(50px, 0);
    opacity: 0;
  }
  100% {
    -webkit-transform: translate(0);
            transform: translate(0);
    opacity: 1;
  }
}
@keyframes ani_fade_in_left {
  0% {
    -webkit-transform: translate(50px, 0);
            transform: translate(50px, 0);
    opacity: 0;
  }
  100% {
    -webkit-transform: translate(0);
            transform: translate(0);
    opacity: 1;
  }
}
@-webkit-keyframes ani_fade_out {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes ani_fade_out {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@-webkit-keyframes spin {
  from {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  to {
    -webkit-transform: rotate(359deg);
            transform: rotate(359deg);
  }
}
@keyframes spin {
  from {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  to {
    -webkit-transform: rotate(359deg);
            transform: rotate(359deg);
  }
}
/* 
 * PLUGIN: MagnificPopup Default Popup
 */
.mfp-content {
  position: relative;
}

.mfp-bg {
  background: rgba(0, 0, 0, 0.6);
}

.mfp-wrap {
  cursor: -webkit-zoom-out;
  cursor: zoom-out;
}
.mfp-wrap .mfp-content {
  position: relative;
  opacity: 0;
  -webkit-transform: scale(0.98) translateY(10px);
      -ms-transform: scale(0.98) translateY(10px);
          transform: scale(0.98) translateY(10px);
  -webkit-transition: opacity 0.3s, -webkit-transform 0.3s ease-in-out;
  transition: opacity 0.3s, -webkit-transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, opacity 0.3s;
  transition: transform 0.3s ease-in-out, opacity 0.3s, -webkit-transform 0.3s ease-in-out;
}
.mfp-wrap.mfp-ready .mfp-content {
  opacity: 1;
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
}
.mfp-wrap.mfp-removing .mfp-content {
  opacity: 0;
  -webkit-transform: scale(0.96);
      -ms-transform: scale(0.96);
          transform: scale(0.96);
}

.mfp-wrap .mfp-close,
.mfp-wrap button.mfp-close {
  cursor: pointer !important;
  z-index: 18;
  right: 0px;
  top: 0px;
  width: var(--h-btn-aw);
  height: var(--h-btn-aw);
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='0.8' stroke='%23333' class='size-6'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M6 18 18 6M6 6l12 12' /%3E%3C/svg%3E") no-repeat center center/76% auto;
  display: block;
  opacity: 1;
  margin: 0;
  position: absolute;
  border-radius: 0;
  border: none;
  font-size: 0 !important;
  white-space: nowrap;
  text-align: center;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
.pc .mfp-wrap .mfp-close:hover,
.pc .mfp-wrap button.mfp-close:hover {
  -webkit-transform: scale(0.92);
      -ms-transform: scale(0.92);
          transform: scale(0.92);
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.2' stroke='%23333' class='size-6'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M6 18 18 6M6 6l12 12' /%3E%3C/svg%3E") no-repeat center center/76% auto;
}

.mfp-wrap > .mfp-close,
.mfp-wrap > button.mfp-close {
  position: fixed;
  right: 20px;
  top: 20px;
  -webkit-transform: none;
      -ms-transform: none;
          transform: none;
}

.mfp-figure {
  line-height: 0;
}
.mfp-figure img {
  max-width: 100%;
  height: none !important;
  margin: 0;
  padding: 0;
  line-height: 0;
}

.mfp-block-media {
  cursor: -webkit-zoom-out;
  cursor: zoom-out;
}
.mfp-block-media .mfp-iframe-scaler {
  overflow: visible;
}
.mfp-block-media .mfp-content {
  position: relative;
  width: 100% !important;
  max-width: min(90vw, 160vh);
  margin: 0 auto;
  padding: 0;
}
.mfp-block-media .mfp-content::before {
  content: "";
  display: block;
  padding-bottom: 56.25%;
}
.mfp-block-media .mfp-content > *,
.mfp-block-media .mfp-content iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
  line-height: 0;
}

.mfp-block-media-vertical video,
.mfp-block-media-vertical embed,
.mfp-block-media-vertical iframe {
  aspect-ratio: unset;
}
.mfp-block-media-vertical .mfp-content {
  max-width: calc(56.25vh - 80px);
}
.mfp-block-media-vertical .mfp-content::before {
  padding-bottom: 177.77%;
}

.mfp-popup .mfp-content {
  width: 100%;
  max-width: 960px;
  background: #f5f5f5;
  border-radius: 5px;
  margin: var(--gap) auto;
  padding: 0;
}
.mfp-popup .mfp-close,
.mfp-popup button.mfp-close {
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
}
.mfp-popup .popup-head {
  padding: 10px var(--gap);
  color: #222;
  border-radius: 10px 10px 0 0;
  min-height: var(--h-btn-aw);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  font-size: var(--fs-h6);
  font-weight: 500;
}
.mfp-popup .popup-head .c-form__box {
  gap: 0 3px;
  width: 100%;
  margin-bottom: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.mfp-popup .popup-head .c-form__box .c-form__input {
  width: calc(100% - 80px);
}
.mfp-popup .popup-head .c-form__box .c-button {
  min-width: auto;
  width: 80px;
}
.mfp-popup .popup-content {
  padding: var(--gap);
  padding-top: 5px;
  max-height: calc(90vh - var(--h-btn-aw));
  overflow-y: auto;
  overflow-x: hidden;
}
.mfp-popup .c-form__textarea {
  width: 100%;
}
.mfp-popup .popup-foot {
  --h-btn-lg: var(--h-btn);
  background-color: #333;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 10px var(--gap);
  margin-left: calc(var(--gap) * -1);
  margin-right: calc(var(--gap) * -1);
  border-radius: 0 0 10px 10px;
  text-align: center;
}
@media (max-width: 639px) {
  .mfp-popup .popup-foot .c-button {
    min-width: auto;
  }
}
@media (max-width: 579px) {
  .mfp-popup .popup-foot {
    margin-left: auto;
    margin-right: auto;
  }
}

.popup-sec-title {
  display: block;
  margin-bottom: 0.5em;
  font-weight: 500;
}

.mfp-sm .mfp-content {
  max-width: 650px !important;
}

.mfp-lg .mfp-content {
  max-width: 1200px !important;
}

.mfp-popup-flyer {
  text-align: center;
}
.mfp-popup-flyer .mfp-close,
.mfp-popup-flyer button.mfp-close {
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1' stroke='%23fff' class='size-6'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M6 18 18 6M6 6l12 12' /%3E%3C/svg%3E") no-repeat center center/76% auto;
  -webkit-filter: drop-shadow(0 5px 10px rgba(0, 0, 0, 0.35));
          filter: drop-shadow(0 5px 10px rgba(0, 0, 0, 0.35));
}
.pc .mfp-popup-flyer .mfp-close:hover,
.pc .mfp-popup-flyer button.mfp-close:hover {
  -webkit-transform: scale(0.92);
      -ms-transform: scale(0.92);
          transform: scale(0.92);
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.4' stroke='%23fff' class='size-6'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M6 18 18 6M6 6l12 12' /%3E%3C/svg%3E") no-repeat center center/76% auto;
}

.mfp-popup-flyer .mfp-content {
  width: auto;
}
.mfp-popup-flyer a {
  display: inline-block;
}
.mfp-popup-flyer img {
  max-width: 92vw;
  max-height: 92vh;
}
.mfp-popup-flyer a {
  display: block;
}

/*
 * PLUGIN: Swiper Default
 */
.swiper-slide {
  height: auto;
}

.swiper-initialized {
  overflow: hidden;
  position: relative;
}

.swiper-lazy-preloader {
  width: 80;
  height: 80;
  margin-left: -40px;
  margin-top: -40px;
  background: url(../images/loading.gif) no-repeat center center/60px auto;
  border: none;
}

.swiper-pagination {
  z-index: 5;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 0;
  gap: 0 3px;
  line-height: 0;
}

.swiper-pagination-bullet {
  width: max(20px, 3.6vw);
  border-radius: 0;
  background-color: transparent;
  border: none;
  opacity: 1;
  height: 25px;
  -webkit-transition: all 0.15s;
  transition: all 0.15s;
}
.swiper-pagination-bullet::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  margin-top: -2px;
  height: 4px;
  background-color: rgba(255, 255, 255, 0.35);
}
.pc .swiper-pagination-bullet:hover {
  background-color: transparent;
}
.pc .swiper-pagination-bullet:hover::before {
  background-color: rgba(255, 255, 255, 0.55);
}

.swiper-pagination-bullet-active {
  background-color: transparent;
}
.swiper-pagination-bullet-active::before {
  background-color: rgb(255, 255, 255);
}
.pc .swiper-pagination-bullet-active:hover {
  background-color: transparent;
}
.pc .swiper-pagination-bullet-active:hover::before {
  background-color: rgb(255, 255, 255);
}

.swiper-pagination-fraction {
  color: #fff;
  font-size: 1rem;
}

.swiper-button-prev,
.swiper-button-next {
  z-index: 20;
  border: none;
  width: 25px;
  height: 100%;
  min-height: 25px;
  -webkit-transform: none;
      -ms-transform: none;
          transform: none;
  display: block;
  top: 0;
  font-size: 0;
  margin: 0;
  -webkit-transition: opacity 0.35s;
  transition: opacity 0.35s;
}
.swiper-button-prev::before,
.swiper-button-next::before {
  display: none;
}
.swiper-button-prev::after,
.swiper-button-next::after {
  content: "";
  z-index: 5;
  font-size: 0;
  display: block;
  position: absolute;
  top: 50%;
  width: 8px;
  height: 8px;
  border-style: solid;
  border-color: #fff;
  opacity: 0.8;
  -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
          transform: rotate(45deg);
  margin-top: -4px;
}
.swiper-button-prev:active,
.swiper-button-next:active {
  background: none !important;
}
.swiper-button-prev:active::before,
.swiper-button-next:active::before {
  display: none !important;
}
.swiper-button-prev:active::after,
.swiper-button-next:active::after {
  opacity: 1;
}
.pc .swiper-button-prev:hover,
.pc .swiper-button-next:hover {
  background: none !important;
}
.pc .swiper-button-prev:hover::before,
.pc .swiper-button-next:hover::before {
  display: none !important;
}
.pc .swiper-button-prev:hover::after,
.pc .swiper-button-next:hover::after {
  opacity: 1;
}

.swiper-button-prev.round,
.swiper-button-next.round {
  width: max(40px, 3.125vw);
  height: auto;
  aspect-ratio: 1;
  max-width: 60px;
  border: 1px solid var(--color-blue);
  border-radius: 50px;
}
.swiper-button-prev.round::after,
.swiper-button-next.round::after {
  width: calc(max(40px, 3.125vw) * 0.5);
  height: calc(max(40px, 3.125vw) * 0.5);
  border: none;
  margin-top: auto;
}
.swiper-button-prev.round.swiper-button-prev::after,
.swiper-button-next.round.swiper-button-prev::after {
  margin-left: auto;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23003B9E' stroke-linecap='round' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='1.2' d='m10 16l-4-4m0 0l4-4m-4 4h12'/%3E%3C/svg%3E") no-repeat center center/contain;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.swiper-button-prev.round.swiper-button-next::after,
.swiper-button-next.round.swiper-button-next::after {
  margin-right: auto;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23003B9E' stroke-linecap='round' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='1.2' d='m14 16l4-4m0 0l-4-4m4 4H6'/%3E%3C/svg%3E") no-repeat center center/contain;
  -webkit-transform: translate(50%, -50%);
      -ms-transform: translate(50%, -50%);
          transform: translate(50%, -50%);
}
.pc .swiper-button-prev.round:hover,
.pc .swiper-button-next.round:hover {
  border-color: var(--color-blue-light) !important;
  background-color: var(--color-blue-light) !important;
}
.pc .swiper-button-prev.round:hover::after,
.pc .swiper-button-next.round:hover::after {
  -webkit-filter: brightness(0) invert(1);
          filter: brightness(0) invert(1);
}

.swiper-button-prev {
  left: 0;
}
.swiper-button-prev::after {
  left: 50%;
  margin-left: -3px;
  border-width: 0 0 2px 2px;
}

.swiper-button-next {
  right: 0;
}
.swiper-button-next::after {
  right: 50%;
  margin-right: -3px;
  border-width: 2px 2px 0 0;
}

.carousel__control {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  max-width: 550px;
  gap: 0 15px;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.carousel__control .swiper-button-prev, .carousel__control .swiper-button-next {
  position: relative;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  top: auto;
  border-radius: 50%;
}
.carousel__control .swiper-button-prev {
  left: auto;
}
.carousel__control .swiper-button-next {
  right: auto;
}
.carousel__control .swiper-pagination {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: auto;
  top: auto !important;
  bottom: auto !important;
  position: relative;
  max-width: 250px;
}
.carousel__control .swiper-pagination .swiper-pagination-bullet {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 25%;
          flex: 1 1 25%;
}

.is-less .swiper-initialized {
  overflow: visible !important;
}
.is-less .swiper-wrapper {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.is-less .swiper-wrapper .swiper-slide:last-child {
  margin-right: auto !important;
}
.is-less .swiper-pagination,
.is-less .swiper-button-prev,
.is-less .swiper-button-next {
  display: none !important;
}

/* 
 * Header
 */
@media (min-width: 1121px) {
  .is-no-pt {
    padding-top: 0;
  }
  .is-no-pt .header {
    background-color: transparent;
  }
}

.header {
  z-index: 500;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  max-width: 100vw;
  border-bottom: 1px solid var(--color-header-line);
  background-color: #fff;
  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0);
          box-shadow: 0 5px 10px rgba(0, 0, 0, 0);
  -webkit-transition: background-color 0.35s, -webkit-box-shadow 0.35s;
  transition: background-color 0.35s, -webkit-box-shadow 0.35s;
  transition: background-color 0.35s, box-shadow 0.35s;
  transition: background-color 0.35s, box-shadow 0.35s, -webkit-box-shadow 0.35s;
}
.is-fixed-header .header {
  background-color: #fff;
  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.08);
          box-shadow: 0 5px 10px rgba(0, 0, 0, 0.08);
}

.header .logo {
  margin: 0;
  padding: 0;
  width: 900px;
}
.header .logo > * {
  display: block;
  position: relative;
  width: 100%;
  padding-bottom: 26.6666666667%;
  font-size: 0;
  background: url("../images/logo.png") no-repeat 0 0/contain;
  z-index: 0;
}
.header .logo {
  max-width: max(160px, 11.5vw);
}
.header > .container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  height: var(--h-header);
  gap: 0;
}
.header > .container::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  width: 1px;
  background-color: var(--color-header-line);
  left: calc(max(160px, 11.5vw) + var(--gap-leave) + var(--gap));
}
@media (max-width: 1120px) {
  .header {
    background-color: #fff;
  }
}
@media (max-width: 499px) {
  .header > .container::before {
    display: none;
  }
  .header .logo {
    max-width: 150px;
    margin-left: -15px;
  }
}
@media (max-width: 379px) {
  .header .logo {
    max-width: 120px;
  }
}

@media (min-width: 1121px) {
  .is-no-pt:not(.is-fixed-header) .header .logo > div {
    -webkit-filter: brightness(0) invert(1);
            filter: brightness(0) invert(1);
  }
}
.nav-switch {
  display: none;
}
@media (max-width: 1120px) {
  .nav-switch {
    display: block !important;
    cursor: pointer;
    background: var(--color-blue);
    position: absolute;
    top: 0;
    right: 0;
    width: 55px;
    height: var(--h-header);
  }
  .nav-switch:hover {
    background-color: var(--color-blue-light);
  }
  .nav-switch div {
    pointer-events: none;
    display: inline-block;
    height: 2px;
    width: 16px;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-left: -8px;
    -webkit-transform-origin: center center;
        -ms-transform-origin: center center;
            transform-origin: center center;
    -webkit-transition: all 0.25s ease;
    transition: all 0.25s ease;
    background-color: #fff;
  }
  .nav-switch div:nth-child(1) {
    margin-top: -7px;
  }
  .nav-switch div:nth-child(2) {
    margin-top: -1px;
  }
  .nav-switch div:nth-child(3) {
    margin-top: 5px;
  }
  .is-open-nav .nav-switch div:nth-child(1) {
    margin-top: 0;
    -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  .is-open-nav .nav-switch div:nth-child(2) {
    margin-top: 0;
    -webkit-transform: scaleX(0);
        -ms-transform: scaleX(0);
            transform: scaleX(0);
  }
  .is-open-nav .nav-switch div:nth-child(3) {
    margin-top: 0;
    -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
}

@media (min-width: 1121px) {
  .nav {
    display: block !important;
    opacity: 1 !important;
    right: auto !important;
    padding-left: calc(var(--gap) + var(--gap-leave));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
  }
  .nav__overlay {
    display: none !important;
  }
  .nav .menu {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 0;
  }
  .nav .menu > li {
    display: inline-block;
  }
  .nav .menu > li ul {
    display: none !important;
  }
  .nav .menu > li > a {
    display: block;
    color: var(--color-menu);
    font-size: 1rem;
    padding: 0 10px;
    line-height: var(--h-header);
    font-weight: 500;
    white-space: nowrap;
  }
  .nav .menu > li > ul {
    background-color: #fff;
    -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
    position: absolute;
    left: 50%;
    top: auto;
    width: 200px;
    -webkit-transform: translate(-50%, 0);
        -ms-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
  }
  .nav .menu > li > ul > li {
    display: block;
    border-top: 1px solid rgba(0, 0, 0, 0.2);
  }
  .nav .menu > li > ul > li:first-child {
    border-top: none;
  }
  .nav .menu > li > ul > li > a {
    font-weight: 450;
    display: block;
    text-align: center;
    padding: 0.8em 1em;
    color: #555;
    line-height: 1.4;
  }
  .pc .nav .menu > li:hover > a {
    color: var(--color-menu-hover);
  }
  .pc .nav .menu > li:hover > ul {
    display: block !important;
  }
  .pc .nav .menu > li:hover > .submenu {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
  .pc .nav .menu > li > ul > li:hover > a {
    color: #fff;
    background-color: var(--color-blue);
  }
  .nav .submenu {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 0 1em;
    background-color: #fff;
    -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
    position: absolute;
    left: 0;
    top: auto;
    width: auto;
    display: none !important;
  }
  .nav .submenu.is-open {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
  .nav .submenu-cate {
    border-bottom: 1px solid #999;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0.8em 1em;
    line-height: 1.4;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    font-size: 1.0625rem;
    color: #000;
    font-weight: 500;
  }
  .nav .submenu-cate .more {
    font-size: 0.9375rem;
    white-space: nowrap;
    color: var(--color-blue);
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
  }
  .pc .nav .submenu-cate .more:hover {
    color: var(--color-blue-hover);
  }
  .nav .submenu .item {
    width: auto;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
  }
  .nav .submenu .item > ul {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    height: 18.5em;
  }
  .nav .submenu .item > ul > li {
    min-width: max(200px, 15vw);
    display: block;
    border-top: 1px solid rgba(0, 0, 0, 0.2);
  }
  .nav .submenu .item > ul > li:nth-child(6n+1) {
    border-top: none;
  }
  .nav .submenu .item > ul > li:nth-child(12) ~ li {
    display: none;
  }
  .nav .submenu .item > ul > li > a {
    max-width: calc(max(200px, 15vw) - 1em);
    font-weight: 450;
    display: block;
    text-align: left;
    padding: 0.8em 1em;
    color: #555;
    line-height: 1.4;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
  }
  .pc .nav .submenu .item > ul > li:hover > a {
    color: var(--color-blue);
  }
}
@media (min-width: 1200px) {
  .nav .menu {
    gap: 0 5px;
  }
  .nav .menu > li > a {
    font-size: 1.0625rem;
    padding: 0 min(1vw, var(--gap));
  }
}
@media (max-width: 1120px) {
  .nav {
    display: none;
    position: fixed;
    top: var(--h-header);
    left: 0;
    right: 0;
    -webkit-transform: translate(0, 0) !important;
        -ms-transform: translate(0, 0) !important;
            transform: translate(0, 0) !important;
    max-height: calc(100dvh - var(--h-header));
    overflow-y: auto;
  }
  .nav__overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.45);
    z-index: 499;
  }
  .is-open-nav .nav__overlay {
    display: block;
    -webkit-animation: ani_fade_in 0.35s ease forwards;
            animation: ani_fade_in 0.35s ease forwards;
  }
  .nav .menu {
    background-color: var(--color-blue);
    width: 100%;
    display: block;
  }
  .nav .menu .sub-switch {
    position: absolute;
    cursor: pointer;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
  }
  .nav .menu .sub-switch ~ ul {
    z-index: 5;
  }
  .nav .menu .sub-switch + a {
    padding-right: 35px !important;
  }
  .nav .menu .sub-switch::after {
    content: "";
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='2' stroke='rgba(255,255,255,0.5'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M12 4.5v15m7.5-7.5h-15' /%3E%3C/svg%3E") no-repeat 0 0/contain;
    display: block;
    position: absolute;
    top: 1.3em;
    right: 0.9em;
    width: 1.25em;
    height: 1.25em;
    z-index: 10;
  }
  .nav .menu .is-open > .sub-switch::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='2' stroke='rgba(255,255,255,0.5'%3E  %3Cpath stroke-linecap='round' stroke-linejoin='round' d='m19.5 8.25-7.5 7.5-7.5-7.5' /%3E%3C/svg%3E");
  }
  .nav .menu > li {
    display: block;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
  }
  .nav .menu > li > a {
    display: block;
    color: #fff;
    padding: 0.8em 1rem;
  }
  .nav .menu > li > ul {
    z-index: 5;
    display: none;
  }
  .nav .menu > li > ul > li {
    display: block;
    padding: 0;
    background-color: #00296d;
  }
  .nav .menu > li > ul > li a {
    display: block;
    padding: 10px 5px 10px 35px;
    color: #fff;
    border-top: 1px solid rgba(255, 255, 255, 0.15);
  }
  .nav .menu > li > ul > li a::before {
    content: "";
    display: block;
    width: 5px;
    height: 5px;
    border-radius: 50px;
    background-color: rgba(255, 255, 255, 0.15);
    position: absolute;
    top: 25px;
    left: 20px;
  }
  .pc .nav .menu > li:hover > a {
    background-color: rgba(255, 255, 255, 0.1);
  }
  .pc .nav .menu > li > ul > li:hover > a {
    background-color: #012b6e;
  }
  .nav .submenu {
    display: none;
    width: 100% !important;
    z-index: 5;
  }
  .nav .submenu-cate {
    display: block;
    padding: 10px 5px 10px 35px;
    color: #fff;
    border-top: 1px solid rgba(255, 255, 255, 0.15);
  }
  .nav .submenu-cate::before {
    content: "";
    display: block;
    width: 5px;
    height: 5px;
    border-radius: 50px;
    background-color: rgba(255, 255, 255, 0.15);
    position: absolute;
    top: 25px;
    left: 20px;
  }
  .nav .submenu-cate .more {
    font-size: 0;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 4;
  }
  .nav .submenu .item {
    background-color: #00296d;
    color: #fff;
  }
  .nav .submenu .item > ul {
    display: block !important;
  }
  .nav .submenu .item > ul > li {
    display: block;
    padding: 0;
  }
  .nav .submenu .item > ul > li > a {
    display: block;
    padding: 6px 5px 6px 50px;
    color: #fff;
    background-color: #011b47;
    font-size: 0.9375rem;
    border-top: 1px solid rgba(255, 255, 255, 0.15);
    -webkit-transition: padding 0.25s;
    transition: padding 0.25s;
  }
  .nav .submenu .item > ul > li > a::before {
    content: "";
    display: block;
    width: 6px;
    height: 6px;
    position: absolute;
    -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
            transform: rotate(-45deg);
    top: 17px;
    left: 32px;
    border-style: solid;
    border-width: 0 1px 1px 0;
    border-color: rgba(255, 255, 255, 0.25);
  }
  .pc .nav .submenu .item > ul > li:hover > a {
    background-color: #021d4d;
    padding-left: 52px;
  }
  .is-open-nav .nav {
    display: block;
  }
}

.h-func {
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 0 calc(var(--gap) + 0.5rem);
}

.func-search {
  display: none;
  width: 95%;
  max-width: 500px;
  padding: 15px;
  position: fixed;
  z-index: 15;
  color: #fff;
  background-color: var(--color-blue);
  border-radius: 10px;
  top: calc(var(--h-header) + 15px);
  left: 50%;
  -webkit-transform: translate(-50%, 0);
      -ms-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
}
.func-search.is-open {
  display: block;
  -webkit-animation: ani_fade_in 0.35s ease forwards;
          animation: ani_fade_in 0.35s ease forwards;
}
.func-search.is-open + .func-search__overlay {
  display: block;
  -webkit-animation: ani_fade_in 0.35s ease forwards;
          animation: ani_fade_in 0.35s ease forwards;
}
.func-search__overlay {
  display: none;
  position: fixed;
  z-index: 14;
  background-color: rgba(0, 0, 0, 0.5);
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
}
.func-search::before {
  content: "Search";
  display: block;
  white-space: nowrap;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.2;
  margin: 0 0 10px 0;
}
.func-search > form {
  width: 100%;
  gap: 0 15px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.func-search__switch {
  color: var(--color-menu);
}
.func-search__switch svg {
  width: 1.5rem;
}
.pc .func-search__switch:hover {
  color: var(--color-menu-hover);
}

.func-search__keyword {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}
.func-search__input {
  height: var(--h-input);
  width: 100%;
  z-index: 0;
  background: #fff;
  border-radius: 3px;
  color: #222;
  font-size: 1rem;
  padding: 0 15px;
  border: none;
}
.func-search__button {
  width: var(--h-input);
  height: var(--h-input);
  z-index: 5;
  position: absolute;
  right: 0;
  top: 0;
  background: none;
  border: none;
  color: var(--color-blue);
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 0;
  cursor: pointer;
}
.func-search__button svg {
  display: inline-block;
  width: 70%;
  aspect-ratio: 1;
  -webkit-transition: -webkit-transform 0.35s;
  transition: -webkit-transform 0.35s;
  transition: transform 0.35s;
  transition: transform 0.35s, -webkit-transform 0.35s;
}
.pc .func-search__button:hover {
  color: var(--color-blue-light);
}
.pc .func-search__button:hover svg {
  -webkit-transform: scale(1.1);
      -ms-transform: scale(1.1);
          transform: scale(1.1);
}

.func-search__close {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 35px;
  height: 35px;
  color: #fff;
  margin: 0;
  border-radius: 5px;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 0;
  position: absolute;
  top: 0;
  right: 0;
  -webkit-transform: translate(0, -125%);
      -ms-transform: translate(0, -125%);
          transform: translate(0, -125%);
}
.func-search__close svg {
  display: inline-block;
  width: 70%;
  aspect-ratio: 1;
}
.pc .func-search__close:hover svg {
  -webkit-transform: scale(1.1);
      -ms-transform: scale(1.1);
          transform: scale(1.1);
}

.func-lang.is-open .func-lang__list {
  display: block;
  -webkit-animation: ani_fade_in 0.15s ease forwards;
          animation: ani_fade_in 0.15s ease forwards;
}
.func-lang__list {
  display: none;
  background-color: #fff;
  -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
          box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
  position: absolute;
  left: 50%;
  top: auto;
  width: 120px;
  margin-top: 20px;
  -webkit-transform: translate(-50%, 0);
      -ms-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
}
.func-lang__list::before {
  content: "";
  display: block;
  position: absolute;
  top: -25px;
  left: 0;
  height: 25px;
  width: 100%;
  background-color: transparent;
}
.func-lang__list > a {
  display: block;
  border-top: 1px solid rgba(0, 0, 0, 0.2);
  font-weight: 450;
  display: block;
  text-align: center;
  padding: 0.5em 1em;
  color: #555;
}
.func-lang__list > a:first-child {
  border-top: none;
}
.pc .func-lang__list > a:hover {
  color: #fff;
  background-color: var(--color-blue);
}

.func-lang__switch {
  color: var(--color-menu);
}
.func-lang__switch svg {
  width: 1.5rem;
}
.pc .func-lang:hover .func-lang__list {
  display: block;
  -webkit-animation: ani_fade_in 0.35s ease forwards;
          animation: ani_fade_in 0.35s ease forwards;
}
.pc .func-lang:hover .func-lang__switch {
  color: var(--color-menu-hover);
}

.func-contact {
  margin-left: 1rem;
  height: var(--h-input);
  border-radius: 50px;
  background-color: var(--color-blue);
  color: #fff;
  text-align: center;
  width: 160px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  white-space: nowrap;
  gap: 0 0.6em;
}
.func-contact svg {
  max-width: 1.5rem;
}
.pc .func-contact:hover {
  background-color: var(--color-blue-light);
  color: #fff;
}

@media (max-width: 1120px) {
  .h-func {
    gap: 0 22px;
    margin-right: 55px;
  }
  .h-func > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
  }
  .func-search__switch svg {
    width: 25px;
  }
  .func-lang__switch svg {
    width: 25px;
  }
  .func-contact {
    --h-input: 40px;
    margin-left: 0;
    font-size: 0;
    width: auto;
    color: var(--color-menu);
    background: none;
  }
  .func-contact svg {
    max-width: 25px;
  }
  .pc .func-contact:hover {
    background: none;
    color: var(--color-menu-hover);
  }
}
@media (max-width: 439px) {
  .h-func {
    gap: 0 15px;
    margin-right: 50px;
  }
  .func-search__switch svg {
    width: 20px;
  }
  .func-lang__switch svg {
    width: 20px;
  }
  .func-contact svg {
    max-width: 20px;
  }
}
input[type=search] {
  padding-right: 45px; /* 增加空間容納兩個圖示 */
}

/* 
 * Footer
 */
.footer {
  background: url(../images/footer_bg.jpg) no-repeat right center/cover;
  color: #fff;
  padding-top: 30px;
  padding-bottom: 10px;
  font-size: 1.0625rem;
  width: 100%;
  overflow: hidden;
}
.footer a {
  color: #fff;
}

.f-logo {
  margin: 0;
  padding: 0;
  width: 900px;
}
.f-logo > * {
  display: block;
  position: relative;
  width: 100%;
  padding-bottom: 26.6666666667%;
  font-size: 0;
  background: url("../images/logo_light.png") no-repeat 0 0/contain;
  z-index: 0;
}
.f-logo {
  max-width: 220px;
}

.f-nav {
  padding-top: 40px;
  padding-bottom: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 0 var(--gap);
}
.f-nav .item {
  display: inline-block;
  -webkit-box-flex: 0;
      -ms-flex: 0 1 250px;
          flex: 0 1 250px;
}
.f-nav .item ul {
  display: block;
}
.f-nav .item ul > li {
  margin-bottom: 2px;
}
.f-nav .item ul > li > a {
  white-space: nowrap;
  color: #fff;
}
.pc .f-nav .item ul > li > a:hover {
  text-decoration: underline;
}

.f-nav .stit {
  font-weight: 700;
  font-size: 1.125rem;
  display: block;
  white-space: nowrap;
  margin-bottom: 10px;
}

.f-bottom {
  padding-top: 30px;
  padding-bottom: 30px;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 max(4vw, 35px);
  font-weight: 400;
  font-size: clamp(0.9375rem, 0.8490853659rem + 0.243902439vw, 1.0625rem);
  color: rgba(255, 255, 255, 0.7);
}
.f-bottom a {
  color: rgba(255, 255, 255, 0.7);
}
.f-bottom a:hover {
  color: #fff;
}

.f-mid {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  color: #fff;
}
.f-mid .stit {
  font-style: normal;
  white-space: nowrap;
  color: rgba(255, 255, 255, 0.7);
  margin-right: 0.8em;
}

.f-info {
  font-style: normal;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0 2em;
}

.f-right {
  font-size: clamp(0.9375rem, 0.8932926829rem + 0.1219512195vw, 1rem);
  text-align: right;
}

.f-etc {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 1.5em;
}
.f-etc > * {
  display: inline-block;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}
.f-etc > *::before {
  content: "";
  display: block;
  width: 4px;
  height: 4px;
  background-color: rgba(255, 255, 255, 0.7);
  position: absolute;
  left: -0.8em;
  top: 50%;
  margin-top: -2px;
  border-radius: 5px;
}
.f-etc > *:first-child::before {
  display: none;
}

@media (max-width: 991px) {
  .footer {
    padding-top: 25px;
  }
  .f-nav {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    text-align: center;
    padding-top: 20px;
    padding-bottom: 20px;
  }
  .f-logo {
    margin: 0 auto 25px;
    display: block;
    position: relative;
    left: auto;
    top: auto;
  }
  .f-bottom {
    display: block;
    text-align: center;
  }
  .f-info {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .f-etc {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .f-grnet {
    margin: 0 auto;
    display: block;
    text-align: center;
  }
}
@media (max-width: 579px) {
  .footer {
    font-size: 0.875rem;
  }
}
/* 
 * Container
 */
.container {
  width: 100%;
  max-width: calc(var(--w-container) + var(--gap) * 2);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--gap);
  padding-right: var(--gap);
}

.maincontent {
  z-index: 10;
  min-height: 50vh;
  padding-top: calc(max(5.7vw, 40px) + var(--h-breadcrumb));
  padding-bottom: max(5.7vw, 40px);
}

.is-no-pt .maincontent {
  padding-top: max(5.7vw, 40px);
}

.is-no-pb .maincontent {
  padding-bottom: 0;
}

/* 
 * Scroll Top
 */
.scroll-top {
  position: fixed;
  right: var(--gap);
  bottom: var(--gap);
  width: max(2.6vw, 35px);
  height: max(2.6vw, 35px);
  border-radius: 50px;
  z-index: 50;
  overflow: hidden;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: #fff;
  -webkit-box-shadow: 0 0 20px rgba(0, 0, 0, 0.15);
          box-shadow: 0 0 20px rgba(0, 0, 0, 0.15);
  white-space: nowrap;
  color: var(--color-blue);
  border: 1px solid var(--color-blue);
  font-size: 0;
  opacity: 0;
  -webkit-transform: translateY(200%);
      -ms-transform: translateY(200%);
          transform: translateY(200%);
  -webkit-transition: all 0.15s ease;
  transition: all 0.15s ease;
}
.scroll-top svg {
  max-width: 85%;
}
.pc .scroll-top:hover {
  color: #fff;
  background-color: var(--color-blue);
  border-color: var(--color-blue);
}

.is-fixed-header .scroll-top {
  opacity: 1;
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0);
}

/**
 * sticky
 */
.sticky {
  position: sticky;
  top: var(--h-header);
}

/**
 * Marquee
 */
.text-marquee {
  z-index: 0;
  width: 100%;
  max-width: 100vw;
  overflow: hidden;
  line-height: 1.5;
  position: absolute;
  bottom: 15px;
  left: 0;
  color: #045DEB;
  font-size: clamp(3.125rem, -1.2957317073rem + 12.1951219512vw, 9.375rem);
  font-weight: 500;
}
.text-marquee > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 0.5em;
  white-space: nowrap;
  opacity: 0.05;
}
.text-marquee > div strong {
  font-weight: 700;
}
.text-marquee > div > div {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  display: inline-block;
  vertical-align: middle;
}

/**
 * Subhead
 */
.brief {
  font-size: clamp(1rem, 0.9557926829rem + 0.1219512195vw, 1.0625rem);
  line-height: 2;
}
@media (max-width: 579px) {
  .brief {
    font-size: clamp(0.9375rem, 0.8932926829rem + 0.1219512195vw, 1rem);
  }
}

.subhead {
  line-height: 1.5;
  font-weight: 600;
}
.subhead .text-sm {
  color: var(--color-blue);
  display: block;
  font-size: clamp(1.125rem, 1.0365853659rem + 0.243902439vw, 1.25rem);
  margin: 0 0 5px;
  padding: 0;
}
.subhead .text-sm.gray {
  color: #222;
}
.subhead .text-lg {
  color: #222;
  font-size: clamp(1.5625rem, 0.2804878049rem + 3.5365853659vw, 3.375rem);
  display: block;
  margin: 0;
  padding: 0;
  line-height: 1.2;
}
.subhead.sm .text-lg {
  font-size: clamp(1.375rem, 0.4908536585rem + 2.4390243902vw, 2.625rem);
  line-height: 1.4;
}
.subhead.text-center {
  text-align: center;
}
.subhead[data-deco] {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
.subhead[data-deco]::before {
  content: attr(data-deco);
  text-transform: uppercase;
  display: block;
  position: absolute;
  z-index: -1;
  white-space: nowrap;
  top: 1.25rem;
  left: 50%;
  letter-spacing: 0.02em;
  line-height: 1;
  -webkit-transform: translate(-50%, -80%);
      -ms-transform: translate(-50%, -80%);
          transform: translate(-50%, -80%);
  color: rgba(0, 0, 0, 0.05);
  font-weight: 700;
  font-size: clamp(2.1875rem, 0.6402439024rem + 4.2682926829vw, 4.375rem);
}

.search-bg {
  padding-top: calc(max(3.5vw, 25px) + var(--h-header));
}

.search-heading {
  margin-bottom: max(2.5vw, 25px);
}

.search-msg {
  display: block;
  color: #222;
  margin: 10px auto;
  padding: 0;
  text-align: center;
  font-size: clamp(1.0625rem, 0.9298780488rem + 0.3658536585vw, 1.25rem);
  font-weight: 500;
}

/* 
 * No Data
 */
.nodata-msgbox {
  padding: max(2.7vw, var(--gap)) var(--gap);
  margin: auto;
  text-align: center;
  margin-bottom: var(--gap);
  font-size: 1rem;
}
.nodata-msgbox .img {
  width: 80px;
  height: 80px;
  display: block;
  position: relative;
  margin: 0 auto;
}
.nodata-msgbox .img::before {
  content: "";
  display: block;
  margin: 0 auto;
  width: max(2.5vw, 70px);
  height: max(2.5vw, 70px);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpath fill='%23333' d='M9.562 3.262a.5.5 0 0 1 .88 0l6.5 12a.5.5 0 0 1-.44.739H3.5a.5.5 0 0 1-.44-.738zm1.758-.476c-.567-1.048-2.07-1.048-2.637 0l-6.502 12a1.5 1.5 0 0 0 1.318 2.215h13.003a1.5 1.5 0 0 0 1.319-2.215zM10.5 7.5a.5.5 0 0 0-1 0v4a.5.5 0 1 0 1 0zm.25 6.25a.75.75 0 1 1-1.5 0a.75.75 0 0 1 1.5 0'/%3E%3C/svg%3E");
}
.nodata-msgbox .img.letter::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36'%3E%3Cpath fill='%23333' d='M32 6H4a2 2 0 0 0-2 2v20a2 2 0 0 0 2 2h28a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2m-1.54 22H5.66l7-7.24l-1.44-1.39L4 26.84V9.52l12.43 12.37a2 2 0 0 0 2.82 0L32 9.21v17.5l-7.36-7.36l-1.41 1.41ZM5.31 8h25.07L17.84 20.47Z' class='clr-i-outline clr-i-outline-path-1'/%3E%3Cpath fill='none' d='M0 0h36v36H0z'/%3E%3C/svg%3E");
}
.nodata-msgbox .img.check::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23333' stroke-linejoin='round' stroke-width='4'%3E%3Cpath d='M24 44a19.94 19.94 0 0 0 14.142-5.858A19.94 19.94 0 0 0 44 24a19.94 19.94 0 0 0-5.858-14.142A19.94 19.94 0 0 0 24 4A19.94 19.94 0 0 0 9.858 9.858A19.94 19.94 0 0 0 4 24a19.94 19.94 0 0 0 5.858 14.142A19.94 19.94 0 0 0 24 44Z'/%3E%3Cpath stroke-linecap='round' d='m16 24l6 6l12-12'/%3E%3C/g%3E%3C/svg%3E");
}
.nodata-msgbox .text {
  color: inherit;
  text-align: center;
  margin: 15px auto;
  font-weight: 550;
}
.nodata-msgbox .text .text-lg {
  display: block;
  line-height: 1.4;
  padding: 0;
  margin: 0 0 15px;
  position: relative;
}

@media (max-width: 1099px) {
  .nodata-msgbox .text {
    margin-bottom: 35px;
  }
}
/**
* 404
*/
.no-header {
  padding-top: 0 !important;
}

.error-bg {
  background: #0175c2 url(../images/bg_404.jpg) no-repeat center center/cover;
  min-height: max(400px, 90vh);
  padding-top: max(5vw, 40px);
  padding-bottom: max(5vw, 40px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.error-msgbox {
  text-align: center;
  color: #fff;
}
.error-msgbox .text-logo {
  margin: 0;
  padding: 0;
  width: 900px;
}
.error-msgbox .text-logo > * {
  display: block;
  position: relative;
  width: 100%;
  padding-bottom: 26.6666666667%;
  font-size: 0;
  background: url("../images/logo_light.png") no-repeat 0 0/contain;
  z-index: 0;
}
.error-msgbox .text-logo {
  -webkit-filter: brightness(0) invert(1);
          filter: brightness(0) invert(1);
  margin: 0 auto;
  max-width: min(90%, 220px);
  display: block;
}
.error-msgbox .text-lg {
  font-size: 0;
  margin: 0 auto 15px;
  max-width: 540px;
  aspect-ratio: 540/230;
  background: url(../images/error_404.jpg) no-repeat center center/contain;
}

/* 
 * Copy Url
 */
.js-copy-url {
  position: relative;
}

.copy-done {
  z-index: 10;
  line-height: 1.1;
  position: absolute;
  font-size: 13px;
  color: #fff;
  padding: 5px;
  white-space: nowrap;
  display: inline-block;
  border-radius: 4px;
  background: var(--color-blue);
  top: 0;
  left: 50%;
  -webkit-transform: translate(-50%, -100%);
      -ms-transform: translate(-50%, -100%);
          transform: translate(-50%, -100%);
}

/**
 * Kanban Static
 */
.kanban {
  z-index: 0;
  max-width: 100vw;
  overflow: hidden;
}
.kanban.aos-animate .kanban__text {
  -webkit-animation: ani_kanbanStatic_in 1s 0.1s ease forwards;
          animation: ani_kanbanStatic_in 1s 0.1s ease forwards;
}
.kanban.aos-animate .kanban__media img {
  -webkit-animation: ani_kanban_in 1.2s ease forwards;
          animation: ani_kanban_in 1.2s ease forwards;
}
.kanban__text {
  z-index: 2;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #fff;
  padding-bottom: var(--h-breadcrumb);
  padding-top: var(--h-header);
}
@media (max-width: 991px) {
  .kanban__text {
    padding-top: 0;
  }
}
.kanban__title {
  text-transform: uppercase;
  font-size: clamp(1.5625rem, -0.0731707317rem + 4.512195122vw, 3.875rem);
  font-weight: 600;
  text-align: center;
  margin: 0;
  padding: 0;
  line-height: 1.4;
}
.kanban__media {
  z-index: 0;
  aspect-ratio: 1920/480;
  min-height: 300px;
}
.kanban__media img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
@media (max-width: 991px) {
  .kanban__media {
    aspect-ratio: auto;
    height: 180px;
    min-height: auto;
    width: 100vw;
  }
}

/* Sweet Alert */
.sweetalert-bootstrap-dialog .modal-header {
  padding: 0;
}

.sweetalert-bootstrap-dialog .sweetalert-bootstrap-dialog-header {
  width: 100%;
}

/* 
 * Button
 */
.btn-more {
  min-width: 200px;
  height: var(--h-btn);
  color: #fff;
  cursor: pointer;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  gap: 0 10px;
  border: none;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  text-align: left;
  padding: 0 14px 0 28px;
  border-radius: 50px;
  overflow: hidden;
  font-size: 0.9375rem;
  background: -webkit-gradient(linear, left top, right top, from(#005CEC), to(#1130AE));
  background: linear-gradient(90deg, #005CEC, #1130AE);
}
.btn-more > * {
  z-index: 10;
}
.btn-more > span {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  line-height: 1.4;
  white-space: nowrap;
}
.btn-more .icon {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 calc(var(--h-btn) - 28px);
          flex: 0 0 calc(var(--h-btn) - 28px);
  aspect-ratio: 1;
  background-color: #fff;
  color: #1744B7;
  border-radius: 50px;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.btn-more .icon svg {
  max-width: 70%;
}

.pc a:hover .btn-more, .pc a.btn-more:hover, .pc button.btn-more:hover {
  color: #fff;
  background: -webkit-gradient(linear, left top, right top, from(#196ef7), to(#143ddf));
  background: linear-gradient(90deg, #196ef7, #143ddf);
}
.pc a:hover .btn-more .icon, .pc a.btn-more:hover .icon, .pc button.btn-more:hover .icon {
  color: #143ddf;
  background-color: #fff;
}

.btn-outline {
  color: #fff;
  font-weight: 550;
  border: 1px solid #fff;
  height: var(--h-btn);
  width: 190px;
  text-align: center;
  border-radius: 50px;
  display: inline-block;
  vertical-align: middle;
  line-height: var(--h-btn);
  white-space: nowrap;
  font-size: clamp(0.875rem, 0.7865853659rem + 0.243902439vw, 1rem);
}
.pc .btn-outline:hover {
  color: #fff;
  background-color: rgba(255, 255, 255, 0.15);
}

.c-button-wrap {
  width: auto;
  display: block;
  margin: 35px auto;
  text-align: center;
}

/* 
 * Form
 */
abbr {
  color: var(--color-blue);
  text-decoration: none !important;
  display: inline-block;
  vertical-align: top;
  font-size: 0;
  margin: 0 3px 0 0;
}
abbr::before {
  content: "*";
  font-size: 1rem;
}

.bootstrap-touchspin {
  height: var(--h-btn);
  max-width: 140px;
  min-width: 110px;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  border: 1px solid #c4c4c6;
  border-radius: 4px;
  overflow: hidden;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
}
.pc .bootstrap-touchspin:hover {
  border-color: #999;
}

.bootstrap-touchspin .input-group-btn {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 2.25rem;
          flex: 0 0 2.25rem;
}
.bootstrap-touchspin .input-group-btn button {
  font-size: 1.5em;
  line-height: calc(var(--h-btn) - 3px);
  cursor: pointer;
  width: 100%;
  height: 100%;
  border-radius: 0;
  color: #222;
  margin: 0;
  padding: 0;
  font-weight: 400;
  background-color: #fff;
  border: none;
}
.pc .bootstrap-touchspin .input-group-btn button:hover {
  background-color: #f3f3f3;
  color: #222;
}

.bootstrap-touchspin .input-group-btn button:active {
  background-color: #f3f3f3;
  color: #222;
}
.bootstrap-touchspin .input-group-prepend button {
  border-right: 1px solid #c4c4c6;
}
.bootstrap-touchspin .input-group-append button {
  border-left: 1px solid #c4c4c6;
}
.bootstrap-touchspin .form-control {
  border: none;
  font-weight: 400;
  padding: 0 0.25em;
  text-align: center;
  border: none;
  -webkit-box-shadow: none;
          box-shadow: none;
  width: 100%;
}

.c-form {
  font-weight: 500;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  font-size: 1rem;
}
.c-form__expand {
  display: none !important;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 var(--gap);
  padding: 10px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  max-width: 100%;
}
.c-form__expand .c-form__input {
  width: 180px;
}
.c-form__group {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0 20px;
}
.c-form__group .c-form__box.col-half {
  width: calc(50% - 10px);
}
.c-form__group.nowrap {
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
}
.c-form__group.radio-group {
  margin-bottom: var(--gap);
}
.c-form__checkdata {
  gap: 0 1em;
  width: 100%;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  height: var(--h-input);
  line-height: var(--h-input);
  padding: 0 15px;
  border-radius: 10px;
  color: #333;
  background-color: #f0f0f0;
  font-style: normal;
}
.c-form__checkdata.light-bg {
  background-color: transparent;
}
.c-form__foot {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 var(--gap);
  border-top: 1px solid #ddd;
}
.c-form__foot .c-form__box {
  border-top: none;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
.c-form__foot .c-form__checkbox {
  display: inline-block;
  white-space: normal;
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
  text-align: left;
}
.c-form__foot .c-form__checkbox a {
  color: #333;
  text-decoration: underline;
}
.pc .c-form__foot .c-form__checkbox a:hover {
  color: #222;
  text-decoration: none;
}

.c-form__foot .c-button-wrap {
  width: auto;
  margin-left: 0;
  margin-right: 0;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}
.c-form__box {
  gap: 0 10px;
  width: 100%;
  border: 1px solid #ddd;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin-bottom: 20px;
  border-radius: 10px;
}
.c-form__box:focus-within {
  -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
          box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
}
.c-form__box .c-form__label {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 var(--w-label);
          flex: 0 0 var(--w-label);
  margin: calc((var(--h-input) - 1.5rem) * 0.5) 0 0;
  padding: 0 15px 0 0;
  text-align: right;
}
.c-form__box .c-form__label::after {
  content: "";
  display: block;
  position: absolute;
  width: 1px;
  right: 0;
  top: 50%;
  height: 1rem;
  background-color: #ddd;
  margin-top: -0.5rem;
}
.c-form__box + .c-form__note {
  padding-left: 1em;
  top: calc(var(--gap) * -0.5);
}
.c-form__box.col-half {
  vertical-align: top;
  width: 50%;
}
.c-form__box.col-three {
  vertical-align: top;
  width: 33.3333333333%;
}
.c-form__box.col-note {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.c-form__box.col-note .note {
  -ms-flex-item-align: center;
      align-self: center;
  white-space: nowrap;
  font-size: 0.875rem;
  font-style: normal;
  color: var(--color-blue);
  display: inline-block;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}
.c-form__box.code {
  padding-right: 180px;
  text-align: left;
}
.c-form__box.code .c-form__input {
  position: relative;
  z-index: 0;
}
.c-form__box.code .c-form__input ~ .c-form__codeimg {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 5;
}
@media (max-width: 579px) {
  .c-form__box.code {
    padding-right: 150px;
  }
}
@media (max-width: 399px) {
  .c-form__box.code {
    padding-right: 120px;
  }
}
.c-form__box.sex .c-form__input {
  max-width: calc(100% - 260px - 1em);
}
.c-form__box.sex .c-form__group {
  width: 110px;
  position: absolute;
  right: 0;
  bottom: 0.25em;
  z-index: 2;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  height: var(--h-input);
  gap: 0 0.05em;
}
.c-form__box.address {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
}
.c-form__box.address .c-form__adress-gp {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  gap: 0 10px;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: calc(100% - 1em);
}
.c-form__box.address .c-form__select {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 calc((100% - 80px) * 0.3 - 0.5em);
          flex: 0 0 calc((100% - 80px) * 0.3 - 0.5em);
}
.c-form__box.address .c-form__input {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
.c-form__box.address .c-form__input.sm {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 80px;
          flex: 0 0 80px;
}
.c-form__label {
  line-height: 1.5;
  color: #000;
  display: block;
  white-space: nowrap;
  margin: 0 0 0.5em;
}
.c-form__select {
  width: 100%;
  height: var(--h-input);
  padding: 0 35px 0 15px;
  line-height: var(--h-input);
  -webkit-transition: border 0.3s;
  transition: border 0.3s;
  color: inherit;
  border: none;
  border-radius: 10px;
  -webkit-box-shadow: none;
          box-shadow: none;
  background: rgb(255, 255, 255) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-5 -8 24 24' width='28' fill='%23333'%3E%3Cpath d='M7.071 5.314l4.95-4.95a1 1 0 1 1 1.414 1.414L7.778 7.435a1 1 0 0 1-1.414 0L.707 1.778A1 1 0 1 1 2.121.364l4.95 4.95z'%3E%3C/path%3E%3C/svg%3E") no-repeat calc(100% - 10px) center/22px 22px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.c-form__select::-ms-expand {
  display: none;
}
.c-form__input {
  width: 100%;
  height: var(--h-input);
  padding: 0 15px;
  border: none;
  border-radius: 10px;
  color: inherit;
  background: none;
  -webkit-transition: border 0.15s;
  transition: border 0.15s;
  background-color: rgb(255, 255, 255);
  -webkit-box-shadow: none;
          box-shadow: none;
}
.c-form__input.sm {
  max-width: 90px;
}
.c-form__radio {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  white-space: nowrap;
  margin-top: -2px;
  padding-top: calc(var(--h-input) * 0.25);
  line-height: 1.6;
  padding-right: 0.5em;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}
.c-form__radio .c-form__expand {
  --h-input: 40px;
}
.c-form__radio.w-full {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.c-form__radio.w-full .c-form__input {
  margin-left: 1em;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  border: none;
  background-color: transparent;
  border-bottom: 2px solid #aaa;
  border-radius: 0;
}
.c-form__radio > input[type=radio],
.c-form__radio > input[type=checkbox] {
  outline: none;
  z-index: -100 !important;
  width: 1px !important;
  height: 1px !important;
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute;
  opacity: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.c-form__radio > input[type=radio]:checked + label > span,
.c-form__radio > input[type=checkbox]:checked + label > span {
  background-color: #fff;
  border-color: #999;
}
.c-form__radio > input[type=radio]:checked + label > span::before,
.c-form__radio > input[type=checkbox]:checked + label > span::before {
  -webkit-transform: translate(-50%, -50%) scale(1);
      -ms-transform: translate(-50%, -50%) scale(1);
          transform: translate(-50%, -50%) scale(1);
}
.c-form__radio > input[type=radio]:checked ~ .c-form__expand,
.c-form__radio > input[type=checkbox]:checked ~ .c-form__expand {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
}
.c-form__radio:hover > label > span {
  background-color: #fff;
  border-color: #999;
}
.c-form__radio img {
  display: inline-block;
  vertical-align: middle;
  margin: 0 5px;
  max-width: 100%;
}
.c-form__radio > label > span {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: inline-block;
  vertical-align: middle;
  position: relative;
  width: 18px;
  height: 18px;
  margin-right: 2px;
  margin-top: -3px;
  border: none;
  z-index: 1000;
  background: #fff;
  border: 1px solid #aaa;
  border-radius: 50px;
  -webkit-transition: background-color 0.15s ease-out;
  transition: background-color 0.15s ease-out;
}
.c-form__radio > label > span::before {
  content: "";
  position: relative;
  display: block;
  width: 65%;
  height: 65%;
  position: absolute;
  top: 50%;
  left: 50%;
  border-radius: 50px;
  -webkit-transform: translate(-50%, -50%) scale(0);
      -ms-transform: translate(-50%, -50%) scale(0);
          transform: translate(-50%, -50%) scale(0);
  background: var(--color-blue);
  -webkit-transition: -webkit-transform 0.15s ease-out;
  transition: -webkit-transform 0.15s ease-out;
  transition: transform 0.15s ease-out;
  transition: transform 0.15s ease-out, -webkit-transform 0.15s ease-out;
}
.c-form__agree {
  margin: 0 0 20px 0;
  font-weight: 550;
  padding-left: 30px;
}
.c-form__agree label {
  white-space: normal;
}
.c-form__agree label span {
  margin-left: -30px;
}
.c-form__checkbox {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  white-space: nowrap;
  margin-top: -2px;
  padding-top: calc(var(--h-input) * 0.25);
  line-height: 1.6;
}
.c-form__checkbox.w-full {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.c-form__checkbox.w-full .c-form__input {
  margin-left: 1em;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  border: none;
  background-color: transparent;
  border-bottom: 2px solid #aaa;
  border-radius: 0;
}
.c-form__checkbox > input[type=radio],
.c-form__checkbox > input[type=checkbox] {
  outline: none;
  z-index: -100 !important;
  width: 1px !important;
  height: 1px !important;
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute;
  opacity: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.c-form__checkbox > input[type=radio]:checked + label > span,
.c-form__checkbox > input[type=checkbox]:checked + label > span {
  background-color: var(--color-blue-light);
  border-color: var(--color-blue-light);
}
.c-form__checkbox > input[type=radio]:checked + label > span::before,
.c-form__checkbox > input[type=checkbox]:checked + label > span::before {
  background-color: transparent;
  opacity: 1;
}
.c-form__checkbox > input[type=radio]:checked ~ .c-form__expand,
.c-form__checkbox > input[type=checkbox]:checked ~ .c-form__expand {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
}
.c-form__checkbox:hover > label > span {
  background-color: #fff;
  border-color: #999;
}
.c-form__checkbox:hover > label > span::before {
  background-color: transparent;
}
.c-form__checkbox img {
  display: inline-block;
  vertical-align: middle;
  margin: 0 5px;
  max-width: 100%;
}
.c-form__checkbox > label > span {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: inline-block;
  vertical-align: middle;
  position: relative;
  width: 20px;
  height: 20px;
  margin-right: 5px;
  margin-top: -3px;
  border: none;
  z-index: 1000;
  background: #fff;
  border: 1px solid #aaa;
  border-radius: 2px;
  padding: 3px;
  -webkit-transition: background-color 0.15s ease-out;
  transition: background-color 0.15s ease-out;
}
.c-form__checkbox > label > span::before {
  content: "";
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  opacity: 0;
  background: url("data:image/svg+xml,%3Csvg  xmlns='http://www.w3.org/2000/svg'  width='24'  height='24'  viewBox='0 0 24 24'  fill='none'  stroke='%23fff'  stroke-width='3'  stroke-linecap='round'  stroke-linejoin='round'  class='icon icon-tabler icons-tabler-outline icon-tabler-check'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'/%3E%3Cpath d='M5 12l5 5l10 -10' /%3E%3C/svg%3E") no-repeat center center/18px auto;
  border-radius: 0;
  -webkit-transition: opactiy 0.15s ease-out;
  transition: opactiy 0.15s ease-out;
}
.c-form__textarea {
  width: 100%;
  color: inherit;
  padding: calc((var(--h-input) - 1.5rem) * 0.5) 15px;
  line-height: 1.5;
  display: block;
  border-radius: 10px;
  background-color: rgb(255, 255, 255);
  -webkit-box-shadow: none;
          box-shadow: none;
  border: none;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
.c-form__codeimg {
  position: absolute;
  bottom: 0;
  right: 0;
  display: block;
  -ms-flex-line-pack: center;
      align-content: center;
  cursor: pointer;
  border-radius: 10px;
  overflow: hidden;
  width: 180px;
  background-color: #EDF1FA;
  height: var(--h-input);
  padding-right: 35px;
}
.c-form__codeimg img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.c-form__codeimg::after {
  content: "";
  position: absolute;
  z-index: 5;
  width: 20px;
  height: 100%;
  right: 10px;
  top: 0;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='%23111' d='m19 8l-4 4h3c0 3.31-2.69 6-6 6a5.9 5.9 0 0 1-2.8-.7l-1.46 1.46A7.93 7.93 0 0 0 12 20c4.42 0 8-3.58 8-8h3zM6 12c0-3.31 2.69-6 6-6c1.01 0 1.97.25 2.8.7l1.46-1.46A7.93 7.93 0 0 0 12 4c-4.42 0-8 3.58-8 8H1l4 4l4-4z'/%3E%3C/svg%3E") no-repeat center center/22px 22px;
}
.c-form__codeimg:hover {
  -webkit-filter: brightness(105%);
          filter: brightness(105%);
}
@media (max-width: 579px) {
  .c-form__codeimg {
    width: 150px;
  }
}
@media (max-width: 399px) {
  .c-form__codeimg {
    width: 120px;
  }
}

/*  Toggle Checkbox */
.c-form__toggle-checkbox {
  --h-input: 30px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  position: relative;
  height: var(--h-input);
  width: 70px;
}
.c-form__toggle-checkbox input[type=checkbox] {
  z-index: 5;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  opacity: 0 !important;
  cursor: pointer;
}
.c-form__toggle-checkbox input[type=checkbox]:checked + label {
  background: var(--color-blue);
}
.c-form__toggle-checkbox input[type=checkbox]:checked + label::before {
  content: attr(data-text-open);
  left: 8px;
}
.c-form__toggle-checkbox input[type=checkbox]:checked + label::after {
  left: calc(100% - var(--h-input) + 4px);
}
.c-form__toggle-checkbox label {
  cursor: pointer;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%;
  width: 100%;
  border: none;
  z-index: 0;
  background-color: #666;
  color: #fff;
  border-radius: 50px;
  font-size: 0.875rem;
}
.c-form__toggle-checkbox label::before {
  content: attr(data-text-close);
  left: auto;
  right: 10px;
  z-index: 0;
  position: absolute;
  top: -1px;
  z-index: 1;
  line-height: var(--h-input);
}
.c-form__toggle-checkbox label::after {
  content: "";
  position: absolute;
  left: 4px;
  top: 4px;
  z-index: 5;
  width: calc(var(--h-input) - 8px);
  height: calc(var(--h-input) - 8px);
  background: #fff;
  border-radius: 9999px;
  -webkit-transition: 0.15s linear;
  transition: 0.15s linear;
}

.subhead + .fill-same {
  position: absolute;
  margin-top: -61px;
  margin-left: 8.5rem;
}

@media (max-width: 1099px) {
  .c-form__foot {
    display: block;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    text-align: center;
  }
  .c-form__foot .c-button {
    min-width: auto;
    max-width: 45%;
  }
}
@media (max-width: 991px) {
  .c-form__box {
    width: 100%;
  }
}
@media (max-width: 767px) {
  .c-form__box.col-half {
    width: 100%;
  }
  .c-form__box.col-three {
    width: 100%;
  }
  .c-form__box.col-note {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .c-form__box.col-note .note {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    display: block;
  }
  .c-form__box.address .c-form__adress-gp {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .c-form__box.address .c-form__select {
    width: auto;
    margin-bottom: 10px;
    -ms-flex-preferred-size: calc((100% - 80px) * 0.49 - 0.5em);
        flex-basis: calc((100% - 80px) * 0.49 - 0.5em);
  }
}
@media (max-width: 579px) {
  .c-form__box.address .c-form__adress-gp {
    display: block;
  }
  .c-form__box.address .c-form__select {
    width: 100%;
  }
  .c-form__box.address .c-form__input.sm {
    margin-bottom: 10px;
  }
}
@media (max-width: 439px) {
  .c-form__group {
    display: block;
  }
  .c-form__box {
    display: block;
    border: none !important;
  }
  .c-form__box:focus-within {
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
  }
  .c-form__box.address {
    display: block;
  }
  .c-form__box.address .c-form__adress-gp {
    width: 100%;
  }
  .c-form__box.sex .c-form__input {
    max-width: calc(100% - 140px);
  }
  .c-form__box .c-form__label {
    width: auto;
    text-align: left;
    margin: 0 0 5px;
    position: relative;
  }
  .c-form__box .c-form__label::after {
    display: none;
  }
  .c-form__input, .c-form__select, .c-form__textarea {
    display: block;
    width: 100%;
    border: 1px solid #ddd;
  }
  .c-form__label {
    display: block;
    font-size: 0.9375rem;
    font-weight: 500;
    padding: 0 0.5em 0 0;
    margin: 0 0 5px;
  }
  .c-form__radio img.xxs-block, .c-form__checkbox img.xxs-block {
    display: block;
    margin: 0.25em 0 0 1em;
  }
}
/**
 * file
 */
.c-form__box.file {
  display: block;
}
.c-form__box.file .c-form__label {
  display: block;
}
.c-form__box.file .c-form__file {
  max-width: 100%;
}
.c-form__box.file .note {
  font-size: 0.75rem;
  white-space: nowrap;
  margin: 3px 5px;
  color: #666;
  display: block;
}

.c-form__file {
  width: 100%;
  height: var(--h-input);
  padding: 0;
  border: 1px solid #d2d2d2;
  border-radius: 10px;
  color: inherit;
  background: none;
  -webkit-transition: border 0.15s;
  transition: border 0.15s;
  background-color: #fff;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.c-form__file::before {
  content: "選擇";
  color: #fff;
  z-index: 15;
  position: absolute;
  border: none;
  margin: 4px;
  padding: 0 5px 4px 5px;
  right: 0;
  top: 0;
  width: 70px;
  border-radius: 2px;
  letter-spacing: 0.05em;
  text-align: center;
  cursor: pointer;
  line-height: calc(var(--h-input) - 10px);
  height: calc(var(--h-input) - 10px);
  background-color: #888;
}
.c-form__file:hover::before {
  background-color: #666;
  color: #fff;
}
.c-form__file::-webkit-file-upload-button {
  z-index: 1;
  display: inline-block;
  height: calc(var(--h-input) - 4px);
  border: none;
  padding: 0;
  margin: 0;
  width: 10px;
  overflow: hidden;
  color: transparent;
  background-color: transparent;
  font-size: 1rem;
  cursor: pointer;
  text-align: center;
  -webkit-user-select: none;
          user-select: none;
  -webkit-transition: background-color 0.2s ease-in-out;
  transition: background-color 0.2s ease-in-out;
}
.c-form__file::file-selector-button {
  z-index: 1;
  display: inline-block;
  height: calc(var(--h-input) - 4px);
  border: none;
  padding: 0;
  margin: 0;
  width: 10px;
  overflow: hidden;
  color: transparent;
  background-color: transparent;
  font-size: 1rem;
  cursor: pointer;
  text-align: center;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -webkit-transition: background-color 0.2s ease-in-out;
  transition: background-color 0.2s ease-in-out;
}
.c-form__file:hover::-webkit-file-upload-button {
  background-color: transparent;
  color: transparent;
}
.c-form__file:hover::file-selector-button {
  background-color: transparent;
  color: transparent;
}

/**
 * 社群
 */
.social-box {
  --color-fb: #1877f2;
  --color-yt: #ff0000;
  --color-whatsapp: #25d366;
  --color-ig: #d6249f;
  --color-tiktok: #000;
  --color-x: #000;
  --color-threads: #000;
  --color-line: #00b900;
  --color-linktree: #42e65f;
  --icon-fb: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='%231877f2' d='M9.198 21.5h4v-8.01h3.604l.396-3.98h-4V7.5a1 1 0 0 1 1-1h3v-4h-3a5 5 0 0 0-5 5v2.01h-2l-.396 3.98h2.396z'/%3E%3C/svg%3E");
  --icon-ig: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='%23d6249f' d='M7.8 2h8.4C19.4 2 22 4.6 22 7.8v8.4a5.8 5.8 0 0 1-5.8 5.8H7.8C4.6 22 2 19.4 2 16.2V7.8A5.8 5.8 0 0 1 7.8 2m-.2 2A3.6 3.6 0 0 0 4 7.6v8.8C4 18.39 5.61 20 7.6 20h8.8a3.6 3.6 0 0 0 3.6-3.6V7.6C20 5.61 18.39 4 16.4 4zm9.65 1.5a1.25 1.25 0 0 1 1.25 1.25A1.25 1.25 0 0 1 17.25 8A1.25 1.25 0 0 1 16 6.75a1.25 1.25 0 0 1 1.25-1.25M12 7a5 5 0 0 1 5 5a5 5 0 0 1-5 5a5 5 0 0 1-5-5a5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3a3 3 0 0 0 3 3a3 3 0 0 0 3-3a3 3 0 0 0-3-3'/%3E%3C/svg%3E");
  --icon-tiktok: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M16.6 5.82s.51.5 0 0A4.28 4.28 0 0 1 15.54 3h-3.09v12.4a2.59 2.59 0 0 1-2.59 2.5c-1.42 0-2.6-1.16-2.6-2.6c0-1.72 1.66-3.01 3.37-2.48V9.66c-3.45-.46-6.47 2.22-6.47 5.64c0 3.33 2.76 5.7 5.69 5.7c3.14 0 5.69-2.55 5.69-5.7V9.01a7.35 7.35 0 0 0 4.3 1.38V7.3s-1.88.09-3.24-1.48'/%3E%3C/svg%3E");
  --icon-yt: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='%23ff0000' d='m10 15l5.19-3L10 9zm11.56-7.83c.13.47.22 1.1.28 1.9c.07.8.1 1.49.1 2.09L22 12c0 2.19-.16 3.8-.44 4.83c-.25.9-.83 1.48-1.73 1.73c-.47.13-1.33.22-2.65.28c-1.3.07-2.49.1-3.59.1L12 19c-4.19 0-6.8-.16-7.83-.44c-.9-.25-1.48-.83-1.73-1.73c-.13-.47-.22-1.1-.28-1.9c-.07-.8-.1-1.49-.1-2.09L2 12c0-2.19.16-3.8.44-4.83c.25-.9.83-1.48 1.73-1.73c.47-.13 1.33-.22 2.65-.28c1.3-.07 2.49-.1 3.59-.1L12 5c4.19 0 6.8.16 7.83.44c.9.25 1.48.83 1.73 1.73'/%3E%3C/svg%3E");
  --icon-linktree: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='%2342e65f' d='m13.736 5.853l4.005-4.117l2.325 2.38l-4.2 4.005h5.908v3.305h-5.937l4.229 4.108l-2.325 2.334l-5.74-5.769l-5.741 5.769l-2.325-2.325l4.229-4.108H2.226V8.121h5.909l-4.2-4.004l2.324-2.381l4.005 4.117V0h3.472zm-3.472 10.306h3.472V24h-3.472z'/%3E%3C/svg%3E");
  --icon-line: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath fill='%2300b900' d='M25.817 13.151a.842.842 0 1 1 0 1.683h-2.339v1.5h2.339a.84.84 0 1 1 0 1.678H22.64a.84.84 0 0 1-.837-.839v-6.36c0-.463.375-.843.837-.843h3.183a.842.842 0 0 1-.005 1.682h-2.339v1.5zm-5.134 4.021a.845.845 0 0 1-.844.838a.85.85 0 0 1-.683-.333l-3.255-4.427v3.921a.839.839 0 1 1-1.678 0v-6.36c0-.359.235-.681.573-.796a.8.8 0 0 1 .26-.043c.26 0 .5.141.661.339l3.281 4.437v-3.937c0-.463.375-.843.839-.843s.844.38.844.843zm-7.656 0a.843.843 0 0 1-.844.839a.84.84 0 0 1-.833-.839v-6.36c0-.463.375-.843.839-.843s.839.38.839.843zm-3.287.839H6.557a.846.846 0 0 1-.844-.839v-6.36c0-.463.38-.843.844-.843s.839.38.839.843v5.521H9.74a.839.839 0 1 1 0 1.678M32 13.749C32 6.588 24.817.76 16 .76S0 6.588 0 13.749c0 6.417 5.693 11.792 13.38 12.813c.521.109 1.229.344 1.412.787c.161.4.104 1.02.052 1.443l-.219 1.359c-.063.401-.323 1.579 1.396.86c1.724-.719 9.224-5.437 12.583-9.303C30.901 19.193 32 16.609 32 13.749'/%3E%3C/svg%3E");
  --icon-threads: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M9.77 8.515c2.23-1.812 5.444-.845 5.823 2.135c.403 3.163-.4 5.67-3.52 5.67c-2.895 0-2.806-2.52-2.806-2.52c0-2.7 4.589-3.06 7.262-1.71c4.9 3.15 1.336 8.91-4.01 8.91C8.09 21 4.5 18.75 4.5 12s3.59-9 8.02-9c3.125 0 5.944 1.626 6.98 4.879'/%3E%3C/svg%3E");
  --icon-x: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='m17.687 3.063l-4.996 5.711l-4.32-5.711H2.112l7.477 9.776l-7.086 8.099h3.034l5.469-6.25l4.78 6.25h6.102l-7.794-10.304l6.625-7.571zm-1.064 16.06L5.654 4.782h1.803l10.846 14.34z'/%3E%3C/svg%3E");
  --icon-whatsapp: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='%2325D366' d='M19.05 4.91A9.82 9.82 0 0 0 12.04 2c-5.46 0-9.91 4.45-9.91 9.91c0 1.75.46 3.45 1.32 4.95L2.05 22l5.25-1.38c1.45.79 3.08 1.21 4.74 1.21c5.46 0 9.91-4.45 9.91-9.91c0-2.65-1.03-5.14-2.9-7.01m-7.01 15.24c-1.48 0-2.93-.4-4.2-1.15l-.3-.18l-3.12.82l.83-3.04l-.2-.31a8.26 8.26 0 0 1-1.26-4.38c0-4.54 3.7-8.24 8.24-8.24c2.2 0 4.27.86 5.82 2.42a8.18 8.18 0 0 1 2.41 5.83c.02 4.54-3.68 8.23-8.22 8.23m4.52-6.16c-.25-.12-1.47-.72-1.69-.81c-.23-.08-.39-.12-.56.12c-.17.25-.64.81-.78.97c-.14.17-.29.19-.54.06c-.25-.12-1.05-.39-1.99-1.23c-.74-.66-1.23-1.47-1.38-1.72c-.14-.25-.02-.38.11-.51c.11-.11.25-.29.37-.43s.17-.25.25-.41c.08-.17.04-.31-.02-.43s-.56-1.34-.76-1.84c-.2-.48-.41-.42-.56-.43h-.48c-.17 0-.43.06-.66.31c-.22.25-.86.85-.86 2.07s.89 2.4 1.01 2.56c.12.17 1.75 2.67 4.23 3.74c.59.26 1.05.41 1.41.52c.59.19 1.13.16 1.56.1c.48-.07 1.47-.6 1.67-1.18c.21-.58.21-1.07.14-1.18s-.22-.16-.47-.28'/%3E%3C/svg%3E");
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  padding: 20px 0;
}
.social-box ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0;
  padding: 0;
  list-style: none;
  gap: 10px;
}
.social-box ul li {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}
.social-box ul li a {
  z-index: 5;
  position: relative;
  width: 45px;
  height: 45px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #fff;
  font-size: 0;
}
.social-box ul li a svg {
  max-width: 25px;
}
.social-box ul li a::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 45px;
  height: 45px;
  z-index: 1;
  background-color: transparent;
  border: 1px solid rgba(255, 255, 255, 0.4);
  border-radius: 50px;
  -webkit-transition: border 0.5s, background-color 0.35s;
  transition: border 0.5s, background-color 0.35s;
}
.social-box ul li a::before {
  content: "";
  display: block;
  position: absolute;
  left: 10px;
  top: 10px;
  width: 25px;
  height: 25px;
  z-index: 5;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.footer .social-box ul li a::before {
  -webkit-filter: brightness(0) invert(1);
          filter: brightness(0) invert(1);
}

.pc .social-box ul li a:hover::before {
  -webkit-filter: brightness(0) invert(1);
          filter: brightness(0) invert(1);
}

.social-box ul li a.copy {
  color: #666;
}
.social-box ul li a.copy::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='currentColor' d='M11 17H7q-2.075 0-3.537-1.463T2 12t1.463-3.537T7 7h4v2H7q-1.25 0-2.125.875T4 12t.875 2.125T7 15h4zm-3-4v-2h8v2zm5 4v-2h4q1.25 0 2.125-.875T20 12t-.875-2.125T17 9h-4V7h4q2.075 0 3.538 1.463T22 12t-1.463 3.538T17 17z'/%3E%3C/svg%3E");
}
.social-box ul li a.copy:hover {
  color: #fff;
}
.social-box ul li a.copy:hover::after {
  border-color: #666;
  background-color: #666;
}
.social-box ul li a.fb {
  color: var(--color-fb);
}
.social-box ul li a.fb::before {
  background-image: var(--icon-fb);
}
.social-box ul li a.fb:hover {
  color: #fff;
}
.social-box ul li a.fb:hover::after {
  border-color: var(--color-fb);
  background-color: var(--color-fb);
}
.social-box ul li a.line {
  color: var(--color-line);
}
.social-box ul li a.line::before {
  background-size: 90% auto;
  background-image: var(--icon-line);
}
.social-box ul li a.line:hover {
  color: #fff;
}
.social-box ul li a.line:hover::after {
  border-color: var(--color-line);
  background-color: var(--color-line);
}
.social-box ul li a.yt {
  color: var(--color-yt);
}
.social-box ul li a.yt::before {
  background-image: var(--icon-yt);
}
.social-box ul li a.yt:hover {
  color: #fff;
}
.social-box ul li a.yt:hover::after {
  border-color: var(--color-yt);
  background-color: var(--color-yt);
}
.social-box ul li a.x {
  color: var(--color-x);
}
.social-box ul li a.x::before {
  background-image: var(--icon-x);
}
.social-box ul li a.x:hover {
  color: #fff;
}
.social-box ul li a.x:hover::after {
  border-color: #fff;
  background-color: var(--color-x);
}
.social-box ul li a.threads {
  color: var(--color-threads);
}
.social-box ul li a.threads::before {
  background-image: var(--icon-threads);
}
.social-box ul li a.threads:hover {
  color: #fff;
}
.social-box ul li a.threads:hover::after {
  border-color: #fff;
  background-color: var(--color-threads);
}
.social-box ul li a.whatsapp {
  color: var(--color-whatsapp);
}
.social-box ul li a.whatsapp::before {
  background-image: var(--icon-whatsapp);
}
.social-box ul li a.whatsapp:hover {
  color: #fff;
}
.social-box ul li a.whatsapp:hover::after {
  border-color: var(--color-whatsapp);
  background-color: var(--color-whatsapp);
}
.social-box ul li a.ig {
  color: var(--color-ig);
}
.social-box ul li a.ig::before {
  background-image: var(--icon-ig);
}
.social-box ul li a.ig:hover {
  color: #fff;
}
.social-box ul li a.ig:hover::after {
  border-color: var(--color-ig);
  background-color: var(--color-ig);
  background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285aeb 90%);
}
.social-box ul li a.tiktok {
  color: var(--color-tiktok);
}
.social-box ul li a.tiktok::before {
  background-image: var(--icon-tiktok);
}
.social-box ul li a.tiktok:hover {
  color: #fff;
}
.social-box ul li a.tiktok:hover::after {
  border-color: var(--color-tiktok);
  background-color: var(--color-tiktok);
  -webkit-box-shadow: 2px 2px 0px rgb(0, 242, 234), -2px -2px 0px rgb(255, 0, 80);
          box-shadow: 2px 2px 0px rgb(0, 242, 234), -2px -2px 0px rgb(255, 0, 80);
}
.social-box ul li a.linktree {
  color: var(--color-linktree);
}
.social-box ul li a.linktree::before {
  background-image: var(--icon-linktree);
}
.social-box ul li a.linktree:hover {
  color: #fff;
}
.social-box ul li a.linktree:hover::after {
  border-color: var(--color-linktree);
  background-color: var(--color-linktree);
}

/**
 * 分享
 */
.share-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0;
  padding: 0;
}
.share-box ul li a {
  width: 32px;
  height: 32px;
}
.share-box ul li a::after {
  width: 32px;
  height: 32px;
}
.share-box ul li a::before {
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  background-color: transparent;
  border: 1px solid transparent;
  -webkit-filter: brightness(0) invert(0) brightness(80%);
          filter: brightness(0) invert(0) brightness(80%);
}
.share-box ul li a::before:hover {
  -webkit-filter: none;
          filter: none;
}

/* 
 * Breadcrumb
 */
.breadcrumb {
  background-color: var(--color-blue);
  backdrop-filter: blur(6px);
  color: #fff;
  height: var(--h-breadcrumb);
  position: absolute;
  top: 0;
  left: 50%;
  z-index: 100;
  padding-top: 0;
  padding-bottom: 0;
  -webkit-transform: translate(-50%, 0);
      -ms-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
}
.is-no-pt .breadcrumb {
  -webkit-transform: translate(-50%, -100%);
      -ms-transform: translate(-50%, -100%);
          transform: translate(-50%, -100%);
  background-color: rgba(0, 91, 235, 0.6);
}

body:not(.is-no-pt) .breadcrumb {
  max-width: none !important;
}

.breadcrumb > ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}
@media (min-width: 640px) {
  .breadcrumb > ul li {
    min-width: max(15vw, 150px);
  }
  .breadcrumb > ul li.has-ul > a, .breadcrumb > ul li.has-ul > span {
    padding-right: 35px !important;
  }
  .breadcrumb > ul li.has-ul::after {
    content: "";
    display: block;
    width: 24px;
    height: 24px;
    position: absolute;
    top: calc(var(--h-breadcrumb) * 0.5);
    right: 5px;
    margin-top: -12px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m7 10l5 5l5-5'/%3E%3C/svg%3E") no-repeat center center/contain;
  }
  .breadcrumb > ul li.has-ul.is-open > ul {
    display: block;
    -webkit-animation: ani_fade_in 0.35s both;
            animation: ani_fade_in 0.35s both;
  }
  .pc .breadcrumb > ul li.has-ul:hover > ul {
    display: block;
    -webkit-animation: ani_fade_in 0.35s both;
            animation: ani_fade_in 0.35s both;
  }
}
@media (min-width: 640px) and (max-width: 991px) {
  .breadcrumb > ul li {
    min-width: max(15vw, 80px);
  }
  .breadcrumb > ul li.has-ul > a, .breadcrumb > ul li.has-ul > span {
    padding-right: 25px !important;
  }
  .breadcrumb > ul li.has-ul::after {
    width: 18px;
    height: 18px;
    margin-top: -9px;
  }
}
.breadcrumb > ul > li {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}
.breadcrumb > ul > li:before {
  content: "";
  display: block;
  height: 1em;
  width: 1px;
  background-color: rgba(255, 255, 255, 0.5);
  position: absolute;
  left: -1px;
  top: 50%;
  margin-top: -0.5em;
}
.breadcrumb > ul > li.home {
  min-width: auto;
}
.breadcrumb > ul > li.home > a {
  padding: 0 15px;
}
.breadcrumb > ul > li.home > a svg {
  width: 18px;
}
.breadcrumb > ul > li.home::before {
  display: none;
}
.breadcrumb > ul > li > span, .breadcrumb > ul > li > a {
  line-height: var(--h-breadcrumb);
  padding: 0 25px;
  color: #fff;
  cursor: pointer;
  display: block;
}
.breadcrumb > ul > li ul, .breadcrumb .breadcrumb-submenu ul {
  position: absolute;
  left: 0;
  top: var(--h-breadcrumb);
  width: 100%;
  background-color: var(--color-blue-dark);
  -webkit-box-shadow: 0 0 20px rgba(0, 0, 0, 0.15);
          box-shadow: 0 0 20px rgba(0, 0, 0, 0.15);
  display: none;
  overflow-y: auto;
  max-height: 90vh;
}
.breadcrumb > ul > li ul > li, .breadcrumb .breadcrumb-submenu ul > li {
  display: block;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}
.breadcrumb > ul > li ul > li:first-child, .breadcrumb .breadcrumb-submenu ul > li:first-child {
  border-top: none;
}
.breadcrumb > ul > li ul > li > a, .breadcrumb .breadcrumb-submenu ul > li > a {
  display: block;
  color: #fff;
  font-size: 0.9375rem;
  line-height: 1.4;
  padding: 13px 15px;
}
.pc .breadcrumb > ul > li ul > li:hover, .pc .breadcrumb .breadcrumb-submenu ul > li:hover {
  background-color: rgba(255, 255, 255, 0.1);
}

@media (max-width: 991px) {
  .breadcrumb {
    padding: 0;
  }
  .breadcrumb > ul > li > span, .breadcrumb > ul > li > a {
    font-size: 0.875rem;
    padding: 0 15px;
  }
  .breadcrumb > ul > li ul > li > span, .breadcrumb > ul > li ul > li > a, .breadcrumb .breadcrumb-submenu ul > li > span, .breadcrumb .breadcrumb-submenu ul > li > a {
    font-size: 0.875rem;
    padding: 8px 15px;
  }
}
@media (max-width: 639px) {
  .breadcrumb {
    overflow: hidden;
  }
  .breadcrumb > ul > li > span, .breadcrumb > ul > li > a {
    font-size: 0.75rem;
    padding: 0 12px;
  }
  .breadcrumb > ul > li ul > li > span, .breadcrumb > ul > li ul > li > a, .breadcrumb .breadcrumb-submenu ul > li > span, .breadcrumb .breadcrumb-submenu ul > li > a {
    font-size: 0.75rem;
    padding: 8px 12px;
  }
}

/* 
 * Pagination
 */
.pagination {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0 8px;
  text-align: center;
  padding-top: max(2vw, 20px);
  padding-bottom: max(3vw, 40px);
}
.pagination .disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.pagination__prev, .pagination__next {
  font-size: 0;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 38px;
          flex: 0 0 38px;
  width: 38px;
  height: 38px;
  line-height: 38px;
  border-radius: 50px;
  text-align: center;
  color: #000;
  background-color: #fff;
  border: 1px solid #000;
  -webkit-transition: color 0.3s, background-color 0.3s;
  transition: color 0.3s, background-color 0.3s;
}
.pagination__prev:after, .pagination__next:after {
  position: absolute;
  top: 50%;
  content: "";
  margin-top: -5px;
  display: inline-block;
  width: 10px;
  height: 10px;
  border-style: solid;
  border-color: #000 #000 transparent transparent;
  border-width: 1px 1px 0 0;
  -webkit-transition: width 0.3s;
  transition: width 0.3s;
}
.pagination__prev:hover, .pagination__next:hover {
  background-color: #f0f0f0;
}
.pagination__prev {
  margin-right: 10px;
}
.pagination__prev::after {
  left: 55%;
  margin-left: -5px;
  -webkit-transform: rotate(-135deg);
      -ms-transform: rotate(-135deg);
          transform: rotate(-135deg);
}
.pagination__next {
  margin-left: 10px;
}
.pagination__next::after {
  right: 55%;
  margin-right: -5px;
  -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
          transform: rotate(45deg);
}
.pagination__number {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 38px;
          flex: 0 0 38px;
  width: 38px;
  height: 38px;
  line-height: 38px;
  display: inline-block;
  position: relative;
  color: #222;
  white-space: nowrap;
  margin: 0 1px;
  font-size: 0.875rem;
  border-radius: 50px;
  background-color: #fff;
  border: 1px solid #fff;
}
.pagination__number:hover {
  color: var(--color-blue);
  background-color: #f0f0f0;
}
.pagination__number.is-active {
  color: #fff;
  border: 1px solid var(--color-blue);
  background-color: var(--color-blue);
}

@media (max-width: 499px) {
  .pagination {
    gap: 0 1px;
  }
  .pagination__prev, .pagination__next, .pagination__number {
    width: 34px;
    height: 34px;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 34px;
            flex: 0 0 34px;
    line-height: 32px;
  }
  .pagination__prev::after, .pagination__next::after {
    width: 9px;
    height: 9px;
  }
  .pagination__next::after {
    left: unset;
  }
}
/* 
 * 編輯器
 * ⚠️此檔不寫RWD與動畫，另至_editor_rwd.scss⚠️
 */
/* 
 * 預設通用樣式
 */
body {
  padding: 0;
}

.cke_editable {
  padding: 10px;
  background: #fff;
}
.cke_editable *,
.cke_editable *::after,
.cke_editable *::before {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.cke_editable img {
  height: auto !important;
  max-width: 100%;
}

.cke_widget_inline {
  vertical-align: top;
}

.c-editor,
.cke_editable {
  font-family: var(--ff-def);
  line-height: 1.8;
  font-weight: 420;
  color: #444;
  font-size: clamp(1rem, 0.9115853659rem + 0.243902439vw, 1.125rem);
}
.c-editor figure,
.cke_editable figure {
  line-height: unset;
  display: block;
  padding: 0;
  margin: 0 auto 2rem;
  text-align: left;
}
.c-editor figure img,
.cke_editable figure img {
  width: 100%;
}
.c-editor figure.c-editor__image,
.cke_editable figure.c-editor__image {
  margin-bottom: inhert;
}
.c-editor figure.c-editor__image figcaption,
.cke_editable figure.c-editor__image figcaption {
  margin: 0.5rem 0 0 0;
  text-align: left;
}
.c-editor figcaption,
.cke_editable figcaption {
  display: block;
  margin: 0.5rem 0 1.25rem 0;
  font-size: 0.9375rem;
  color: #888;
}
.c-editor img,
.cke_editable img {
  line-height: 0;
  display: inline-block;
  max-width: 100% !important;
  height: auto !important;
  -o-object-fit: unset !important;
     object-fit: unset !important;
}
.c-editor p,
.cke_editable p {
  margin-top: 0;
  margin-bottom: 1em;
}
.c-editor p + .c-editor__title,
.c-editor p + .c-editor__subtitle,
.cke_editable p + .c-editor__title,
.cke_editable p + .c-editor__subtitle {
  margin-top: 2rem !important;
}
.c-editor ol,
.c-editor ul,
.cke_editable ol,
.cke_editable ul {
  margin-top: 0;
  margin-bottom: 1em;
}
.c-editor ol + .c-editor__title,
.c-editor ol + .c-editor__subtitle,
.c-editor ul + .c-editor__title,
.c-editor ul + .c-editor__subtitle,
.cke_editable ol + .c-editor__title,
.cke_editable ol + .c-editor__subtitle,
.cke_editable ul + .c-editor__title,
.cke_editable ul + .c-editor__subtitle {
  margin-top: max(2.5vw, var(--gap)) !important;
}
.c-editor h1,
.c-editor h2,
.c-editor h3,
.c-editor h4,
.c-editor h5,
.c-editor h6,
.cke_editable h1,
.cke_editable h2,
.cke_editable h3,
.cke_editable h4,
.cke_editable h5,
.cke_editable h6 {
  display: block;
  line-height: 1.2;
  margin: 0 0 1rem;
  padding: 0;
}
.c-editor h1 span,
.c-editor h2 span,
.c-editor h3 span,
.c-editor h4 span,
.c-editor h5 span,
.c-editor h6 span,
.cke_editable h1 span,
.cke_editable h2 span,
.cke_editable h3 span,
.cke_editable h4 span,
.cke_editable h5 span,
.cke_editable h6 span {
  font-size: inherit;
}
.c-editor h1,
.c-editor .h1,
.cke_editable h1,
.cke_editable .h1 {
  font-size: var(--fs-h1);
}
.c-editor h2,
.c-editor .h2,
.cke_editable h2,
.cke_editable .h2 {
  font-size: var(--fs-h2);
}
.c-editor h3,
.c-editor .h3,
.cke_editable h3,
.cke_editable .h3 {
  font-size: var(--fs-h3);
}
.c-editor h4,
.c-editor .h4,
.cke_editable h4,
.cke_editable .h4 {
  font-size: var(--fs-h4);
}
.c-editor h5,
.c-editor .h5,
.cke_editable h5,
.cke_editable .h5 {
  font-size: var(--fs-h5);
}
.c-editor h6,
.c-editor .h6,
.cke_editable h6,
.cke_editable .h6 {
  font-size: var(--fs-h6);
}
.c-editor small,
.cke_editable small {
  font-size: 0.9375em;
}
.c-editor blockquote,
.cke_editable blockquote {
  padding: 10px 20px;
  margin: 0 0 20px;
  font-size: 17.5px;
  border-left: 5px solid #ddd;
}
.c-editor p,
.cke_editable p {
  margin: 0 0 1rem;
}
.c-editor p + *:not(p),
.cke_editable p + *:not(p) {
  margin-top: 2rem;
}
.c-editor strong,
.cke_editable strong {
  font-weight: 600;
}
.c-editor video,
.c-editor embed,
.c-editor iframe,
.cke_editable video,
.cke_editable embed,
.cke_editable iframe {
  width: 100%;
  max-width: 100% !important;
}
.c-editor iframe[src*=youtube],
.cke_editable iframe[src*=youtube] {
  aspect-ratio: 16/9 !important;
}
.c-editor a,
.cke_editable a {
  text-decoration: underline;
  color: #005CEC;
}
.c-editor a:hover,
.cke_editable a:hover {
  color: #297cfa;
  text-decoration: none;
}
.c-editor table,
.cke_editable table {
  width: 100%;
  border-collapse: collapse;
  font-size: 1rem;
}
.c-editor table tr,
.cke_editable table tr {
  border-bottom: 1px solid #ddd;
}
.c-editor table th,
.c-editor table td,
.cke_editable table th,
.cke_editable table td {
  padding: 10px 15px;
  font-size: inherit;
}
.c-editor table th,
.cke_editable table th {
  width: 16.6667%;
  max-width: 200px;
  min-width: 100px;
  font-weight: 450;
}
.c-editor table thead th,
.cke_editable table thead th {
  color: #111;
  background: #ddd;
  border-bottom: 1px solid #ccc;
}
.c-editor table tbody th,
.cke_editable table tbody th {
  background: #f2f2f2;
}
.c-editor ul:not(.no-style),
.cke_editable ul:not(.no-style) {
  margin: 0 0 0 0.25em;
  padding: 0;
  list-style: none;
}
.c-editor ul:not(.no-style) > li,
.cke_editable ul:not(.no-style) > li {
  position: relative;
  margin: 0.1em 0;
  padding-left: 1em;
}
.c-editor ul:not(.no-style) > li::before,
.cke_editable ul:not(.no-style) > li::before {
  content: "";
  position: absolute;
  left: 2px;
  top: 0.8em;
  display: block;
  width: 4px;
  height: 4px;
  background-color: #666;
  border-radius: 50px;
}
.c-editor ul:not(.no-style) > li > ul > li,
.c-editor ul:not(.no-style) > li > ol > li,
.cke_editable ul:not(.no-style) > li > ul > li,
.cke_editable ul:not(.no-style) > li > ol > li {
  margin: 5px 0 5px;
}
.c-editor ul:not(.no-style).step > li,
.cke_editable ul:not(.no-style).step > li {
  counter-increment: step;
  vertical-align: middle;
}
.c-editor ul:not(.no-style).step > li::before,
.cke_editable ul:not(.no-style).step > li::before {
  background: none;
  width: auto;
  height: auto;
  top: 0;
  left: 0;
  border: none;
  content: counter(step);
}
.c-editor ol:not(.no-style),
.cke_editable ol:not(.no-style) {
  list-style-image: url(data:0);
  list-style: decimal;
  margin: 0 0 0 0.2rem;
  padding: 0 0 0 1.4em;
  counter-reset: newcounter;
}
.c-editor ol:not(.no-style) + *,
.cke_editable ol:not(.no-style) + * {
  margin-top: 2rem;
}
.c-editor ol:not(.no-style) > li,
.cke_editable ol:not(.no-style) > li {
  position: relative;
  padding: 0 0 0 0.1em;
  margin: 0.25em 0 0.25em -0.4em;
  display: list-item;
  list-style-position: outside;
}
.c-editor ol:not(.no-style) > li > ul > li,
.cke_editable ol:not(.no-style) > li > ul > li {
  margin: 5px 0 5px;
}
.c-editor ol:not(.no-style) > li > ol,
.cke_editable ol:not(.no-style) > li > ol {
  margin: 0 0 0.5em 0.9em;
  padding: 0 0 0 1em;
}
.c-editor ol:not(.no-style) > li > ol > li,
.cke_editable ol:not(.no-style) > li > ol > li {
  position: relative;
  padding: 0;
  margin: 5px 0 5px;
  display: block;
}
.c-editor ol:not(.no-style) > li > ol > li:first-of-type,
.cke_editable ol:not(.no-style) > li > ol > li:first-of-type {
  counter-reset: newcounter;
}
.c-editor ol:not(.no-style) > li > ol > li::before,
.cke_editable ol:not(.no-style) > li > ol > li::before {
  width: 1.9rem;
  position: absolute;
  top: 0;
  left: -2.2rem;
  text-align: center;
  white-space: nowrap;
  counter-increment: newcounter;
  content: "(" counter(newcounter) ")";
}
.c-editor ol + .c-editor__title,
.c-editor ol + .c-editor__subtitle,
.c-editor ul + .c-editor__title,
.c-editor ul + .c-editor__subtitle,
.c-editor p + .c-editor__title,
.c-editor p + .c-editor__subtitle,
.cke_editable ol + .c-editor__title,
.cke_editable ol + .c-editor__subtitle,
.cke_editable ul + .c-editor__title,
.cke_editable ul + .c-editor__subtitle,
.cke_editable p + .c-editor__title,
.cke_editable p + .c-editor__subtitle {
  margin-top: 2.5rem;
}

.editor-table {
  display: block;
  width: 100%;
  position: relative;
  overflow-y: hidden;
  overflow-x: auto;
  border: 1px solid #ccc;
  margin-bottom: var(--gap);
}
.editor-table::after {
  position: absolute;
  content: url("data:image/svg+xml,%3Csvg  xmlns='http://www.w3.org/2000/svg'  width='24'  height='24'  viewBox='0 0 24 24'  fill='none'  stroke='%23333'  stroke-width='2'  stroke-linecap='round'  stroke-linejoin='round'  class='icon icon-tabler icons-tabler-outline icon-tabler-caret-left-right'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'/%3E%3Cpath d='M14 18l6 -6l-6 -6v12' /%3E%3Cpath d='M10 18l-6 -6l6 -6v12' /%3E%3C/svg%3E");
  width: 25px;
  height: 25px;
  pointer-events: none;
  line-height: 1;
  z-index: 20;
  display: block;
  top: 8px;
  right: 20px;
  opacity: 0;
  -webkit-animation: ani_lr 1.2s both linear infinite;
          animation: ani_lr 1.2s both linear infinite;
  -webkit-transition: opacity 0.25s;
  transition: opacity 0.25s;
}
.editor-table.need-scroll::after {
  opacity: 0.9;
}

/**
 * Theme - 通用
 */
.c-editor video,
.c-editor embed,
.c-editor iframe {
  width: 100%;
  max-width: 100% !important;
  height: auto !important;
  aspect-ratio: 16/9 !important;
}
.c-editor__container {
  margin: 0 auto max(3vw, 30px);
  max-width: calc(var(--w-container-sm) + var(--gap) * 2);
  width: 100%;
}
.c-editor__content {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
.c-editor__slogan {
  font-weight: 550;
  font-size: clamp(1.5rem, 1.0137195122rem + 1.3414634146vw, 2.1875rem);
  display: block;
  margin: 0.2em 0;
  padding: 0;
  line-height: 1.2;
  text-transform: uppercase;
  color: #222;
}
.c-editor__slogan h1,
.c-editor__slogan h2,
.c-editor__slogan h3,
.c-editor__slogan h4,
.c-editor__slogan h5,
.c-editor__slogan h6 {
  font: inherit;
}
.c-editor__slogan.text-center {
  text-align: center;
}
.c-editor h1.c-editor__slogan,
.c-editor h2.c-editor__slogan,
.c-editor h3.c-editor__slogan,
.c-editor h4.c-editor__slogan,
.c-editor h5.c-editor__slogan,
.c-editor h6.c-editor__slogan {
  font-weight: 550;
  font-size: clamp(1.5rem, 1.0137195122rem + 1.3414634146vw, 2.1875rem);
  display: block;
  margin: 0.2em 0;
  padding: 0;
  line-height: 1.2;
  text-transform: uppercase;
  color: #222;
}
.c-editor__title {
  font-weight: 650;
  font-size: clamp(1.25rem, 0.8963414634rem + 0.9756097561vw, 1.75rem);
  display: block;
  margin: 0.5em 0;
  padding: 0;
  line-height: 1.4;
  color: #222;
}
.c-editor__title h1,
.c-editor__title h2,
.c-editor__title h3,
.c-editor__title h4,
.c-editor__title h5,
.c-editor__title h6 {
  font: inherit;
}
.c-editor__title + .c-editor__subtitle {
  margin-top: -0.25rem !important;
}
.c-editor h1.c-editor__title,
.c-editor h2.c-editor__title,
.c-editor h3.c-editor__title,
.c-editor h4.c-editor__title,
.c-editor h5.c-editor__title,
.c-editor h6.c-editor__title {
  font-weight: 650;
  font-size: clamp(1.25rem, 0.8963414634rem + 0.9756097561vw, 1.75rem);
  display: block;
  margin: 0.5em 0;
  padding: 0;
  line-height: 1.4;
  color: #222;
}
.c-editor__subtitle {
  font-weight: 600;
  font-size: clamp(1.125rem, 1.0807926829rem + 0.1219512195vw, 1.1875rem);
  display: block;
  margin: 0.5em 0;
  padding: 0;
  line-height: 1.4;
  color: var(--color-blue);
}
.c-editor__subtitle h1,
.c-editor__subtitle h2,
.c-editor__subtitle h3,
.c-editor__subtitle h4,
.c-editor__subtitle h5,
.c-editor__subtitle h6 {
  font: inherit;
}
.c-editor h1.c-editor__subtitle,
.c-editor h2.c-editor__subtitle,
.c-editor h3.c-editor__subtitle,
.c-editor h4.c-editor__subtitle,
.c-editor h5.c-editor__subtitle,
.c-editor h6.c-editor__subtitle {
  font-weight: 600;
  font-size: clamp(1.125rem, 1.0807926829rem + 0.1219512195vw, 1.1875rem);
  display: block;
  margin: 0.5em 0;
  padding: 0;
  line-height: 1.4;
  color: var(--color-blue);
}
.c-editor__text {
  margin: 0;
  padding: 0;
  color: inherit;
  line-height: 1.8;
}
.c-editor__image {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.c-editor__image img {
  overflow: hidden;
}

/* 
 * 前後台 客製樣式與樣板
 */
.c-editor.l-pic-r-txt {
  gap: 0 max(3.5vw, var(--gap));
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.c-editor.l-pic-r-txt .c-editor__image {
  max-width: 690px;
  -webkit-box-flex: 1;
      -ms-flex: 1 0 50%;
          flex: 1 0 50%;
  justify-self: flex-start;
}
.c-editor.l-pic-r-txt .c-editor__content {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
.c-editor.r-pic-l-txt {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  gap: 0 max(3.5vw, var(--gap));
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.c-editor.r-pic-l-txt .c-editor__image {
  max-width: 690px;
  -webkit-box-flex: 1;
      -ms-flex: 1 0 50%;
          flex: 1 0 50%;
  justify-self: flex-end;
}
.c-editor.r-pic-l-txt .c-editor__content {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
.c-editor.full-pic {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.c-editor.full-pic .c-editor__image {
  text-align: center;
  width: auto;
  margin-right: 0;
  margin-bottom: 1.5rem;
  margin-left: calc(var(--gap) * -1);
  margin-right: calc(var(--gap) * -1);
}
.c-editor.full-pic .c-editor__image img {
  width: 100%;
}
.c-editor.full-pic .c-editor__content {
  margin-bottom: max(1.5vw, var(--gap));
}
.c-editor.mutiple-columns {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0 30px;
  padding: 0;
}
.c-editor.mutiple-columns > * {
  display: inline-block;
  vertical-align: top;
  width: calc(33.3333333333% - 30px);
  margin: 0 0 20px;
  height: auto !important;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.c-editor.mutiple-columns > *:first-child {
  margin-left: 0;
}
.c-editor.mutiple-columns > *:last-child {
  margin-right: 0;
}
.c-editor.mutiple-columns.is-text {
  max-width: 100%;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.c-editor.mutiple-columns.is-text > * {
  width: auto !important;
  -webkit-box-flex: 1 !important;
      -ms-flex: 1 1 auto !important;
          flex: 1 1 auto !important;
  min-width: 25% !important;
}
.c-editor.mutiple-columns img {
  width: 100%;
  display: inline-block;
  text-align: center;
  margin-bottom: 10px;
}
.c-editor.mutiple-columns .c-editor__title {
  font-size: clamp(1.25rem, 1.1173780488rem + 0.3658536585vw, 1.4375rem);
}
.c-editor.mutiple-columns h1.c-editor__title,
.c-editor.mutiple-columns h2.c-editor__title,
.c-editor.mutiple-columns h3.c-editor__title,
.c-editor.mutiple-columns h4.c-editor__title,
.c-editor.mutiple-columns h5.c-editor__title,
.c-editor.mutiple-columns h6.c-editor__title {
  font-size: clamp(1.25rem, 1.1173780488rem + 0.3658536585vw, 1.4375rem);
}

/* 
 * 編輯器RWD與動畫 
 */
@media (max-width: 1279px) {
  .c-editor.l-pic-r-txt .c-editor__image {
    max-width: 650px;
    -webkit-box-flex: 1;
        -ms-flex: 1 1 50%;
            flex: 1 1 50%;
  }
  .c-editor.r-pic-l-txt .c-editor__image {
    max-width: 650px;
    -webkit-box-flex: 1;
        -ms-flex: 1 1 50%;
            flex: 1 1 50%;
  }
}
@media (max-width: 991px) {
  .c-editor.mutiple-columns.is-text {
    display: block;
  }
  .c-editor.mutiple-columns.is-text > * {
    display: block;
    margin-bottom: var(--gap);
  }
}
@media (max-width: 767px) {
  .c-editor__container {
    display: block;
  }
  .c-editor.l-pic-r-txt, .c-editor.r-pic-l-txt {
    display: block;
    max-width: 630px;
    gap: 0;
  }
  .c-editor.l-pic-r-txt .c-editor__image, .c-editor.r-pic-l-txt .c-editor__image {
    display: block;
    padding: 0;
    margin: 0 auto max(1.5vw, 30px);
    max-width: 100%;
    text-align: center;
  }
  .c-editor.l-pic-r-txt .c-editor__content, .c-editor.r-pic-l-txt .c-editor__content {
    padding: 0;
    width: 100%;
    max-width: none;
  }
  .c-editor.mutiple-columns {
    gap: 0 20px;
  }
  .c-editor.mutiple-columns > * {
    width: calc(33.3333333333% - 20px);
  }
}
@media (max-width: 579px) {
  .c-editor.mutiple-columns {
    margin: 0;
  }
  .c-editor.mutiple-columns > * {
    width: 100%;
    margin: 0 0 20px;
  }
}
@-webkit-keyframes ani_lr {
  0%, 100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  50% {
    -webkit-transform: translateX(35%);
            transform: translateX(35%);
  }
}
@keyframes ani_lr {
  0%, 100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  50% {
    -webkit-transform: translateX(35%);
            transform: translateX(35%);
  }
}
/* 
 * Index kanban
 */
.index {
  background-color: #00499C;
}

.kanban__carousel-wrap {
  background-color: #000;
  overflow: hidden;
  max-width: 100vw;
  width: 100%;
}
.kanban__carousel-wrap .swiper-slide .carousel__text {
  display: none;
}
.kanban__carousel-wrap .swiper-button-prev.swiper-button-disabled, .kanban__carousel-wrap .swiper-button-next.swiper-button-disabled {
  display: none;
}
.kanban__carousel-wrap .carousel__control {
  margin-top: 25px;
}
.kanban__carousel-wrap .carousel__control .swiper-button-prev, .kanban__carousel-wrap .carousel__control .swiper-button-next {
  background-color: rgba(0, 0, 0, 0.35) !important;
}
.kanban__carousel-wrap .carousel__scrolldown {
  width: max(2.5vw, 30px);
  aspect-ratio: 46/65;
  background: url(../images/scrolldown.png) no-repeat center center/contain;
  position: absolute;
  left: 50%;
  -webkit-transform: translate(-50%, 0);
      -ms-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  bottom: 20px;
  z-index: 5;
  pointer-events: none;
}
.kanban__carousel-wrap .carousel__media {
  display: block;
  aspect-ratio: 1920/960;
  max-height: 100vh;
  width: 100%;
  min-height: 36vw;
}
.kanban__carousel-wrap .carousel__media > * {
  width: 100%;
  height: 100%;
  position: absolute;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
  top: 0;
  left: 0;
  z-index: 5;
  -webkit-transition: -webkit-filter 0.35s;
  transition: -webkit-filter 0.35s;
  transition: filter 0.35s;
  transition: filter 0.35s, -webkit-filter 0.35s;
}
.kanban__carousel-wrap .carousel__media source {
  pointer-events: none;
}
.kanban__carousel-wrap .carousel__media img {
  z-index: 0;
  -webkit-filter: brightness(0.8);
          filter: brightness(0.8);
}
.kanban__carousel-wrap .carousel__display {
  max-width: calc(100% - var(--gap) * 2);
  max-height: calc(100% - var(--h-header) * 2);
  min-height: 21vw;
  z-index: 15;
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  top: calc(50% + var(--h-header) * 0.5);
  left: 50%;
  width: min(var(--w-container) * 0.6 + var(--gap) * 2, 60%);
  -webkit-transform: translate(-90%, -50%);
      -ms-transform: translate(-90%, -50%);
          transform: translate(-90%, -50%);
}
.kanban__carousel-wrap .carousel__display .carousel__text {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
.kanban__carousel-wrap .carousel__text {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  color: rgba(255, 255, 255, 0.8);
  font-size: 0.9375rem;
  line-height: 1.8;
}
.kanban__carousel-wrap .carousel__text .btn-more {
  --h-btn: 45px;
  margin-top: 10px;
  padding-right: 8px;
}
.kanban__carousel-wrap .carousel__text .btn-more .icon {
  -ms-flex-preferred-size: calc(var(--h-btn) - 16px);
      flex-basis: calc(var(--h-btn) - 16px);
}
.kanban__carousel-wrap .carousel__brief {
  max-width: 550px;
}
.kanban__carousel-wrap .carousel__title {
  font-size: clamp(1.375rem, -0.2164634146rem + 4.3902439024vw, 3.625rem);
  font-weight: 800;
  line-height: 1.2;
  text-transform: uppercase;
  margin: 0 0 var(--gap) 0;
  color: rgb(255, 255, 255);
}
.kanban__carousel-wrap .swiper-slide-active .carousel__media img {
  -webkit-animation: ani_kanban_in 2s cubic-bezier(0.4, 0, 0.2, 1) both;
          animation: ani_kanban_in 2s cubic-bezier(0.4, 0, 0.2, 1) both;
}
@media (max-width: 1499px) {
  .kanban__carousel-wrap .carousel__display {
    width: calc(70% - var(--gap) * 2);
    -webkit-transform: translate(-70%, -50%);
        -ms-transform: translate(-70%, -50%);
            transform: translate(-70%, -50%);
    padding-top: calc(var(--h-header) * 0.5);
  }
}
@media (max-width: 1199px) {
  .kanban__carousel-wrap .carousel__display {
    top: 50%;
    width: calc(100% - var(--gap) * 2);
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
  .kanban__carousel-wrap .carousel__title {
    font-size: clamp(1.375rem, 0.5792682927rem + 2.1951219512vw, 2.5rem);
  }
}
@media (min-width: 768px) {
  .kanban__carousel-wrap > .swiper-button-next.round, .kanban__carousel-wrap .swiper-button-prev.round {
    display: none !important;
  }
}
@media (max-width: 767px) {
  .kanban__carousel-wrap .carousel__media {
    aspect-ratio: 900/600;
    min-height: 400px;
  }
  .kanban__carousel-wrap .carousel__title {
    font-size: clamp(1.375rem, 0.756097561rem + 1.7073170732vw, 2.25rem);
  }
  .kanban__carousel-wrap .carousel__text {
    font-size: 0.875rem;
    line-height: 1.4;
  }
  .kanban__carousel-wrap .carousel__text .btn-more {
    --h-btn: 35px;
    min-width: 150px;
    padding-right: 5px;
    padding-left: 15px;
  }
  .kanban__carousel-wrap .carousel__text .btn-more .icon {
    -ms-flex-preferred-size: calc(var(--h-btn) - 10px);
        flex-basis: calc(var(--h-btn) - 10px);
  }
  .kanban__carousel-wrap .carousel__control {
    display: none;
  }
  .kanban__carousel-wrap > .swiper-button-next.round, .kanban__carousel-wrap .swiper-button-prev.round {
    width: 35px;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    border-color: rgba(255, 255, 255, 0.55) !important;
    z-index: 15;
    position: absolute;
    background-color: rgba(0, 0, 0, 0.15);
  }
  .kanban__carousel-wrap > .swiper-button-next.round::after, .kanban__carousel-wrap .swiper-button-prev.round::after {
    -webkit-filter: brightness(0) invert(1);
            filter: brightness(0) invert(1);
  }
  .kanban__carousel-wrap > .swiper-button-next.round {
    right: 5px;
  }
  .kanban__carousel-wrap > .swiper-button-prev.round {
    left: 5px;
  }
}
@media (max-width: 499px) {
  .kanban__carousel-wrap .carousel__title {
    font-size: clamp(1.25rem, 0.5868902439rem + 1.8292682927vw, 2.1875rem);
    margin-bottom: 10px;
  }
  .kanban__carousel-wrap .carousel__display {
    top: 50%;
  }
  .kanban__carousel-wrap .carousel__scrolldown {
    display: none;
  }
}

.kanban__carousel:not(.swiper-initialized) .swiper-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.kanban__carousel:not(.swiper-initialized) .swiper-slide {
  opacity: 0;
}

.index:not(.is-video-playing) .kanban__carousel-wrap .carousel__media .plyr {
  -webkit-filter: brightness(0.6);
          filter: brightness(0.6);
}

.is-video-playing .kanban__carousel-wrap .carousel__display {
  opacity: 0.6;
}

@media (min-width: 992px) {
  .is-video-playing:not(.is-fixed-header) .header {
    opacity: 0;
  }
}
/* 
 * Index About
 */
.i-about {
  padding-top: max(5vw, 35px);
  padding-bottom: max(6.8vw, 50px);
  z-index: 1;
  background-color: #fff;
}
.i-about .container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 calc(var(--gap) * 2);
  z-index: 5;
}
.i-about .container::after {
  content: "";
  display: block;
  position: absolute;
  width: max(100px, 10.2vw);
  aspect-ratio: 194/174;
  background: url(../images/i_aw1.svg) no-repeat center center/contain;
  right: 0;
  bottom: 0;
  -webkit-transform: translate(-120%, 120%);
      -ms-transform: translate(-120%, 120%);
          transform: translate(-120%, 120%);
}
.i-about .text-marquee {
  bottom: max(1vw, 25px);
  overflow: hidden;
  max-width: 100vw;
}
.i-about .subhead .text-sm {
  margin-bottom: 15px;
}
.i-about .subhead .text-lg {
  font-size: clamp(1.5625rem, 0.8109756098rem + 2.0731707317vw, 2.625rem);
  line-height: 1.4;
}
.i-about__left {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}
.i-about__left .img {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  height: 100%;
  width: calc(100% + var(--gap-leave));
  max-width: none;
  aspect-ratio: 960/700;
}
.i-about__left .img::after {
  content: "";
  display: block;
  position: absolute;
  top: -1vw;
  right: 1.6vw;
  width: 37%;
  height: 75%;
  background-color: rgba(1, 90, 231, 0.3);
  z-index: 0;
  -webkit-transform: skewX(-12deg);
      -ms-transform: skewX(-12deg);
          transform: skewX(-12deg);
}
.i-about__left .img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  z-index: 5;
  clip-path: polygon(0 0.2%, 99.8% 0.2%, 85% 99.8%, 0 99.8%);
}
.i-about__right {
  overflow: hidden;
}
.i-about__right .btn-more {
  margin-top: 15px;
}
@media (max-width: 1199px) {
  .i-about .i-about__left {
    -ms-flex-preferred-size: 30%;
        flex-basis: 30%;
  }
}
@media (max-width: 767px) {
  .i-about .container {
    display: block;
  }
  .i-about .i-about__left {
    margin-bottom: var(--gap);
    display: none;
  }
  .i-about .i-about__left .img {
    width: 100%;
  }
  .i-about .i-about__left .img::after {
    top: -15px;
    right: -15px;
    -webkit-transform: skewX(0);
        -ms-transform: skewX(0);
            transform: skewX(0);
  }
  .i-about .i-about__left .img img {
    clip-path: none;
  }
  .i-about .i-about__right .subhead {
    text-align: center;
  }
  .i-about .i-about__right .btn-more {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    max-width: 250px;
    margin: 15px auto 0;
  }
}

/**
 * Index Business
 */
.i-business {
  padding-top: max(4vw, 45px);
  padding-bottom: max(3.85vw, 45px);
  z-index: 2;
  overflow: hidden;
}
.i-business__top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  color: #fff;
  gap: 0 max(6.25vw, 25px);
}
.i-business__top .subhead {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  margin: 0;
  padding: 0;
}
.i-business__top .subhead .text-sm {
  color: #fff;
}
.i-business__top .subhead .text-lg {
  color: #fff;
  font-size: clamp(1.5625rem, 0.2804878049rem + 3.5365853659vw, 3.375rem);
}
.i-business__top .brief {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  margin: 0;
  color: inherit;
}
.i-business__top .brief span {
  display: inline-block;
  max-width: 590px;
}
.i-business__top .btn-outline {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  font-size: 0.9375rem;
  min-width: auto;
  width: auto;
  line-height: 45px;
  height: 45px;
  padding: 0 1em;
}
@media (max-width: 767px) {
  .i-business__top .btn-outline {
    display: none;
  }
}
@media (max-width: 579px) {
  .i-business__top {
    display: block;
    text-align: center;
  }
  .i-business__top .subhead {
    margin-bottom: 15px;
  }
}
@media (max-width: 579px) {
  .i-business {
    padding-bottom: 15px;
    padding-bottom: 15px;
  }
}

.i-business__carousel-wrap {
  margin: 35px auto 0;
}
.i-business__carousel-wrap .carousel__control {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 35px auto 0;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media (min-width: 768px) {
  .i-business__carousel-wrap ~ .btn-outline {
    display: none;
  }
}
@media (max-width: 767px) {
  .i-business__carousel-wrap .carousel__control {
    display: none;
  }
  .i-business__carousel-wrap ~ .btn-outline {
    display: block;
    margin: 25px auto;
  }
}
@media (max-width: 579px) {
  .i-business__carousel-wrap {
    overflow: hidden;
  }
}

.i-business__carousel:not(.swiper-initialized) .swiper-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.i-business__carousel:not(.swiper-initialized) .swiper-slide {
  opacity: 0;
}
.i-business__carousel .carousel__item {
  overflow: hidden;
  -webkit-box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
          box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
}
.i-business__carousel .carousel__link {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 3;
}
.pc .i-business__carousel .carousel__link:hover ~ .carousel__media img {
  opacity: 0.6;
  -webkit-transform: scale(1.05);
      -ms-transform: scale(1.05);
          transform: scale(1.05);
}
.pc .i-business__carousel .carousel__link:hover ~ .carousel__text {
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0);
}
.pc .i-business__carousel .carousel__link:hover ~ .carousel__text .btn-more {
  opacity: 1;
}

.i-business__carousel .carousel__text {
  --h-btn: 45px;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: max(4.1vw, var(--gap));
  -webkit-transition: -webkit-transform 0.35s;
  transition: -webkit-transform 0.35s;
  transition: transform 0.35s;
  transition: transform 0.35s, -webkit-transform 0.35s;
  -webkit-transform: translateY(var(--h-btn));
      -ms-transform: translateY(var(--h-btn));
          transform: translateY(var(--h-btn));
}
.i-business__carousel .carousel__text .btn-more {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  background: rgba(255, 255, 255, 0.3);
  border: 1px solid rgba(255, 255, 255, 0.2);
  padding: 0 5px 0 15px;
  width: 100%;
  opacity: 0;
  -webkit-transition: opacity 0.35s;
  transition: opacity 0.35s;
  backdrop-filter: blur(6px);
}
.i-business__carousel .carousel__text .btn-more .icon {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 calc(var(--h-btn) - 10px);
          flex: 0 0 calc(var(--h-btn) - 10px);
  background-color: rgb(255, 255, 255);
  color: #1744B7;
}
.i-business__carousel .carousel__text .btn-more .icon svg {
  max-width: 50%;
}
.i-business__carousel .carousel__title {
  font-size: clamp(1.125rem, 0.9481707317rem + 0.487804878vw, 1.375rem);
  line-height: 1.6;
  color: #fff;
  font-weight: 600;
}
.i-business__carousel .carousel__media {
  z-index: 0;
  background-color: #111;
}
.i-business__carousel .carousel__media img {
  opacity: 0.9;
  aspect-ratio: 1;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
  width: 100%;
  max-width: none;
  -webkit-transition: all 0.35s;
  transition: all 0.35s;
}
@media (max-width: 579px) {
  .i-business__carousel {
    overflow: visible !important;
  }
  .i-business__carousel .swiper-wrapper {
    overflow: visible !important;
    -webkit-transform: none !important;
        -ms-transform: none !important;
            transform: none !important;
    width: auto !important;
    display: block !important;
    height: auto !important;
  }
  .i-business__carousel .swiper-slide {
    height: auto !important;
    width: auto !important;
    opacity: 1 !important;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-right: 0 !important;
  }
  .i-business__carousel.swiper-fade .swiper-slide {
    pointer-events: auto;
  }
  .i-business__carousel .carousel__title {
    margin: 0 0 10px 0;
  }
  .i-business__carousel .carousel__text {
    padding: 15px;
  }
  .i-business__carousel .carousel__item {
    margin-bottom: 15px;
  }
  .i-business__carousel .carousel__item .btn-more {
    width: auto;
  }
  .i-business__carousel .carousel__media img {
    aspect-ratio: 500/200;
    min-height: 150px;
  }
}

/**
 * Index Service
 */
.i-service {
  padding-top: max(9vw, 60px);
  padding-bottom: max(7vw, 45px);
  z-index: 1;
  overflow: hidden;
  background-color: #EDF1FA;
}
@media (max-width: 1199px) {
  .i-service {
    padding-top: max(5vw, 40px);
    padding-bottom: max(5vw, 45px);
  }
}
@media (max-width: 639px) {
  .i-service .brief br {
    display: none;
  }
}
.i-service .text-marquee {
  bottom: auto;
  top: 35%;
  -webkit-transform: translate(0, -50%);
      -ms-transform: translate(0, -50%);
          transform: translate(0, -50%);
  z-index: 0 !important;
  color: #fff !important;
  font-size: clamp(3.75rem, -0.6707317073rem + 12.1951219512vw, 10rem);
  opacity: 0;
  -webkit-transition: opacity 1s 0.5s;
  transition: opacity 1s 0.5s;
}
.i-service .text-marquee > div {
  opacity: 0.7;
}
.i-service > .container {
  z-index: 3;
  text-align: center;
}
.i-service > .container.aos-animate ~ .i-service__mask, .i-service > .container.aos-animate ~ .text-marquee {
  opacity: 1;
}
.i-service__mask {
  position: absolute;
  left: 50%;
  top: 54%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: max(39vw, 350px);
  z-index: 2;
  pointer-events: none;
  opacity: 0;
  -webkit-transition: opacity 1s 0.5s;
  transition: opacity 1s 0.5s;
}
.i-service__mask .circle1 {
  width: 100%;
  aspect-ratio: 1;
  border: 2px solid rgba(0, 59, 180, 0.1);
  border-radius: 100%;
}
.i-service__mask .circle2 {
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 133%;
  aspect-ratio: 1;
  border: 5px solid rgba(255, 255, 255, 0.3);
  border-radius: 100%;
  -webkit-animation: border-scale-animate 5s linear infinite;
          animation: border-scale-animate 5s linear infinite;
}
@-webkit-keyframes border-scale-animate {
  0%, 100% {
    border-width: 5px;
    -webkit-transform: translate(-50%, -50%) scale(0.95);
            transform: translate(-50%, -50%) scale(0.95);
  }
  50% {
    border-width: 10px;
    -webkit-transform: translate(-50%, -50%) scale(1);
            transform: translate(-50%, -50%) scale(1);
  }
}
@keyframes border-scale-animate {
  0%, 100% {
    border-width: 5px;
    -webkit-transform: translate(-50%, -50%) scale(0.95);
            transform: translate(-50%, -50%) scale(0.95);
  }
  50% {
    border-width: 10px;
    -webkit-transform: translate(-50%, -50%) scale(1);
            transform: translate(-50%, -50%) scale(1);
  }
}
.i-service__mask .circle3 {
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 86%;
  aspect-ratio: 1;
  background-color: rgba(15, 72, 233, 0.1);
  border-radius: 100%;
  clip-path: polygon(0 50%, 100% 50%, 100% 100%, 0 100%);
  -webkit-animation: infinite-rotate 8s linear infinite;
          animation: infinite-rotate 8s linear infinite;
  backdrop-filter: blur(4px);
}
.i-service__mask .circle4 {
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 86%;
  aspect-ratio: 1;
  background-color: rgba(15, 72, 233, 0.03);
  border-radius: 100%;
  clip-path: polygon(0 0, 100% 0, 100% 50%, 0 50%);
  -webkit-animation: infinite-rotate 5s 0.15s linear infinite;
          animation: infinite-rotate 5s 0.15s linear infinite;
  backdrop-filter: blur(4px);
}
@media (max-width: 1199px) {
  .i-service__mask {
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    width: 60vw;
  }
}

@-webkit-keyframes infinite-rotate {
  100% {
    -webkit-transform: translate(-50%, -50%) rotate(360deg);
            transform: translate(-50%, -50%) rotate(360deg);
  }
}

@keyframes infinite-rotate {
  100% {
    -webkit-transform: translate(-50%, -50%) rotate(360deg);
            transform: translate(-50%, -50%) rotate(360deg);
  }
}
.i-service__carousel-wrap {
  max-width: calc(100% - var(--gap));
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 35px auto 45px;
  padding-left: 45px;
  padding-right: 45px;
}
.i-service__carousel-wrap::before {
  content: "";
  display: block;
  position: absolute;
  z-index: 0;
  height: 1px;
  width: 100%;
  left: 0;
  top: calc(max(120px, 8.3vw) * 0.6);
  background-color: rgba(0, 0, 0, 0.2);
}
.i-service__carousel-wrap > .swiper-button-next.round, .i-service__carousel-wrap .swiper-button-prev.round {
  width: 35px;
  top: calc(max(120px, 8.3vw) * 0.6);
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 15;
  position: absolute;
  background-color: #fff;
}
.i-service__carousel-wrap > .swiper-button-next.round {
  right: 0;
}
.i-service__carousel-wrap > .swiper-button-prev.round {
  left: 0;
}
.i-service__carousel-wrap.is-less {
  padding-left: 0;
  padding-right: 0;
}
.i-service__carousel-wrap.is-less .i-service__carousel {
  width: 100%;
  max-width: calc(100% - var(--gap) * 2);
  margin-left: auto;
  margin-right: auto;
}
.i-service__carousel-wrap.is-less .i-service__carousel .swiper-wrapper {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-transform: none !important;
      -ms-transform: none !important;
          transform: none !important;
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
}
@media (max-width: 579px) {
  .i-service__carousel-wrap.is-less .i-service__carousel {
    max-width: 100%;
  }
}
.i-service__carousel-wrap.is-less > .swiper-button-next, .i-service__carousel-wrap.is-less > .swiper-button-prev {
  display: none;
}
.i-service__carousel-wrap.is-less .carousel__item {
  margin-left: auto !important;
}
@media (min-width: 580px) {
  .i-service__carousel-wrap .carousel__item {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 16.6666666667%;
            flex: 0 0 16.6666666667%;
  }
}
@media (min-width: 580px) and (max-width: 767px) {
  .i-service__carousel-wrap.is-less .carousel__item {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 33.3333333333%;
            flex: 0 0 33.3333333333%;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .i-service__carousel-wrap.is-less .carousel__item {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 20%;
            flex: 0 0 20%;
  }
}
@media (max-width: 579px) {
  .i-service__carousel-wrap {
    margin: 10px auto 15px;
    padding-left: 0;
    padding-right: 0;
  }
  .i-service__carousel-wrap::before {
    display: none;
  }
  .i-service__carousel-wrap > .swiper-button-next, .i-service__carousel-wrap > .swiper-button-prev {
    display: none;
  }
  .i-service__carousel-wrap.is-less .carousel__item {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 calc(50% - 10px);
            flex: 0 0 calc(50% - 10px);
  }
}

.i-service__carousel .carousel__link {
  position: absolute;
  z-index: 5;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: block;
}
.pc .i-service__carousel .carousel__link:hover ~ img {
  -webkit-transform: scale(1.1);
      -ms-transform: scale(1.1);
          transform: scale(1.1);
}

.i-service__carousel .carousel__item {
  z-index: 15;
  vertical-align: top;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  text-align: center;
  padding: 15px 0 15px;
}
.i-service__carousel .carousel__media {
  border-radius: 100%;
  background-color: #fff;
  width: max(120px, 8.3vw);
  aspect-ratio: 1;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
          box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
}
.i-service__carousel .carousel__media img {
  max-width: 50%;
  -webkit-transition: -webkit-transform 0.35s;
  transition: -webkit-transform 0.35s;
  transition: transform 0.35s;
  transition: transform 0.35s, -webkit-transform 0.35s;
}
.i-service__carousel .carousel__text {
  margin: 15px auto 0;
  padding: 0;
  font-weight: 600;
  color: #222;
  line-height: 1.6;
  text-align: center;
}
.i-service__carousel .carousel__title {
  font-size: clamp(1.0625rem, 1.0182926829rem + 0.1219512195vw, 1.125rem);
  margin: 0;
  padding: 0;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
  overflow: hidden;
}
.i-service__carousel .carousel__title a {
  display: inline-block;
  color: inherit;
}
.pc .i-service__carousel .carousel__title a:hover {
  color: var(--color-blue);
}

@media (max-width: 579px) {
  .i-service__carousel {
    width: 100%;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    overflow: visible !important;
  }
  .i-service__carousel .swiper-wrapper {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-transform: none !important;
        -ms-transform: none !important;
            transform: none !important;
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    overflow: visible !important;
    -ms-flex-wrap: wrap !important;
        flex-wrap: wrap !important;
    justify-content: center;
    gap: 0 15px;
  }
  .i-service__carousel .carousel__item {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 calc(50% - 8px);
            flex: 0 0 calc(50% - 8px);
    margin-bottom: 15px;
    width: calc(50% - 8px);
    padding: 0;
  }
  .i-service__carousel .carousel__media {
    width: 100px;
  }
  .i-service__carousel .carousel__text {
    margin: 10px auto 0;
  }
}

/**
 * Index Recommend
 */
.i-btm {
  background-color: #fff;
  z-index: 5;
}
@media (max-width: 579px) {
  .i-btm {
    overflow: hidden;
  }
}

.i-recom {
  padding-top: max(6vw, 40px);
  padding-bottom: max(5vw, 35px);
  z-index: 5;
}
.i-recom .deco {
  z-index: 1;
  position: absolute;
  pointer-events: none;
  top: 0;
  left: 0;
  right: 0;
  height: 200%;
  overflow: hidden;
}
.i-recom .deco > div {
  width: max(32.8vw, 250px);
  aspect-ratio: 1;
  background: url(../images/smooth_bg.png) no-repeat center center/contain;
  position: absolute;
  top: 16vw;
  right: 4vw;
}
@media (max-width: 767px) {
  .i-recom .deco > div {
    top: 35%;
  }
}
.i-recom > .container {
  z-index: 5;
}
.i-recom > .container::before {
  content: "";
  display: block;
  position: absolute;
  width: max(120px, 11.9vw);
  aspect-ratio: 230/210;
  background: url(../images/i_aw2.svg) no-repeat center center/contain;
  left: 0;
  top: 0;
  -webkit-transform: translate(-40%, -110%);
      -ms-transform: translate(-40%, -110%);
          transform: translate(-40%, -110%);
}
@media (max-width: 1499px) {
  .i-recom > .container::before {
    -webkit-transform: translate(-10%, -110%);
        -ms-transform: translate(-10%, -110%);
            transform: translate(-10%, -110%);
  }
}
@media (max-width: 1299px) {
  .i-recom > .container::before {
    -webkit-transform: translate(10%, -110%);
        -ms-transform: translate(10%, -110%);
            transform: translate(10%, -110%);
  }
}
@media (max-width: 579px) {
  .i-recom {
    padding-bottom: 30px;
  }
  .i-recom .subhead {
    text-align: center;
  }
}

.i-recom__carousel-wrap {
  margin: max(15px, 1.56vw) auto;
}
.i-recom__carousel-wrap .swiper-button-prev {
  left: auto;
  right: calc(max(40px, 3.125vw) + 12px);
  top: calc(max(15px, 1.56vw) * -1);
  -webkit-transform: translate(0, -100%);
      -ms-transform: translate(0, -100%);
          transform: translate(0, -100%);
}
.i-recom__carousel-wrap .swiper-button-next {
  right: 0;
  top: calc(max(15px, 1.56vw) * -1);
  -webkit-transform: translate(0, -100%);
      -ms-transform: translate(0, -100%);
          transform: translate(0, -100%);
}
@media (max-width: 579px) {
  .i-recom__carousel-wrap .swiper-button-next, .i-recom__carousel-wrap .swiper-button-prev {
    display: none;
  }
}

.i-recom__carousel:not(.swiper-initialized) .swiper-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.i-recom__carousel:not(.swiper-initialized) .swiper-slide {
  opacity: 0;
}
.i-recom__carousel .carousel__item {
  max-width: 450px;
}
.i-recom__carousel .carousel__link {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 5;
}
.pc .i-recom__carousel .carousel__link:hover ~ .carousel__media img {
  -webkit-transform: scale(1.05);
      -ms-transform: scale(1.05);
          transform: scale(1.05);
  opacity: 0.6;
}
.pc .i-recom__carousel .carousel__link:hover ~ .carousel__media::before {
  -webkit-transform: translate(-50%, -50%) scale(1);
      -ms-transform: translate(-50%, -50%) scale(1);
          transform: translate(-50%, -50%) scale(1);
}
.pc .i-recom__carousel .carousel__link:hover ~ .carousel__text .carousel__title {
  color: var(--color-blue);
}
@media (max-width: 579px) {
  .pc .i-recom__carousel .carousel__link:hover ~ .carousel__text .carousel__title {
    color: #fff;
  }
}

.i-recom__carousel .carousel__text {
  display: block;
  padding: 15px 10px;
}
.i-recom__carousel .carousel__title {
  font-size: clamp(1.125rem, 1.0365853659rem + 0.243902439vw, 1.25rem);
  line-height: 1.6;
  color: #222;
  font-weight: 600;
  margin: 0;
}
.i-recom__carousel .carousel__media {
  z-index: 0;
  overflow: hidden;
  border-radius: 6px;
  background-color: #111;
}
.i-recom__carousel .carousel__media::before {
  content: "";
  display: block;
  z-index: 2;
  width: max(35px, 22%);
  aspect-ratio: 1;
  position: absolute;
  top: 50%;
  left: 50%;
  background: url(../images/logo_light.png) no-repeat left center/auto 100%;
  opacity: 0.6;
  -webkit-filter: brightness(0) invert(1);
          filter: brightness(0) invert(1);
  -webkit-transition: all 0.35s;
  transition: all 0.35s;
  -webkit-transform: translate(-50%, -50%) scale(0);
      -ms-transform: translate(-50%, -50%) scale(0);
          transform: translate(-50%, -50%) scale(0);
}
.i-recom__carousel .carousel__media img {
  z-index: 0;
  aspect-ratio: 450/320;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
  width: 100%;
  max-width: none;
  -webkit-transition: all 0.35s;
  transition: all 0.35s;
}
@media (max-width: 579px) {
  .i-recom__carousel {
    overflow: visible !important;
  }
  .i-recom__carousel .swiper-wrapper {
    overflow: visible !important;
    -webkit-transform: none !important;
        -ms-transform: none !important;
            transform: none !important;
    width: calc(100% + 15px) !important;
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    height: auto !important;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    gap: 0 15px;
  }
  .i-recom__carousel .swiper-slide {
    height: auto !important;
    width: auto !important;
    opacity: 1 !important;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-right: 0 !important;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 calc(50% - 15px);
            flex: 0 0 calc(50% - 15px);
  }
  .i-recom__carousel.swiper-fade .swiper-slide {
    pointer-events: auto;
  }
  .i-recom__carousel .carousel__item {
    margin-bottom: 15px;
    display: block;
  }
  .i-recom__carousel .carousel__media img {
    aspect-ratio: 500/200;
    min-height: 150px;
    opacity: 0.95;
  }
  .i-recom__carousel .carousel__text {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 10px;
    z-index: 3;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
  .i-recom__carousel .carousel__title {
    color: #fff;
  }
}
@media (max-width: 399px) {
  .i-recom__carousel .swiper-slide {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 calc(100% - 15px);
            flex: 0 0 calc(100% - 15px);
  }
}

/**
 * Index News
 */
.i-news {
  z-index: 6;
  padding-top: max(3vw, 30px);
  padding-bottom: max(7vw, 50px);
  background: url(../images/i_news_bg.jpg) no-repeat left bottom;
}
.i-news .container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  gap: 0 max(2vw, 30px);
}
.i-news .subhead .text-lg {
  line-height: 1;
}
.i-news .brief {
  font-size: 1rem;
}
.i-news .btn-more {
  margin-top: var(--gap);
}
.i-news__heading {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 max(25%, 200px);
          flex: 0 0 max(25%, 200px);
}
.i-news__list {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  max-width: 1050px;
  border-top: 1px solid #111;
}
.i-news__list .item {
  padding: max(2vw, 15px) 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.15);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 0 15px;
}
.i-news__list .link {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  font-size: 0;
  z-index: 10;
}
.pc .i-news__list .link:hover ~ .title {
  color: var(--color-blue);
}
.pc .i-news__list .link:hover ~ .more {
  -webkit-transform: translateX(5px);
      -ms-transform: translateX(5px);
          transform: translateX(5px);
}

.i-news__list .date {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100px;
          flex: 0 0 100px;
  color: #666;
  font-size: 0.75rem;
  white-space: nowrap;
  line-height: 1.2;
  text-align: center;
  font-weight: 400;
}
.i-news__list .date .dd {
  display: block;
  font-weight: 550;
  color: #222;
  font-size: clamp(1.125rem, 0.7271341463rem + 1.0975609756vw, 1.6875rem);
}
.i-news__list .title {
  margin: 0;
  padding: 0;
  font-weight: 450;
  text-align: left;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  color: #222;
  line-height: 1.5;
}
.i-news__list .more {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  margin: 0 25px;
  width: 32px;
  height: 32px;
  border-radius: 4px;
  background: #DFE6F5 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23003B9E' stroke-linecap='round' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='1.4' d='m14 16l4-4m0 0l-4-4m4 4H6'/%3E%3C/svg%3E") no-repeat center center/60% auto;
  -webkit-transition: -webkit-transform 0.35s;
  transition: -webkit-transform 0.35s;
  transition: transform 0.35s;
  transition: transform 0.35s, -webkit-transform 0.35s;
}
@media (max-width: 991px) {
  .i-news {
    background-size: min(400px, 120vw) auto;
  }
  .i-news .container {
    display: block;
  }
  .i-news .i-news__heading {
    --h-btn: 45px;
  }
  .i-news .i-news__heading .sticky {
    position: relative;
    padding-right: 150px;
    min-height: var(--h-btn);
    top: auto;
  }
  .i-news .i-news__heading .btn-more {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%) !important;
        -ms-transform: translateY(-50%) !important;
            transform: translateY(-50%) !important;
    right: 0;
    width: 120px;
    min-width: auto;
    padding: 10px;
  }
}
@media (max-width: 767px) {
  .i-news .i-news__list .item {
    padding: 15px 0;
  }
  .i-news .i-news__list .date {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
  }
  .i-news .i-news__list .title {
    font-size: clamp(1rem, 0.9115853659rem + 0.243902439vw, 1.125rem);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
    overflow: hidden;
  }
  .i-news .i-news__list .more {
    margin: 0;
  }
}
@media (max-width: 499px) {
  .i-news .i-news__heading {
    --h-btn: 35px;
    margin-bottom: 15px;
  }
  .i-news .i-news__heading .sticky {
    padding-right: 90px;
  }
  .i-news .i-news__heading .subhead .text-lg {
    white-space: nowrap;
  }
  .i-news .i-news__heading .brief {
    line-height: 1.4;
    font-size: 0.875rem;
    margin: 10px 0 0;
  }
  .i-news .i-news__heading .btn-more {
    width: 80px;
    padding: 10px;
    font-size: 0.75rem;
  }
  .i-news .i-news__heading .btn-more .icon {
    display: none;
  }
}

/* 
 * Service
 */
.service-intro {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 var(--gap);
  padding-bottom: max(3.125vw, 30px);
}
.service-intro__left {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 max(33%, 300px);
          flex: 0 0 max(33%, 300px);
}
.service-intro__right {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  color: #555;
  font-size: clamp(1rem, 0.9557926829rem + 0.1219512195vw, 1.0625rem);
}
.service-intro__right .brief {
  color: inherit;
  font-size: inherit;
}
@media (max-width: 767px) {
  .service-intro {
    display: block;
  }
  .service-intro .subhead {
    margin-bottom: 15px;
  }
}

.service-intro-img {
  margin-bottom: max(2.86vw, 30px);
}
.service-intro-img img {
  max-width: 100%;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.service-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 30px;
  margin-bottom: max(2.86vw, 30px);
}
.service-list .item {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 calc(50% - 15px);
          flex: 0 0 calc(50% - 15px);
  background-color: #F4F6F8;
  border-radius: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 30px 40px;
  gap: 0 max(2.86vw, 30px);
}
.service-list .link {
  z-index: 15;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: block;
  font-size: 0;
}
.pc .service-list .link:hover ~ .text .title {
  color: var(--color-blue-light);
}
.pc .service-list .link:hover ~ .text .more {
  -webkit-transform: translateX(5px);
      -ms-transform: translateX(5px);
          transform: translateX(5px);
}
.pc .service-list .link:hover ~ .media img {
  -webkit-transform: scale(1.01);
      -ms-transform: scale(1.01);
          transform: scale(1.01);
}

.service-list .media {
  width: max(36%, 100px);
  max-width: 250px;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}
.service-list .media img {
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 1;
  border-radius: 100%;
  -webkit-box-shadow: 10px 0 0 #DDE7F2;
          box-shadow: 10px 0 0 #DDE7F2;
  -webkit-transition: -webkit-transform 0.35s;
  transition: -webkit-transform 0.35s;
  transition: transform 0.35s;
  transition: transform 0.35s, -webkit-transform 0.35s;
}
.service-list .text {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
.service-list .title {
  margin: 0 0 5px;
  padding: 0;
  line-height: 1.4;
  font-size: clamp(1.125rem, 0.9481707317rem + 0.487804878vw, 1.375rem);
  color: var(--color-blue);
  font-weight: 600;
  display: block;
}
.service-list .brief {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
  overflow: hidden;
  font-size: clamp(0.9375rem, 0.8490853659rem + 0.243902439vw, 1.0625rem);
  color: #444;
  margin: 0;
  padding: 0;
  line-height: 1.6;
}
.service-list .more {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  margin-top: 8px;
  width: max(1.6vw, 25px);
  height: max(1.6vw, 25px);
  border-radius: 4px;
  background: #DFE6F5 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23003B9E' stroke-linecap='round' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='1.4' d='m14 16l4-4m0 0l-4-4m4 4H6'/%3E%3C/svg%3E") no-repeat center center/60% auto;
  -webkit-transition: -webkit-transform 0.35s;
  transition: -webkit-transform 0.35s;
  transition: transform 0.35s;
  transition: transform 0.35s, -webkit-transform 0.35s;
}
@media (max-width: 991px) {
  .service-list .item {
    padding: 30px 20px;
  }
}
@media (max-width: 767px) {
  .service-list {
    gap: 0 14px;
  }
  .service-list .item {
    padding: 20px;
    gap: 0 14px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    -ms-flex-preferred-size: calc(50% - 7px);
        flex-basis: calc(50% - 7px);
    margin-bottom: 14px;
  }
  .service-list .media {
    margin: 0 auto 10px;
    max-width: 150px;
  }
  .service-list .text {
    padding-bottom: 35px;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    text-align: center;
  }
  .service-list .more {
    position: absolute;
    bottom: 0;
    right: 0;
  }
  .service-list .title {
    font-size: clamp(1.0625rem, 1.0182926829rem + 0.1219512195vw, 1.125rem);
  }
}
@media (max-width: 579px) {
  .service-list .media img {
    -webkit-box-shadow: 5px 0 0 #DDE7F2;
            box-shadow: 5px 0 0 #DDE7F2;
  }
  .service-list .item {
    padding: 15px;
  }
}
@media (max-width: 349px) {
  .service-list {
    display: block;
  }
  .service-list .item {
    padding: 15px 10px;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 0 10px;
  }
  .service-list .media {
    max-width: 80px;
    margin: 0;
  }
  .service-list .title {
    text-align: left;
  }
}

.article-detail__heading {
  text-align: center;
  padding-bottom: var(--gap);
}
.article-detail__heading .subhead {
  margin: 0 auto 1em;
  z-index: 5;
  max-width: 1150px;
  text-overflow: unset;
  overflow: unset;
}
.article-detail__heading .subhead .text-sm {
  margin-bottom: 5px;
}
.article-detail__heading .info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #666;
  font-size: clamp(1rem, 0.9115853659rem + 0.243902439vw, 1.125rem);
  margin-bottom: calc(var(--gap) * -0.6);
}
.article-detail__body {
  padding-top: var(--gap);
  border-top: 1px solid rgba(0, 0, 0, 0.8);
}
.article-detail__footer {
  padding-top: max(3.125vw, var(--gap));
  margin-top: max(3.125vw, var(--gap));
  border-top: 1px solid rgba(0, 0, 0, 0.2);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0 15px;
  padding-bottom: max(3.5vw, 40px);
}

.related-sec + .article-detail__footer {
  display: none !important;
}

/**
* 推薦消息
*/
.related-sec {
  margin: 0 auto;
  background: url(../images/bg_related.jpg) no-repeat center top/cover;
  padding-top: max(5vw, 40px);
  padding-bottom: max(3.5vw, 40px);
}
.related-sec .subhead {
  text-align: center;
}

.related__carousel-wrap {
  padding-top: max(3vw, var(--gap));
  padding-bottom: var(--gap);
}
@media (min-width: 768px) {
  .related__carousel-wrap .swiper-button-prev {
    right: calc(max(40px, 3.125vw) + 10px);
    top: 0 !important;
    left: auto;
    -webkit-transform: translate(0, -120%);
        -ms-transform: translate(0, -120%);
            transform: translate(0, -120%);
  }
  .related__carousel-wrap .swiper-button-next {
    right: 0;
    top: 0 !important;
    -webkit-transform: translate(0, -120%);
        -ms-transform: translate(0, -120%);
            transform: translate(0, -120%);
  }
}
@media (max-width: 767px) {
  .related__carousel-wrap .swiper-button-prev {
    background-color: rgb(255, 255, 255);
    top: 50%;
    left: calc(var(--gap) * -0.5);
  }
  .related__carousel-wrap .swiper-button-next {
    background-color: rgb(255, 255, 255);
    top: 50%;
    right: calc(var(--gap) * -0.5);
  }
}

.related__carousel .carousel__item {
  background-color: #fff;
  border-radius: 10px;
  position: relative;
  overflow: hidden;
}
.related__carousel .link {
  z-index: 15;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: block;
  font-size: 0;
}
.pc .related__carousel .link:hover ~ .text .title {
  color: #2560B9;
}
.pc .related__carousel .link:hover ~ .media img {
  -webkit-transform: scale(1.05);
      -ms-transform: scale(1.05);
          transform: scale(1.05);
}

.related__carousel .media {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  overflow: hidden;
  border-radius: 10px;
}
.related__carousel .media img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 450/320;
  -webkit-transition: all 0.35s;
  transition: all 0.35s;
}
.related__carousel .text {
  padding: 15px 25px 25px;
}
@media (max-width: 1199px) {
  .related__carousel .text {
    padding: 15px;
  }
}
.related__carousel .title {
  margin: 10px 0 0;
  padding: 0;
  line-height: 1.6;
  font-size: clamp(1rem, 0.9557926829rem + 0.1219512195vw, 1.0625rem);
  color: #222;
  font-weight: 500;
  display: block;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
  overflow: hidden;
}
.related__carousel .info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #2560B9;
  font-size: clamp(0.9375rem, 0.8490853659rem + 0.243902439vw, 1.0625rem);
}
@media (max-width: 1199px) {
  .related__carousel .info {
    font-size: clamp(0.875rem, 0.8307926829rem + 0.1219512195vw, 0.9375rem);
  }
}
.related__carousel .date {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  line-height: 0.5;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
.related__carousel .date span {
  white-space: nowrap;
  font-weight: 400;
}
.related__carousel .date .dd {
  font-size: 1.4em;
}
.related__carousel .date .mm::before, .related__carousel .date .yy::before {
  content: "/";
  font-size: 0.7em;
  display: inline-block;
  margin: 0 4px;
}
.related__carousel .cate {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  padding-left: 35px;
  white-space: nowrap;
}
.related__carousel .cate::before {
  content: "";
  position: absolute;
  display: block;
  width: 30px;
  height: 1px;
  background-color: #2560B9;
  left: 0;
  top: 50%;
}

/**
* Service Index
*/
.service-index-grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  margin: max(35px, var(--gap)) -15px 0;
}
.service-index-grid .item {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 calc(25% - 30px);
          flex: 0 0 calc(25% - 30px);
  padding: 0;
  margin: 0 15px 30px;
}
.service-index-grid .media {
  border-radius: 10px;
  overflow: hidden;
}
.service-index-grid .media img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 1;
  -webkit-transition: all 0.35s;
  transition: all 0.35s;
}
.service-index-grid .link {
  position: absolute;
  z-index: 5;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
.pc .service-index-grid .link:hover ~ .media img {
  -webkit-transform: scale(1.05);
      -ms-transform: scale(1.05);
          transform: scale(1.05);
}
.pc .service-index-grid .link:hover ~ .text .title {
  color: var(--color-blue);
}

.service-index-grid .text {
  text-align: center;
  padding: 15px 5px;
}
.service-index-grid .title {
  margin: 0;
  padding: 0;
  line-height: 1.4;
  color: #000;
  font-size: clamp(1rem, 0.7347560976rem + 0.7317073171vw, 1.375rem);
  font-weight: 550;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
  overflow: hidden;
}
@media (max-width: 991px) {
  .service-index-grid .item {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 calc(33.3333333333% - 30px);
            flex: 0 0 calc(33.3333333333% - 30px);
  }
}
@media (max-width: 767px) {
  .service-index-grid {
    margin-left: -10px;
    margin-right: -10px;
  }
  .service-index-grid .item {
    margin-left: 10px;
    margin-right: 10px;
    margin-bottom: 20px;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 calc(33.3333333333% - 20px);
            flex: 0 0 calc(33.3333333333% - 20px);
  }
}
@media (max-width: 579px) {
  .service-index-grid {
    margin-left: -5px;
    margin-right: -5px;
  }
  .service-index-grid .item {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 calc(50% - 10px);
            flex: 0 0 calc(50% - 10px);
    margin-left: 5px;
    margin-right: 5px;
  }
  .service-index-grid .item .text {
    padding: 10px 0;
  }
}

.service-index-icon-bg {
  background: #fff url("../images/bg_service_index_icon.jpg") no-repeat center bottom;
  background-size: max(500px, 100vw) auto;
  padding-bottom: max(7vw, 40px) !important;
  padding-top: max(7vw, 40px) !important;
}

.service-index-icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 35px -15px max(5vw, 50px);
}
.service-index-icon .item {
  z-index: 15;
  vertical-align: top;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 calc(16.6666666667% - 30px);
          flex: 0 0 calc(16.6666666667% - 30px);
  text-align: center;
  margin: 0 15px 30px;
}
.service-index-icon .link {
  position: absolute;
  z-index: 5;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: block;
}
.pc .service-index-icon .link:hover ~ .media {
  border-color: #999;
}
.pc .service-index-icon .link:hover ~ .media img {
  -webkit-transform: scale(1.05);
      -ms-transform: scale(1.05);
          transform: scale(1.05);
}
.pc .service-index-icon .link:hover ~ .text .title {
  color: var(--color-blue);
}

.service-index-icon .media {
  border: 1px solid #ddd;
  border-radius: 100%;
  background-color: #fff;
  width: max(120px, 8.3vw);
  aspect-ratio: 1;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.service-index-icon .media img {
  max-width: 50%;
  -webkit-transition: -webkit-transform 0.35s;
  transition: -webkit-transform 0.35s;
  transition: transform 0.35s;
  transition: transform 0.35s, -webkit-transform 0.35s;
}
.service-index-icon .title {
  margin: 15px auto 0;
  padding: 0;
  font-size: clamp(1rem, 0.9115853659rem + 0.243902439vw, 1.125rem);
  font-weight: 600;
  color: #222;
  line-height: 1.6;
}
.service-index-icon .title span {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
  overflow: hidden;
}
@media (max-width: 1199px) {
  .service-index-icon {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .service-index-icon::before {
    display: none;
  }
  .service-index-icon .item {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 calc(25% - 30px);
            flex: 0 0 calc(25% - 30px);
  }
}
@media (max-width: 991px) {
  .service-index-icon {
    margin-bottom: 0;
    margin-left: -10px;
    margin-right: -10px;
  }
  .service-index-icon .item {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 calc(33.3333333333% - 20px);
            flex: 0 0 calc(33.3333333333% - 20px);
    margin-left: 10px;
    margin-right: 10px;
  }
}
@media (max-width: 579px) {
  .service-index-icon {
    margin-left: -5px;
    margin-right: -5px;
  }
  .service-index-icon .item {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 calc(50% - 10px);
            flex: 0 0 calc(50% - 10px);
    margin-left: 5px;
    margin-right: 5px;
    margin-bottom: 20px;
  }
  .service-index-icon .title {
    line-height: 1.5;
    display: block;
    height: auto;
    font-size: 1rem;
    width: auto;
    padding: 0;
  }
  .service-index-icon .title span {
    white-space: normal;
  }
  .service-index-icon .media {
    width: max(100px, 5vw);
  }
}

/* 
 * News
 */
.news-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.news-list .item {
  width: 100%;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 calc(33.3333333333% - 30px);
          flex: 0 0 calc(33.3333333333% - 30px);
  margin: 0 15px 35px;
}
.news-list .link {
  z-index: 15;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: block;
  font-size: 0;
}
.pc .news-list .link:hover ~ .text .title {
  color: #2560B9;
}
.pc .news-list .link:hover ~ .media img {
  -webkit-transform: scale(1.05);
      -ms-transform: scale(1.05);
          transform: scale(1.05);
}

.news-list .media {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  overflow: hidden;
  border-radius: 10px;
}
.news-list .media img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 450/320;
  -webkit-transition: all 0.35s;
  transition: all 0.35s;
}
.news-list .text {
  padding: 15px 10px;
}
.news-list .title {
  margin: 10px 0 0;
  padding: 0;
  line-height: 1.6;
  font-size: clamp(1.0625rem, 1.0182926829rem + 0.1219512195vw, 1.125rem);
  color: #222;
  font-weight: 500;
  display: block;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
  overflow: hidden;
}
.news-list .info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #2560B9;
  font-size: clamp(0.9375rem, 0.8490853659rem + 0.243902439vw, 1.0625rem);
}
.news-list .date {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  line-height: 0.5;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
.news-list .date span {
  white-space: nowrap;
  font-weight: 400;
}
.news-list .date .dd {
  font-size: 1.4em;
}
.news-list .date .mm::before, .news-list .date .yy::before {
  content: "/";
  font-size: 0.7em;
  display: inline-block;
  margin: 0 4px;
}
.news-list .cate {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  padding-left: 35px;
  white-space: nowrap;
}
.news-list .cate::before {
  content: "";
  position: absolute;
  display: block;
  width: 30px;
  height: 1px;
  background-color: #2560B9;
  left: 0;
  top: 50%;
}
@media (max-width: 767px) {
  .news-list .item {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 calc(50% - 20px);
            flex: 0 0 calc(50% - 20px);
    margin: 0 10px 30px;
  }
  .news-list .info {
    font-size: clamp(0.875rem, 0.7865853659rem + 0.243902439vw, 1rem);
  }
  .news-list .text {
    padding: 10px 5px;
  }
  .news-list .title {
    margin-top: 5px;
    font-size: clamp(1rem, 0.9557926829rem + 0.1219512195vw, 1.0625rem);
  }
}
@media (max-width: 499px) {
  .news-list .item {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 calc(100% - 15px);
            flex: 0 0 calc(100% - 15px);
    margin: 0 8px 30px;
  }
}

/* 
 * About Us
 */
.about-sec1 .top {
  z-index: 15;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  gap: 0 max(3.9vw, 35px);
}
.about-sec1 .top .media {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 51%;
          flex: 0 0 51%;
}
.about-sec1 .top .media img {
  position: sticky;
  top: 0;
  aspect-ratio: 720/475;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 4px;
}
.about-sec1 .top .text {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
.about-sec1 .top .brief {
  margin-top: 15px;
}
.about-sec1 .list {
  z-index: 15;
  overflow: hidden;
}
.about-sec1 .list .container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding-top: max(3vw, 30px);
  margin-top: max(3vw, 30px);
  gap: 0 30px;
}
.about-sec1 .list .container::before {
  content: "";
  display: block;
  position: absolute;
  left: var(--gap);
  right: var(--gap);
  top: 0;
  height: 1px;
  background-color: #979797;
  counter-reset: listStyleAbout;
}
.about-sec1 .list .item {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 calc(33.3333333333% - 30px);
          flex: 0 0 calc(33.3333333333% - 30px);
  counter-increment: listStyleAbout;
}
.about-sec1 .list .item .text {
  margin-top: max(3.5vw, 25px);
}
.about-sec1 .list .item .text::before {
  margin-right: 1em;
  position: absolute;
  white-space: nowrap;
  content: counter(listStyleAbout, decimal-leading-zero);
  font-size: clamp(2.1875rem, 0.993902439rem + 3.2926829268vw, 3.875rem);
  line-height: 0.9;
  z-index: -1;
  letter-spacing: 0.05em;
  -webkit-text-stroke: 1px rgba(0, 0, 0, 0.2);
  text-stroke: 1px rgba(0, 0, 0, 0.2);
  color: transparent;
  font-weight: 800;
  left: 0;
  top: 0;
  margin-top: calc(max(3.5vw, 30px) * -0.6);
  overflow: hidden;
  text-indent: -0.29em;
}
.about-sec1 .list .item .subhead {
  font-size: clamp(1.125rem, 0.6829268293rem + 1.2195121951vw, 1.75rem);
  letter-spacing: 0.05em;
  margin: 10px 0;
  padding: 0;
  line-height: 1.4;
  font-weight: 700;
  color: #222;
}
.about-sec1 .list .container::after {
  content: "";
  display: block;
  width: max(22vw, 320px);
  aspect-ratio: 1;
  border-radius: 50%;
  position: absolute;
  z-index: -1;
  left: 0;
  bottom: 35%;
  background: radial-gradient(closest-side, rgb(3, 127, 255) 0%, rgba(162, 216, 255, 0) 100%);
  opacity: 0.3;
  -webkit-transform: translate(-45%, 0);
      -ms-transform: translate(-45%, 0);
          transform: translate(-45%, 0);
}
@media (max-width: 1199px) {
  .about-sec1 .list .container {
    gap: 20px;
  }
  .about-sec1 .list .item {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 calc(33.3333333333% - 20px);
            flex: 0 0 calc(33.3333333333% - 20px);
  }
}
@media (max-width: 767px) {
  .about-sec1 .top {
    display: block;
  }
  .about-sec1 .top .media {
    margin-bottom: 15px;
  }
  .about-sec1 .list .container {
    display: block;
  }
  .about-sec1 .list .item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    margin-bottom: 20px;
    gap: 0 20px;
  }
  .about-sec1 .list .item .media {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 max(20%, 150px);
            flex: 0 0 max(20%, 150px);
  }
  .about-sec1 .list .item .media img {
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .about-sec1 .list .item .text {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    padding-bottom: 1em;
  }
}
@media (max-width: 579px) {
  .about-sec1 .list .item {
    display: block;
  }
  .about-sec1 .list .item .media {
    margin-bottom: 15px;
  }
  .about-sec1 .list .item .media img {
    height: auto;
    aspect-ratio: 2;
  }
}

.about-sec2 {
  margin: 0 auto;
  background: url(../images/bg_security.jpg) no-repeat center top/cover;
  margin-top: max(9vw, 40px);
  padding-top: max(9vw, 40px);
  padding-bottom: max(9vw, 40px);
}
.about-sec2 .subhead-wrap {
  position: static;
  width: 100%;
  display: block;
}
.about-sec2 .subhead-wrap .subhead {
  text-align: left;
  margin: 0;
}
.about-sec2 .subhead-wrap .brief {
  margin-top: 15px;
  color: #000;
  font-size: clamp(0.9375rem, 0.8932926829rem + 0.1219512195vw, 1rem);
  line-height: 2;
  padding-right: 1em;
}
.about-sec2 .list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 30px;
  list-style: none;
  margin: 0;
  padding: 0;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  counter-reset: listStyleSecurity;
}
.about-sec2 .list > li {
  overflow: hidden;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 calc(33.3333333333% - 30px);
          flex: 0 0 calc(33.3333333333% - 30px);
  background-color: #fff;
  aspect-ratio: 0.95;
  padding: max(2vw, 20px) max(2vw, 20px) max(1vw, 10px) max(2vw, 20px);
  color: #000;
  font-size: clamp(0.9375rem, 0.8932926829rem + 0.1219512195vw, 1rem);
  line-height: 1.7;
  z-index: 5;
  counter-increment: listStyleSecurity;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
}
.about-sec2 .list > li span {
  display: block;
  overflow-y: auto;
  max-height: 100%;
  z-index: 10;
  width: 100%;
  padding-right: 10px;
}
.about-sec2 .list > li::after {
  position: absolute;
  content: counter(listStyleSecurity, decimal-leading-zero);
  color: rgba(233, 241, 255, 0.6);
  font-style: italic;
  font-weight: 650;
  line-height: 0.6;
  letter-spacing: -0.05em;
  bottom: 0;
  right: 5%;
  z-index: 0;
  font-size: clamp(5.625rem, 2.5304878049rem + 8.5365853659vw, 10rem);
  white-space: nowrap;
}
@media (max-width: 1199px) {
  .about-sec2 .subhead-wrap {
    width: 100%;
  }
  .about-sec2 .list > li {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 calc(50% - 30px);
            flex: 0 0 calc(50% - 30px);
  }
}
@media (max-width: 991px) {
  .about-sec2 .subhead-wrap {
    width: auto;
    position: relative;
    text-align: center;
  }
  .about-sec2 .subhead-wrap .subhead {
    text-align: center;
    margin: 0 auto 10px;
  }
  .about-sec2 .list {
    gap: 20px;
  }
  .about-sec2 .list > li {
    aspect-ratio: auto;
    min-height: 180px;
    padding: max(2vw, 20px);
    -webkit-box-flex: 1;
        -ms-flex: 1 0 calc(50% - 20px);
            flex: 1 0 calc(50% - 20px);
  }
  .about-sec2 .list > li:first-child {
    margin-left: 0;
  }
  .about-sec2 .list > li span {
    max-height: none;
  }
}
@media (max-width: 499px) {
  .about-sec2 .list {
    display: block;
  }
  .about-sec2 .list > li {
    margin-bottom: 15px;
    min-height: 100px;
  }
}

/* 
 * Case
 */
.iq-form__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 1260px;
  width: calc(100% - var(--gap) * 2);
  margin: 0 auto;
  background-color: #fff;
  border-radius: 10px;
  -webkit-box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
          box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
  overflow: hidden;
}
@media (max-width: 639px) {
  .iq-form__wrap {
    display: block;
  }
}

.iq-form__left {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 max(36%, 200px);
          flex: 0 0 max(36%, 200px);
}
.iq-form__left img {
  z-index: 0;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.iq-form__left span {
  z-index: 5;
  padding: var(--gap);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  line-height: 1;
  min-height: 100%;
  width: 100%;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: clamp(2.1875rem, 1.3033536585rem + 2.4390243902vw, 3.4375rem);
  font-weight: 700;
  color: rgba(26, 72, 150, 0.5);
  text-align: center;
}
@media (max-width: 639px) {
  .iq-form__left {
    display: none;
  }
}

.iq-form__right {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  padding: max(4.5vw, var(--gap));
}
.iq-form__right .brief {
  font-weight: 500;
  color: #000;
  line-height: 1.5;
  margin: 15px 0 30px;
}
.iq-form__right .btn-more {
  margin-top: 10px;
}
@media (max-width: 399px), (min-width: 640px) and (max-width: 839px) {
  .iq-form__right .c-form__box.code {
    padding-right: 120px;
  }
  .iq-form__right .c-form__box.code .c-form__codeimg {
    width: 120px;
  }
}
@media (max-width: 639px) {
  .iq-form__right .subhead {
    text-align: center;
  }
  .iq-form__right .brief {
    text-align: center;
  }
  .iq-form__right .btn-more {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 10px auto 0;
  }
}

/* 
 * Contact
 */
.contact-form__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 max(3.1vw, var(--gap));
}
@media (max-width: 639px) {
  .contact-form__wrap {
    display: block;
  }
}

.contact-form__left {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 max(30%, 200px);
          flex: 0 0 max(30%, 200px);
  border-radius: 10px;
  overflow: hidden;
}
.contact-form__left img {
  z-index: 0;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.contact-form__left .info {
  z-index: 5;
  padding: max(6.5vw, var(--gap)) max(4.5vw, var(--gap));
}
.contact-form__left .info ul {
  list-style: none;
  margin: var(--gap) 0 0;
  padding: 0;
}
.contact-form__left .info ul > li {
  font-weight: 600;
  display: block;
  padding-left: 1em;
  line-height: 1.8;
  margin-bottom: 25px;
  border-left: 3px solid #003B9E;
}
.contact-form__left .info a {
  color: inherit;
}
.pc .contact-form__left .info a:hover {
  color: var(--color-blue-light);
}

.contact-form__right {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
.contact-form__right .brief {
  font-weight: 500;
  color: #003B9E;
  line-height: 1.5;
  margin: 0 0 20px 0;
  padding: 15px 0 20px;
  border-bottom: 1px solid #ddd;
}
.contact-form__right .btn-more {
  margin-top: 10px;
}
@media (max-width: 991px) {
  .contact-form__right .c-form__group .c-form__box.col-half {
    width: 100%;
  }
}
@media (max-width: 639px) {
  .contact-form__right .subhead {
    text-align: center;
  }
  .contact-form__right .btn-more {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 10px auto 0;
  }
}

/* 
 * Partner
 */
.partner-wrap {
  --w-container: 1310px;
}
.partner-wrap .subhead {
  text-align: center;
}

.partner-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  margin: max(3vw, var(--gap)) -15px max(5vw, var(--gap));
}
.partner-list .item {
  margin: 0 15px 30px;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 calc(25% - 30px);
          flex: 0 0 calc(25% - 30px);
  border: 1px solid #ddd;
  aspect-ratio: 305/150;
  overflow: hidden;
  background-color: #fff;
}
.partner-list .link {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 5;
  font-size: 0;
}
.pc .partner-list .link:hover + .media img {
  -webkit-transform: scale(1.1);
      -ms-transform: scale(1.1);
          transform: scale(1.1);
}
.pc .partner-list .link:hover + .text {
  color: var(--color-blue-light);
}

.partner-list .media {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.partner-list .media img {
  -webkit-transition: -webkit-transform 0.35s;
  transition: -webkit-transform 0.35s;
  transition: transform 0.35s;
  transition: transform 0.35s, -webkit-transform 0.35s;
  width: 55%;
  -o-object-fit: contain;
     object-fit: contain;
  aspect-ratio: 170/90;
}
.partner-list .media + .text {
  display: none;
}
.partner-list .text {
  position: absolute;
  left: 0;
  top: 0;
  color: var(--color-blue);
  font-weight: 700;
  width: 100%;
  height: 100%;
  padding: 1em;
  line-height: 1.1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.partner-list .text span {
  display: inline-block;
  vertical-align: middle;
}
@media (max-width: 991px) {
  .partner-list {
    margin: max(3vw, var(--gap)) -10px max(5vw, var(--gap));
  }
  .partner-list .item {
    margin: 0 10px 20px;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 calc(33.3333333333% - 20px);
            flex: 0 0 calc(33.3333333333% - 20px);
  }
}
@media (max-width: 499px) {
  .partner-list {
    margin: max(2vw, var(--gap)) -5px max(3vw, var(--gap));
  }
  .partner-list .item {
    margin: 0 5px 15px;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 calc(50% - 10px);
            flex: 0 0 calc(50% - 10px);
  }
}

/* 
 * Terms
 */
.terms-bg {
  background-color: #F4F6F8;
}
@media (max-width: 767px) {
  .terms-bg {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
}

.terms-article {
  background-color: #fff;
  padding: max(5vw, var(--gap));
}
.terms-article .subhead {
  text-align: center;
  margin-bottom: max(2.5vw, var(--gap));
}

/**
 * Sitemap
 */
.sitemap-bg {
  background: #f5f6fa url("../images/bg_sitemap.jpg") no-repeat center bottom;
  background-size: max(500px, 100vw) auto;
  padding-bottom: max(7vw, 40px) !important;
  padding-top: max(7vw, 40px) !important;
}

.sitemap-wrap {
  max-width: 1320px;
}

.sitemap-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: max(2.5vw, var(--gap)) -15px 0;
}
.sitemap-list .item {
  display: inline-block;
  width: calc(25% - 30px);
  margin: 0 15px 30px;
  border-radius: 10px;
  -webkit-box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
          box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
  background-color: #fff;
  padding: max(1.5vw, var(--gap));
}
.sitemap-list .subhead {
  text-align: center;
  margin: 0;
  padding: 0;
  line-height: 1.5;
}
.sitemap-list .subhead .text-sm {
  line-height: inherit;
  margin: 0;
  font-size: clamp(0.875rem, 0.8307926829rem + 0.1219512195vw, 0.9375rem);
}
.sitemap-list .subhead .text-lg {
  line-height: inherit;
  margin: 5px 0 0 0;
  font-size: clamp(1.1875rem, 1.1432926829rem + 0.1219512195vw, 1.25rem);
}
.sitemap-list ul {
  list-style: none;
  margin: 12px auto 0;
  padding: 0;
  border-top: 2px solid #003B9E;
}
.sitemap-list ul > li {
  display: block;
  text-align: center;
  border-top: 1px solid #ddd;
}
.sitemap-list ul > li:first-child {
  border-top: none;
}
.sitemap-list ul > li > a {
  display: block;
  font-size: 1rem;
  color: #111;
  padding: 10px 0;
  font-weight: 550;
  line-height: 1.4;
}
.sitemap-list ul > li > a:hover {
  color: var(--color-blue-light);
}
@media (max-width: 991px) {
  .sitemap-list .item {
    width: calc(33.3333333333% - 30px);
    padding: 12px;
  }
}
@media (max-width: 639px) {
  .sitemap-list {
    margin: max(2.5vw, var(--gap)) -10px 0;
  }
  .sitemap-list .item {
    width: calc(50% - 20px);
    margin: 0 10px 25px;
  }
}
@media (max-width: 499px) {
  .sitemap-list .item {
    width: calc(100% - 20px);
  }
}

/*
 * CSS Document 置底
 * ==========================================================================
 * 版權所有 © 鉅潞科技網頁設計公司，並保留所有權利。
 * 網站地址: http://www.grnet.com.tw
 * ==========================================================================
 * $Subhead: 內頁 $
 * */