@charset "utf-8";

/*反白顏色*/
::-moz-selection{  background-color: #668D94;  color: #fff;}
::selection{  background-color: #668D94;  color: #fff;}
:root {
    --Primary: #668D94;        
    --Primary-light: #A3C1C7; 
    --Secondary: #306531; 
    --Accent: #C5A059; 
    --Bg-soft: #F9F8F6;     
    --FontColor: #333333;    
    --grey-dark: #666666;
    --footer-bg: #111111;
    --footer-light: rgba(102, 141, 148, 0.15);
    --footer-font: #BABABA;  

    /* 字體設定 */
    --SFont: "Noto Sans TC", sans-serif;
    --SFont_title: "Noto Serif TC", serif;
    --SFontEN: "Cormorant Garamond", serif;
    --SFontEN_title: "Cinzel Decorative", serif;

    --f-display: clamp(32px, 5vw, 56px);
    --f-h1: clamp(28px, 4vw, 42px);
    --f-h2: clamp(24px, 3vw, 32px);
    --f-h4: clamp(22px, 2.2vw, 28px);
    --f-h5: clamp(20px, 2vw, 24px);
    --f-h6: clamp(18px, 1.5vw, 20px);
    --f-p: clamp(15px, 1vw, 17px);
    
    --max-width: 1600px;
    --pd-section: clamp(40px, 8vw, 100px);
    --pd80: clamp(40px, 5vw, 80px);
    --transition-smooth: all 0.6s cubic-bezier(0.22, 1, 0.36, 1);
    --step-h: 110px;  
    --sertop:clamp(140px, 11vw, 210px);
}

*, *::before, *::after {
    box-sizing: border-box;
    -webkit-font-smoothing: antialiased; 
}

body {
    background-color: var(--Bg-soft);
    font-family: var(--SFont);
    font-size: var(--f-p);
    line-height: 1.8;
    letter-spacing: 0.08rem;
    color: var(--FontColor);
    margin: 0;
    overflow-x: hidden;
    scroll-behavior: smooth;
}

.main_part {
    max-width: var(--max-width);
    margin: 0 auto;
    padding: var(--pd-section) 5%;
    width: 100%;
}

.path{display: none;}

div#page {
    position: relative;
    overflow: clip;
}
div#page::after{
    content:'';

    position:absolute;
    inset:-8%;

    background:
    url(https://pic03.eapple.com.tw/shanben/light.png)
    center/cover no-repeat;

    pointer-events:none;
    z-index:-1;

    opacity:.75;

    transform-origin:center center;

    animation:
    lightFloat 18s ease-in-out infinite alternate;

    will-change: transform, opacity;
}

@keyframes lightFloat{

    0%{
        transform:
        scale(1)
        rotate(0deg)
        translate3d(0,0,0);

        opacity:.68;
    }

    50%{
        transform:
        scale(1.05)
        rotate(-1deg)
        translate3d(-2%,1%,0);

        opacity:.88;
    }

    100%{
        transform:
        scale(1.08)
        rotate(1deg)
        translate3d(2%,-1%,0);

        opacity:.72;
    }
}

@keyframes bgScroll {
    0% {        -webkit-transform: translateX(0);        transform: translateX(0);    }
    50% {        -webkit-transform: translateX(-5%);        transform: translateX(-5%);    }
    100% {        -webkit-transform: translateX(0);        transform: translateX(0);    }
}

/*★★★卷軸設定↓↓↓↓↓↓↓↓↓↓↓↓*/
::-webkit-scrollbar {    width: 5px;}
::-webkit-scrollbar-track {    background: var(--Bg-soft);}
::-webkit-scrollbar-thumb {
    background: var(--footer-font);
    border-radius: 10px;
}
::-webkit-scrollbar-thumb:hover {    background: var(--Primary);}

/*
關於CSS設定說明
CSS屬性是會繼承的，而且還是由上往下繼承。
同樣元素設定16px 後 12px 再 15px 最後會以最後設定的15px為準
但是有兩種情況除外:
1.絕對路徑命名. 如: .xx .yy .zz p {設定值;}
2.important.  如: .xx p {設定值 !important;}

CSS3選取器語法 :nth-child(n) 

*/


/* = = = 分隔線 = = = = = = = = = == = = = = = = = = = = = = = = == = = */


/*上方選單解除滑動固定
.header_area.sticky { position:relative;}
*/
.header_area, .header_area.sticky {
    position: fixed;
    top: 0;
    background: transparent;
    transition: var(--transition-smooth);
}
.main_header_area .container {    max-width: 95%;}

.header_area.sticky {
    backdrop-filter: blur(5px);
    background: rgba(255, 255, 255, 0.1);
}

/*上方選單右邊設定 臉書/LINE/電話/信箱
.tp_links a:before {寬高大小設定}
.tp_links a.me_tp_fb {}
.tp_links a.me_tp_fb:before {背景換圖/建議.SVG}
.tp_links a.me_tp_line {}
.tp_links a.me_tp_line:before {背景換圖/建議.SVG}
.tp_links a.me_tp_call {}
.tp_links a.me_tp_call:before {背景換圖/建議.SVG}
.tp_links a.me_tp_mail {}
.tp_links a.me_tp_mail:before {背景換圖/建議.SVG}
*/
.me_tp_features {    display: none;}

/*浮動按鈕-展開*/
.info_fix_links {    display: flex !important;}
.linksBtn {    display: none;}
a.info_fix_default.info_fix_mail  {    display: none;}

.info_fix {
    bottom: 180px;
    opacity: 0;
    transform: translateY(30px) scale(0.95);
    filter: blur(6px);
    pointer-events: none;
    transition: 
        opacity 0.8s ease,
        transform 0.8s cubic-bezier(0.25, 1, 0.5, 1),
        filter 0.8s ease;
}

body.bodyDesktop.headerSticky .info_fix {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
    pointer-events: auto;
}
.info_fix_links a.info_fix_default {
    background: #668d9499;
    backdrop-filter: blur(5px);
    transition: var(--transition-smooth);
}
.info_fix_links a:hover {    background: var(--Primary);}

/* TOP按鈕 */
#to_top {
    left: unset;
    right: 25px;
    height: auto;
    font-family: var(--SFont);
    font-size: 14px;
    color: #ffffff00;
    background: #00000000;
    border-radius: 0;
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0);
    transition: cubic-bezier(0.25, 0.59, 0.85, 0.45) 250ms;
    bottom: 30px;
}
#to_top::before, #to_top::after {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}
#to_top::before {
    content: '';
    position: relative;
    display: block;
    width: 1px;
    height: 50px;
    background: var(--footer-font);
    margin-bottom: 50px;
}
#to_top::after {
    content: 'PAGE TOP';
    display: block;
    bottom: 0;
    font-size: 12px;
    color: var(--footer-font);
    text-align: left;
    line-height: 1;
    writing-mode: vertical-rl;
}
#to_top i.top {    width: 15px;    height: 15px;}
#to_top i.top:before, #to_top i.top:after {    display: none;}
#to_top:hover {    opacity: .7;    transition: all .3s;}


/*電腦LOGO
.nav-brand {}
*/
.nav-header {    grid-row: 1 / span 1; max-width: 150px; }
.navigation {    align-items: center;}

/*第一層*/
.stellarnav > ul > li > a {
    color: var(--FontColor);
    position: relative;
    font-weight: 500;
    transition: var(--transition-smooth);
    padding: 0 10px;
}
.stellarnav > ul > li:hover > a, .pageIndex .stellarnav > ul > li:hover  > a{color: var(--Primary-light);}

.pageIndex .stellarnav > ul > li > a {    color: #FFFFFF;}
.pageIndex .header_area.sticky .stellarnav > ul > li > a {
    color: var(--FontColor);
}

.stellarnav > ul > li > a::before {
    content: "";
    position: absolute;
    width: 0;
    bottom: 0;
    left: 0;
    height: 1px;
    background: var(--Primary-light);
    mix-blend-mode: screen;
    transition: width 0.6s cubic-bezier(0.2, 0, 0.2, 1);
}
.stellarnav > ul > li:hover > a::before {
    width: 100%;
}
/*下拉線條箭頭*/
.stellarnav li.has-sub>a:after {
    position: absolute;
    top: 38%;
    right: 5px;
    height: 7px;
    width: 7px;
    display: block;
    border-style: solid;
    border-width: 0 1px 1px 0;
    border-color: transparent var(--Primary) var(--Primary) transparent;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

/*第二層*/
.stellarnav ul ul {    background: var(--Bg-soft);}
.stellarnav li li {    border: none;}
.stellarnav li li > a, .stellarnav li li.has-sub > a {
    padding: 7px 5px;
    transition: all 0.3s;
    font-size: 16px;
}
.stellarnav li li:hover > a, .stellarnav li li.has-sub:hover > a {
    color: var(--Bg-soft);
    padding-left: 10px;
    background: var(--Primary);
}


/*下拉第二層箭頭
.stellarnav li li.has-sub > a:after {
    position: absolute;
    top: 38%;
    right: 5px;
    height: 7px;
    width: 7px;
    display: block;
    border-style: solid;
    border-width: 0 1px 1px 0;
    border-color: transparent var(--Primary) var(--Primary) transparent;
    -webkit-transform: rotate(315deg);
    transform: rotate(315deg);
}
*/


/* 商品下拉超過30個變大 */
.stellarnav.desktop li.bigMenu>ul{display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); left: 0; width: 100%; position: fixed; padding: 20px;}
.stellarnav.desktop li.bigMenu ul ul{top: 100%; left: 0; width: 100%; background: #efefef; height: auto; max-height: 300px; overflow: auto;}
.stellarnav.desktop li.bigMenu ul ul li{margin: 0;} 
.stellarnav.hasBigMenu li.bigMenu li.has-sub > a:after{border-left: 6px solid transparent; border-bottom:unset; border-right: 6px solid transparent; border-top: 6px solid #898989; right: 5px;}
/* 主分類超過30個但次分類直接顯示 
.stellarnav.desktop li.bigMenu>ul{grid-gap: 10px;}
.stellarnav.desktop li.bigMenu li{border: 0;}
.stellarnav.desktop li.bigMenu>ul>li>a{border: 1px solid #ddd;}
.stellarnav.desktop li.bigMenu ul ul{display: block !important; position: relative; top: 0; background: unset; border: 0;}
.stellarnav.desktop li.bigMenu ul ul li{border: 0;}
 主分類超過30個但次分類直接顯示-結束 */

/* 商品下拉超過30個--結束 */


/* = = = footer分隔線 = = = = = = = = = == = = = = = = = = = = = = = = == = = */
.footer {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    padding: var(--pd80) 0 0;
    background-color: #0e1113;
    background-image:
        radial-gradient(
            80% 60% at 50% -20%,
            rgba(163, 193, 199, 0.10), 
            transparent 70%
        ),
        radial-gradient(
            60% 80% at 0% 100%,
            rgba(0, 0, 0, 0.45),
            transparent 70%
        ),
        radial-gradient(
            50% 70% at 100% 0%,
            rgba(102, 141, 148, 0.12),
            transparent 70%
        );

    border-top: 1px solid rgba(255, 255, 255, 0.04);
}
.footer::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    opacity: 0.025;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.footer::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(
        to bottom,
        rgba(255,255,255,0.03),
        transparent 30%
    );
    mix-blend-mode: soft-light;
}
.footer_logo {    max-width: 200px;}
.footer .center {
    max-width: 1400px;
    width: 94%;
    margin: 0 auto;
}
.footer_info {    grid-template-columns: 250px 1fr;     padding-right: 0;}
ul.F_ul_Boxed {
    display: flex;
    gap: 3vw;
    justify-content: flex-end;
}

.footer_info li p, .footer_info li p a {
    color: var(--footer-font);
    line-height: 1.8;
    text-decoration: none;
    transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
    color: rgba(255,255,255,0.65);
}
.footer_info li p:hover a {
    color: #ffffff;
    letter-spacing: 0.08rem;
    transform: translateX(4px);
}

.footer_info li:nth-child(2) {
    width: 100%;
    max-width: 300px;
}

.footer_menu {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 5px;
}
.footer_menu a {
    width: 40%;
    background: transparent;
    border: none;
    position: relative;
    color: rgba(255,255,255,0.65);
    transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.footer_menu a:hover {
    background: transparent;
    color: #ffffff;
}

.footer_menu a:before {
    content: "—";
    margin-right: 4px;
    color: var(--footer-font);
    opacity: 0.5;
}
.box_link{display: none;}

.copy {
    margin-top: 60px;
    padding-top: 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.03);
    text-align: center;
}

.copy p, .copy a {
    font-family: var(--SFontEN);
    font-size: 13px;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.3);
}

/* = = = 分隔線 = = = = = = = = = == = = = = = = = = = = = = = = == = = */

/*聯絡我們*/
.contact_le_map{display: none;}
.contact_content form {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.contact_content .information_left, .contact_content .information_right {
    width: 80%;
    padding: 20px;
}

.list_before {
    display: grid;
    grid-template-columns: auto auto 1fr 2fr;
    gap: 20px;
}

.blank_letter {
    font-size: var(--f-h5);
    font-family: "Noto Sans TC", sans-serif;
    color: var(--Primary);
    font-weight: 400;
    text-align: center;
    position: relative;
}
.note {
    position: absolute;
    right: 0;
    bottom: 0;
}

.list_before.info li {
    color: var(--FontColor);
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    flex-direction: column;
    text-align: center;
    align-items: center;
    font-size: 15px;
    font-weight: 500;
    padding: 20px 30px;
    border-top: 1px solid var(--footer-light);
    border-bottom: 1px solid var(--footer-light);
    border-radius: 5px;
}
.info_TEL:before, .info_TEL2:before, .info_PHONE:before, .info_LINE:before, .info_FAX:before, .info_TAXID:before, .info_MAIL:before, .info_ADD:before, .info_ADD2:before {
    display: block;
    position: relative;
    font-weight: 400;
}

.contact_form li {    grid-template-columns: 130px 1fr;}

.contact_form li input.noborder {    border: none;}
.contact_form li textarea.noborder {    border: none;}

.contact_form li .form__label {
    color: var(--FontColor);
    max-width: 120px;
    text-align: left;
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
}
.contact_form li.last blockquote, .contact_form li.last cite {    border: 1px var(--logocolor) solid;}
.contact_form li.last cite {    background: var(--logocolor);}
.contact_form li:has(input[type=checkbox]) .form__insert, .contact_form li:has(input[type=radio]) .form__insert {
    grid-gap: 6px;
    grid-template-columns: repeat(3, 15px 1fr);
    justify-items: start;
}
.last .animated-arrow.otherSty {
    color: var(--FontColor);
    background: transparent;
}

/*按鈕*/
.animated-arrow {
    background: var(--Primary-light);
    border: 1px solid var(--Primary-light);
    color: var(--Bg-soft);
    transition: .3s;
    border-radius: 3px;
}
.animated-arrow:hover {    background: transparent;}
.last .animated-arrow:hover {    color: var(--Bg-soft);}
.animated-arrow:before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--Primary);
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: 0 50%;
    transform-origin: 0 50%;
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-duration: 0.5s;
    transition-duration: 0.5s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out;
}
.animated-arrow:hover:before {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
    transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
}


/* = = = 分隔線 = = = = = = = = = == = = = = = = = = = = = = = = == = = */

/*預設購物車版面 產品分類選單在左側 商品內頁詳細介紹下表單更改樣式 by shint at 2025.12.18  */
.product_page .main_part { max-width:1500px;}

.product_page .show_content,
.product_info_page .show_content { display: flex; justify-content: space-between; flex-wrap: wrap; align-items: flex-start; align-content: flex-start; width: 100%;}
ul.page { width: 100%;}

.ProdFilter_Item_Show { width: 100%;}
.Prods_Menulists { width: 100%; padding: 0;}
.Prods_Wrap { width: calc(100% - 270px);}

/* 篩選器-左手邊 / 產品分類-上面
.ProdFilter_ { order: 2;}
.Prods_Menulists { order: 1;}
.Prods_Wrap { order: 3;}
.ProdFilter_ { width: 250px; letter-spacing: 1px;}
.ProdFilter_ li { width: 100%;}
.ProdFilter_ li > a { background: #f3f3f3; border: none; border-bottom: 3px #ddd solid;}
.ProdFilter_ dl { position: static; width: 100%; display: block;}
*/

/* 產品分類-左手邊 / 篩選器-上面 */

.ProdFilter_ { order: 1; margin-bottom: 25px;}
.Prods_Menulists { order: 2;}
.Prods_Wrap { order: 3;}
.Prods_Menulists { width: 250px; letter-spacing: 1px;}
.Prods_Menulists ul {}
.Prods_Menulists > ul > li { width: 100%; flex-wrap: wrap;}
.Prods_Menulists ul ul { position: static; border: none;}
.Prods_Menulists ul li ul li {}
.Prods_Menulists li.has-sub.open > a { background: #f0f0f0;}

.product_info_page .half_box { width: 100%; float: none; padding-right: 0;}
.product_info_page .half_box li.btn_blankTop { margin-top: 50px; justify-content: space-between; display: flex;}
.product_info_page .half_box li.btn_blankTop input { width: calc(50% - 10px); background-image: none; padding: 0; text-align: center;}


/*相關推薦*/
.prod_related {
    padding: 60px 20px;
    background-color: var(--SubColor);
}
.prod_related h6 {    margin-bottom: 30px;}
.prod_related h6 span:before {
    font-size: var(--f24);
    color: var(--titlecolor);
}
.related_list li a {
    padding: 11px;
    background: var(--SubColor);
    box-shadow: #f1b1b130 0px 10px 50px;
}


@media screen and (max-width: 1200px) {
}
@media screen and (max-width: 1024px) {
.product_main { display: block; width: 100%;}    
.sidebarBtn { display: block; width: 100%;}
}
@media screen and (max-width: 980px) {
}
@media screen and (max-width: 768px) {
/* 篩選器-左手邊 / 產品分類-上面
.Prods_Wrap { width: 100%;}
.ProdFilter_ { width: 100%;}
.ProdFilter_Item_Show { width: calc(100% - 110px);}
.ProdFilter_ { order: 1;}
.Prods_Menulists { order: 2;}
.ProdFilter_ li > a span { color: #333;}
*/

.Prods_Wrap { width: 100%; margin-top: 20px;}
.ProdFilter_ { width: 100%;}
.Prods_Menulists { opacity: 0; display: none;}

}
@media screen and (max-width: 600px) {
}


/* = = = 分隔線 = = = = = = = = = == = = = = = = = = = = = = = = == = = */

/* 2025.12.26 中間放大*/
.BannerHome02 .swiper-slide-active img { transform: scale(1);}
.BannerHome02 .swiperBan02 .swiper-slide img { transition: transform 5s ease-out; will-change: transform; transform: scale(1);}
.BannerHome02 .swiperBan02 .swiper-slide-active img { transform: scale(1.06);}

/* = = = 大圖-分隔線 = = = = = = = = = == = = = = = = = = = = = = = = == = = */
/*.bannerindex {
    position: relative;
    height: auto;
}

.header_area.sticky ~ .bannerindex {
    filter: blur(3px);
    transition: all .5s;
}
*/

.bannerindex .swiper-banner {
    position: static;
    margin: 0;
    height: auto;
}

.pageIndex .bannerindex .swiper-slide:before, 
.pageIndex .bannerindex .swiper-slide:after {
    content: "";
    position: absolute;
    inset: 0; 
    z-index: 1;
    pointer-events: none;
    background-size: cover;
    background-position: center;
}

/* --- 第一張 --- */
.pageIndex .bannerindex .swiper-slide:nth-child(1):before {
    background-image: url(https://pic03.eapple.com.tw/0922868887/00cover-1ban.png);
    z-index: 2;
}

.pageIndex .bannerindex .swiper-slide:nth-child(1):after {
    background: linear-gradient(to right, 
                rgba(67, 67, 67, 0.664) 0%, 
                rgba(67, 67, 67, 0.3) 40%, 
                rgba(0, 0, 0, 0) 75%);
    opacity: 0; 
}

/* 第一張載入動畫 */
.pageIndex .bannerindex .swiper-slide:nth-child(1).swiper-slide-active:before {
    animation: revealLeftSlow 2.8s cubic-bezier(0.16, 1, 0.3, 1) both;
    will-change: clip-path, transform; 
}
.pageIndex .bannerindex .swiper-slide:nth-child(1).swiper-slide-active:after {
    animation: banfadeIn 2.5s ease-in-out both;
    animation-delay: 0.8s;
}

/* --- 第二張 --- */
.pageIndex .bannerindex .swiper-slide:nth-child(2):before {
    background-image: url(https://pic03.eapple.com.tw/0922868887/00cover-2ban.png);
    z-index: 2;
}

/* 第二張色塊 */
.pageIndex .bannerindex .swiper-slide:nth-child(2):after {
    content: "";
    position: absolute;
    right: 0;   
    left: auto; 
    top: 0;
    width: 35vw; 
    height: 100%;
    background: rgba(48, 101, 49, 0.86); 
    opacity: 0;
}

/* 第二張載入動畫 */
.pageIndex .bannerindex .swiper-slide:nth-child(2).swiper-slide-active:before {
    animation: revealRightLuxury 4.5s cubic-bezier(0.16, 1, 0.3, 1) both;
}

.pageIndex .bannerindex .swiper-slide:nth-child(2).swiper-slide-active:after {
    animation: bgRevealRetract 2.2s cubic-bezier(0.16, 1, 0.3, 1) both;
    animation-delay: 0.6s;
}


/* --- 動畫 --- */
@keyframes revealLeftSlow {
    0% { 
        clip-path: inset(0 100% 0 0); 
        transform: scale(1.1);
        filter: brightness(0.8); 
    }
    100% { 
        clip-path: inset(0 0 0 0); 
        transform: scale(1); 
        filter: brightness(1);
    }
}

@keyframes revealRightLuxury {
    0% { 
        clip-path: inset(0 0 0 100%);  
        transform: translateX(40px) scale(1.05);
        opacity: 0.7;
    }
    60% {
        opacity: 1;
        transform: translateX(10px) scale(1.02);
    }
    100% { 
        clip-path: inset(0 0 0 0); 
        transform: translateX(0) scale(1);
    }
}

@keyframes bgRevealRetract {
    0% { 
        opacity: 0; 
        width: 60vw;
        backdrop-filter: blur(10px); 
    }
    100% { 
        opacity: 1; 
        width: 35vw; 
        backdrop-filter: blur(2px);
    }
}

@keyframes banfadeIn {
    0% { opacity: 0; }
    100% { opacity: 1; }
}

/*切換鈕*/
.bannerindex {--swiper-pagination-color: #fff;}
.swiper-horizontal>.swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction
{bottom: auto;top: 50%;left: 2vw;width: 25px;transform: translateY(-50%)}
.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet
{margin: 5px 10px;width: 5px;height: 15px;border-radius: 2px;}

@media screen and (max-width: 1024px) {
.bannerindex {
    position: relative;
    background: transparent;
    height: auto;
}
}

@media screen and (max-width: 768px) {
    .bannerindex {        padding-bottom: 0;    }
}

/* = = = 分隔線 = = = = = = = = = == = = = = = = = = = = = = = = == = = */

/*內頁BANNER 設定*/
.banner {
    background: var(--Bg-soft);
    padding-top: var(--sertop);
    background: transparent;
}
.banner h5 {
    font-family: var(--SFont);
    font-size: var(--f-h5);
    font-weight: 400;
    color: var(--FontColor);
    letter-spacing: 4px;
    position: relative;
}
.banner h5:before {
    content: "shanben";
    font-family: var(--SFontEN_title);
    font-size: clamp(40px, 5vw, 60px);
    font-weight: 400;
    color: var(--Primary-light);
    letter-spacing: 0.04em;
    line-height: 0.6;
    display: block;
}

.album_page.album_a .banner h5:before {    content: "works";}
.album_class_page.album_a .banner h5:before {    content: "works";}
.blog_page.article_a  .banner h5:before {    content: "blog";}
.blog_in_page.article_a  .banner h5:before {    content: "blog";}
.banner.banC h5:before {    content: "contact";}

.banner.banA {}
.banner.banB {}
.banner.banC {}
.banner.banD {}
.banner.banE {}
.banner.banblog {}
.banner.banDesign { background-color:#333;}

/* = = = 分隔線 = = = = = = = = = == = = = = = = = = = = = = = = == = = */


/*文章設定*/
/*一排呈現
*/
.subbox_item { width:100%;}
.blog_subbox {
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 50px 1.5vw;
}
.subbox_item a {    grid-template-columns: 1fr; grid-gap: 5px; }
.subbox_item a:before, .subbox_item a:after{display: none;}
.blog_list_ri h5 {    color: var(--FontColor);}
.blog_list_ri {
    width: 90%;
    padding: 25px 7.14% 50px;
    margin: -60px 0 0;
    position: relative;
    background: var(--FixAsColor02);
    transition: transform .6s cubic-bezier(.215, .61, .355, 1), opacity .6s linear, -webkit-transform .6s cubic-bezier(.215, .61, .355, 1);
    -webkit-transform: translateY(10%);
    transform: translateY(10%);
    /* box-shadow: rgba(17, 17, 26, 0.1) 0px 0px 16px; */
    height: 240px;
}

.blog_list_ri:before {
    content: "MORE";
    position: absolute;
    bottom: 20px;
    left: 8.3%;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 100px;
    height: 40px;
    font-family: var(--SFont);
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    border-bottom: 1px solid var(--grey-dark);
    transition: .6s cubic-bezier(.215, .61, .355, 1);
    padding-left: 6px;
    color: var(--grey-dark);
}
.blog_list_ri:after {
    content: "→";
    position: absolute;
    bottom: 20px;
    left: 8.3%;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    width: 100px;
    height: 40px;
    font-family: var(--SFont);
    font-size: 12px;
    font-weight: 700;
    transition: .6s cubic-bezier(.215, .61, .355, 1);
    padding-right: 6px;
}
.subbox_item a:hover .blog_list_ri:before, .subbox_item a:hover .blog_list_ri:after {    width: 120px;}

.blog_list_le {    overflow: hidden;}
.blog_list_le img {
    transform: scale(1);
    transition: transform 1500ms cubic-bezier(0.19, 1, 0.22, 1);
}
.subbox_item a:hover .blog_list_le img {    transform: scale(1.3);}


/*文章-側邊*/
h5.blog_le_t em {
    font-family: var(--SFont);
    font-size: var(--f-h5);
    font-weight: 400;
    color: var(--FontColor);
    letter-spacing: 4px;
}.blog_search input[type=search] {    border-radius: 0;
}
.blog_le .accordion {    border-radius: 0;    border: none;}
.accordion li .link a {
    color: var(--FontColor);
    font-size: 15px;
    font-weight: 400;
}
.blog_le .accordion li {    transition: all .8s;}
.blog_le .accordion > li:hover, .blog_le .accordion > li.on_this_category {    background: var(--Primary-light) !important;}

/*文章內頁*/
.articel_mainPic img {    display: none;}
h4.blog_category_title {
    color: var(--Primary);
    font-size: var(--f-h4);
    font-weight: 400;
}
.blog_back a.article_btn_back {    background: var(--Primary);}
.blog_back a.article_btn_prev, .blog_back a.article_btn_next {
    background: var(--Primary-light);
}
.lastPage {
    font-size: 15px;
    color: var(--FontColor);
    background: transparent;
    border: 1px solid var(--Secondary);
}


/*文章-相關推薦*/
.news_related {
    padding: 80px 15px;
    margin-top: 50px;
    background: #f0f0f091;
}
.news_related h6{    margin-bottom: 30px;}
.news_related h6 span:before {
    font-size: var(--f-h5);
    color: var(--Secondary);
    font-weight: 400;
}
.news_related_list li > a {
    padding: 11px;
    background: var(--bgwhite);
    box-shadow: #c5a58575 0px 10px 50px;
}
.news_related_list li > a p {    padding-top: 5px;}

/* = = = 分隔線 = = = = = = = = = == = = = = = = = = = = = = = = == = = */

/* --- 相簿 --- */
.module_i_album {
    padding: var(--step-h) 30px;
    background: url(https://pic03.eapple.com.tw/shanben/index_album-bg.png) no-repeat;
    background-attachment: fixed;
    background-position: bottom;
    background-size: cover;
}

.module_i_album .title_i_box h4 {
    font-family: var(--SFont);
    font-size: var(--f-h5);
    font-weight: 400;
    color: var(--FontColor);
    letter-spacing: 4px;
    position: relative;
}
.module_i_album .title_i_box h4:before {
    content: "works";
    font-family: var(--SFontEN_title);
    font-size: clamp(40px, 5vw, 60px);
    font-weight: 400;
    color: var(--Secondary);
    letter-spacing: 0.04em;
    line-height: 1;
    display: block;
}

.show-list .item {
    position: relative;
    overflow: hidden;
    border-radius: 9px;
}
.show-list .item a .show_pic img, .pic-list .item a .show_pic img{    transform: scale(1.3); transition: transform 1500ms cubic-bezier(0.19, 1, 0.22, 1);}
.show-list .item a:hover .show_pic img, .pic-list .item a:hover .show_pic img  {    transform: scale(1);}

.show-list .item {
    /* filter: grayscale(0.8); */
    filter: saturate(75%);
    -webkit-mask-image: linear-gradient(90deg, #F9F8F6 0, #F9F8F6 50%, transparent 100%);
    mask-image: linear-gradient(90deg, #F9F8F6 0, #F9F8F6 50%, transparent 100%);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 200% 100%;
    mask-size: 200% 100%;
    -webkit-mask-position: 200% 0;
    mask-position: 200% 0;
    transition: transform 1500ms cubic-bezier(0.19, 1, 0.22, 1);
    animation: 2s cubic-bezier(0.65, 0.05, 0.36, 1) 0s 1 normal forwards maskFadeIn;
}
.show-list .show_pic, .pic-list .show_pic {    border-radius: 9px;}

.show-list .item p {
    text-align: left;
    font-size: 15px;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 0%);
    color: #FFFFFF;
    letter-spacing: 1px;
    z-index: 9;
    transition: .3s ease-in-out;
    width: 100%;
    padding: 10px 15px;
    backdrop-filter: blur(6px);
    pointer-events: none; 
}

.show-list .show_name {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 0%);
    font-size: 16px;
    color: #FFFFFF;
    letter-spacing: 1px;
    text-align: center;
    z-index: 9;
    transition: .3s ease-in-out;
    background: #668d9454;
    width: 100%;
    backdrop-filter: blur(10px);
    height: initial;
    padding: 5px 10px;
    border-radius: 0 0 9px 9px;
}
.show-list .item:hover .show_name {    opacity: 0;}


.show-list .item p {
    padding-top: 5px;
    text-align: center;
}
.show-list, .pic-list {
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 30px;
}

/* --- 相簿動畫 --- */
@keyframes maskFadeIn {
    0% {
        -webkit-mask-position: 200% 0;
        mask-position: 200% 0
    }

    100% {
        -webkit-mask-position: 0 0;
        mask-position: 0 0
    }
}


/*相本分類全版面 ( 限制最寬2000px
.work_page .main_part { max-width:2000px;}
.work_page .show_content { padding:0; width:100%;}
.work_page .show-list .item { width:33%; display:inline-block; float:none; margin:0; padding:0;}
@media screen and (max-width: 768px) {
.work_page .show-list .item { width:49%;}
}
@media screen and (max-width: 570px) {
.work_page .show-list .item { width:100%;}
}
.work_page .show-list .item a { max-width:100%;}
.work_page .show-list .show_pic { height:auto; line-height:0;}
.work_page .show-list .show_pic img { max-width:100%; max-height:100%;}
.work_page .show-list .show_name { position:absolute; top:50%; right:10%; width:80%; height:auto; line-height:160%; font-size: 20px; color: #FFFFFF !important; border: solid 1px #fff; text-align: center; margin: -20px 0 0 -120px; padding:5px 20px; transition:all ease-in .3s; opacity:0;}
.work_page .show-list .item:hover .show_name {opacity:1;}
*/

.subalbum-menu h2 {
    font-family: var(--SFont);
    font-size: var(--f-h6);
    font-weight: 400;
    color: var(--FontColor);
    letter-spacing: 2px;
    display: none;
}
.album_fixed_title {    background: transparent;}
.other_album_choice li {
    border: 1px solid var(--Primary-light);
    border-radius: 5px;
    background: transparent;
    padding: 5px 8px;
}
.other_album_choice li a {    color: var(--Primary-light);}
.other_album_choice li a i.fa-solid.fa-right-from-bracket {    display: none;}
.album_fixed_title i{    display: none;}

/* = = = 分隔線 = = = = = = = = = == = = = = = = = = = = = = = = == = = */
.other_subalbum li {    background: transparent;}


/*相本列表
.work_info_page .main_part { max-width:2000px;}
.work_info_page .show_content { padding:0; width:100%;}
.work_info_page .subalbum-menu { text-align:center;}
.work_info_page .subalbum-menu h2 { float:none;}
.work_info_page .pic-list .item { margin:0; padding:10px; width:49%; float:none; display:inline-block;}
@media screen and (max-width: 768px) {
.work_info_page .pic-list .item { width:100%;}
}
.work_info_page .pic-list .show_pic { height:auto; line-height:0;}
.work_info_page .pic-list .show_pic img { max-width:100%; max-height:100%;}
.work_info_page .pic-list .item a { max-width:100%; pointer-events: none; cursor: default; } 取消連結被點擊效果
*/


/* = = = 分隔線 = = = = = = = = = == = = = = = = = = = = = = = = == = = */
@media (max-width:1200px) {

.contact_content .information_left, .contact_content .information_right {
    width: 100%;
}
.list_before {
    grid-template-columns: 1fr 1fr;
    gap: 0;
}
.list_before.info li {    border-top: none;}
}


@media (max-width:1024px) {
    :root {
        --f54: 48px;
        --f48: 40px;
        --f42: 38px;
        --f40: 36px;
        --f36: 32px;
        --f32: 28px;
        --f28: 24px;
        --f24: 22px;
        --f22: 20px;
        --pd80:60px;
    }
.header_area, .header_area.sticky {
    position: sticky;
    background: var(--Bg-soft);
}
#content_main {
    margin-top: 0;
}
ul.F_ul_Boxed {    gap: 1vw;}

.pageIndex .stellarnav > ul > li > a {
    color: var(--FontColor);
}
.blog_subbox {
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 50px 1.5vw;
}
}



@media screen and (max-width: 768px) {
    :root {
        --f54: 36px;
        --f48: 32px;
        --f42: 30px;
        --f40: 28px;
        --f36: 26px;
        --f32: 24px;
        --f28: 20px;
        --f24: 20px;
        --f20: 18px;
        --f18: 17px;
        --f17: 16px;
    }
/* 開啟手機板下方按鈕所需設定 */
#bottom_menu {    background: var(--Bg-soft);}
.footer.with_shopping_mode { padding:50px 0 70px; }
#to_top { bottom:60px;}
.footer_info {
    padding: 0;
    grid-template-columns: 1fr;
    justify-items: center;
}
.info_fix {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
    pointer-events: auto;
}

.header_area.sticky {    backdrop-filter: none;}
ul.F_ul_Boxed {    justify-content: space-around;}

/*漢堡選單*/
.stellarnav.mobile > ul > li > a.dd-toggle{display: none;}
.stellarnav .menu-toggle:after {    color: var(--Primary);}
.stellarnav .menu-toggle span.bars span {    background: var(--Primary);}
.stellarnav.mobile.left > ul {    border: none;}
.stellarnav.mobile.right .close-menu, .stellarnav.mobile.left .close-menu {    background: var(--Primary); color: #fff;}
.stellarnav .icon-close:before, .stellarnav .icon-close:after {    border-bottom: solid 2px #ffffff;}
.stellarnav a.dd-toggle .icon-plus:before, .stellarnav a.dd-toggle .icon-plus:after {    border-bottom: solid 2px var(--Primary);}/*下拉關掉*/
.stellarnav.mobile li.open {    background: var(--bgcolor);}/*下拉*/
.stellarnav > ul > li > a {        color: var(--Primary);    }

/*相簿*/
.show-list, .pic-list {    grid-template-columns: repeat(2, 1fr);}
}


@media (max-width:600px) {
    :root {
        --f54: 32px;
        --f48: 28px;
        --f42: 26px;
        --f40: 24px;
        --f36: 22px;
        --f32: 20px;
        --f28: 18px;
        --f24: 18px;
        --f22: 18px;
        --f20: 17px;
        --f18: 16px;
        --f17: 15px;
        --f16: 15px;
        --pd80:40px;
    }

    /*footer*/
    .footer .center {    width: 100%;}
    .footer_info {        padding: 0 30px;    }
    ul.F_ul_Boxed {    flex-direction: column; align-items: center;}
    .footer_info li:nth-child(1) {    text-align: center;}
    .footer_menu {    justify-content: center;}

    /*header*/
    .stellarnav.mobile {        top: 14px;    }

    /*聯絡我們*/
    .contact_content {    padding-top: 0;}
    .contact_content .information_left, .contact_content .information_right {    padding: 0;}
    .list_before.info {    grid-template-columns: 1fr;    margin-top: 0;}
    .list_before.info li {    padding: 15px;}
    h4.blank_letter.f {    margin-top: 30px;}
    .contact_form li .form__label {                    background: transparent;                }
    .contact_form li {
        gap: 0;
        grid-template-columns: 1fr;
        margin-bottom: 5px;
    }
    .contact_form li .form__label {    max-width: 130px;  line-height: 1;  }
    .contact_form li.last {    gap: 10px;   }

    /*相簿*/
    ul.show-list, .pic-list {    grid-template-columns: 1fr;}

    /*部落格*/
    .module_i_news ul, .blog_subbox  {    grid-template-columns: 1fr;}
    .blog_list_ri {    height: initial; padding: 25px 7.14% 60px;}
}

@media (max-width:375px) {
    :root {
        --f54: 28px;
        --f48: 24px;
        --f42: 22px;
        --f40: 20px;
        --f36: 18px;
        --f32: 18px;
        --f28: 17px;
        --f24: 17px;
        --f22: 17px;
        --f20: 16px;
        --f18: 15px;
    }
}


