/* //////////////////////////////////////////////////////////////////////////// */
/* JhuangPing v.1.0.1 [12.28.2020]                                              */
/* Github: https://jhuangping.github.io                                         */
/* //////////////////////////////////////////////////////////////////////////// */
/* Reset ================================================================== */
* { -webkit-box-sizing: border-box; box-sizing: border-box; }

html { width: 100%; height: 100%; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; -webkit-font-smoothing: antialiased; }

body, div, dl, menu, ul, ol, li, h1, h2, h3, h4, h5, h6, form, input, button, textarea, p, blockquote, th, td, figure { margin: 0; padding: 0; }

img { max-width: 100%; height: auto; border: 0; }

svg:not(:root) { overflow: hidden; }

h1, h2, h3, h4, h5, h6 { font-size: 100%; font-weight: inherit; }

input, button, textarea, select, optgroup, option { font-family: inherit; font-size: inherit; font-style: inherit; font-weight: inherit; vertical-align: baseline; *vertical-align: middle; }

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

input, button, textarea, select { *font-size: 100%; }

ol, ul, li, menu { list-style: none; }

a { color: inherit; text-decoration: none; -webkit-transition: all .5s; transition: all .5s; }

a:active, a:hover, a:focus { outline: 0; text-decoration: none; }

*:focus, input, input:focus, textarea, textarea:focus, button, select { outline: none; }

article, aside, details, figcaption, figure, footer, header, hgroup, nav, section, summary, main, iframe { display: block; }

audio, canvas, video { display: inline-block; *display: inline; *zoom: 1; }

audio:not([controls]) { display: none; height: 0; }

[hidden] { display: none; }

.container { padding-top: constant(safe-area-inset-top); padding-right: constant(safe-area-inset-right); padding-bottom: constant(safe-area-inset-bottom); padding-left: constant(safe-area-inset-left); }

/* Default ==================================================================== */
html { font-size: 10px; }

body { font-family: Arial, "Microsoft JhengHei", sans-serif; font-size: 1.8rem; line-height: 1.33333; letter-spacing: 1px; color: #333; overflow-x: hidden; opacity: 0; -webkit-animation: opacity_in 1s both; animation: opacity_in 1s both; }

@media all and (max-width: 1200px) { body { font-size: 1.6rem; } }

/* Javascript =============================================================0 */
/* Javascript href -------------------------------------------------------- */
[data-href] { cursor: pointer; }

/* javascript Image ------------------------------------------------------- */
[data-img] { background-repeat: no-repeat; }

.js-img--full { background-size: cover; }

.js-img--hold { background-size: auto 100%; }

.js-img--config { background-position: center; }

/* main =================================================================== */
/* container ============================================================== */
.ctr, .container, .ctr-w1680, .container-w1680, .ctr-w1670, .container-w1670, .ctr-w1440, .container-w1440, .ctr-w1366, .container-w1366, .ctr-w1280, .container-w1280, .ctr-w1260, .container-w1260, .ctr-w1024, .container-w1024 { width: calc(100% - 10%); margin: 0 auto; }

.ctr, .container { max-width: 1200px; }

.ctr-w1680, .container-w1680 { max-width: 1680px; }

.ctr-w1670, .container-w1670 { max-width: 1670px; }

.ctr-w1440, .container-w1440 { max-width: 1440px; }

.ctr-w1366, .container-w1366 { max-width: 1366px; }

.ctr-w1280, .container-w1280 { max-width: 1280px; }

.ctr-w1260, .container-w1260 { max-width: 1260px; }

.ctr-w1024, .container-w1024 { max-width: 1024px; }

.ctr-full, .ctr-max, .container-full, .container-max { max-width: 100%; padding-left: 0px; padding-right: 0px; }

.ctr-not-center, .container-not-center { margin-left: initial; margin-right: initial; }

.ctr-html, .container-html { max-width: 100%; min-width: 320px; padding-left: 0px; padding-right: 0px; overflow: hidden; }

/* Keyframes ============================================================== */
@-webkit-keyframes opacity_in { 0% { }
  100% { opacity: 1; } }
@keyframes opacity_in { 0% { }
  100% { opacity: 1; } }

@-webkit-keyframes opacity_out { 0% { }
  100% { opacity: 0; } }

@keyframes opacity_out { 0% { }
  100% { opacity: 0; } }

@-webkit-keyframes w100 { 0% { }
  100% { width: 100%; } }

@keyframes w100 { 0% { }
  100% { width: 100%; } }

@-webkit-keyframes h100 { 0% { }
  100% { height: 100%; } }

@keyframes h100 { 0% { }
  100% { height: 100%; } }

/* Typography ============================================================= */
a { cursor: pointer; }

@media all and (min-width: 1201px) { a[href^="tel:"] { pointer-events: none; }
  a:hover { color: #007bff; } }

h1, h2, h3, h4, h5, h6 { display: inline-block; }

/* txt -------------------------------------------------------------------- */
.txt-left { text-align: left; }

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

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

/* Font Size -------------------------------------------------------------- */
.fz-60 { font-size: 6rem; }

.fz-25 { font-size: 2.5rem; }

/* Button ================================================================= */
.btn { cursor: pointer; display: inline-block; line-height: 1; -webkit-transition: all 0.5s; transition: all 0.5s; }

.btn_txt, .btn_name { color: inherit; }

.btn--sitemap .btn_txt::before { content: '\f0e8'; font-family: "Font Awesome 5 Solid"; }

.btn--scroll { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; }

.btn--scroll::before { content: ''; display: block; width: 20px; height: 35px; background: url("../img/index/bn-icon.png") no-repeat center; background-size: contain; margin-bottom: 1rem; }

.btn--scroll .btn_txt { color: #fff; font-size: 1.2rem; }

.btn--diagonal { padding: 1.5rem 3.64583vw; position: relative; }

.btn--diagonal::before, .btn--diagonal::after { content: ''; position: absolute; width: 3.64583vw; height: 50%; border-style: solid; border-width: 2px; border-color: transparent; -webkit-transition: all 0.5s; transition: all 0.5s; }

.btn--diagonal::before { top: -2px; left: -2px; border-top-color: inherit; border-left-color: inherit; }

.btn--diagonal::after { bottom: -2px; right: -2px; border-bottom-color: inherit; border-right-color: inherit; }

@media all and (min-width: 1201px) { .btn--diagonal:hover::before, .btn--diagonal:hover::after { width: 100%; height: 100%; } }

/* eidt */
.edit { color: #333; word-wrap: break-word; }

.edit ul, .edit ol { margin: 1.12em 0; }

.edit ol ul, .edit ul ol, .edit ul ul, .edit ol ol { margin-top: 0; margin-bottom: 0; }

.edit li { display: list-item; list-style-type: inherit; }

.edit ul { list-style-type: disc; }

.edit ol { list-style-type: decimal; }

.edit ol.n, .edit ul.n { list-style: none; }

.edit ol.c, .edit ul.c { list-style: circle; }

.edit ol.s, .edit ul.s { list-style: square; }

.edit ol.dlz, .edit ul.dlz { list-style: decimal-leading-zero; }

.edit ol.lr, .edit ul.lr { list-style: lower-roman; }

.edit ol.ur, .edit ul.ur { list-style: upper-roman; }

.edit ol.la, .edit ul.la { list-style: lower-alpha; }

.edit ol.ua, .edit ul.ua { list-style: upper-alpha; }

.edit ol.lg, .edit ul.lg { list-style: lower-greek; }

.edit ol.amn, .edit ul.amn { list-style: armenian; }

.edit ol.grg, .edit ul.grg { list-style: georgian; }

.edit ul, .edit ol { display: block; page-break-before: avoid; padding-left: 40px; }

.edit h1 { font-size: 2em; margin: .67em 0; }

.edit h2 { font-size: 1.5em; margin: .75em 0; }

.edit h3 { font-size: 1.17em; margin: .83em 0; }

.edit h4, .edit p, .edit blockquote, .edit fieldset, .edit form, .edit dl, .edit dir, .edit menu { margin: 1.12em 0; }

.edit h5 { font-size: .83em; margin: 1.5em 0; }

.edit h6 { font-size: .75em; margin: 1.67em 0; }

.edit h1, .edit h2, .edit h3, .edit h4, .edit h5, .edit h6, .edit b, .edit strong { font-weight: bolder; }

.edit .sup { vertical-align: super; }

.edit .red { color: #E06666; }

.edit .row { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; margin: 0 -15px; }

.edit [class^="col-"] { padding: 10px 15px; }

.edit [class^="col-"].gdp, .edit [class^="col-"].gd { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; padding: 10px 15px; }

.edit .col-1 { width: 8.33333%; padding: 0 15px; }

@media all and (max-width: 1500px) { .edit .col-1 { width: calc(100%/4); } }

@media all and (max-width: 1366px) { .edit .col-1 { width: calc(100%/3); } }

@media all and (max-width: 992px) { .edit .col-1 { width: 50%; } }

@media all and (max-width: 480px) { .edit .col-1 { width: 100%; } }

.edit .col-2 { width: 16.66667%; padding: 0 15px; }

@media all and (max-width: 1500px) { .edit .col-2 { width: calc(100%/4); } }

@media all and (max-width: 1366px) { .edit .col-2 { width: calc(100%/3); } }

@media all and (max-width: 992px) { .edit .col-2 { width: 50%; } }

@media all and (max-width: 480px) { .edit .col-2 { width: 100%; } }

.edit .col-3 { width: 25%; padding: 0 15px; }

@media all and (max-width: 992px) { .edit .col-3 { width: 50%; } }

@media all and (max-width: 480px) { .edit .col-3 { width: 100%; } }

.edit .col-4 { width: 33.33333%; padding: 0 15px; }

@media all and (max-width: 992px) { .edit .col-4 { width: 50%; } }

@media all and (max-width: 480px) { .edit .col-4 { width: 100%; } }

.edit .col-5 { width: 41.66667%; padding: 0 15px; }

@media all and (max-width: 992px) { .edit .col-5 { width: 50%; } }

@media all and (max-width: 480px) { .edit .col-5 { width: 100%; } }

.edit .col-6 { width: 50%; padding: 0 15px; }

@media all and (max-width: 480px) { .edit .col-6 { width: 100%; } }

.edit .col-7 { width: 58.33333%; padding: 0 15px; }

@media all and (max-width: 480px) { .edit .col-7 { width: 100%; } }

.edit .col-8 { width: 66.66667%; padding: 0 15px; }

@media all and (max-width: 480px) { .edit .col-8 { width: 100%; } }

.edit .col-9 { width: 75%; padding: 0 15px; }

@media all and (max-width: 480px) { .edit .col-9 { width: 100%; } }

.edit .col-10 { width: 83.33333%; padding: 0 15px; }

@media all and (max-width: 480px) { .edit .col-10 { width: 100%; } }

.edit .col-11 { width: 91.66667%; padding: 0 15px; }

@media all and (max-width: 480px) { .edit .col-11 { width: 100%; } }

.edit .col-12 { width: 100%; padding: 0 15px; }

.edit .row--center { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }

.edit .row--left { -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; }

.edit .row--right { -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; }

.edit .row--on { -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; }

.edit .row--under { -webkit-box-align: end; -ms-flex-align: end; align-items: flex-end; }

.edit > *:not(:last-child) { margin-bottom: 3.96825%; }

.edit p:not(:last-child) { margin-bottom: 2.77778%; }

.edit img { margin: 10px 20px; margin-top: 0px; }

.edit .img-left { float: left; margin-left: 0px; }

.edit .img-right { float: right; margin-right: 0px; }

.edit .cr-blue { color: #0a3d7b; }

.edit table td, .edit table th { border: 1px solid #A7A7A7; padding: 8px 15px; }

.edit table thead th { color: #fff; background: #0B3D7C; }

.edit table tbody th { background: #CCC; }

/* Grid =================================================================== */
.gd, .grid { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; }

.gd--row2 > *, .grid--row2 > * { width: calc(100%/2); }

@media all and (max-width: 480px) { .gd--row2 > *, .grid--row2 > * { width: 100%; } }

.gd--row3 > *, .grid--row3 > * { width: calc(100%/3); }

@media all and (max-width: 992px) { .gd--row3 > *, .grid--row3 > * { width: 50%; } }

@media all and (max-width: 480px) { .gd--row3 > *, .grid--row3 > * { width: 100%; } }

.gd--row4 > *, .grid--row4 > * { width: calc(100%/4); }

@media all and (max-width: 1366px) { .gd--row4 > *, .grid--row4 > * { width: calc(100%/3); } }

@media all and (max-width: 992px) { .gd--row4 > *, .grid--row4 > * { width: 50%; } }

@media all and (max-width: 480px) { .gd--row4 > *, .grid--row4 > * { width: 100%; } }

/* Banner ================================================================= */
.bn { line-height: 0px; overflow: hidden; background: #ccc; position: relative; }

.bn_ctr { max-width: 100%; position: relative; min-height: 150px; }

.bn_txt { position: absolute; top: 0px; left: 0px; width: 100%; 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; line-height: 1.5; z-index: 3; }

.bn_pic, .bn_img, .bn_bg { width: 100%; min-height: 150px; }

.bn_pic img, .bn_img img, .bn_bg img { width: 100%; }

.bn--index::after { content: ''; display: block; width: 100%; height: 4px; background: -webkit-gradient(linear, left top, right top, from(#0A3C79), to(#1F2428)); background: linear-gradient(to right, #0A3C79, #1F2428); }

.bn--index .bn_pic { padding-bottom: 49.47917%; }

.bn--index .bn_txt { -webkit-box-align: end; -ms-flex-align: end; align-items: flex-end; padding-bottom: 1rem; }

@media all and (max-width: 1200px) { .bn--index .bn_txt .btn { display: none; } }

.bn--inside::after { content: ''; display: block; width: 100%; height: 2px; background: -webkit-gradient(linear, left top, right top, from(#0A3E7A), to(#212121)); background: linear-gradient(to right, #0A3E7A, #212121); }

.bn--inside .bn_pic { padding-bottom: 21.875%; }

.bn--inside .bn_txt { -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; color: #fff; padding-right: 3.64583vw; }

.bn--inside .bn_txt .el-title { font-size: 6rem; font-family: "Righteous", Arial, "Microsoft JhengHei", sans-serif; }

@media all and (max-width: 1200px) { .bn--inside .bn_txt .el-title { font-size: 4rem; } }

@media all and (max-width: 1200px) { .bn--inside .bn_txt .el-title { font-size: 2.5rem; } }

.bn--none { min-height: 70px; background: #fff; }

/* Path =================================================================== */
.path_ctr { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; }

.path_group { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; font-size: 1.4rem; color: #0a3d7b; margin-top: 0.83333%; margin-bottom: 1.97917%; position: relative; padding-left: 20px; }

.path_group::before, .path_group::after { content: ''; position: absolute; top: 5px; left: 0px; border-style: solid; border-width: 5px 10px; border-color: transparent; }

.path_group::before { border-left-color: #576a80; left: 3px; }

.path_group::after { border-left-color: #0a3d7b; }

.path_group li { display: inline-block; }

.path_group li::after { color: #333; content: '/'; display: inline-block; padding: 0 5px; }

.path_group li:last-child:after { display: none; }

.path_group li:first-child:after { display: inline-block; }

.path_group a { color: #333; }

@media all and (min-width: 1201px) { .path_group a:hover { color: #007bff; } }

/* Form Input ============================================================= */
.inpt-select { position: relative; display: inline-block; background: rgba(255, 255, 255, 0.35); width: auto; line-height: 0px; border-style: solid; border-width: 1px; border-color: #B6B7B7; border-radius: 0px; }

.inpt-select::after { content: ''; position: absolute; top: calc(50% - 3px); right: 9px; text-align: center; border-width: 5px; border-style: solid; border-color: #333 transparent transparent transparent; }

.inpt-select select { font-size: 1.6rem; border-style: solid; border-width: 1px; border-color: #B6B7B7; border-radius: 10px; -webkit-appearance: none; -moz-appearance: none; appearance: none; padding: 4px 5px; padding-right: 25px; text-align: center; max-width: inherit; border: none; background: rgba(255, 255, 255, 0.35); width: 100%; outline: none; }

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

/* Form =================================================================== */
.fm, .form { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; }

.fm--row2 > *, .form--row2 > * { width: calc(100%/2); }

@media all and (max-width: 480px) { .fm--row2 > *, .form--row2 > * { width: 100%; } }

.fm, .form { margin-left: -2.08333vw; margin-right: -2.08333vw; }

.fm > *, .form > * { padding-left: 2.08333vw; padding-right: 2.08333vw; }

.fm input[type="text"], .fm input[type="tel"], .fm input[type="email"], .fm input[type="password"], .fm textarea, .form input[type="text"], .form input[type="tel"], .form input[type="email"], .form input[type="password"], .form textarea { font-size: 1.6rem; border-style: solid; border: none; background: #E0E0E0; padding: 8px 10px; max-width: 100%; width: 100%; outline: none; }

.fm textarea, .form textarea { width: 100%; max-width: 100%; min-height: 100px; padding: 1rem; border: 1px solid #DADADA; }

.fm-td, .fm-th, .form-td, .form-th { padding-bottom: 2rem; position: relative; }

.fm-td::before, .fm-th::before, .form-td::before, .form-th::before { display: none; content: ''; position: absolute; bottom: 0px; left: 1.5625vw; width: calc(100% - 3.125vw); height: 1px; background: #DADADA; }

.fm-td_name, .fm-th_name, .form-td_name, .form-th_name { white-space: nowrap; font-size: 2rem; font-weight: bold; color: #333; margin-bottom: 1rem; }

.fm-td_name--red::before, .fm-th_name--red::before, .form-td_name--red::before, .form-th_name--red::before { display: inline-block; content: '*'; padding-right: 8px; color: #ec6666; }

.fm-td_inpt, .fm-th_inpt, .form-td_inpt, .form-th_inpt { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; }

.fm-td--full, .fm-th--full, .form-td--full, .form-th--full { width: 100%; }

.fm-td--full::before, .fm-th--full::before, .form-td--full::before, .form-th--full::before { display: none; }

.fm-td--btn, .fm-th--btn, .form-td--btn, .form-th--btn { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; width: 100%; }

.fm-td--btn::before, .fm-th--btn::before, .form-td--btn::before, .form-th--btn::before { display: none; }

.fm-td--btn .btn, .fm-th--btn .btn, .form-td--btn .btn, .form-th--btn .btn { width: 115px; height: 45px; margin-left: 1.30208vw; margin-right: 1.30208vw; }

@media all and (min-width: 1201px) { .fm-td--btn .btn:hover input, .fm-th--btn .btn:hover input, .form-td--btn .btn:hover input, .form-th--btn .btn:hover input { -webkit-box-shadow: 0 0 10px #000 inset; box-shadow: 0 0 10px #000 inset; } }

.fm-td--btn .btn input, .fm-th--btn .btn input, .form-td--btn .btn input, .form-th--btn .btn input { font-size: 1.8rem; color: #fff; text-align: center; width: 100%; height: 100%; border: none; outline: none; -webkit-appearance: none; -moz-appearance: none; appearance: none; cursor: pointer; -webkit-transition: all 0.5s; transition: all 0.5s; }

.fm-td--btn .btn--submit input, .fm-th--btn .btn--submit input, .form-td--btn .btn--submit input, .form-th--btn .btn--submit input { background: #093C7B; }

.fm-td--btn .btn--clear input, .fm-th--btn .btn--clear input, .form-td--btn .btn--clear input, .form-th--btn .btn--clear input { background: #323A45; }

.fm-td--btn .btn--send, .fm-th--btn .btn--send, .form-td--btn .btn--send, .form-th--btn .btn--send { width: 100%; }

.fm-td--btn .btn--send input, .fm-th--btn .btn--send input, .form-td--btn .btn--send input, .form-th--btn .btn--send input { background: #E60044; }

.fm-td--btn .btn--reset input, .fm-th--btn .btn--reset input, .form-td--btn .btn--reset input, .form-th--btn .btn--reset input { background: #014099; }

/* Table ================================================================== */
.tab { width: 100%; text-align: center; border-bottom: 1px solid #DADADA; }

.tab tr:nth-child(odd) td { background: #eee; }

.tab td, .tab th { padding: 1rem 0.52083vw; border: 1px solid #DADADA; border-top: 0px; border-bottom: 0px; }

.tab th { background: #034099; color: #fff; }

/* Card ======================================================================= */
@media all and (min-width: 1201px) { .card--news:hover .card_pic figure { -webkit-transform: scale(1.1); transform: scale(1.1); } }

.card--news .card_pic { line-height: 0; overflow: hidden; }

.card--news .card_pic figure { padding-bottom: 67.08861%; -webkit-transition: all 0.5s; transition: all 0.5s; }

.card--news .card_info { background: #212121; padding: 1.89873% 1.5625vw; }

.card--news .card_info .info_name { color: #fff; margin-bottom: 0.63291%; }

.card--news .card_info .info_time { color: #666; font-size: 1.6rem; }

@media all and (min-width: 1201px) { .card--video:hover .card_pic .el-mask, .card--prod:hover .card_pic .el-mask { background: rgba(0, 0, 0, 0); }
  .card--video:hover .card_pic .el-mask::before, .card--prod:hover .card_pic .el-mask::before { color: #dc3545; } }

.card--video .card_pic, .card--prod .card_pic { line-height: 0; position: relative; }

.card--video .card_pic figure, .card--prod .card_pic figure { padding-bottom: 66.32653%; }

.card--video .card_pic .el-mask, .card--prod .card_pic .el-mask { position: absolute; top: 0px; left: 0px; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.7); -webkit-transition: all 0.5s; transition: all 0.5s; }

.card--video .card_pic .el-mask::before, .card--prod .card_pic .el-mask::before { content: '\f04b'; font-family: "Font Awesome 5 Solid"; position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); color: #fff; font-size: 5rem; -webkit-transition: all 0.5s; transition: all 0.5s; }

.card--video .card_info, .card--prod .card_info { background: #333; padding: 3.16456% 1.5625vw; }

.card--video .card_info .info_name, .card--prod .card_info .info_name { display: block; text-align: center; color: #fff; margin-bottom: 5.06329%; }

.card--video .card_info .info_btn, .card--prod .card_info .info_btn { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; }

.card--video .card_info .info_btn .btn, .card--prod .card_info .info_btn .btn { font-size: 1.6rem; color: #fee571; position: relative; padding-left: 30px; }

@media all and (min-width: 1201px) { .card--video .card_info .info_btn .btn:hover::before, .card--prod .card_info .info_btn .btn:hover::before { left: 12px; border-left-color: #fff; }
  .card--video .card_info .info_btn .btn:hover::after, .card--prod .card_info .info_btn .btn:hover::after { left: 14px; border-left-color: #fee571; } }

.card--video .card_info .info_btn .btn::before, .card--video .card_info .info_btn .btn::after, .card--prod .card_info .info_btn .btn::before, .card--prod .card_info .info_btn .btn::after { content: ''; position: absolute; top: 2px; left: 0px; border-style: solid; border-color: transparent; border-width: 5px 10px; -webkit-transition: all 0.5s; transition: all 0.5s; }

.card--video .card_info .info_btn .btn::before, .card--prod .card_info .info_btn .btn::before { border-left-color: #fee571; }

.card--video .card_info .info_btn .btn::after, .card--prod .card_info .info_btn .btn::after { border-left-color: #fff; left: 12px; }

.card--pro .card_pic { margin-bottom: 6.41026%; }

.card--pro .card_pic figure { padding-bottom: 66.66667%; }

.card--pro .card_name { display: block; text-align: center; padding: 0 15px; }

/* Header ===================================================================== */
.hd { position: fixed; z-index: 9999; top: 0px; left: 0px; width: 100vw; color: #fff; background: rgba(33, 33, 33, 0.8); }

.hd_ctr { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }

.hd_logo { -ms-flex-preferred-size: 100px; flex-basis: 100px; padding-top: 1rem; padding-bottom: 1rem; }

@media all and (max-width: 1200px) { .hd_logo { -webkit-box-flex: 0; -ms-flex: 0 0 50px; flex: 0 0 50px; } }

.hd_logo_pic { position: relative; z-index: 2; }

.hd_logo_bg { position: absolute; top: 0px; left: 0px; width: 11.45833vw; height: 100%; background: #fff; }

.hd_logo_bg::before, .hd_logo_bg::after { content: ''; position: absolute; top: 0px; right: -2.60417vw; width: calc(100% + 2.60417vw); height: 100%; -webkit-transform: skewX(-30deg); transform: skewX(-30deg); }

.hd_logo_bg::before { background: #fff; z-index: 1; }

.hd_logo_bg::after { background: #D2D6D7; right: -3.38542vw; }

@media all and (max-width: 1680px) { .hd_logo_bg { width: 8.33333vw; } }

@media all and (max-width: 1200px) { .hd_logo_bg { width: 70px; } }

.hd_ir { -ms-flex-preferred-size: 1720px; flex-basis: 1720px; 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; }

@media all and (max-width: 1200px) { .hd_ir { -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; } }

.hd_ir_menu { padding-left: 9.89583vw; -webkit-transition: all 0.5s; transition: all 0.5s; }

@media all and (max-width: 1200px) { .hd_ir_menu { opacity: 0; pointer-events: none; padding-left: 0px; position: fixed; z-index: 3; top: 0px; left: 0px; width: 100vw; height: 100vh; background: rgba(0, 0, 0, 0.9); overflow-x: hidden; -webkit-transform: scale(1.5); transform: scale(1.5); } }

@media all and (max-width: 1680px) { .hd_ir_tool { padding-right: 15px; } }

@media all and (max-width: 1200px) { .hd_ir_tool { padding-right: 65px; } }

.hd_toggle { position: fixed; z-index: 10; top: 0px; right: 20px; width: 45px; height: 45px; }

.hd_toggle span { display: block; position: absolute; top: 50%; left: 20%; width: 60%; height: 1px; background: #fff; -webkit-transition: all 0.5s; transition: all 0.5s; }

.hd_toggle span:first-child { -webkit-transform: translateY(-8px); transform: translateY(-8px); }

.hd_toggle span:last-child { -webkit-transform: translateY(8px); transform: translateY(8px); }

@media all and (min-width: 1201px) { .hd_toggle { display: none; } }

.hd.js-active .hd_ir_menu { opacity: 1; pointer-events: auto; -webkit-transform: scale(1); transform: scale(1); }

.hd.js-active .hd_toggle span:first-child { -webkit-transform: translateY(0px) rotate(45deg); transform: translateY(0px) rotate(45deg); }

.hd.js-active .hd_toggle span:nth-child(2) { opacity: 0; }

.hd.js-active .hd_toggle span:last-child { -webkit-transform: translateY(0px) rotate(-45deg); transform: translateY(0px) rotate(-45deg); }

@media all and (min-width: 1201px) { .menu_ctr { display: -webkit-box; display: -ms-flexbox; display: flex; margin-left: -0.78125vw; margin-right: -0.78125vw; } }

@media all and (max-width: 1200px) { .menu_ctr { margin-top: 5.1rem; } }

.menu_ctr > li { font-size: 2rem; padding: 2rem 0.78125vw; }

@media all and (max-width: 1200px) { .menu_ctr > li { padding: 15px 5%; } }

@media all and (max-width: 1200px) { .menu_ctr > li a { display: block; } }

.menu_toggle { position: absolute; z-index: 5; top: 0px; right: 0px; width: 45px; height: 56px; }

@media all and (min-width: 1201px) { .menu_toggle { display: none; } }

.menu_toggle::before { content: '\f107'; font-family: "Font Awesome 5 Solid"; position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); }

.menu_dropdown { position: relative; }

@media all and (min-width: 1201px) { .menu_dropdown:hover .menu-dropdown { -webkit-transform: translate(-50%, 0px); transform: translate(-50%, 0px); opacity: 1; pointer-events: auto; } }

@media all and (max-width: 1200px) { .menu_dropdown a { padding-right: calc(5% + 45px); } }

@media all and (min-width: 1201px) { .menu_dropdown--product { position: static; } }

.menu_dropdown--product .menu-dropdown { width: 100%; }

@media all and (min-width: 1201px) { .menu_dropdown--product .menu-dropdown { background: #fff; }
  .menu_dropdown--product .menu-dropdown_list { border-bottom: 1px dotted #333; }
  .menu_dropdown--product .menu-dropdown_list-title .menu-dropdown_link { color: #007bff; font-size: 1.8rem; text-align: left; } }

@media all and (max-width: 1200px) { .menu_dropdown--product .menu-dropdown_ctr { width: 100%; } }

.menu_dropdown--product .menu-dropdown_list-content { margin-top: 1rem; margin-bottom: 1rem; }

@media all and (max-width: 1200px) { .menu_dropdown--product .menu-dropdown_list-content { display: none; } }

.menu_dropdown--product .menu-dropdown_list-content .card { display: block; }

.menu_dropdown--product .menu-dropdown_list-content .card_pic { max-width: 150px; margin: auto; margin-bottom: 1rem; padding-bottom: 20.15113%; position: relative; overflow: hidden; display: block; }

.menu_dropdown--product .menu-dropdown_list-content .card_pic-el { position: absolute; top: 0px; left: 0px; width: 100%; 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; }

.menu_dropdown--product .menu-dropdown_list-content .card_pic-el img { width: auto; height: auto; max-width: 100%; max-height: 100%; }

.menu_dropdown--product .menu-dropdown_list-content .card_name { color: #000; text-align: center; font-size: 1.6rem; display: block; }

.menu-dropdown { background: #ccc; }

@media all and (min-width: 1201px) { .menu-dropdown { position: absolute; top: 100%; left: 50%; width: 200px; border-bottom: 3px solid #000; -webkit-transform: translate(-50%, -10%); transform: translate(-50%, -10%); opacity: 0; pointer-events: none; -webkit-transition: all 0.5s; transition: all 0.5s; } }

@media all and (max-width: 1200px) { .menu-dropdown { position: static; display: none; } }

.menu-dropdown_link { font-size: 1.6rem; color: #000; display: block; padding: 8px 10px; }

@media all and (min-width: 1201px) { .menu-dropdown_link { text-align: center; }
  .menu-dropdown_link:hover { opacity: .5; } }

.hd-tool { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; margin-left: -0.52083vw; margin-right: -0.52083vw; }

.hd-tool_item { padding-left: 0.52083vw; padding-right: 0.52083vw; }

.lang { position: relative; }

.lang_btn { cursor: pointer; -webkit-transition: all 0.5s; transition: all 0.5s; }

@media all and (min-width: 1201px) { .lang_btn:hover { color: #007bff; } }

.lang_btn_txt::before { content: '\f57d'; font-family: "Font Awesome 5 Solid"; }

.lang_ctr { display: none; position: absolute; width: 100px; top: 100%; left: 50%; -webkit-transform: translateX(-50%); transform: translateX(-50%); background: rgba(0, 0, 0, 0.8); }

.lang_ctr a { text-align: center; display: block; padding: 5px 10px; }

.search { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }

@media all and (min-width: 1201px) { .search:hover .search_ctr { margin-left: 8px; width: 7.8125vw; } }

.search_btn_txt::before { content: '\f002'; font-family: "Font Awesome 5 Solid"; }

.search_ctr { margin-left: 0px; width: 0px; overflow: hidden; -webkit-transition: all 0.5s; transition: all 0.5s; }

@media all and (max-width: 1200px) { .search_ctr { margin-left: 3px; width: 70px; } }

.search_ctr input { width: inherit; border: none; border-radius: 50px; outline: none; color: #333; }

/* Common ================================================================= */
/* style ------------------------------------------------------------------ */
.style-none { margin: 0; padding: 0; list-style: none; }

/* scroll ----------------------------------------------------------------- */
.scroll-no { overflow: hidden; }

.scroll-x { overflow-y: hidden; }

.scroll-y { overflow-x: hidden; }

/* display ---------------------------------------------------------------- */
@media all and (max-width: 992px) { .show-pc, .display-pc { display: none !important; } }

@media all and (min-width: 993px) { .show-mobile, .display-mobile { display: none !important; } }

/* Custom --------------------------------------------------------------------- */
.cms-headline { background: #333 url("../img/common/title-bg.png") no-repeat center right; background-size: auto 100%; padding-top: 1.82292%; padding-bottom: 1.82292%; }

.cms-headline_name { color: #fff; font-weight: bold; font-size: 4.5rem; }

@media all and (max-width: 1200px) { .cms-headline_name { font-size: 3.5rem; } }

@media all and (max-width: 480px) { .cms-headline_name { font-size: 3rem; } }

.cms-title { color: #0a3d7b; font-size: 4.5rem; }

@media all and (max-width: 1200px) { .cms-title { font-size: 3.5rem; } }

@media all and (max-width: 480px) { .cms-title { font-size: 3rem; } }

.cms-bookmask { position: relative; }

.cms-bookmask_toggle { border: 1px solid #0a3d7b; border-radius: 2px; padding: 2px 10px; padding-right: 30px; font-size: 2rem; color: #0a3d7b; position: relative; }

@media all and (min-width: 1201px) { .cms-bookmask_toggle { display: none; } }

.cms-bookmask_toggle::after { content: '\f107'; font-family: "Font Awesome 5 Solid"; position: absolute; top: 4px; right: 10px; -webkit-transition: all 0.5s; transition: all 0.5s; }

@media all and (max-width: 1200px) { .cms-bookmask_ctr { position: absolute; z-index: 1; top: 80%; left: 0px; background: #fff; width: 100%; opacity: 0; pointer-events: none; -webkit-transition: all 0.5s; transition: all 0.5s; } }

.cms-bookmask_group { display: -webkit-box; display: -ms-flexbox; display: flex; margin-left: -1.30208vw; margin-right: -1.30208vw; color: #333; font-size: 2.4rem; }

@media all and (max-width: 1200px) { .cms-bookmask_group { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; margin: 0px; font-size: 1.8rem; } }

.cms-bookmask_group > * { padding-left: 1.30208vw; padding-right: 1.30208vw; }

@media all and (max-width: 1200px) { .cms-bookmask_group a { display: block; padding: 5px 0px; } }

.cms-bookmask_group a.active { color: #0a3d7b; }

@media all and (min-width: 1201px) { .cms-bookmask_group a.active { border-bottom: 3px solid #0a3d7b; } }

.cms-bookmask.js-active .cms-bookmask_toggle::after { -webkit-transform: translateY(-3px) rotate(180deg); transform: translateY(-3px) rotate(180deg); }

.cms-bookmask.js-active .cms-bookmask_ctr { top: 100%; opacity: 1; pointer-events: auto; }

.cms-side { -ms-flex-negative: 0; flex-shrink: 0; max-width: 270px; width: 100%; }

@media all and (max-width: 1200px) { .cms-side { max-width: 100%; margin-bottom: 1rem; position: relative; } }

.cms-side_toggle { font-size: 2rem; border: 1px solid #0a3d7b; padding: 8px 15px; padding-right: 30px; position: relative; }

.cms-side_toggle::after { content: '\f107'; font-family: "Font Awesome 5 Solid"; position: absolute; top: 10px; right: 10px; -webkit-transition: all 0.5s; transition: all 0.5s; }

@media all and (min-width: 1201px) { .cms-side_toggle { display: none; } }

@media all and (max-width: 1200px) { .cms-side_ctr { position: absolute; z-index: 5; top: 100%; left: 0px; width: 100%; background: #fff; -webkit-transform: translateY(-10%); transform: translateY(-10%); opacity: 0; pointer-events: none; -webkit-transition: all 0.5s; transition: all 0.5s; } }

.cms-side_title { color: #fff; font-size: 2rem; background: #0A3D7B; position: relative; padding: 1rem 1.6rem; border-left: 20px solid #F9E880; cursor: pointer; margin-bottom: 1.5rem; }

@media all and (max-width: 1200px) { .cms-side_title { font-size: 1.8rem; border: none; } }

.cms-side_title::before { content: ''; position: absolute; top: 0px; left: -20px; width: 3px; height: 100%; background: #333; }

@media all and (max-width: 1200px) { .cms-side_title::before { display: none; } }

.cms-side_group1 { margin-left: 20px; margin-bottom: 1.5rem; display: none; }

@media all and (max-width: 1200px) { .cms-side_group1 { margin-left: 5px; } }

.cms-side_group1.active { display: block; }

.cms-side_subtitle { color: #333; padding-left: 20px; position: relative; margin-bottom: 0.5rem; }

@media all and (max-width: 1200px) { .cms-side_subtitle { margin-bottom: 1.5rem; } }

.cms-side_subtitle::before { content: ''; position: absolute; top: 3px; left: 0px; border-width: 6px 10px; border-style: solid; border-color: transparent; border-left-color: #0B3D7A; }

.cms-side_group2 { margin-left: 20px; display: none; }

@media all and (max-width: 1200px) { .cms-side_group2 { margin-left: 10px; } }

.cms-side_group2.active { display: block; }

.cms-side_group2 a { display: block; font-size: 1.6rem; padding-left: 20px; margin-bottom: 0.5rem; position: relative; color: #666; }

@media all and (max-width: 1200px) { .cms-side_group2 a { margin-bottom: 1.5rem; } }

.cms-side_group2 a::before { content: ''; position: absolute; top: 8px; left: 0px; width: 3px; height: 3px; border-radius: 100%; background: #333; }

.cms-side.is-active .cms-side_toggle::after { -webkit-transform: translateY(-3px) rotate(180deg); transform: translateY(-3px) rotate(180deg); }

.cms-side.is-active .cms-side_ctr { -webkit-transform: translateY(0px); transform: translateY(0px); opacity: 1; pointer-events: auto; }
/*# sourceMappingURL=cms-header.css.map */