@charset "utf-8";
#Center { position: relative; }
#Center .guide_title { position: absolute; top: 0; left: 0; }

/*----------------------------------------------------------------------*/
/* KeyVisual */
#KeyVisual { position: relative; z-index: 1; overflow: hidden; }
#KeyVisual .banner_warp { max-width: 960px; margin: 0 auto; }
#KeyVisual .owl-carousel .owl-stage-outer { overflow: visible; }
#KeyVisual .index_slider_list a { display:block; max-width:100%; overflow:hidden; width: 100%; height: 0; padding-bottom: 54.167%; position: relative; border-radius: 30px; box-shadow: 0 0 18px 0 rgba(0,0,0,.2); }
#KeyVisual .index_slider_list a:hover, #KeyVisual .index_slider_list a:focus { box-shadow: 0 0 18px 0 rgba(0,0,0,.4); }
#KeyVisual .index_slider_list img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; }
#KeyVisual .owl-carousel .owl-nav .owl-prev { left: -18px; }
#KeyVisual .owl-carousel .owl-nav .owl-next { right: -18px; }
#KeyVisual::after { content: ''; position: absolute; left: 0; bottom: 0; background: url(../images/index_bg1.svg) no-repeat center bottom; background-size: contain; width: 100%; height: 100%; }

/* noscript */
#KeyVisual.noscript > div { max-width:960px; margin:0 auto; position: relative; z-index: 1; }
#KeyVisual.noscript .index_slider_list li { margin:10px 0; }
#KeyVisual.noscript + .return_form_noscript { padding-bottom:40px; }

/*----------------------------------------------------------------------*/
/* 輪播 owl-carousel */
.owl-carousel .disabled { display: none; }

.owl-carousel .owl-nav > div {
	position:absolute; top:50%; border:1px solid #444; text-indent:-999px; z-index:9999; overflow:hidden;
	-webkit-border-radius:5px;	-moz-border-radius:5px; border-radius:50%; background-color: #e9eaed;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	transition: all 0.3s ease;
	}
.owl-carousel .owl-nav > div:hover { background-color: #444; }
.owl-carousel .owl-nav > div::after { 
	content:''; display:block; position:absolute; top:50%; width:12px; height:12px; margin-top:-6px;
	border-left:1px solid #444; border-top:1px solid #444; 
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	transition: all 0.3s ease;
	}
	.owl-carousel .owl-nav .owl-prev::after { 
		-webkit-transform: rotate(-45deg);
		-moz-transform: rotate(-45deg);
		transform: rotate(-45deg);
        left:50%; margin-left:-9px;
		}
	.owl-carousel .owl-nav .owl-next::after { 
		-webkit-transform: rotate(135deg);
		-moz-transform: rotate(135deg);
		transform: rotate(135deg);
        right:50%; margin-right:-9px;
		}
.owl-carousel .owl-nav > div:hover::after { border-color:#fff; }
.owl-carousel .owl-nav > div::before { 
	content:''; display:block; position:absolute; top:50%; width:20px; height:1px; background-color: #444;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	transition: all 0.3s ease;
	}
    .owl-carousel .owl-nav .owl-prev::before { left: calc(50% - 10px); }
    .owl-carousel .owl-nav .owl-next::before { right: calc(50% - 10px); }
    .owl-carousel .owl-nav > div:hover::before { background-color:#fff; }

.owl-carousel .owl-dots { width:100%; text-align:center; line-height:0; position: absolute; bottom: -30px; }
.owl-carousel .owl-dots .owl-dot { 
	display:inline-block; width:14px; height:14px; margin:0 0.4vw; background-color:#fff; border: 2px solid #d8eeff; box-sizing: border-box;
	-webkit-border-radius:7px; -moz-border-radius:7px; border-radius:7px; 
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	transition: all 0.3s ease;
}
.owl-carousel .owl-dots .owl-dot:hover { border-color: var(--color1); }
.owl-carousel .owl-dots .owl-dot.active, .owl-carousel .owl-dots .owl-dot:focus { 
    background-color: var(--color1);
}

@media screen and (min-width: 1600px) {
    #KeyVisual .owl-carousel .owl-nav .owl-prev { left: -10vw; }
    #KeyVisual .owl-carousel .owl-nav .owl-next { right: -10vw; }
}
@media screen and (min-width: 1024px) {
	.owl-carousel .owl-nav > div { margin-top:-23px; width:46px; height:46px; }
	.IndexBlock .owl-carousel .owl-nav > div { margin-top:-23px; width:46px; height:46px; margin-top: -23px; }
    .IndexBlock .owl-carousel .owl-nav .owl-prev { left: -25px; }
    .IndexBlock .owl-carousel .owl-nav .owl-next { right: -25px; }
    #KeyVisual { padding: 20px 100px; }
}
@media screen and (max-width: 1023px) {
	.owl-carousel .owl-nav > div { margin-top:-17px; width:34px; height:34px; }
    .owl-carousel .owl-nav > div::before { width: 16px; right: calc(50% - 8px); }
    .owl-carousel .owl-nav > div::after { width: 8px; height: 8px; margin-top: -4px; }
    .IndexBlock .owl-carousel .owl-nav .owl-prev { left: -18px; }
    .IndexBlock .owl-carousel .owl-nav .owl-next { right: -18px; }
    .owl-carousel .owl-nav .owl-prev::before { left: calc(50% - 8px); }
    .owl-carousel .owl-nav .owl-next::before { right: calc(50% - 8px); }
    .owl-carousel .owl-nav .owl-prev::after { margin-left: -7px; }
    .owl-carousel .owl-nav .owl-next::after { margin-right: -7px; }
    .owl-carousel .owl-dots .owl-dot { margin: 0 5px; }
}
@media screen and (max-width: 639px) {
    .index_carousel { max-width: 320px; }
    .index_carousel .owl-nav { position: relative; padding-top: 10px; }
    .IndexBlock .owl-carousel .owl-nav > div { top: auto; }
    .IndexBlock .owl-carousel .owl-nav .owl-prev { right: auto; left: calc(50% - 45px); }
    .IndexBlock .owl-carousel .owl-nav .owl-next { right: calc(50% - 45px); }
    #KeyVisual { padding: 20px 20px 15px; }
}
@media screen and (min-width: 640px) and (max-width: 1023px) {
    #KeyVisual { padding: 30px 5%; }
}

/*----------------------------------------------------------------------*/
/* 首頁共用樣式 */
.IndexBlock { overflow: hidden; position: relative; font-family: "Poppins", "Noto Sans TC", sans-serif; padding: 40px 0; }
.IndexBlock a { -webkit-transition: all 0.3s ease; -moz-transition: all 0.3s ease; transition: all 0.3s ease; }
.index_title { position: relative; text-align: center; margin-bottom: 30px; }
.index_title.sr-only { margin-bottom: 0; }
.index_title .en { font-size: 1.25em; font-weight: 600; text-transform:uppercase; letter-spacing: .055em; line-height: 1; margin-bottom: 3px; }
.index_title h2 { font-size: 2.25em; line-height: 1.25em; position: relative; white-space: nowrap; letter-spacing: .2em; font-weight: 900; display: flex; flex-direction: column; align-items: center; }
.index_title h2::before { content: ''; width: 16px; height: 13px; background: url(../images/icon_main.svg) no-repeat; display: inline-block; margin-top: 5px; margin-bottom: 5px; }

.more_btn { text-align: center; display: flex; justify-content: center; align-items: center; }
.more_btn a { text-decoration: none; display: flex; justify-content: center; align-items: center; background-color: #fffa6b; border: 1px solid #444; border-radius: 50px; letter-spacing: .15em; font-size: 1.125em; padding: .5em 1.75em .5em 2em; color: #222; }
.more_btn a::after { content:''; display:block; width:19px; height:17px; background: url(../images/btn_arrow.svg) no-repeat; margin-left: 10px; transition: all 0.3s ease; }
.more_btn a:hover, .more_btn a:focus { box-shadow: 0 0 8px rgba(42, 42, 42, .4); }
.more_btn a:hover::after, .more_btn a:focus::after { transform: translateX(5px); }

@media screen and (max-width: 639px) {
    .IndexBlock { padding: 30px 0; }
    .index_title h2 { font-size: 1.5em; }
    .more_btn a { font-size: 1em; }
}
@media screen and (min-width: 1280px) {
    .index_title .en span { display: block; }
    #Center .IndexRelated .inner { max-width: 1920px; }
    #Center .IndexFunction .inner { max-width: 1920px; padding-left: 0; padding-right: 0; }
}
@media screen and (min-width: 1024px) {
    .more_btn a { height: 60px; width: 200px; }
}

/*----------------------------------------------------------------------*/
/* 標語 */
.IndexSlogan { position: relative; padding-bottom: 20px; padding-top: 50px; }
.IndexSlogan::before { content: ''; position: absolute; left: 0; bottom: 0; width: 100%; height: 100%; background-color: #ffcbcc; }
.IndexSlogan::after { content: ''; position: absolute; left: 0; bottom: 0; width: 100%; height: 100%; background: url(../images/index_bg2.svg) no-repeat center top; background-size: cover; z-index: 2; }
.IndexSlogan .textBox { text-align: center; position: relative; z-index: 3; }
.IndexSlogan .t1 { font-size: min(max(1.5em, 3vw), 2.8125em); font-weight: 700; display: flex; flex-direction: column; align-items: center; margin-bottom: 10px; }
.IndexSlogan .t1 span { background: linear-gradient(transparent 50%, #fffa6b 50%); padding: 0 .25em; line-height: 1.65em; }
.IndexSlogan .t2 { font-size: min(max(1em, 1.4vw), 1.5em); font-weight: 600; }

@media screen and (min-width: 1024px) {
    .IndexSlogan { margin-top: -20vh; }
    .IndexSlogan::before { height: 8vw; }
    .IndexSlogan .textBox { width: 47vw; margin: 0 3vw 0 auto; }
}
@media screen and (max-width: 1023px) {
    .IndexSlogan::after { background: url(../images/index_bg4.svg) no-repeat center top; background-size:cover; }
}

/*----------------------------------------------------------------------*/
/* 快速選單 */
.FunctionList { display: flex; flex-wrap: wrap; justify-content: center; }
.FunctionList .item > div { padding: 20px 40px; }
.FunctionList .imgBox a { display: block; position: relative; background-color: #ffeee4; border-radius: 50%; width: 220px; height: 220px; padding: 50px; margin: 0 auto 34px; }
.FunctionList .icon { display: flex; justify-content: center; align-items: center; }
.FunctionList .arrow_btn { position: absolute; bottom: -20px; left: calc(50% - 20px); width: 40px; height: 40px; background-color: #f55959; border: 1px solid #444; border-radius: 50%; }
.FunctionList .arrow_btn::before { content:''; display:block; position:absolute; top: 11px;; right: 10px; width:19px; height:17px; background: url(../images/btn_arrow_w.svg) no-repeat; }
.FunctionList .title { text-align: center; font-size: 1.25em; font-weight: 600; letter-spacing: .15em; line-height: 1.25em; }
.FunctionList .imgBox a:hover,
.FunctionList .imgBox a:focus { box-shadow: 0 8px 8px -5px rgba(42, 42, 42, .2); transform: translateY(-5px); }
.FunctionList .imgBox a:hover .arrow_btn,
.FunctionList .imgBox a:focus .arrow_btn { box-shadow: 0 8px 8px -5px rgba(42, 42, 42, .2); }

@media screen and (max-width: 1023px) {
    .IndexBlock.IndexFunction { padding: 0 0 20px; }
    .FunctionList .item { width: 33.333%; }
    .FunctionList .imgBox a { width: 120px; height: 120px; padding: 30px; }
    .FunctionList .title { font-size: 1.125em; }
    .FunctionList .item > div { padding: 20px; }
}
@media screen and (max-width: 768px) {
    .FunctionList .item { width: 50%; }
}
@media screen and (max-width: 499px) {
    .FunctionList .title { font-size: 1em; }
}

/*----------------------------------------------------------------------*/
/* 最新消息 */
.IndexNews { padding-top: 80px; padding-bottom: calc(110px + 50px); }
.IndexNews::before { content: ''; position: absolute; left: 0; top: 0; width: 100%; height: 14vw; background: url(../images/index_bg3.svg) no-repeat center top; background-size: cover; }
.IndexNews .inner::before { content: ''; position: absolute; left: 0; top: 14vw; width: 100%; height: 100%; background-color: #d8eeff; }
.NewsList { text-align: left; }
.NewsList li { padding: 30px 0; border-bottom: 1px solid #555; }
.NewsList li:first-child { border-top: 1px solid #555; }
.NewsList .date { font-weight: 400; display: inline-block; flex-shrink: 0; }
.NewsList .tag { display: inline-block; background-color: #acdbff; padding: .125em 1.25em; border-radius: 20px; flex-shrink: 0; }
.NewsList .date + .tag { margin-left: 5px; }
.NewsList .title a { text-decoration: none; font-size: 1.25em; }
.NewsList .title a:hover,
.NewsList .title a:focus { color: var(--color1); }
.IndexNews .more_btn { margin-top: 30px; }
.IndexNews .more_btn a { background-color: #fff57f; }

.tabs_group { position: relative; text-align: center; }
.tabs_group .tabs { display: inline-flex; flex-wrap: wrap; justify-content: center; background-color: #fff; border-radius: 35px; margin-bottom: 30px; }
.tabs_group .tabs button { display: block; color: #666; background-color: #fff; border-radius: 35px; padding: .375em 1.194em; margin: 6px; }
.tabs_group .tabs button:hover, .tabs_group .tabs button:focus { background-color: #333; color: #fff; }
.tabs_group .tabs button[aria-selected="true"] { background-color: #2478cc; color: #fff; }

@media screen and (max-width: 1023px) {
    .tabs_group .tab_title.active a { border-radius: 15px 15px 0 0; }
    .tab_title { margin-top: 20px; }
    .tab_cont { background-color: #fff; border-radius: 0 0 15px 15px; padding: 0 15px 15px; }
    .NewsList li { padding: 15px 0 12px; }
    .NewsList .title a { font-size: 1.125em; }
    .NewsList .date, .NewsList .tag { margin-bottom: 8px; }
}
@media screen and (min-width: 1024px) {
    .NewsList { margin-bottom: 50px; }
    .NewsList li { display: flex; align-items: center; }
    .NewsList li .date { padding: 0 2vw; }
    .tabs_group .tabs { margin-bottom: 50px; }
    .tabs_group .tab_title { position: absolute; top: 0; z-index: 1; padding-right: 10px; }
    .tabs_group .tabs button { font-size: 1.125em; }
}

/*----------------------------------------------------------------------*/
/* 自主醫療專區 */
.IndexRelated { padding-top: calc(110px + 50px); padding-bottom: 110px; margin-top: -109px; }
.IndexRelated::before { content: ''; position: absolute; left: 0; top: 0; width: 100%; height: 110px; background: url(../images/index_bg4.svg) no-repeat center top; background-size: cover; }
.RelatedGroup .item { padding: 20px 0; }
.RelatedGroup .title_en { font-size: min(max(1.75em, 4.3vw), 5em); font-weight: 600; color: #ffddde; position: relative; margin-bottom: 25px; line-height: 1.375em; }
.RelatedGroup .title_en::before { content: attr(data-storke); position: absolute; z-index: -1; -webkit-text-stroke: 2px #444; text-stroke: 2px #444; }
.RelatedGroup .big_title { font-size: min(max(1.5em, 2.8vw), 2.25em); font-weight: 700; letter-spacing: .15em; }
.RelatedGroup .big_title span { background-color: #ffddde; display: inline-block; padding: 0.042em .717em; border-radius: 10px; }
.RelatedGroup .desc { font-size: min(max(1em, 1.5vw), 1.25em); line-height: 1.8em; margin-top: 2em; margin-bottom: 2.5em; }
.RelatedGroup .total { font-size: min(max(1.25em, 2.8vw), 3.375em); font-weight: 700; }
.RelatedGroup .total .tt { display: inline-block; letter-spacing: .15em; padding: 0 .025em 0 .125em; background: linear-gradient(transparent 50%, #ffddde 50%); line-height: 1.2em; }
.RelatedGroup .total .number span { color: var(--color1); letter-spacing: .1em; padding: 0 .025em 0 .125em; background: linear-gradient(transparent 50%, #fffa6b 50%); line-height: 1.2em; }

.RelatedGroup .imgBox .img { position: relative; padding-bottom: 68.667%; border-radius: 20px; overflow: hidden; border: 1px solid #444; }
.RelatedGroup .imgBox .img img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; }
.RelatedGroup .imgBox .more_btn { margin-top: -30px; position: relative; }

.more_links ul { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; padding: 30px 0; }
.more_links ul li { padding: 7px 2em; position: relative; margin: 10px 0; }
.more_links ul li::before { content: ''; position: absolute; left: 0; top: 0; width: 3px; height: 100%; background: url(../images/line_dot.png); }
.more_links ul li:last-child::after { content: ''; position: absolute; right: 0; top: 0; width: 3px; height: 100%; background: url(../images/line_dot.png); }
.more_links a { text-decoration: none; font-size: 1.25em; font-weight: 700; letter-spacing: .15em; display: flex; align-items: center; position: relative; }
.more_links a::after { content:''; display:block; width:30px; height:30px; background-color: #ffddde; border: 1px solid #444; border-radius: 50%; margin-left: 15px; }
.more_links a::before { content:''; display:block; width:15px; height:12px; background: url(../images/btn_arrow.svg) no-repeat; position: absolute; right: 8px; top: 10px; }

.RelatedGroup .item2 .title_en { color: #d8eeff; }
.RelatedGroup .item2 .big_title span { background-color: #d8eeff; }
.RelatedGroup .item2 .total .tt { background: linear-gradient(transparent 50%, #d8eeff 50%); }
.RelatedGroup .item2 .more_links a:hover,
.RelatedGroup .item2 .more_links a:focus { color: var(--color1); }
.item2 .more_links a::after { background-color: #d8eeff; }
.RelatedGroup .item3 .title_en { color: #d6f0a5; }
.RelatedGroup .item3 .big_title span { background-color: #d6f0a5; }
.RelatedGroup .item3 .total .tt { background: linear-gradient(transparent 50%, #d6f0a5 50%); }
.item3 .more_links a::after { background-color: #d6f0a5; }
.RelatedGroup .item3 .more_links a:hover,
.RelatedGroup .item3 .more_links a:focus { color: #57ae10; }

@media screen and (max-width: 1023px) {
    .RelatedGroup .title_en { margin-bottom: 10px; }
    .RelatedGroup .desc { margin-top: 15px; margin-bottom: 20px; }
    .RelatedGroup .item .imgBox { max-width: 500px; margin: 20px auto 0; }
    .RelatedGroup .imgBox .more_btn { margin-top: -24px; }
    .more_links a { font-size: 1.125em; }
}
@media screen and (min-width: 1024px) {
    .RelatedGroup .group { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; }
    .RelatedGroup .item .textBox { width: 50%; }
    .RelatedGroup .item .imgBox { width: 50%; padding-left: 50px; max-width: 800px; }
    .RelatedGroup .item2 .group { flex-direction: row-reverse; }
    .RelatedGroup .item2 .imgBox { padding-left: 0; padding-right: 50px; }
}

/*----------------------------------------------------------------------*/
/* 支持我們 */
.IndexSupport { padding-top: calc(110px + 50px); margin-top: -109px; z-index: 5; }
.IndexSupport::before { content: ''; position: absolute; left: 0; top: 0; width: 100%; height: 110px; background: url(../images/index_bg4.svg) no-repeat center top; background-size: cover; }
.IndexSupport::after { content: ''; position: absolute; left: 0; bottom: 0; width: 100%; height: 14vw; background: url(../images/index_bg3.svg) no-repeat center top; background-size: cover; }
.IndexSupport .inner { position: relative; z-index: 5; }
.SupportGroup .textBox, .SupportGroup .imgBox { border: 1px solid #444; border-radius: 20px; }
.SupportGroup .textBox { background-color: #ffeee4; text-align: center; }
.SupportGroup .titleBox { display: inline-block; margin: 0 auto; position: relative; margin-bottom: 20px; }
.SupportGroup .titleBox::before, .SupportGroup .titleBox::after { content: ''; position: absolute; background: url(../images/quotation_marks.png) no-repeat; background-size: contain; width: 36px; height: 29px; }
.SupportGroup .titleBox::before { left: -3em; top: 0; }
.SupportGroup .titleBox::after { right: -3em; bottom: 0; transform: rotate(-180deg); }
.SupportGroup .textBox .t1 { font-size: min(max(1.5em, 3vw), 2.8125em); font-weight: 700; letter-spacing: .15em; }
.SupportGroup .textBox .t2 { font-size: min(max(1.25em, 3vw), 3.75em); font-family: "Poppins", sans-serif; font-weight: 700; font-style: italic; color: var(--color1); }
.SupportGroup .textBox .desc { font-size: min(max(1em, 1.5vw), 1.25em); text-align: left; line-height: 2em; }
.SupportGroup .textBox .desc p { margin-bottom: 1em; }
.SupportGroup .btns_bar { width: 100%; }
.SupportGroup .btns { display: flex; justify-content: center; flex-wrap: wrap; position: relative; }
.SupportGroup .btns li { padding: 0 20px; }
.SupportGroup .btns li a { color: var(--color1); font-weight: 700; }
.SupportGroup .more_btn a::after { background: url(../images/btn_arrow_b.svg) no-repeat; }

.SupportGroup .imgBox { overflow: hidden; }
.SupportGroup .imgBox .img { position: relative; border-radius: 20px; width: 100%; height: 100%; }
.SupportGroup .imgBox .img img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; }

@media screen and (min-width: 1024px) {
    .SupportGroup { display: flex; flex-wrap: wrap; }
    .SupportGroup .textBox, .SupportGroup .imgBox { width: 50%; }
    .SupportGroup .textBox { padding: 50px 60px; margin-right: -1px; }
}
@media screen and (max-width: 1023px) {
    .SupportGroup { max-width: 800px; margin: 0 auto; }
    .SupportGroup .imgBox { margin-top: -1px; }
    .SupportGroup .imgBox .img { height: 0; padding-bottom: 68.667%; }
    .SupportGroup .textBox { padding: 25px 25px 0px; }
    .SupportGroup .btns li { padding: 10px 2.5vw; }
}

@media screen and (max-width: 1659px) {
    .SupportGroup .btns { margin-top: 30px; }
}
@media screen and (min-width: 1660px) {
    .SupportGroup .btns_bar { width: 50%; }
    .SupportGroup .btns { margin-top: -30px; }
    .SupportGroup .btns li { padding: 0 2%; }
    .SupportGroup .btns li a { font-size: 1.25em; }
}
@media screen and (min-width: 1024px) and (max-width: 1659px) {
    .SupportGroup .textBox { padding: 35px 40px 5px; }
    .SupportGroup .titleBox::before, .SupportGroup .titleBox::after { width: 30px; height: 24px; }
    .SupportGroup .titleBox::before { left: -2.5em; }
    .SupportGroup .titleBox::after { right: -2.5em; }
}

/*----------------------------------------------------------------------*/
/* 相關連結 */
.IndexLinks { background-color: #d8eeff; }
.IndexLinks .owl-carousel .owl-stage-outer { overflow: visible; }
.IndexLinks .owl-carousel .owl-dots { bottom: -20px; }

.LinksList { text-align: center; }
.LinksList a { text-decoration: none; display: block; }
.LinksList a:hover .imgBox, .LinksList a:focus .imgBox { box-shadow: 0 0 10px rgba(0,0,0,.4); }
.LinksList .imgBox { background-color: #fff; border: 1px solid #444; border-right: none; padding: 10px; transition: all 0.3s ease; }
.LinksList .img { height: 160px; display: flex; justify-content: center; align-items: center; }
.LinksList .img img { max-width: 100%; max-height: 100%; }

/*----------------------------------------------------------------------*/
@media screen and (max-width: 639px) {
    .IndexNews { padding-bottom: 100px; }
    .IndexRelated { padding-top: 70px; margin-top: -69px; padding-bottom: 50px; }
    .IndexSupport { padding-top: 70px; margin-top: -69px; }
}