@charset "UTF-8";
/* 不改變文字單位 */
/*! normalize.css v2.0.1 | MIT License | git.io/normalize */
/* ========================================================================== HTML5 display definitions ========================================================================== */
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+TC:wght@300&display=swap");
* { -webkit-box-sizing: border-box; box-sizing: border-box; }

*::after, *::before { -webkit-box-sizing: border-box; box-sizing: border-box; }

/** Correct `block` display not defined in IE 8/9. */
article, aside, details, figcaption, figure, footer, header, hgroup, nav, section, summary { display: block; }

/** Correct `inline-block` display not defined in IE 8/9. */
audio, canvas, video { display: inline-block; }

/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */
audio:not([controls]) { display: none; height: 0; }

/** Address styling not present in IE 8/9. */
[hidden] { display: none; }

/* ========================================================================== Base ========================================================================== */
/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */
html { font-family: sans-serif; /* 1 */ -webkit-text-size-adjust: 100%; /* 2 */ -ms-text-size-adjust: 100%; /* 2 */ }

/** Remove default margin. */
body { margin: 0; }

html, body { height: 100%; }
#container { min-height: 100vh; display: flex; flex-direction: column; }
#container .page { flex: 1; }

/* ========================================================================== Links ========================================================================== */
/** Address `outline` inconsistency between Chrome and other browsers. */
a:focus { outline: thin dotted; }

/** Improve readability when focused and also mouse hovered in all browsers. */
a:active, a:hover { outline: 0; }

/* ========================================================================== Typography ========================================================================== */
/** Address variable `h1` font size within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */
h1 { font-size: 2em; }

/** Address styling not present in IE 8/9, Safari 5, and Chrome. */
abbr[title] { border-bottom: 1px dotted; }

/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */
b, strong { font-weight: bold; }

/** Address styling not present in Safari 5 and Chrome. */
dfn { font-style: italic; }

/** Address styling not present in IE 8/9. */
mark { background: #ff0; color: #000; }

/** Correct font family set oddly in Safari 5 and Chrome. */
code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; }

/** Improve readability of pre-formatted text in all browsers. */
pre { white-space: pre; white-space: pre-wrap; word-wrap: break-word; }

/** Set consistent quote types. */
q { quotes: "\201C" "\201D" "\2018" "\2019"; }

/** Address inconsistent and variable font size in all browsers. */
small { font-size: 80%; }

/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }

sup { top: -0.5em; }

sub { bottom: -0.25em; }

/* ========================================================================== Embedded content ========================================================================== */
/** Remove border when inside `a` element in IE 8/9. */
img { border: 0; }

/** Correct overflow displayed oddly in IE 9. */
svg:not(:root) { overflow: hidden; }

/* ========================================================================== Figures ========================================================================== */
/** Address margin not present in IE 8/9 and Safari 5. */
figure { margin: 0; }

/* ========================================================================== Forms ========================================================================== */
/** Define consistent border, margin, and padding. */
fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; }

/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */
legend { border: 0; /* 1 */ padding: 0; /* 2 */ }

/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */
button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ }

/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */
button, input { line-height: normal; }

/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */
button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ }

/** Re-set default cursor for disabled elements. */
button[disabled], html input[disabled] { cursor: default; }

/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */
input[type="checkbox"], input[type="radio"] { -webkit-box-sizing: border-box; box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ }

/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */
input[type="search"] { -webkit-appearance: textfield; /* 1 */ -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; }

/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */
input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }

/** Remove inner padding and border in Firefox 4+. */
button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }

/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */
textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ }

/* ========================================================================== Tables ========================================================================== */
/** Remove most spacing between table cells. */
table { border-collapse: collapse; border-spacing: 0; }
/* ========================================================================== Typography ========================================================================== */
body { font-family: "Microsoft YaHei","微软雅黑", "Microsoft Jhenghei","微軟正黑體", 'Meiryo', "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif; font-weight: 300; -webkit-text-size-adjust: none; text-rendering: optimizeLegibility; color: #444; }

h1, h2, h3, h4, h5, h6 { margin-top: 0; color: #444; font-family: "Microsoft YaHei","微软雅黑", "Microsoft Jhenghei","微軟正黑體", 'Arimo', sans-serif; letter-spacing: 1px; }

h1 { font-size: calc(1.375rem + 1.5vw); margin-bottom: vr(1); }

h2 { font-size: calc(1.325rem + .9vw); margin-bottom: vr(1); }

h3 { font-size: calc(1.3rem + .6vw); margin-bottom: vr(1); }

h4 { font-size: calc(1.275rem + .3vw); margin-bottom: vr(1); }

h5 { font-size: 1.25rem; }

h6 { font-size: 1rem; }

p, li { font-family: "Microsoft YaHei","微软雅黑",'Meiryo', "Microsoft Jhenghei","微軟正黑體", "新細明體", 'Roboto', Tahoma, Geneva, sans-serif; font-size: 1rem; line-height: 1.6; margin-bottom: vr(1); }

p:last-child, li:last-child { margin-bottom: 0; }

th, td { font-size: 1rem; }

p.small { font-size: 1rem; line-height: 1.5; }

ul { line-height: 1; }

ul li { margin-bottom: vr(0.25); }

ul li:last-child { margin-bottom: 0; }

/* ========================================================================== form ========================================================================== */
/* ====================  input  ==================== */
input[type="text"]::-webkit-input-placeholder, input[type="tel"]::-webkit-input-placeholder, input[type="mail"]::-webkit-input-placeholder { color: #aaa; }
input[type="text"]:-ms-input-placeholder, input[type="tel"]:-ms-input-placeholder, input[type="mail"]:-ms-input-placeholder { color: #aaa; }
input[type="text"]::-ms-input-placeholder, input[type="tel"]::-ms-input-placeholder, input[type="mail"]::-ms-input-placeholder { color: #aaa; }
input[type="text"]::placeholder, input[type="tel"]::placeholder, input[type="mail"]::placeholder { color: #aaa; }

/* ==================== Select ==================== */
select::-webkit-input-placeholder { color: #aaa; }
select:-ms-input-placeholder { color: #aaa; }
select::-ms-input-placeholder { color: #aaa; }
select::placeholder { color: #aaa; }

/* ==================== textarea ==================== */
textarea::-webkit-input-placeholder { color: #aaa; }
textarea:-ms-input-placeholder { color: #aaa; }
textarea::-ms-input-placeholder { color: #aaa; }
textarea::placeholder { color: #aaa; }

/* ==================== checkbox, radio ==================== */
input.full[type="checkbox"], input.full[type="radio"] { -moz-appearance: none; border-radius: inherit; cursor: pointer; height: 100%; left: 0px; margin: 0; max-height: 100%; max-width: 100%; min-height: 100%; min-width: 100%; opacity: 0; outline: 0 none; position: absolute; top: 0px; width: 100%; z-index: 2; }

/* ==================== Button ==================== */
button:hover[type="button"], input:hover[type="button"], input:hover[type="submit"], input:hover[type="reset"] { -webkit-transform: scale(0.95); transform: scale(0.95); }

/* ========================================================================== mixins ========================================================================== */
/*************************************

*              表格

**************************************/
table.style_table { margin: 0 0 20px 0; border-top: #1A3A6E 1px solid; border-left: #1A3A6E 1px solid; }

table.style_table th, table.style_table td { padding: 8px 10px; border-right: #1A3A6E 1px solid; border-bottom: #1A3A6E 1px solid; }

table.style_table thead tr th { color: #fff; background-color: #1A3A6E; }

table.style_table thead tr td { font-weight: bold; background-color: #1A3A6E; }

table.style_table tr.odd, table.style_table tbody.odd tr:nth-child(2n+2), table.style_table_left tbody.odd table.style_table tr:nth-child(2n+2) { background: #F7F6F3; }

table.style_table_left { margin: 0 auto 20px auto; border-top: #1A3A6E 1px solid; border-left: #1A3A6E 1px solid; }

table.style_table_left th, table.style_table_left td { padding: 8px 10px; text-align: center; border-right: #1A3A6E 1px solid; border-bottom: #1A3A6E 1px solid; }

table.style_table_left th { color: #fff; background-color: #1A3A6E; }

table.style_table_left th.two { color: #fff; background-color: #0F2044; }

table.style_table_left td.one { background-color: #eee; }

table.style_table_left tr.odd, table.style_table tbody.odd table.style_table_left tr:nth-child(2n+2), table.style_table_left tbody.odd tr:nth-child(2n+2) { background: #F7F6F3; }

.text_center { text-align: center; }

.text_left { text-align: left; }

.text_right { text-align: right; }

img.center { margin: 0 auto; display: block; }

.por { position: relative; }

.poa { position: absolute; }

.fl { float: left; }

.fr { float: right; }

/* ========================================================================== Layout ========================================================================== */
/* ************************************/
/*              body                  */
/**************************************/
html { -webkit-box-sizing: border-box; box-sizing: border-box; }

*, *:before, *:after { -webkit-box-sizing: inherit; box-sizing: inherit; }

.row { -webkit-box-sizing: border-box; box-sizing: border-box; }

.row::after { display: block; clear: both; content: ""; }

#content::after { display: block; clear: both; content: ""; }

/* ************************************/
/*              header                */
/**************************************/
.header_top { padding: 7px 10px; background-color: #091830; text-align: right; }

.header_top ul { padding: 0; margin: 0; list-style-type: none; }

.header_top li { margin-left: 10px; display: inline-block; font-size: .8rem; vertical-align: middle; letter-spacing: .5px; }

.header_top li i { margin-right: 5px; font-size: 1.1rem; vertical-align: bottom; }

.header_top a { color: #fff; text-decoration: none; }

.header_top a:hover { color: #C8AA78; }

/* ************************************/
/*              nav               */
/**************************************/
.header { width: 100%; height: auto; position: fixed; left: 0; top: 0; z-index: 999; background: #0F2044; -webkit-box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06); box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06); }

.header::after { display: block; clear: both; content: ""; }

.header .head_box { width: 1140px; margin: 0 auto; }

.header .nav_box { max-width: 100%; height: auto; padding: 0; display: block; letter-spacing: 1px; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -ms-flex-align: center; align-items: center; gap: 2rem; }

.header .nav_box h1 { padding: 0; margin: 0; display: block; }

.header .nav_box .logo { float: left; margin: 4px 0; }

.header .nav_box .logo img { width: 180px; margin-right: 10px; display: inline-block; vertical-align: middle; }

.header .nav_box .logo p { display: inline-block; vertical-align: middle; margin: 0; color: #C8AA78; font-size: 1.1rem; }

.header .nav_box a { display: inline-block; position: relative; font-size: 1.2rem; color: #fff; text-decoration: none; }

.header .nav_box a span { width: 290px; position: absolute; top: 27px; }

.header .nav_bar { max-width: 100%; height: auto; }

.header .menu { float: right; padding: 0; margin: 0; text-align: center; display: -ms-grid; display: grid; grid-gap: 10px; -ms-grid-columns: (auto)[6]; grid-template-columns: repeat(6, auto); }

.header .menu > .menu-item { position: relative; display: inline-block; margin: 0 0.1rem; }

.header .menu > .menu-item > a { padding: 28px 0 20px; display: block; font-size: 1.1rem; border: none; outline: none; color: #fff; text-transform: capitalize; text-rendering: optimizeLegibility; -webkit-transition: all 0.35s ease; transition: all 0.35s ease; text-decoration: none; }

.header .menu > .menu-item > a .expand { width: 0.75rem; height: 0.75rem; margin-left: 0.35rem; position: relative; display: inline-block; border: none; outline: none; pointer-events: none; }

.header .menu > .menu-item > a .expand:before, .header .menu > .menu-item > a .expand:after { content: ''; width: 100%; height: 2px; left: 50%; top: 50%; position: absolute; -webkit-box-sizing: inherit; box-sizing: inherit; background: #fff; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); -webkit-transition: all 0.35s ease; transition: all 0.35s ease; }

.header .menu > .menu-item:hover > a { color: #fff; }

.header .menu > .menu-item:hover > a .expand::before, .header .menu > .menu-item:hover > a .expand::after { background: #fff; }

.header .menu > .menu-item > a .expand::after { -webkit-transform: translate(-50%, -50%) rotate(-90deg); transform: translate(-50%, -50%) rotate(-90deg); }

.header .menu > .menu-item > .sub-menu > .menu-item > a:hover { color: #C8AA78; }

.header .menu > .menu-item > .sub-menu { width: 13rem; height: auto; padding: 0; left: -1rem; top: 100%; position: absolute; border: none; outline: none; opacity: 0; visibility: hidden; border-top: 3px solid #C8AA78; background: #ffffff; -webkit-box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06); box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06); -webkit-transform: translateY(1rem); transform: translateY(1rem); -webkit-transition: all 0.35s ease; transition: all 0.35s ease; }

.header .menu > .menu-item > .sub-menu > .menu-item { display: block; }

.header .menu > .menu-item > .sub-menu > .menu-item > a { padding: 0.5rem 1.25rem; display: block; color: #444; text-transform: capitalize; text-rendering: optimizeLegibility; -webkit-transition: all 0.35s ease; transition: all 0.35s ease; text-decoration: none; }

.header .menu > .menu-item > .sub-menu > .menu-item > a:hover { color: #fff; background-color: #2A5298; }

.header .opened-menu { width: 2.2rem; height: 1rem; margin-right: 0px; display: none; position: relative; border: none; outline: none; opacity: 0; visibility: hidden; cursor: pointer; background: none; -webkit-transform: rotate(0deg); transform: rotate(0deg); -webkit-transition: all 0.35s ease; transition: all 0.35s ease; }

.header .opened-menu span { width: 100%; height: 2px; display: block; left: 0; position: absolute; border: none; outline: none; opacity: 1; border-radius: 0.25rem; background: #ffffff; -webkit-transform: rotate(0deg); transform: rotate(0deg); -webkit-transition: all 0.25s ease; transition: all 0.25s ease; }

.header .opened-menu span:nth-child(1) { top: 0; }

.header .opened-menu span:nth-child(2), .header .opened-menu span:nth-child(3) { top: 0.5rem; }

.header .opened-menu span:nth-child(4) { top: 1rem; }

.header .closed-menu { width: 2.5rem; height: 2.5rem; display: none; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; cursor: pointer; border: none; outline: none; background: none; }

.header .closed-menu img.closed-icon { width: 1rem; height: auto; display: block; }

.header .overlay { width: 100%; height: 100%; left: 0; top: 0; position: fixed; z-index: 999; opacity: 0; visibility: hidden; background: rgba(0, 0, 0, 0.6); -webkit-transition: all 0.35s ease; transition: all 0.35s ease; }

@media only screen and (min-width: 993px) { .header .menu > .menu-item-has-children:hover > .sub-menu { display: block; opacity: 1; visibility: visible; -webkit-transform: translateY(0); transform: translateY(0); }
  .header .menu > .menu-item-has-children:hover > a .expand::after { -webkit-transform: translate(-50%, -50%) rotate(0deg); transform: translate(-50%, -50%) rotate(0deg); } }

@media only screen and (max-width: 992px) { .header .head_box { width: 100%; padding-right: var(--bs-gutter-x, 0.55rem); padding-left: var(--bs-gutter-x, 0.55rem); }
  .header .nav_box { display: -webkit-box; display: -ms-flexbox; display: flex; gap: .5rem; }
  .header .nav_box h1 { width: 100%; margin: 0; }
  .header .nav_box .logo { margin: 4px auto; }
  .header .nav_box a { font-size: 1.1rem; letter-spacing: 0; }
  .header .nav_box a span { display: none; }
  .header .overlay.active { display: block; opacity: 1; visibility: visible; }
  .header .nav_bar { width: 18rem; height: 100%; padding: 1rem 0; top: 0; left: -18rem; position: fixed; z-index: 999; opacity: 0; overflow-y: auto; visibility: hidden; background: #ffffff; -webkit-box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06); box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06); -webkit-transition: all 0.5s ease; transition: all 0.5s ease; }
  .header .nav_bar.active { left: 0rem; opacity: 1; visibility: visible; }
  .header .nav_bar::-webkit-scrollbar { width: 5px; }
  .header .nav_bar::-webkit-scrollbar-thumb { border-radius: 1rem; background: #e6e6e6; -webkit-box-shadow: inset 0 2px 6px rgba(0, 0, 0, 0.12); box-shadow: inset 0 2px 6px rgba(0, 0, 0, 0.12); }
  .header .menu { width: 100%; height: auto; margin-top: 40px; display: block; }
  .header .menu > .menu-item { margin: 0; display: block; text-align: left; }
  .header .menu > .menu-item-has-children > a { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
  .header .menu > .menu-item > a { padding: 0.75rem 1rem; color: #0F2044; border-bottom: 1px solid #f2f2f2; }
  .header .menu > .menu-item:first-child > a { border-top: 1px solid #f2f2f2; }
  .header .menu > .menu-item > a .expand::before, .header .menu > .menu-item > a .expand::after { background: #0F2044; }
  .header .menu > .menu-item:hover > a { color: #1A3A6E; }
  .header .menu > .menu-item:hover > a .expand::before, .header .menu > .menu-item:hover > a .expand::after { background: #0F2044; }
  .header .menu > .menu-item-has-children.active > a .expand:after { -webkit-transform: translate(-50%, -50%) rotate(0deg); transform: translate(-50%, -50%) rotate(0deg); }
  .header .menu > .menu-item > .sub-menu { width: 100%; max-height: 0; padding: 0px; top: auto; left: auto; position: relative; border: none; outline: none; opacity: 1; overflow: hidden; visibility: visible; background: transparent; -webkit-box-shadow: none; box-shadow: none; -webkit-transform: translateY(0px); transform: translateY(0px); }
  .header .menu > .menu-item > .sub-menu > .menu-item { margin: 0; }
  .header .menu > .menu-item > .sub-menu > .menu-item > a { padding: 0.75rem 2rem; color: #ffffff; background-color: #0F2044; border-bottom: 1px solid #1A3A6E; }
  .header .menu > .menu-item > .sub-menu > .menu-item > a:hover { color: #444; }
  .header .opened-menu { display: block; opacity: 1; visibility: visible; }
  .header .closed-menu { position: absolute; display: -webkit-box; display: -ms-flexbox; display: flex; top: .5rem; right: 0.5rem; }
  .header .closed-menu svg path { fill: #1A3A6E; } }

#D1:before, #D2:before, #D3:before, #D4:before { display: block; content: " "; margin-top: -60px; height: 60px; visibility: hidden; }

/* ************************************/
/*              footer                */
/**************************************/
footer { width: 100%; background-color: #091830; }

.footer_top_line { width: 100%; height: 1px; background: linear-gradient(90deg, transparent, #C8AA78, transparent); }

footer .box_footer { width: 1100px; max-width: 90%; margin: 0 auto; padding: 60px 0 40px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; align-items: start; }

.footer_col_brand img { width: 100px; margin-bottom: 16px; display: block; }

.footer_org_name { margin: 0 0 8px; font-size: 1rem; color: #C8AA78; line-height: 1.5; }

.footer_tagline { margin: 0; font-size: .8rem; color: #7a8eaa; letter-spacing: 1px; }

.footer_col_title { margin: 0 0 20px; font-size: .8rem; font-weight: 600; letter-spacing: 3px; color: #C8AA78; text-transform: uppercase; }

.footer_col_contact ul { padding: 0; margin: 0; list-style: none; }

.footer_col_contact li { display: flex; align-items: flex-start; gap: 10px; font-size: .9rem; color: #b0bdd4; margin-bottom: 14px; line-height: 1.5; }

.footer_col_contact li i { color: #C8AA78; margin-top: 3px; flex-shrink: 0; }

.footer_col_contact li a { color: #b0bdd4; text-decoration: none; transition: color .2s; }

.footer_col_contact li a:hover { color: #C8AA78; }

.footer_social_links { display: flex; flex-direction: column; gap: 12px; }

.footer_social_btn { display: inline-flex; align-items: center; gap: 8px; padding: 9px 20px; border: 1px solid rgba(200,170,120,0.4); border-radius: 30px; color: #C8AA78; text-decoration: none; font-size: .88rem; letter-spacing: 1px; transition: all .3s; width: fit-content; }

.footer_social_btn:hover { background: rgba(200,170,120,0.12); border-color: #C8AA78; color: #fff; }

.footer_secretary_link { display: inline-flex; align-items: center; gap: 8px; color: #b0bdd4; text-decoration: none; font-size: .9rem; transition: color .2s; }

.footer_secretary_link i { color: #C8AA78; flex-shrink: 0; }

.footer_secretary_link:hover { color: #C8AA78; }

.footer_copyright { width: 100%; border-top: 1px solid rgba(255,255,255,0.08); padding: 20px 0; }

.footer_copyright p { width: 1100px; max-width: 90%; margin: 0 auto; text-align: center; font-size: .8rem; color: #5a6a80; letter-spacing: 1px; }

@media screen and (max-width: 768px) { footer .box_footer { grid-template-columns: 1fr; gap: 32px; padding: 40px 0 30px; } .footer_col_brand img { margin: 0 auto 16px; } }

@media screen and (max-width: 576px) { footer .box_footer { grid-template-columns: 1fr; gap: 28px; padding: 32px 0 24px; } .footer_col_brand { text-align: center; } .footer_col_brand img { margin: 0 auto 16px; } .footer_social_btn { margin: 0 auto; } }

/* ============================ 大圖輪撥 ============================ */
.carousel { margin-top: 95px; }

.carousel-indicators [data-bs-target] { background-color: #0F2044; }

@media screen and (max-width: 576px) { .carousel { margin-top: 89px; } }

/* ============================ 麵包屑 ============================ */
.path { width: 1140px; margin: 0px auto 40px; }

.path ul { padding: 0; margin: 0; list-style-type: none; }

.path li { display: inline-block; vertical-align: baseline; }

.path a { padding: 0; display: inline-block; vertical-align: middle; color: #444; text-decoration: none; letter-spacing: 1.3px; }

.path a:after { content: ""; width: 20px; height: 25px; display: inline-block; vertical-align: middle; background: url(../images/path_img.svg) no-repeat 0px 0px/100% 100%; }

@media screen and (max-width: 768px) { .path { width: 90%; } }

@media screen and (max-width: 576px) { .path { width: 90%; } }

/* ============================ Layout ============================ */
.layout_about, .layout_news_activity, .layout_hot_activity, .layout_patient_education_fb { width: 100%; padding: 80px 0; }

.layout_about h2, .layout_news_activity h2, .layout_hot_activity h2, .layout_patient_education_fb h2 { margin: 0 auto 30px; color: #0F2044; text-align: center; }

.layout_about { padding: 100px 0; }

.layout_news_activity { background-color: #DDE5F2; }

@media screen and (max-width: 768px) { .layout_about, .layout_news_activity, .layout_hot_activity, .layout_patient_education_fb { padding: 60px 0; } }

@media screen and (max-width: 576px) { .layout_about, .layout_news_activity, .layout_hot_activity, .layout_patient_education_fb { padding: 40px 0; } }

/* ============================ 學會簡介 ============================ */
.box_about { width: 1140px; margin: 0 auto; }

.layout_box_about { display: -ms-grid; display: grid; grid-gap: 30px; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -ms-grid-columns: (1fr)[2]; grid-template-columns: repeat(2, 1fr); text-decoration: none; letter-spacing: 1px; }

.layout_box_about img { width: 100%; }

.article_text .title { margin-bottom: 10px; color: #0F2044; font-size: 1.2rem; line-height: 1.5; }

.article_text .text { color: #444; }

.article_text .more { padding: 2px 40px; margin-top: 20px; display: inline-block; color: #fff; background-color: #0F2044; border-radius: 30px; }

.layout_box_about:hover .article_text .more { background-color: #C8AA78; }

@media screen and (max-width: 768px) { .box_about { width: 90%; }
  .layout_box_about { -ms-grid-columns: (1fr)[1]; grid-template-columns: repeat(1, 1fr); }
  .article_text { text-align: center; }
  .article_text .title, .article_text .text { text-align: left; } }

@media screen and (max-width: 576px) { .box_about { width: 90%; }
  .layout_box_about { -ms-grid-columns: (1fr)[1]; grid-template-columns: repeat(1, 1fr); }
  .article_text { text-align: center; }
  .article_text .title, .article_text .text { text-align: left; } }

/* ============================ 最新消息 學術活動 ============================ */
.box_news_activity { width: 1140px; margin: 0 auto; display: -ms-grid; display: grid; grid-gap: 40px; -ms-grid-columns: (1fr)[2]; grid-template-columns: repeat(2, 1fr); }

.box_news, .box_activity { text-align: center; }

.box_news .photo, .box_activity .photo { overflow: hidden; }

.box_news img, .box_activity img { width: 100%; }

.box_news ul, .box_activity ul { padding: 0; margin: 0; list-style-type: none; }

.box_news li, .box_activity li { margin-bottom: 20px; }

.box_news a, .box_activity a { display: block; display: -ms-grid; display: grid; grid-gap: 20px; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -ms-grid-columns: (1fr)[2]; grid-template-columns: repeat(2, 1fr); text-decoration: none; }

.box_news a .date, .box_activity a .date { display: block; text-align: left; font-size: 1.4rem; line-height: 1.4; color: #0F2044; }

.box_news a .title, .box_activity a .title { height: 50px; padding: 0 5px 0 0; display: block; text-align: left; overflow: hidden; font-size: 1.1rem; line-height: 1.4; letter-spacing: 1px; color: #444; }

.box_news a .text, .box_activity a .text { height: 55px; padding: 5px 5px 0 0; color: #888; text-align: left; overflow: hidden; }

.box_news a:hover, .box_activity a:hover { -webkit-transition: .4s; transition: .4s; }

.box_news a:hover img, .box_activity a:hover img { -webkit-transform: scale(1.1); transform: scale(1.1); -webkit-transition: .4s; transition: .4s; }

.box_news a:hover .date, .box_activity a:hover .date { color: #1A3A6E; -webkit-transform: translateX(-10px); transform: translateX(-10px); -webkit-transition: .4s; transition: .4s; }

.box_news a:hover, .box_activity a:hover { background-color: rgba(255, 255, 255, 0.8); }

.box_news .more, .box_activity .more { padding: 2px 40px; margin-top: 40px; display: inline-block; color: #fff; background-color: #0F2044; border-radius: 30px; }

.box_news .more:hover, .box_activity .more:hover { background-color: #C8AA78; }

.box_news { position: relative; }

.box_news ul::before { content: ""; height: 80%; right: 0; -webkit-transform: translateX(1000%); transform: translateX(1000%); position: absolute; border-right: #0F2044 2px solid; }

/* ===== long_news_list ===== */
.long_news_list { padding: 0; margin: 0; list-style: none; }
.long_news_list li { border-bottom: 1px solid #C8D5E8; }
.long_news_list li a { display: flex; align-items: baseline; gap: 16px; padding: 14px 8px; text-decoration: none; transition: background .2s; }
.long_news_list li a:hover { background: rgba(255,255,255,0.6); border-radius: 6px; }
.long_news_list li a span { flex-shrink: 0; font-size: .85rem; color: #1A3A6E; letter-spacing: .5px; }
.long_news_list li a h3 { margin: 0; font-size: 1rem; font-weight: 500; color: #0F2044; line-height: 1.4; text-align: left; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.long_news_list li a p { display: none; }

/* 首頁版（index_long_news_list）維持單行標題、不顯示摘要） */
.index_long_news_list li a h3 { -webkit-line-clamp: 1; }

@media screen and (max-width: 768px) { .box_news_activity { width: 90%; }
  .box_news a, .box_activity a { -ms-grid-columns: (1fr)[1]; grid-template-columns: repeat(1, 1fr); }
  .box_news a:hover, .box_activity a:hover { background-color: transparent; }
  .box_news ul::before { height: 96%; } }

@media screen and (max-width: 576px) { .box_news_activity { width: 90%; -ms-grid-columns: (1fr)[1]; grid-template-columns: repeat(1, 1fr); }
  .box_news a, .box_activity a { -ms-grid-columns: (1fr)[1]; grid-template-columns: repeat(1, 1fr); }
  .box_news a:hover, .box_activity a:hover { background-color: transparent; }
  .box_news ul::before { content: none; } }

/* ============================ 精采活動 ============================ */
.box_hot_activity { width: 1140px; margin: 0 auto; }

.box_hot_activity .item { margin: 0 10px; }

.box_hot_activity .item a { display: block; text-decoration: none; }

.box_hot_activity .item a .date { margin-bottom: 5px; color: #0F2044; font-size: 1.6rem; }

.box_hot_activity .item a p { padding: 5px 10px 0; margin-bottom: 0; color: #444; letter-spacing: 1px; font-size: .9rem; }

.box_hot_activity .item a .more { padding: 2px 40px; margin: 10px 10px 0; display: inline-block; color: #fff; background-color: #0F2044; border-radius: 30px; }

.box_hot_activity .item a img { -webkit-filter: grayscale(50%); filter: grayscale(50%); -webkit-transition: .4s; transition: .4s; }

.box_hot_activity .item a:hover img { -webkit-filter: grayscale(0); filter: grayscale(0); -webkit-transition: .4s; transition: .4s; }

.box_hot_activity .item a:hover .more { background-color: #C8AA78; }

.box_hot_activity .item img { width: 100%; }

.box_hot_activity .slick-dots { width: 100%; text-align: center; padding: 0; margin: 20px 0 0; list-style-type: none; }

.box_hot_activity .slick-dots li { width: 8px; height: 8px; background-color: #C8D5E8; margin: 0 4px; display: inline-block; border-radius: 50%; opacity: 0.5; transition: all 0.3s; }
.box_hot_activity .slick-dots li.slick-active { width: 24px; border-radius: 4px; background-color: #0F2044; opacity: 1; }

.box_hot_activity .slick-dots li button { border: 0px none; white-space: nowrap; text-indent: 150%; overflow: hidden; background-color: transparent; }

/* slick-active handled above */

.box_hot_activity .slick-prev { width: 30px; height: 60px; top: 40%; position: absolute; border: 0px none; white-space: nowrap; text-indent: 150%; overflow: hidden; right: -30px; background: url(../images/angle-right.svg) no-repeat 0px 0px/cover; }

.box_hot_activity .slick-next { width: 30px; height: 60px; top: 40%; position: absolute; border: 0px none; white-space: nowrap; text-indent: 150%; overflow: hidden; left: -30px; background: url(../images/angle-left.svg) no-repeat 0px 0px/cover; }

@media screen and (max-width: 768px) { .box_hot_activity { width: 90%; } }

@media screen and (max-width: 576px) { .box_hot_activity { width: 90%; }
  .box_hot_activity .slick-prev { right: -20px; }
  .box_hot_activity .slick-next { left: -20px; } }

/* ============================ 衛教專區 FB ============================ */
.layout_patient_education_fb { position: relative; background-color: #0F2044; }

.layout_patient_education_fb::after { content: ""; width: 30%; height: 100%; top: 0; right: 0; position: absolute; background-color: #0F2044; z-index: 1; }

.box_patient_education_fb { width: 1140px; margin: 0 auto; position: relative; z-index: 100; text-align: center; display: -ms-grid; display: grid; grid-gap: 60px; justify-items: center; -ms-grid-columns: 7fr 3fr; grid-template-columns: 7fr 3fr; }

.box_patient_education_fb ul { padding: 0; margin: 0; list-style-type: none; }

.box_patient_education_fb li { padding-bottom: 20px; margin-bottom: 20px; border-bottom: #fff 1px solid; }

.box_patient_education_fb a { display: -ms-grid; display: grid; grid-gap: 20px; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -ms-grid-columns: .4fr 1fr; grid-template-columns: .4fr 1fr; text-decoration: none; -webkit-transition: .4s; transition: .4s; }

.box_patient_education_fb a .date { color: #C8AA78; font-size: 1.1rem; }

.box_patient_education_fb a .title { margin-bottom: 5px; text-align: left; color: #fff; font-size: 1.1rem; line-height: 1.4; }

.box_patient_education_fb a .text { color: #b0bdd4; text-align: left; font-size: .95rem; }

.box_patient_education_fb a:hover .title { color: #C8AA78; -webkit-transition: .4s; transition: .4s; }

.box_patient_education_fb li:last-child { border-bottom: 0px none; }

/* ===== TSOPRS Community Card ===== */
/* ── community card 內所有 <a> reset，避免被 .box_patient_education_fb a 覆蓋 ── */
.item_fb .tsoprs_community_card a,
.item_fb .tsoprs_community_card a.community_btn_social,
.item_fb .tsoprs_community_card a.community_btn_follow {
    display: inline-flex !important;
    grid-template-columns: unset !important;
    grid-template-rows: unset !important;
    width: auto !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    text-decoration: none;
    transition: all 0.3s;
}
.item_fb .tsoprs_community_card .community_links { display: flex !important; justify-content: center !important; align-items: center !important; width: 100% !important; }

.tsoprs_community_card { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 40px 28px; height: 100%; box-sizing: border-box; background: rgba(255,255,255,0.06); border: 1px solid rgba(200,170,120,0.35); border-radius: 16px; }

.community_hero { width: 100%; margin-bottom: 20px; border-radius: 10px; overflow: hidden; aspect-ratio: 1 / 1; }
.community_hero img { width: 100%; height: 100%; object-fit: cover; object-position: center top; display: block; }

.community_logo img { width: 70px; margin-bottom: 12px; filter: drop-shadow(0 0 8px rgba(200,170,120,0.4)); }

.community_name { font-size: 1.1rem; font-weight: 700; letter-spacing: 4px; color: #C8AA78; margin-bottom: 10px; }

.community_tagline { font-size: 1.35rem; font-weight: 300; color: #fff; line-height: 1.6; letter-spacing: 1px; margin-bottom: 14px; }

.community_desc { font-size: .88rem; color: #b0bdd4; line-height: 1.7; margin: 0 0 20px; }

.community_divider { width: 40px; height: 1px; background: linear-gradient(90deg, transparent, #C8AA78, transparent); margin: 0 auto 20px; }

.community_links { display: flex; gap: 12px; justify-content: center; align-items: center; width: 100%; margin-bottom: 24px; }

.community_btn_social { display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 8px 16px; border: 1px solid rgba(200,170,120,0.5); border-radius: 30px; color: #C8AA78; font-size: .85rem; letter-spacing: 1px; cursor: pointer; transition: all 0.3s; }

.community_btn_social:hover { background: rgba(200,170,120,0.15); color: #fff; }

.community_btn_follow { display: flex; align-items: center; justify-content: center; width: 100%; padding: 12px 0; background: #C8AA78; color: #0F2044; border-radius: 30px; font-size: .9rem; font-weight: 600; letter-spacing: 2px; cursor: pointer; transition: all 0.3s; box-sizing: border-box; }

.community_btn_follow:hover { background: #fff; color: #0F2044; }

.box_patient_education_fb .more { padding: 2px 40px; margin: 10px auto 0; display: inline-block; color: #0F2044; background-color: #F2F4F8; border-radius: 30px; }

.box_patient_education_fb .more:hover { background-color: #C8AA78; }

.item_patient_education { text-align: center; }

.item_patient_education h2 { color: #C8AA78; }

@media screen and (max-width: 768px) { .layout_patient_education_fb { padding: 0; }
  .box_patient_education_fb { width: 100%; grid-gap: 0; -ms-grid-columns: (1fr)[2]; grid-template-columns: repeat(2, 1fr); }
  .box_patient_education_fb a { -ms-grid-columns: 1fr; grid-template-columns: 1fr; }
  .item_patient_education { width: 90%; padding: 40px 0; margin: 0 auto; }
  .layout_patient_education_fb::after { content: none; }
  .item_fb { padding: 40px 10px; background-color: #0F2044; } }

@media screen and (max-width: 576px) { .layout_patient_education_fb { padding: 0; }
  .box_patient_education_fb { width: 100%; grid-gap: 0; -ms-grid-columns: (1fr)[1]; grid-template-columns: repeat(1, 1fr); }
  .box_patient_education_fb a { -ms-grid-columns: 1fr; grid-template-columns: 1fr; }
  .item_patient_education { width: 90%; padding: 40px 0; margin: 0 auto; }
  .layout_patient_education_fb::after { content: none; }
  .item_fb { width: 100%; padding: 40px 10px; background-color: #0F2044; } }

.page { margin-top: 97px; background: #f0f3f7; }

.page_layout_news { width: 100%; padding: 80px 0; }

.layour_news_content, .page_layout_announcement { width: 100%; padding: 40px 0; }

.mb10 { margin-bottom: 10px; }

.hr { margin-bottom: 40px; padding-bottom: 40px; border-bottom: #aaa 2px dotted; }

/* ============================ 標題 ============================ */
.layout_tite { padding: 100px 0; margin: 0 auto; text-align: center; background: url(../images/news_img.jpg) no-repeat 0px 0px/cover; }

.layout_tite h2 { font-size: 3.75rem; font-family: 'Noto Serif TC', serif; }

/* ============================ 最新消息 ============================ */
.page_box_news { width: 1140px; margin: 0 auto; }

.page_box_news .photo { overflow: hidden; }

.page_box_news img { width: 100%; }

.page_box_news ul.item { padding: 0; margin: 0; list-style-type: none; display: -ms-grid; display: grid; grid-gap: 40px; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -ms-grid-columns: (1fr)[2]; grid-template-columns: repeat(2, 1fr); }

.page_box_news li { margin-bottom: 0px; }

.page_box_news a { display: block; display: -ms-grid; display: grid; grid-gap: 20px; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -ms-grid-columns: (1fr)[2]; grid-template-columns: repeat(2, 1fr); text-decoration: none; }

.page_box_news a .date { display: block; text-align: left; font-size: 1.4rem; line-height: 1.4; color: #0F2044; }

.page_box_news a .title { height: 50px; padding: 0 5px 0 0; display: block; text-align: left; overflow: hidden; font-size: 1.1rem; line-height: 1.4; letter-spacing: 1px; color: #444; }

.page_box_news a .text { height: 55px; padding: 5px 5px 0 0; color: #888; text-align: left; overflow: hidden; }

.page_box_news a:hover { -webkit-transition: .4s; transition: .4s; }

.page_box_news a:hover img { -webkit-transform: scale(1.1); transform: scale(1.1); -webkit-transition: .4s; transition: .4s; }

.page_box_news a:hover .date { color: #0F2044; -webkit-transform: translateX(-10px); transform: translateX(-10px); -webkit-transition: .4s; transition: .4s; }

.page_box_news a:hover { background-color: #F2F4F8; }

.page_no { margin: 40px auto 0; display: -ms-grid; display: grid; place-items: center; }

.page_no .page-link { color: #0F2044; border-color: #0F2044; }

.page_no .page-link:hover { background-color: #C8D5E8; }

.page_no ul { margin: 0; text-align: center; }

.page_no .page-item.active .page-link { background-color: #0F2044; border-color: #0F2044; }

.page_no li a:hover { color: #1A3A6E; }

@media screen and (max-width: 768px) { .page_box_news { width: 90%; }
  .page_box_news ul.item { grid-gap: 20px; -ms-grid-columns: (1fr)[2]; grid-template-columns: repeat(2, 1fr); }
  .page_box_news a:hover { background: transparent; }
  .page_box_news .img { width: 100%; } }

@media screen and (max-width: 576px) { .page_box_news { width: 90%; }
  .page_box_news ul.item { grid-gap: 20px; -ms-grid-columns: (1fr)[1]; grid-template-columns: repeat(1, 1fr); }
  .page_box_news a:hover { background: transparent; }
  .page_box_news span.date { padding-top: 0px; line-height: 1; }
  .page_box_news .img { width: 40%; } }

/* ============================ 最新消息 內容 ============================ */
.box_news_content { width: 1140px; padding: 40px; margin: 0 auto; border-radius: 10px; background: transparent; box-shadow: none; }

.box_news_content .title { padding-bottom: 20px; margin-bottom: 40px; color: #0F2044; border-bottom: #aaa 1px solid; }

.box_news_content .title .date { margin-bottom: 10px; font-size: 1.6rem; }

.box_news_content .title h2 { color: #444; font-size: calc(1.125rem + .9vw); line-height: 1.3; letter-spacing: 1px; }

.box_news_content ul { padding-left: 20px; }

.box_news_content h3 { margin-bottom: 30px; }

.box_news_content p { margin-bottom: 30px; font-size: 1.1rem; letter-spacing: 1px; }

.box_news_content li { font-size: 1.1rem; line-height: 1.5; letter-spacing: 1px; }

.box_news_content .img { width: 90%; }

.box_news_content .img img { width: 100%; }

.box_news_content img { margin-bottom: 20px; }

@media screen and (max-width: 576px) { .box_news_content { width: 90%; padding: 20px; }
  .box_news_content .img { width: 100%; }
  .box_news_content p, .box_news_content li { font-size: 1.3rem; } }

/* ============================ 公告 ============================ */
.layout_tite_announcement img { width: 100%; }

.announcement_content { width: 1140px; padding: 40px; margin: 0 auto; border-radius: 10px; -webkit-box-shadow: 0px 0px 10px #ccc; box-shadow: 0px 0px 10px #ccc; }

.announcement_content h2 { padding: 10px 0 20px; text-align: center; letter-spacing: 2px; line-height: 1.5; }

.announcement_content h3 { margin-bottom: 30px; text-align: center; letter-spacing: 2px; }

.announcement_content h4 { margin-bottom: 20px; }

.announcement_content h4 span { width: 140px; display: inline-block; text-align: right; color: #666; font-size: calc(1.275rem + .3vw - 3px); }

.announcement_content div h4 { display: inline-block; vertical-align: top; }

.announcement_content div ul.use { padding: 0; margin: 0; list-style-type: none; display: -ms-inline-grid; display: inline-grid; grid-gap: 10px 20px; -ms-grid-columns: (1fr)[8]; grid-template-columns: repeat(8, 1fr); }

.announcement_content div ul.use li { font-size: calc(1.275rem + .3vw); }

.announcement_content div ul.use li h4 { margin-bottom: 0; }

.announcement_content p { font-size: 1.2rem; letter-spacing: 1px; }

.announcement_content p span { display: block; }

.announcement_content img { width: 60%; margin: 0 auto; text-align: center; display: block; }

.announcement_content div + p { margin-top: 50px; }

.announcement_content img + p { margin-top: 40px; }

.contact { padding: 20px; margin-bottom: 20px; display: inline-block; background-color: #eee; border-radius: 10px; }

.contact ul { padding: 0; margin: 0; list-style-type: none; }

.contact li { margin-bottom: 7px; display: block; font-size: 1.1rem; }

@media screen and (max-width: 576px) { .announcement_content { width: 90%; padding: 20px; }
  .announcement_content h4 span { width: auto; }
  .announcement_content div h4 { margin-bottom: 10px; }
  .announcement_content div ul.use { display: -ms-grid; display: grid; -ms-grid-columns: (1fr)[3]; grid-template-columns: repeat(3, 1fr); }
  .announcement_content img { width: 100%; } }

/* ========================================================================== Activity Page ========================================================================== */
/* ========================================================================== Plug mixins ========================================================================== */
/* ========================================================================== responsive mixins ========================================================================== */
/*# sourceMappingURL=all.css.map */