@charset "utf-8";

@import url("setting.css");

a{ color: var(--color-02); text-decoration:none; transition:0.2s all;}
a:hover{ color: var(--color-01); text-decoration: none;}
a:focus{ text-decoration: none;}

main{ min-height: calc(100vh - 80px); margin-top: 80px; background: none; }

section{ padding: 100px 0; }
section h2{ margin: 0 0 40px 0; color: var(--color-01); font-weight: 700; line-height: 1.25em; text-align: center; }
section h2 img{ width: auto; height: 30px !important; }
section h2 ul{ margin: 0; padding: 0; list-style: none; text-align: center; }
section h2 ul li{ margin: 20px 20px; color: var(--color-01); display: inline-block; }
section h2 ul li a{ color: var(--color-01); text-indent: -9999px; display: block; opacity: .5;}
section h2 ul li a.current{ border-bottom: 3px solid var(--color-01); opacity: 1;}
section h2 ul li a.noborder{ border: 0;}
section h2 ul li a img{ width: 100%; height: auto; }

.container{ max-width: 1240px; padding: 0 20px; }
.container.w2{ max-width: 728px; }
.container.w3{ max-width: 546px; }
.container.w4{ max-width: 1440px; }

/*** HEADER ***/
.top_shadow{ width: 100%; height: 160px; background: linear-gradient(to bottom, rgba(0,0,0,1) 0%,rgba(0,0,0,0) 100%); opacity: .65; position: absolute; top: 0; z-index: 998;}
header{ width: 100%; margin: 40px 0 0 0; padding: 0; position: absolute; top: 0; z-index: 999; }

.logo{ float: left; width: 37%; display: flex;}
.logo a{ width: 225px; height: 79px; display: block; }
.logo span{ margin: 37px 0 0 15px; color: #fff; font-size: .875em; letter-spacing: 6px; }

.btn_mall{ float: left; width: 100%; max-width: 170px; text-align: center;}
.btn_mall img{ width: 150px; }

/*header.active{ height: 89px; position: fixed; z-index: 999;}
header.active .top{ display: none;}*/
/*** /HEADER ***/

/*** MENU ***/
ul.menu{ float: right; margin: 23px 0 0 0; padding: 0; list-style: none; }
ul.menu li{ float: left; margin: 0 0 0 25px; color: var(--color-03); font-size: 1.125em; letter-spacing: 5px; text-indent: 5px; }
ul.menu li:first-child{ margin: 0; }
ul.menu li.dot{ font-family: "Noto Serif TC", sans-serif; font-size: .75em; line-height: 32px; transform:scale(0.4); }
ul.menu li a{ color: var(--color-03); }
ul.menu li a:hover{ color: var(--color-01); }

.toggle{ float: right; display: none; }
/*** /MENU ***/

/*** MOBILE MENU ***/
aside { position: fixed; width: 100%; height: 100%; top: 0; left: 0; background: rgba(191, 48, 36, .9); opacity: 0; visibility: hidden; transition: all .5s ease; z-index: 1000;}

.open { opacity: 1; visibility: visible;}

nav.f_menu { text-align: center; height: 95vh; display: flex; flex-direction: column; justify-content: center;}
nav.f_menu ul { margin: 0; padding: 0; list-style: none;}
nav.f_menu ul li { align-items: center; flex: 1; line-height: 8vh;}
nav.f_menu ul li a { font-size: 1.5em; transition: all 0.5s ease; display: block; text-decoration: none; color: rgba(255, 255, 255, 1);}
nav.f_menu ul li a:hover { color: rgba(255, 255, 255, 1); -webkit-transform: scale(1.1); transform: scale(1.1);}
nav.f_menu ul li a:hover:before { visibility: visible; -webkit-transform: scaleX(1); transform: scaleX(1);}
nav.f_menu ul li a:before { content: ""; position: absolute; width: 50%; height: 2px; bottom: 0; left: 25%; background: white; visibility: hidden; -webkit-transform: scaleX(0); transform: scaleX(0); transition: all 0.3s ease-in-out 0s;}

.toggle-overlay { padding: 7px 30px; font-size: 1.5em; background: transparent; border: 0px solid rgba(255, 255, 255, 0.4); color: white; border-radius: 5px; transition: all .5s ease;}

.close { position: fixed; top: 40px; right: 60px; color: white; z-index: 3; cursor: pointer; font-family: sans-serif;}
.close span, .close span:before, .close span:after { border-radius: 0px; height: 3px; width: 35px; background: white; position: absolute; display: block; content: '';}
.close span { background: transparent;}
.close span:before { -webkit-transform: rotate(45deg); transform: rotate(45deg);}
.close span:after { -webkit-transform: rotate(-45deg); transform: rotate(-45deg);}

.outer-close { position: absolute; right: 0; top: 0; width: 85px; height: 85px; cursor: pointer;}
/*** /MOBILE MENU ***/

/*** BNR ***/
.carousel{ width: 100%; height: 100vh; position: relative; }
.carousel .gradient{ width: 100%; height: 250px; position: absolute; top: 0; z-index: 2; }
.carousel .gradient{ background: linear-gradient(to bottom, rgba(0,0,0,0.5) 0%,rgba(0,0,0,0.25) 50%,rgba(0,0,0,0) 100%);}
.carousel-item, .carousel-item a{ width: 100%; height: 100vh; display: block; }

.carousel.dk{ display:block; }
.carousel.mb{ display:none; }
/*** /BNR ***/

/*** BREADCRUMB ***/
nav[aria-label="breadcrumb"]{ padding:8px 0 7px 0; font-size: .875em; color: #999; background: #f9f9f9; border-top: 0px solid #ddd; border-bottom: 1px solid #ddd; }
ol.breadcrumb{ margin: 0; padding: 0;}
.breadcrumb-item:before{ color: #999 !important; }
.breadcrumb-item.active{ color: var(--color-01); font-weight: bold; }
ol.breadcrumb a{ color: #999; }
ol.breadcrumb a:hover{ color: var(--color-01); }
/*** /BREADCRUMB ***/

/*** FLOAT ***/
.booking{ position: fixed; right: 10px; bottom: 10px; z-index: 10; }
.booking img{}
.booking p{ display: none; }
/*** /FLOAT ***/

/*** CNT ***/
#news{ background: url('../../img/bg-news.webp') right center no-repeat; }
#news h2 ul li:nth-child(1) a{ width: 120px; height: 37px; background: url('../../img/btn-news_01.webp') no-repeat; background-size: 120px auto; }
#news h2 ul li:nth-child(2) a{ width: 156px; height: 37px; background: url('../../img/btn-news_02.webp') no-repeat; background-size: 156px auto; }
.news_wrap{ margin: 10px 50px; position: relative; transition:0.2s all; }
.news_img_wrap{ border-radius: 30px; box-shadow: 3px 3px 5px rgba(0, 0, 0, .25); position: relative; overflow: hidden; -webkit-transform: perspective(0);}
.news_date{ padding: 10px 55px 10px 55px; color: #fff; font-family: 'Noto Serif TC', sans-serif; font-weight: 700; background: url('../../img/bg-news_date.png') no-repeat; background-size: 192px auto; position: fixed; bottom: 10px; right: 0; z-index: 2; text-align: center; }
.news_overlay{ width: 100%; height: 100%; position: absolute; z-index: 1; display: flex; align-items: center; justify-content: center; background: rgba(0, 0, 0, 0); transition:0.2s all; }
.news_overlay i{ color: #fff; font-size: 3em; opacity: 0; transition:0.2s all; }
.news_img{ transition:0.2s all; }
.news_img img{ width: 100%; height: auto; }
.news_txt_wrap{ margin-top: 20px; padding: 0px; background: rgba(255, 255, 255, .05); border: 0px solid #fff; transition:0.2s all; }
.news_txt{ margin: 0 auto; text-align: center; overflow: hidden; }
.news_txt .date{ float: left; width: 124px; padding: 20px; color: #fff; border-right: 1px solid #fff; }
.news_txt p{ margin: 10px 0; color: #333; font-size: 1.25em; }
.news_wrap:hover{ }
.news_wrap:hover .news_img{ transform: scale(1.1, 1.1); }
.news_wrap:hover .news_overlay{ background: rgba(0, 0, 0, .5); }
.news_wrap:hover .news_overlay i{ opacity: 1; }
.news_wrap:hover .news_txt p{ color: var(--color-01); }

.slick_wrap .slick-current .news_img_wrap{ transform: scale(1.06, 1.06); }
.slick_wrap.center{ text-align: center; }
.slick_wrap.center > div{ width: calc(100% / 3); display: inline-block; }

#stores h2 ul li:nth-child(1) a{ width: 134px; height: 37px; background: url('../../img/btn-stores_01.webp') no-repeat; background-size: 134px auto; }
#stores h2 ul li:nth-child(2) a{ width: 134px; height: 37px; background: url('../../img/btn-stores_02.webp') no-repeat; background-size: 134px auto; }
.stores_txt{ margin-top: 4px; margin-bottom: 15px; }
.stores_txt:last-child{ margin-bottom: 0; }
.stores_txt h3{ margin-bottom: 20px; padding-left: 20px; letter-spacing: 5px; line-height: 1.25em; border-left: 5px solid var(--color-01); }
.stores_txt article{ margin: 0 0 9px 30px; font-size: 1.125em; overflow: hidden;}
.stores_txt article i{ float: left; width: 52px; padding: 4px 2px 6px 2px; font-style: normal; line-height: 1em; color: #fff; background: #93312e; border-radius: 10px; text-align: center; }
.stores_txt article span{ float: left; width: calc(100% - 52px); padding-left: 20px;}
.stores_txt article p{ margin-bottom: 0px; color: #c6463c; line-height: 1.375em; letter-spacing: 2px; text-indent: 2px;}

.menu_warp p{ margin-top: 20px; padding-left: 20px; color: var(--color-01); font-size: 1.25em; letter-spacing: 2px; line-height: 1.25em; border-left: 5px solid var(--color-01); }
.menu_img img{ width: 100%; height: auto; }

.quote_1{ text-overflow: ellipsis; white-space: nowrap; overflow: hidden;}
.quote_2{ overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;}

#menu h2 ul li:nth-child(1) a{ width: 164px; height: 37px; background: url('../../img/btn-menu_01.webp') no-repeat; background-size: 164px auto; }

main#main_story{ background: url('../../img/bg-story_01.webp') left bottom no-repeat; }
#story{ background: url('../../img/bg-story_02.webp') right 20% center no-repeat; }
#story h2 ul li:nth-child(1) a{ width: 163px; height: 37px; background: url('../../img/btn-story_01.webp') no-repeat; background-size: 163px auto; }
.story_wrap{ display: flex; position: relative; }
.story_wrap .story_box:nth-child(1){ width: 50%; }
.story_wrap .story_box:nth-child(2){ width: 50%; }
.story_box{ margin: 0 25px; }
.story_box p{ font-size: 1.25em; line-height: 1.5em; letter-spacing: 2px; text-indent: 2px;}

.story_wrap.prize .story_box:nth-child(1){ width: 48%; }
.story_wrap.prize .story_box:nth-child(2){ width: 52%; }
.prize .story_box .title{ width: 100%; max-width: 450px !important; }
.prize .story_box p{ margin-left: 90px; line-height: 1.5em; }

.funder .story_box{ margin: 0 10px; }
.funder .story_box:nth-child(1){ width: 212px; }
.funder .story_box:nth-child(2){ width: 490px; }
.funder .story_box:nth-child(3){ width: auto; }
.funder .story_box:nth-child(1) p{ font-size: 1.02em; letter-spacing: 0; text-indent: 0; }
.funder .story_box p.en{ margin-top: 20px; font-size: .5em; line-height: 2em; letter-spacing: 0; text-indent: 0; }
.funder_img{ position: absolute; bottom: 0; left: 10px; }

.word_wrap{ margin: 80px 0 0 0; padding: 60px 0 0 0; overflow: hidden; border-top: 1px solid #ccc; }
.word_wrap h3{ margin: 0 0 40px 0; text-align: center; }
.word_wrap p{ line-height: 1.5em; text-align: justify; }
.word_img{ float: left; max-width: 566px; margin: 0 30px 30px 0; }
.word_img2{ float: right; max-width: 550px; margin: 0 0 30px 30px; }
.word_img2 p{ margin: 20px 0 0 0; color: #666; font-size: .875em; text-align: center; }
.word_sign{ margin: 20px 0 0 0; }
.word_sign p{ margin-bottom: 5px; }
.word_sign p, .word_sign h4{ text-align: right; }

.btn-frame{ width: 170px !important; height: 81px !important; margin-right: 20px; padding-left: 5px; color: #c6463c; font-size: 1.625em; font-weight: 700; line-height: 79px; letter-spacing: 5px; text-indent: 0px; background: 0; background: url('../../img/bg-btn.webp') no-repeat !important; background-size: cover !important; border: 0; text-indent: 0; text-align: center; display: inline-block; }
.btn-frame:last-child{ margin-right: 0; }

section h2 ul.t2 li a.btn-frame{ font-size: .875em !important; border: 0;}

.cnt h3{ margin-bottom: 20px; }
.cnt p{ line-height: 1.75em; }

.share{ margin: 0; padding: 0; list-style: none; }
.share li{ float: left; width: calc(100% / 3); font-size: 1.25em; text-align: center; }
.share li a{ color: #333; display: flex; align-items: center; justify-content: center; }
.share li i{ width: 22px; font-size: 2em; text-align: center; }
.share li i.fa-facebook-square{ color: #1877f2; }
.share li i.fa-line{ color: #00c300; }
.share li i.fa-calendar-alt{ color: #42b68f; }
.share li span{ margin-left: 20px; }
/*** /CNT ***/

/*** CONTACT ***/
.gmap{ width: 100%; height: 355px; margin-top: 10px; }
/*** /CONTACT ***/

/*** PAGINATION ***/
.pagination_wrap{ width: 100%; overflow: hidden; }
.pagination{ float: left; margin: 30px 0 0 0; }
.pagination a{ color: #666; }
.pagination a:hover{ color: #666; background: #f6f6f6; }
.pagination .active .page-link{ background: var(--color-01); border-color: #dee2e6; }

.pagination_jump{ float: right; margin: 30px 0 0 0; padding: 0; list-style: none; }
.pagination_jump select.form-select{ width: auto; min-height: 38px; margin: 0 5px; padding: 0 35px 0 10px; background-color: var(--color-03); border: 1px solid #dee2e6; border-radius: 3px; display: inline-block; cursor: pointer; }
/*** /PAGINATION ***/

/*** FOOTER ***/
footer{ margin: 0; padding: 60px 0; color: var(--color-03); background: #ab2014; overflow: hidden; }
footer .logo{ width: 100%; margin:0; padding: 0;}
footer .logo img{ width: 150px; }
footer i{ margin-top: 30px; font-size: 1.5em; }

footer h4{ margin-bottom: 20px; }
footer p{ margin-bottom: 10px; }
footer p:last-child{ margin-bottom: 0; }
footer a{ color: var(--color-03); }
.copyright{ padding: 18px 0; color: #ccc; font-size: .75em !important;  background: var(--color-01);; border-top: 1px solid #971207; background: #ab2014; text-align: center !important; }
/*** /FOOTER ***/

/*** CAPTCHA ***/
.captcha_wrap{ float: left; margin-top: 34px; }
/*** /CAPTCHA ***/

/*** BTN ***/
.btn{ border-radius: 0; }
.btn_wrap{ width: 100%; margin:30px 0 0 0; }

.btn-primary{ background: var(--color-01) !important; border-color: var(--color-01) !important; }
.btn-primary:hover, .btn-primary:focus{ background: var(--color-02) !important; border-color: var(--color-02) !important;}
/*** /BTN ***/

/*** POPOVER ***/
[data-bs-toggle="popover"]{ cursor: pointer; }
.popover{ padding:5px; border: 5px solid #ccc; border-radius: 10px; }
.popover-arrow{ display: none !important; }
/*** /POPOVER ***/

/*** MODAL ***/
.modal{ }
.modal-header{ color: #fff; background: #114f76; }
.modal-open { padding-right: 0 !important;}
.modal-backdrop { opacity: .9 !important; }
.modal-content{ position: relative; }
.btn-close-wrap{ background-color: #2faeff; border-radius: 0; border-top-right-radius: 5px; border-bottom-left-radius: 5px; position: absolute; top: 0; right: 0; z-index: 10; }
.btn-close{ padding: 15px 15px;}
.modal-body{ padding: 30px 30px 30px 30px; color: #333; overflow: hidden; }
.modal-body h4{ font-weight: 700; line-height: 1.25em; text-align: center; }
.modal-body h4 span{ font-size: .6em; font-weight: 400; display: block; text-transform: uppercase; }
.modal-body button{ margin-top: 5px; margin-bottom: 5px; }
/*** /MODAL ***/


@media screen and (-webkit-min-device-pixel-ratio:0) { /* Chrome */
}

@media all and (-ms-high-contrast:none){ /* IE 11 */
     *::-ms-backdrop, .label_name{ }
}

@supports (display:-ms-grid) { /* Edge */
}