/*--------------copyright by vicky start-------------------------------*/
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block;
}

html {
    font-size: 10px;
    line-height: 1.8;
}

body {
    line-height: 1.5;
    letter-spacing: 2px;
    font-size: 1.6rem;
    font-family: 'Noto Serif TC', 'Chiron Hei HK', 'Montserrat', 'Anton', 'Newsreader', sans-serif;
    overflow-x: hidden;
    color: #00344a;
    background: #f3f7f6;
    position: relative;
}

ol,
ul {
    list-style: none;
}

blockquote,
q {
    quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: '';
    content: none;
}

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

td {
    vertical-align: top;
}

a {
    color: inherit;
    text-decoration: none;
    outline: none;
    transition: all .3s;
    box-sizing: border-box;
}

a:hover,
a:focus {
    text-decoration: none;
    color: #303030;
}

img {
    max-width: 100%;
    image-rendering: -moz-auto;
    image-rendering: -o-auto;
    image-rendering: -webkit-optimize-contrast;
    -ms-interpolation-mode: nearest-neighbor;
}

::selection {
    background: rgba(116, 169, 177, 1);
}
::-webkit-scrollbar {
    width:10px;
}
::-webkit-scrollbar-track {
    -webkit-border-radius: 10px;
    border-radius: 10px;
    margin:0 0 5px 0;
}
::-webkit-scrollbar-thumb {
    -webkit-border-radius: 4px;
    border-radius: 4px;
    background:rgba(116, 169, 177, 1)
}

/*carousel-fade*/
.carousel-fade .carousel-inner .item {
    transition-property: opacity;
}

.carousel-fade .carousel-inner .item,
.carousel-fade .carousel-inner .active.left,
.carousel-fade .carousel-inner .active.right {
    opacity: 0;
}

.carousel-fade .carousel-inner .active,
.carousel-fade .carousel-inner .next.left,
.carousel-fade .carousel-inner .prev.right {
    opacity: 1;
}

.carousel-fade .carousel-inner .next,
.carousel-fade .carousel-inner .prev,
.carousel-fade .carousel-inner .active.left,
.carousel-fade .carousel-inner .active.right {
    left: 0;
    transform: translate3d(0, 0, 0);
}

.carousel-fade .carousel-control {
    z-index: 2;
}

.carousel-inner>.item>img {
    display: inline-block;
}

/************************************************************************************************************************************************
************************************************************************************************************************************************
************************************************************************************************************************************************/
/***********************/
/***bubble start***/
.bubble {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 999;
    pointer-events: none;
}
.thumbnail {
    display: inline-block;
    padding: 0;
    margin-bottom: 0;
    line-height: 0;
    background-color: transparent;
    border: 0px solid #ddd;
    border-radius: 0;
    -webkit-transition: border .2s ease-in-out;
    -o-transition: border .2s ease-in-out;
    transition: border .2s ease-in-out;
    -webkit-box-shadow: 0 1px 2px rgb(0 0 0 / 0%);
    box-shadow: 0 1px 2px rgb(0 0 0 / 0%);
}
/***bubble end****/
/***********************/
/***********************/
/***carousel-inner start***/

/*********************************************************************************************************************************************/
.carousel-inner {
    height: 100%;
}

.dex .itembg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
}

.dex .item:nth-of-type(1) {
    background: url(../../flash/dex1.jpg) top center no-repeat;
    background-size: cover;
}

.dex .item:nth-of-type(2) {
    background: url(../../flash/dex2.jpg) top center no-repeat;
    background-size: cover;
}

.dex .item:nth-of-type(3) {
    background: url(../../flash/dex3.jpg) top center no-repeat;
    background-size: cover;
}

.dex .item:nth-of-type(4) {
    background: url(../../flash/dex4.jpg) top center no-repeat;
    background-size: cover;
}

/***dex_block***/
.dex_block {
    position: relative;
    z-index: 1;
}

/***dex***/
.dex {
    position: relative;
    height: 100vh;
    width: 100%;
}

.carousel-text {
    width: 1440px;
    max-width: 100%;
    margin: 0 auto;
    position: absolute;
    top: 26rem;
    left: 10%;
    color: #fff;
    z-index: 3;
    display: flex;
}

.carousel-text .dex_lt {
    margin-right: 3.5rem;
}

.carousel-text .dex_lt h5 {
    font-size: 100px;
    color: #ffffff;
    font-family: 'Anton';
    text-transform: uppercase;
    text-align: center;
}

.carousel-text .dex_rt {
    color: #f4f8f7;
}

.carousel-text .dex_rt h3 {
    font-size: 30px;
    font-family: 'Montserrat';
    font-weight: 100;
    margin-bottom: 1rem;
    text-transform: uppercase;
}

.carousel-text .dex_rt h2 {
    font-size: 52px;
    font-weight: 700;
    line-height: 1.5;

}

.carousel-text .dex_rt span {
    font-size: 12px;
    font-family: 'Montserrat';
    font-weight: 100;
    text-transform: uppercase;
}

.carousel-text .dex_rt p {
    font-size: 20px;
    font-family: 'Chiron Hei HK';
    font-weight: 300;
    padding-left: 3rem;
    position: relative;
    margin-top: 1.7rem;
}

.carousel-text .dex_rt p:before {
    content: '';
    background: #f3f7f6;
    width: 4px;
    max-width: 100%;
    min-height: 90%;
    position: absolute;
    top: 4px;
    left: 0;
}


@media screen and (max-width:1366px) {
    .carousel-text {
        padding: 0 0 0 4rem;
    }
}

@media screen and (max-width:768px) {
    .dex .item:nth-of-type(1) {
        background: url(../../flash/dex_sp1.jpg) top center no-repeat;
        background-size: cover;
    }

    .dex .item:nth-of-type(2) {
        background: url(../../flash/dex_sp2.jpg) top center no-repeat;
        background-size: cover;
    }

    .dex .item:nth-of-type(3) {
        background: url(../../flash/dex_sp3.jpg) top center no-repeat;
        background-size: cover;
    }

    .dex .item:nth-of-type(4) {
        background: url(../../flash/dex_sp4.jpg) top center no-repeat;
        background-size: cover;
    }

    .carousel-text {
        padding: 0 2rem;
        left: 0;
    }

    .carousel-text .dex_lt h5 {
        font-size: 85px;
    }
}

@media screen and (max-width:650px) {
    .carousel-text {
        top: 17rem;
    }

    .carousel-text .dex_rt h3 {
        font-size: 18px;
    }

    .carousel-text .dex_rt h2 {
        font-size: 40px;
    }

    .carousel-text .dex_rt p {
        font-size: 18px;
        padding-left: 1rem;
    }
}

@media screen and (max-width:576px) {
    .carousel-text {
        width: 100%;
        top: 10rem;
        flex-wrap: wrap;
        justify-content: center;
    }

    .carousel-text .dex_lt {
        margin: 0 0 2rem 0;
        width: 100%;
        text-align: center;
    }

    .carousel-text .dex_rt h3 {
        text-align: center;
    }

    .carousel-text .dex_rt h2 {
        text-align: center;
    }

    .carousel-text .dex_rt span {
        text-align: center;
    }

    .carousel-text .dex_rt p {
        padding-left: 0;
        text-align: center;
        margin-top: 1rem;
    }

    .carousel-text .dex_rt p:before {
        display: none;
    }
}

@media screen and (max-width:430px) {
    .carousel-text .dex_lt h5 {
        font-size: 26px;
    }
}

@media screen and (max-width:360px) {
    .carousel-text {
        padding: 0 1rem;
    }

    

    .carousel-text .dex_rt h2 {
        font-size: 35px;
    }

    .carousel-text .dex_rt p {
        font-size: 16px;
        letter-spacing: 1px;
    }
}

@media screen and (max-width:320px) {
    .carousel-text .dex_rt p {
        font-size: 14px;
    }
}

@media screen and (max-width:310px) {
    .carousel-text .dex_rt span {
        letter-spacing: 1px;
    }
}

@media screen and (max-width:px) {}

@media screen and (max-width:px) {}

/***carousel-inner end****/
/***********************/
header {
    z-index: 90;
    position: relative;
}


/*mibutton*/
.mibutton {
    position: fixed;
    top: 2rem;
    right: 2rem;
    z-index: 50;
    cursor: pointer;
    width: 40px;
    height: 30px;
    text-align: left;
    display: none;
    opacity: 0;
}

.mibutton span {
    display: block;
    text-align: center;
    width: 100%;
    height: 2px;
    position: absolute;
    top: 0;
    left: 0;
    background: #000;
    transition: .3s ease all;
}

.mibutton span:nth-child(2) {
    top: 10px;
}

.mibutton span:nth-child(3) {
    top: 20px;
}

.mibutton_ani span {
    opacity: 1;
    background: #fff;
}

.mibutton_ani span:nth-child(1) {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
}

.mibutton_ani span:nth-child(2) {
    opacity: 0;
}

.mibutton_ani span:nth-child(3) {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    -webkit-transform-origin: center left;
    transform-origin: center left;
    top: 29px;
}

nav {
    width: 100%;
    background: rgba(15, 76, 110, .75);
    padding: 1.2rem 0;
    position: fixed;
    top: 0;
    opacity: 0;
}

/*navbar*/
.navbar {
    background: rgba(15, 76, 110, .9);
    width: 83%;
    border-radius: 100px;
    margin: 0 auto;
    padding: 3.2rem 13.5rem 2.5rem;
}

.navtop,
.intop {
    position: fixed;
    z-index: 100;
    opacity: 1;
    pointer-events: auto;
    transition: .5s ease-in;
}

/*ilogo*/
.ilogo {
    display: inline-block;
    vertical-align: bottom;
    width: 16.9%;
    text-align: center;
    position: relative;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.ilogo a {
    display: inline-block;
    transition: .3s ease all;
}

.ilogo img {
    vertical-align: middle;
}

.ilogo a:hover {
    opacity: .7;
}

/*ibutton*/
.ibutton {
    display: inline-block;
    vertical-align: top;
    text-align: right;
    width: 82%;
}

.ibutton ul {}

.ibutton li {
    display: inline-block;
    vertical-align: top;
    letter-spacing: 3px;
    text-align: left;
    position: relative;
    transition: .5s all;
    padding: 0 2.5rem;
}

.ibutton li:hover {
        filter: opacity(0.5);
}


.ibutton a {
    position: relative;
    transition: .2s ease all;
    color: #dddcdc;
    letter-spacing: 1px;
}

p.en {
    color: #f4f8f7;
    font-size: 12px;
    position: relative;
    text-transform: uppercase;
    font-family: 'Montserrat';
    text-align: center;
    margin-top: .8rem;
    font-weight: 200;
}



p.ch {
    color: #f4f8f7;
    font-size: 18px;
    position: relative;
    font-weight: 400;
    letter-spacing: 2px;
    font-family: 'Chiron Hei HK';
    padding: 0 0.4rem .9rem;
    text-align: center;

}

p.ch:before {
    content: '';
    background: #74a9b1;
    width: 100%;
    min-height: 3px;
    position: absolute;
    bottom: 0;
    left: 0;
}

@media screen and (max-width:1590px) {
    .navbar {
        padding: 3.2rem 6rem 2.5rem;
    }
}

@media screen and (max-width:1400px) {
    .navbar {
        width: 95%;
    }
}

@media screen and (max-width:1200px) {
    .navbar {
        padding: 3.2rem 3rem 2.5rem;
    }
}

@media (max-width:1100px) {

    .mibutton {
        display: block;
        top: 3.5rem;
        z-index: 101;
        opacity: 1;
    }

    .mibutton span {
        background: #f4f8f7;
    }

    nav {
        position: fixed;
        pointer-events: auto;
        width: 100%;
        opacity: 1;
    }

    .navbar {
        background: transparent;
        padding: 0;
    }

    .ilogo {
        width: 100%;
        text-align: left;
        padding: 1rem 2rem;
        background: transparent;
    }

    .ilogo a {
        display: inline-block;
        width: 23%;
    }

    .ibutton {
        width: 100%;
        text-align: center;
        display: none;
        padding-bottom: 1em;
    }

    .ibutton li {
        display: block;
        width: 17%;
        padding: 0;
        margin: 0 auto 2.5rem;
    }


}

@media screen and (max-width:576px) {
    .ilogo a {
        width: 30%;
    }

    .ibutton li {
        width: 25%;
    }

    .ibutton {
        padding: 2rem 0;
    }

    p.ch {
        font-size: 20px;
        padding: 0 0 .9rem;
    }

    p.en {
        font-size: 15px;
    }
}

@media screen and (max-width:450px) {
    .ilogo {
        padding: 0 0 0 1rem;
    }

    .ilogo a {
        width: 45%;
    }
}

@media screen and (max-width:414px) {
    .mibutton {
        top: 2rem;
        right: 1rem;
    }
}

@media screen and (max-width:402px) {
    .ibutton li {
        width: 30%;
    }
}

@media screen and (max-width:360px) {
    nav {
        padding: 1rem 0;
    }
}

@media screen and (max-width:330px) {
    .ibutton li {
        width: 35%;
    }
}


@media screen and (max-width:px) {}

@media screen and (max-width:px) {}

/***********************/
/***********************/
/***inews start***/

.inews {
    width: 1440px;
    max-width: 100%;
    margin: 0 auto;
    padding: 6.6rem 0 5rem;
    display: flex;
    justify-content: space-between;
}

.inews .inews_title {
    width: 16%;
}

.inews .inews_title h2 {
    font-size: 26px;
    color: #74a9b1;
    font-weight: 600;
    position: relative;
    padding: 0 0 1.4rem 0;
}

.inews .inews_title h2:before {
    content: '';
    background: #74a9b1;
    width: 65px;
    max-width: 100%;
    min-height: 3px;
    position: absolute;
    bottom: 0;
    left: 0;
}

.inews .inews_title h3 {
    font-size: 30px;
    color: #74a9b1;
    font-weight: 300;
    font-family: 'Montserrat';
    margin-top: 2rem;
    text-transform: uppercase;
}

.inews_inner {
    width: 83.2%;

}


/***inews end****/
/***********************/
/***********************/
/***news start***/

.news {
    position: relative;
    background: #fff;
    padding: 9rem 0;
}

.news .news_inner {
    width: 1200px;
    max-width: 100%;
    margin: 0 auto;
}

.newslist .newslist_rwd {
    margin-bottom: 5rem;
}

.newslist_rwd {
    padding: 0 12rem 3.7rem 4rem;
    position: relative;
}

.newslist_rwd:before {
    content: '';
    border: 1px #74a9b1 solid;
    border-radius: 40px;
    width: 100%;
    min-height: 206px;
    position: absolute;
    bottom: 0;
    left: 0;
}

.newslist_rwd a {
    position: relative;
    transition: .3s ease all;
    display: block;
}
.newslist_rwd a:first-child{
    display: contents;
}

.newslist_rwd .npic {
    width: 400px;
    max-width: 100%;
    min-height: 300px;
    position: relative;
    display: inline-block;
    transition: .3s ease all;
    vertical-align: bottom;

}

.newslist_rwd .npicimg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-position: center;
}

.newslist_rwd .ntitle {
    width: 57.6%;
    padding-left: 3.3rem;
    display: inline-block;
}

.newslist_rwd .ntitle h3 {
    font-size: 26px;
    color: #0f4c6e;
    font-weight: 600;
    margin-bottom: 7rem;
    position: relative;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    transition: .3s ease all;
}

.newslist_rwd .ntitle h3 a:nth-of-type(1) {
    font-size: 26px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
}
.newslist_rwd .ntitle h3 a:not(:nth-of-type(1)){
    display: inline-block;
}

.newslist_rwd .ntitle h4 {
    font-size: 16px;
    color: #00344a;
    font-family: 'Chiron Hei HK';
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    margin: 0 0 5rem 0;
    padding-top: 3.3rem;
    line-height: 1.6;
    transition: .3s ease all;
}

.newslist_rwd .ntitle .news_more {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}

.newslist_rwd .ntitle .news_more h5 {
    font-size: 14px;
    color: #74a9b1;
    font-weight: 300;
    font-family: 'Montserrat';
    transition: .3s ease all;
}

.newslist_rwd .ntitle .news_more p {
    font-size: 20px;
    color: #74a9b1;
    font-weight: 300;
    font-family: 'Montserrat';
    transition: .3s ease all;

}

@media (any-hover: hover) {

    .newslist_rwd a:hover .npic {
        transform: translateY(-5px);
    }

    .newslist_rwd a:hover .ntitle h3 {
        color: #74a9b1;
    }

    .newslist_rwd a:hover .ntitle h4 {
        color: #74a9b1;
    }

    .newslist_rwd a:hover .ntitle .news_more h5 {
        color: #00344a;
    }

    .newslist_rwd a:hover .ntitle .news_more p {
        color: #00344a;
    }
}

.ripple2{
    margin-bottom: 3rem;
}
.news_back{
width: 100%;
margin-top: 2rem;
display: flex;
justify-content: space-between;
}

@media screen and (max-width:1450px) {
    .inews {
        padding: 6.6rem 2rem 5rem;
    }
}

@media screen and (max-width:1366px) {
    .newslist_rwd {
        padding: 0 2rem 3.7rem 4rem;
    }
}
@media screen and (max-width:1280px){
    .newslist_rwd .ntitle h3 {
    margin-bottom: 5rem;
}
}
@media screen and (max-width:1200px) {
    .inews {
        flex-wrap: wrap;
        justify-content: center;
    }

    .inews_inner {
        width: 100%;
    }

    .inews .inews_title {
        margin-bottom: 5rem;
    }
}

@media screen and (max-width:1000px) {
    .inews .inews_title {
        width: 100%;
        text-align: center;
    }

    .inews .inews_title h2:before {
        left: 0;
        right: 0;
        margin: auto;
    }

    .inews_inner {
        width: 70%;
    }

    .newslist_rwd {
        padding: 0 2rem 3.7rem;
        text-align: center;
    }
    .newslist_rwd:before {
    min-height: 165px;
}

    .newslist_rwd .npic {
        margin-bottom: 3rem;
        width: 100%;
        min-height: 390px;
    }

    .newslist_rwd .ntitle {
        width: 100%;
        padding-left: 0;
    }
        .newslist_rwd .ntitle h3 {
        margin-bottom: 3rem;
    }
    .newslist_rwd .ntitle h4 {
    padding-top: 1.3rem;
}
}
@media screen and (max-width:834px){
    .newslist_rwd:before {
        min-height: 188px;
    }
        .newslist_rwd .ntitle h4 {
        text-align: left;
    }
}
@media screen and (max-width:768px) {
    .inews_inner {
        width: 100%;
    }
        .newslist_rwd:before {
        min-height: 170px;
    }
}

@media screen and (max-width:576px) {
        .newslist_rwd:before {
        min-height: 190px;
    }
    .newslist_rwd .npic {
        min-height: 300px;
    }
}

@media screen and (max-width:450px) {
    .newslist_rwd {
        padding: 0 1rem 3.7rem;
    }

    .newslist_rwd:before {
        min-height: 175px;
    }

    .newslist_rwd .ntitle {
        padding: 0 1rem;
    }

    .newslist_rwd .ntitle h4 {
        margin: 0 0 3rem 0;
        padding-top: 3rem;
    }
}

@media screen and (max-width:414px) {
    .newslist_rwd .npic {
        min-height: 280px;
    }
    .newslist_rwd .ntitle h3 {
        margin-bottom: 2rem;
    }
}

@media screen and (max-width:380px) {
    .newslist_rwd .npic {
        min-height: 250px;
    }
}

@media screen and (max-width:310px) {
    .newslist_rwd .npic {
        min-height: 200px;
    }

    .newslist_rwd .ntitle h3 {
        margin-bottom: 1rem;
    }

    .newslist_rwd:before {
        min-height: 180px;
    }

    .newslist_rwd .ntitle .news_more {
        flex-wrap: wrap;
    }

}

@media screen and (max-width:px) {}

@media screen and (max-width:px) {}

@media screen and (max-width:px) {}

@media screen and (max-width:px) {}


/*page_num*/
.page_num {
    padding: 1em 0;
}

.page_num a {
    display: inline-block;
}

.inews .page_num {
    display: none;
}

/***news end****/
/***********************/
/***********************/
/***iabout start***/

.iabout {
    position: relative;
    background: url(../../images/iabt_bg.jpg) top left fixed;
    padding: 12.6rem 0 9rem;
}

/*iabt*/
.iabout .iabt {
    width: 1676px;
    max-width: 100%;
    margin: 0 auto 6.7rem;
    padding: 0 0 0 23.9rem;
    display: flex;
    justify-content: space-between;
}

.iabt .iabt_lt {
    width: 30%;
}

.ititle {
    position: relative;
    display: flex;
    align-items: center;

}

.ititle p {
    position: relative;
    font-size: 26px;
    color: #74a9b1;
    font-weight: 600;
    padding: 0 0 1.4rem 0;
}

.ititle p:before {
    content: '';
    background: #74a9b1;
    width: 65px;
    max-width: 100%;
    min-height: 3px;
    position: absolute;
    bottom: 0;
    left: 0;
}

.ititle span {
    font-size: 30px;
    color: #74a9b1;
    font-weight: 300;
    font-family: 'Montserrat';
    text-transform: uppercase;
    padding-left: 2rem;
}

.iabt_lt .iabt_title {
    margin: 3.8rem 0 4rem;
}

.iabt_lt .iabt_title h2 {
    font-size: 36px;
    color: #0f4c6e;
    font-weight: 700;
    line-height: 1.4;
}

.iabt_lt .iabt_desc {
    margin-bottom: 5rem;
}

.iabt_lt .iabt_desc p {
    color: #00344a;
    font-family: 'Chiron Hei HK';
    line-height: 1.8;
}

.iabt_lt .iabt_desc p:not(:last-child) {
    margin-bottom: 2rem;
}

.iabt_lt a.imore {
    background: #0f4c6e;
    padding: 1.2rem 3rem;
    color: #f4f8f7;
    font-size: 14px;
    font-family: 'Montserrat';
    font-weight: 300;
    transition: .5s all;
    position: relative;
}

.iabt_lt a:hover.imore {
    background: #f4f8f7;
    color: #0f4c6e;
}


.iabt .iabt_rt {
    width: 64%;
}

.iabt_rt .iabt_year {
    text-align: center;
    margin-bottom: 2rem;
}

.iabt_year .iabt_year-number {
    font-size: 130px;
    color: #74a9b1;
    font-weight: 600;
    font-family: 'Newsreader';
    line-height: 0.9;
}

.iabt_year .iabt_year-label {
    font-size: 28px;
    color: #74a9b1;
    font-family: 'Newsreader';
}

.iabt_rt .iabt_stats {
    margin-bottom: 3rem;
    display: flex;
    justify-content: center;
}

.iabt_stats .iabt_stats-item {
    padding: 0 5rem;
    text-align: center;
}

.iabt_stats .iabt_stats-item:not(:last-child) {
    border-right: 1px #5c6d71 solid;
}

.iabt_stats-item .iabt_stats-num {
    font-size: 48px;
    color: #0f4c6e;
    font-weight: 700;
    display: block;
}

.iabt_stats-item .iabt_stats-num span {
    font-size: 24px;
    vertical-align: text-top;
}

.iabt_stats-item:first-child .iabt_stats-num {
    font-family: 'Newsreader';
}

.iabt_stats-item .iabt_stats-text {
    font-size: 18px;
    color: #74a9b1;
    font-family: 'Chiron Hei HK';
    display: block;
}

.iabt_rt .iabt__image {}

.iabt_rt .iabt__image img {}

@media screen and (max-width:1536px) {
    .iabout .iabt {
        padding: 0 3rem;
    }
}

@media screen and (max-width:1280px) {
    .iabout {
        padding: 9rem 0 7rem;
    }
}

@media screen and (max-width:1200px) {
    .iabt .iabt_lt {
        width: 35%;
    }
}

@media screen and (max-width:1100px) {
    .iabout .iabt {
        padding: 0 2rem;
    }
}

@media screen and (max-width:1000px) {
    .iabout .iabt {
        flex-wrap: wrap;
        justify-content: center;
    }

    .iabt .iabt_lt {
        width: 50%;
        margin-bottom: 10rem;
    }

    .iabt .iabt_rt {
        width: 100%;
        text-align: center;
    }
}

@media screen and (max-width:768px) {
    .iabout {
        background-attachment: inherit;
    }
}

@media screen and (max-width:650px) {
    .iabt .iabt_lt {
        width: 63%;
    }
}

@media screen and (max-width:576px) {
    .iabt .iabt_lt {
        width: 70%;
    }

    .iabt_stats .iabt_stats-item {
        padding: 0 3rem;
    }
}

@media screen and (max-width:450px) {
    .iabout {
        padding: 6rem 0;
    }

    .iabout .iabt {
        margin: 0 auto 5rem;
    }

    .ititle span {
        font-size: 20px;
    }

    .iabt .iabt_lt {
        width: 100%;
    }

    .iabt_year .iabt_year-number {
        font-size: 90px;
    }

    .iabt_year .iabt_year-label {
        font-size: 20px;
    }

    .iabt_stats .iabt_stats-item {
        padding: 0 1rem;
        width: 33%;
    }

    .iabt_stats-item .iabt_stats-num {
        font-size: 40px;
    }
}

@media screen and (max-width:402px) {
    .iabt_year .iabt_year-number {
        font-size: 80px;
    }

    .iabt_stats-item .iabt_stats-num {
        font-size: 36px;
    }

    .iabt_stats-item .iabt_stats-text {
        font-size: 16px;
    }

}

@media screen and (max-width:393px) {
    .ititle span {
        padding-left: 1rem;
    }

    .iabt_lt .iabt_desc p br {
        display: none;
    }
}

@media screen and (max-width:380px) {

    .ititle p {
        font-size: 20px;
    }

    .ititle p:before {
        max-width: 60%;
    }

    .ititle span {
        font-size: 16px;
    }

    .iabt_lt .iabt_title {
        margin: 3rem 0 2rem;
    }

    .iabt_lt .iabt_title h2 {
        font-size: 30px;
    }
}

@media screen and (max-width:360px) {
    .iabout .iabt {
        padding: 0 1rem;
    }
}

@media screen and (max-width:350px) {
    .iabt_stats .iabt_stats-item {
        padding: 0 0.5rem;
    }
}

@media screen and (max-width:320px) {
    .iabt .iabt_lt {
        margin-bottom: 6rem;
    }

    .iabt_stats-item .iabt_stats-num {
        font-size: 30px;
    }

    .iabt_stats-item .iabt_stats-text {
        font-size: 14px;
    }
}

@media screen and (max-width:300px) {
    .ititle p {
        font-size: 18px;
    }

    .iabt_lt .iabt_title h2 {
        font-size: 28px;
    }
}

@media screen and (max-width:px) {}

@media screen and (max-width:px) {}


/*iquantity*/

.iquantity {
    width: 1676px;
    max-width: 100%;
    margin: 0 auto;
    padding: 0 0 0 11.8rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
}


.iquantity .iqty_lt {
    width: 69%;
}

.iqty_lt .iqty_image {}

.iqty_lt .iqty_image img {
    width: 94.6%;
}


.iquantity .iqty_rt {
    width: 30.1%;
}

.iqty_rt .iqty_title {
    margin: 3.8rem 0 4rem;
}

.iqty_rt .iqty_title h2 {
    font-size: 36px;
    color: #0f4c6e;
    font-weight: 700;
    line-height: 1.4;
}

.iqty_rt .iqty_desc {
    margin-bottom: 5rem;
}

.iqty_rt .iqty_desc p {
    color: #00344a;
    font-family: 'Chiron Hei HK';
    line-height: 1.8;
}

.iqty_rt .iqty_desc p:not(:last-child) {
    margin-bottom: 2rem;
}

.iqty_rt a.imore {
    background: #0f4c6e;
    padding: 1.2rem 3rem;
    color: #f4f8f7;
    font-size: 14px;
    font-family: 'Montserrat';
    font-weight: 300;
    transition: .5s all;
    position: relative;
}

.iqty_rt a:hover.imore {
    background: #f4f8f7;
    color: #0f4c6e;
}

@media screen and (max-width:1536px) {
    .iquantity {
        padding: 0 2rem;
    }

    .iquantity .iqty_lt {
        width: 55%;
    }

    .iqty_lt .iqty_image img {
        width: 100%;
    }

    .iquantity .iqty_rt {
        width: 35%;
    }
}

@media screen and (max-width:1280px) {
    .iquantity .iqty_rt {
        width: 40%;
    }
}

@media screen and (max-width:1100px) {
    .iquantity .iqty_lt {
        padding: 0 3rem 0 0;
    }

    .iquantity .iqty_rt {
        width: 45%;
    }

}

@media screen and (max-width:1000px) {
    .iquantity {
        flex-wrap: wrap;
        justify-content: center;
    }

    .iquantity .iqty_lt {
        padding: 0;
        width: 100%;
    }

    .iquantity .iqty_rt {
        width: 50%;
        order: -1;
        margin-bottom: 10rem;
    }
}

@media screen and (max-width:834px) {
    .iquantity .iqty_rt {
        width: 65%;
    }
}

@media screen and (max-width:650px) {
    .iquantity .iqty_rt {
        width: 80%;
    }
}

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

@media screen and (max-width:450px) {
    .iquantity .iqty_rt {
        width: 100%;
    }
}

@media screen and (max-width:390px) {
    .iqty_rt .iqty_desc p br {
        display: none;
    }
}

@media screen and (max-width:380px) {
    .iqty_rt .iqty_title {
        margin: 3rem 0 2rem;
    }

    .iqty_rt .iqty_title h2 {
        font-size: 30px;
    }

}

@media screen and (max-width:360px) {
    .iquantity {
        padding: 0 1rem;
    }
}

@media screen and (max-width:320px) {
    .iquantity .iqty_rt {
        margin-bottom: 6rem;
    }
}

@media screen and (max-width:300px) {
    .iqty_rt .iqty_title h2 {
        font-size: 28px;
    }
}

@media screen and (max-width:px) {}

@media screen and (max-width:px) {}

/***iabout end****/
/***********************/
/***********************/
/***iproducts start***/

.iproducts {
    position: relative;
    background: url(../../images/ipro_bg.jpg) top left repeat;
    background-size: auto;
    padding: 12rem 0 39rem;
}

/* 右上角的水產照片。
   原本是 .iproducts 的背景圖層（ipro_mask.jpg，contain + top right），
   改成實體 <img> 才能做滾動上下位移；
   圖片是 1080x1080 正方形，contain 後等於「邊長＝區塊高度」的正方形，
   所以這裡用 height:100% + aspect-ratio:1 重現同樣的範圍。 */
.ipro_photo {
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    aspect-ratio: 1 / 1;
    margin: 0;
    overflow: hidden;
    z-index: 0;
    pointer-events: none;
}

.ipro_photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.iproducts .ipro {
    width: 1198px;
    max-width: 100%;
    margin: 0 auto;
    padding: 0 60.5rem 0 0;
    text-align: center;
    position: relative;
    z-index: 1;
}


.ipro-category {
    margin: 6.7rem 0 0 0;
    display: flex;

}

.ipro-category_list {
    display: flex;
    list-style: none;
    margin: 0 0 5rem 0;
    padding: 0;
}

.ipro-category_item {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0 4rem;
    position: relative;
    text-align: center;
}

.ipro-category_item:first-child {
    padding: 0 4rem 0 0;
}

.ipro-category_item:last-child {
    padding: 0 0 0 4rem;
}

.ipro-category_item+.ipro-category_item::before {
    content: '';
    position: absolute;
    left: 0;
    top: 14rem;
    bottom: 1rem;
    width: 1px;
    background-color: #5c6d71;
}

.ipro-category_icon {
    margin-bottom: 12px;
}

.ipro-category_icon img {}

.ipro-category_title {
    margin: 0 0 2.3rem;
    font-size: 36px;
    font-weight: 700;
    color: #0f4c6e;
    letter-spacing: 1px;
}

.ipro-category_subtitle {
    margin: 0;
    font-size: 18px;
    font-weight: 300;
    color: #758d93;
    letter-spacing: 2px;
    text-transform: uppercase;
    font-family: 'Montserrat';
}

.ipro a.imore {
    background: #0f4c6e;
    padding: 1.2rem 3rem;
    color: #f4f8f7;
    font-size: 14px;
    font-family: 'Montserrat';
    font-weight: 300;
    transition: .5s all;
    position: relative;
}

.ipro a:hover.imore {
    background: #f4f8f7;
    color: #0f4c6e;
}

.ipro-category_item:hover .ipro-category_icon,
.ipro-category_item.is-active .ipro-category_icon {
    transform: rotateY(360deg);
    transition: 0.2s all ease;
}

@media screen and (max-width:1536px) {
    .iproducts {
        padding: 12rem 0 16rem;
    }
}

@media screen and (max-width:1366px) {
    .iproducts {
        padding: 7rem 0 7rem;
    }
}

@media screen and (max-width:1280px) {
    .iproducts {
        padding: 7rem 2rem 7rem;
    }
}

@media screen and (max-width:1100px) {
    .iproducts .ipro {
        padding: 0 50rem 0 0;
    }
}

@media screen and (max-width:1080px) {
    .iproducts {
        background: url(../../images/ipro_bg_sp.jpg) bottom center no-repeat, url(../../images/ipro_bg.jpg) top left repeat;
        padding: 7rem 0 87rem;
        background-size: contain, auto;
    }

    /* 這個尺寸以下改用 ipro_bg_sp.jpg（另一張圖、靠下置中），右上角照片就不需要了 */
    .ipro_photo {
        display: none;
    }

    .iproducts .ipro {
        padding: 0 22rem;
    }

    .ipro-category {
        justify-content: center;
    }
}

@media screen and (max-width:834px) {
    .iproducts {
        padding: 7rem 0 71rem;
    }

    .iproducts .ipro {
        padding: 0 13rem;
    }
}

@media screen and (max-width:768px) {
    .iproducts {
        padding: 7rem 0 66rem;
    }

    .iproducts .ipro {
        padding: 0 7rem;
    }
}

@media screen and (max-width:650px) {
    .iproducts {
        padding: 7rem 0 55rem;
    }

    .iproducts .ipro {
        padding: 0 2rem;
    }
}

@media screen and (max-width:450px) {
    .iproducts {
        padding: 6rem 0 37rem;
    }

    .ipro-category {
        margin: 4rem 0 0 0;
    }

    .ipro-category_item {
        padding: 0 2rem;
    }

    .ipro-category_item:first-child {
        padding: 0 2rem 0 0;
    }

    .ipro-category_item:last-child {
        padding: 0 0 0 2rem;
    }

    .ipro-category_icon img {
        width: 80%;
    }

    .ipro-category_title {
        font-size: 28px;
    }

    .ipro-category_subtitle {
        font-size: 12px;
        letter-spacing: 0;
    }

    .ipro-category_item:first-child {
        padding: 0;
    }

    .ipro-category_item:last-child {
        padding: 0;
    }

    .ipro-category_item {
        padding: 0 2rem;
    }

    .ipro-category_item+.ipro-category_item::before {
        top: 11rem;
        bottom: 0;
    }
}

@media screen and (max-width:402px) {
    .iproducts {
        padding: 6rem 0 31rem;
    }
}

@media screen and (max-width:393px) {
    .iproducts .ipro {
        padding: 0 1rem;
    }

    .ipro-category_item {
        padding: 0 1rem;
    }

    .ipro-category_title {
        font-size: 25px;
        margin: 0 0 1rem;
    }

    .ipro-category_icon img {
        width: 50%;
    }

    .ipro-category_item+.ipro-category_item::before {
        top: 7rem;
    }
}

@media screen and (max-width:360px) {
    .iproducts {
        padding: 6rem 0 26rem;
    }
}

@media screen and (max-width:330px) {
    .iproducts {
        padding: 6rem 0 23rem;
    }

    .ipro-category_title {
        font-size: 20px;
    }
}

@media screen and (max-width:320px) {
    .ipro-category_subtitle {
        letter-spacing: -1px;
    }
}

@media screen and (max-width:300px) {
    .iproducts {
        padding: 6rem 0 20rem;
    }
}

@media screen and (max-width:px) {}

@media screen and (max-width:px) {}

/***iproducts end****/
/***********************/

/***********************/
/***footer start***/
/* ---------- 外框 ---------- */
.sy-footer {
    width: 100%;
    background: url(../../images/ftbg.jpg);
}

.sy-footer_main {
    width: 100%;
}

.sy-footer_inner {
    width: 100%;
    max-width: 1568px;
    margin: 0 auto;
    padding: 5.8rem 0;
    display: grid;
    grid-template-columns: minmax(0, 0.92fr) 1px minmax(0, 1.32fr) 1px minmax(0, 0.62fr);
    gap: 0;

}

.sy-divider {
    display: block;
    background: #74a9b1;
}

/* ---------- 品牌欄 ---------- */
.sy-brand {
    grid-column: auto;
    text-align: left;
    padding: 2.3rem 10rem 0 0;
}

.sy-barand_logo {
    text-align: center;
}

.sy-barand_logo img {
    width: 79%;
}

.sy-brand_slogan {
    font-size: 26px;
    color: #0f4c6e;
    margin: 28px 0 0;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.32em;
    text-align: center;
}

/* ---------- 共用欄位 ---------- */
.sy-col {
    padding-top: 32px;
}

.sy-contact {
    padding: 0 10rem 0 11rem;
}

.sy-col_title {
    font-size: 16px;
    margin: 0;
    font-weight: 300;
    text-transform: uppercase;
    color: #74a9b1;
    font-family: 'Montserrat';
}

/* ---------- CONTACT ---------- */
.sy-contact_list {
    list-style: none;
    margin: 2rem 0 0;
    padding: 0;
    display: inline-grid;
    gap: 16px;
    text-align: left;
}

.sy-contact_item {
    display: grid;
    grid-template-columns: 20px auto 1fr;
    align-items: start;
    column-gap: 15px;
    text-decoration: none;
    cursor: default;
}

.sy-contact_item>*:nth-child(3n) {
    margin-left: 3px;
}


.sy-contact_icon {
    margin-top: 1px;
    width: 18px;
    height: 18px;
    color: #4a8fa5;
}

.sy-contact_icon svg {
    width: 20px;
    height: 20px;
    color: #74a9b1;
}

.sy-contact_label {
    color: #74a9b1;
    font-family: 'Chiron Hei HK';
}

.sy-contact_value {
    line-height: 1.45;
    color: #00344a;
    font-family: 'Chiron Hei HK';
}



.sy-contact_value--split {
    display: inline-flex;
    gap: 18px;
}

/* ---------- FOLLOW US ---------- */


.sy-socials {
    margin-top: 6.2rem;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 35px;
}

.sy-social {
    width: 65px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    text-decoration: none;
}

.sy-social_circle {
    width: 60px;
    height: 60px;
    border-radius: 999px;
    border: 1px solid #74a9b1;
    color: #74a9b1;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;
}

.sy-social_circle img {
    width: 29px;
    height: 28px;
}

.sy-line-glyph {
    fill: currentColor;
}

.sy-social_circle .sy-line-text {
    fill: #f4f7f6;
    transition: fill 0.3s ease;
}

.sy-social:hover .sy-social_circle {
    background: #ffffff;
    border-color: #ffffff;
}

.sy-social:hover .sy-line-text {
    fill: #16496c;
}

.sy-social_text {
    font-size: 16px;
    letter-spacing: 0.04em;
    white-space: nowrap;
    color: #74a9b1;
    transition: color 0.3s ease;
    font-family: 'Chiron Hei HK';
}

.sy-social-col {
    padding-left: 4.5rem;
}

.sy-social:hover .sy-social_text {
    color: #4a8fa5;
}

/* ---------- 版權列 ---------- */
.sy-footer_bar {
    width: 100%;
    background: #0f4c6e;
}

.sy-bar_inner {
    width: 100%;
    max-width: 1140px;
    margin: 0 auto;
    padding: 3rem 3rem;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

/*share*/
.share {
    color: #fff;
    font-size: 13px;
    display: inline-block;
    width: 24%;
    text-align: left;

}

.share a {
    font-size: 13px;
    display: inline-block;
    margin-right: 1rem;
    vertical-align: middle;
    transition: .5s all;
}

.share a:hover {
    transform: translateY(-5px);
}


/*copyright*/
.copyright {
    color: #fff;
    font-size: 14px;
    top: 0;
    right: 0;
    width: 65%;
    text-align: left;
    font-weight: 500;
}

.copyright a {
    color: #ffffff;
    display: inline-block;
    font-size: 14px;
}

.copyright a:hover {
    color: #dbe6eb;
}

@media screen and (max-width:1536px) {
    .sy-footer_inner {
        padding: 5rem 2rem;
    }

    .sy-brand {
        padding: 2.3rem 8rem 0 0;
    }

    .sy-contact {
        padding: 0 7rem 0 8rem;
    }
}

@media screen and (max-width:1450px) {
    .sy-footer_inner {
        grid-template-columns: minmax(0, 0.92fr) 1px minmax(0, 1fr) 1px minmax(0, 0.7fr);
    }

    .sy-contact {
        padding: 0 2rem;
    }
}

@media screen and (max-width:1366px) {
    .sy-footer_inner {
        grid-template-columns: minmax(0, 0.8fr) 1px minmax(0, 1.2fr) 1px minmax(0, 0.7fr);
    }
}

@media screen and (max-width:1280px) {
    .sy-brand {
        padding: 2.3rem 4rem 0 0;
    }

}

@media screen and (max-width:1200px) {
    .sy-brand {
        padding: 2.3rem 2rem 0 0;
    }
}

@media screen and (max-width:1100px) {
    .sy-footer_inner {
        grid-template-columns: 1fr 1fr 1fr;
        grid-template-rows: auto 1fr;
        grid-template-areas: "sy-brand sy-brand sy-brand""sy-contact sy-contact sy-social-col";
    }


    .sy-divider {
        display: none;
    }

    .sy-brand {
        grid-area: sy-brand;
        padding: 2.3rem 0 6rem;
        flex-direction: column;
        grid-column: 1 / 4;
    }

    .sy-barand_logo {
        text-align: center;
    }

    .sy-barand_logo img {
        width: 40%;
    }

    .sy-contact {
        grid-area: sy-contact;
        padding: 0 0 0 13rem;
    }

    .sy-social-col {
        grid-area: sy-social-col;
        padding-left: 0;
    }

    .sy-col {
        padding-top: 0;
    }
}


@media screen and (max-width:834px) {
    .sy-contact {
        padding: 0;
    }

    .sy-bar_inner {
        flex-wrap: wrap;
    }

    .share {
        width: 100%;
        text-align: center;
    }

    .copyright {
        width: 100%;
        text-align: center;
    }
}

@media screen and (max-width:650px) {
    .sy-footer_inner {
        grid-template-columns: 1fr;
        grid-template-rows: 1fr;
        grid-template-areas: "sy-brand""sy-contact""sy-social-col";
    }

    .sy-contact {
        margin: 0 auto 3rem;
    }

    .sy-social-col {
        width: 72%;
        margin: 3rem auto 0;
    }

    .sy-socials {
        margin-top: 3rem;
    }

    .sy-bar_inner {
        flex-wrap: wrap;
    }

    .share {
        width: 100%;
        text-align: center;
    }

    .copyright {
        width: 100%;
        text-align: center;
    }
}

@media screen and (max-width:576px) {
    .sy-barand_logo img {
        width: 50%;
    }
}

@media screen and (max-width:450px) {
    .sy-contact_item {
        grid-template-columns: 18px auto 1fr;
        column-gap: 7px;
    }

    .sy-contact_item>*:nth-child(3n) {
        margin-left: 0;
    }

    .sy-contact_value {
        letter-spacing: 1px;
    }
}

@media screen and (max-width:430px) {
    .sy-contact_icon svg {
        width: 15px;
        height: 15px;
    }

    .sy-contact_label {
        font-size: 14px;
    }

    .sy-contact_value {
        font-size: 15px;
    }

}

@media screen and (max-width:414px) {
    .sy-barand_logo img {
        width: 72%;
    }

    .sy-social-col {
        margin: 1rem auto 0;
    }
}

@media screen and (max-width:402px) {
    .sy-contact_label {
        letter-spacing: 0;
    }

    .sy-contact_value {
        letter-spacing: 0;
    }

    .sy-social-col {
        width: 80%;
    }

}

@media screen and (max-width:380px) {

    .sy-footer_inner {
        padding: 5rem 1rem;
    }

    .sy-contact_item {
        grid-template-columns: 15px auto 1fr;
        column-gap: 3px;
    }
}

@media screen and (max-width:360px) {
    .sy-footer_inner {
        padding: 3rem 1rem;
    }

    .sy-brand {
        padding: 2.3rem 0 4rem;
    }

    .sy-barand_logo img {
        width: 80%;
    }
}

@media screen and (max-width:330px) {
    .sy-barand_logo img {
        width: 90%;
    }

    .sy-brand_slogan {
        font-size: 20px;
        margin: 20px 0 0;
    }
}

@media screen and (max-width:320px) {
    .sy-social-col {
        width: 95%;
    }
}

@media screen and (max-width:px) {}

@media screen and (max-width:px) {}





/***footer end****/
/***********************/

.btn{
    position: fixed;
    bottom: 0;
    right: 1rem;
    z-index: 99;
    cursor: pointer;
    
}

.btn ul{}
.btn ul li{
    margin-bottom: 1rem;
}
.btn ul li a{
    display: block;
    transition: .2s linear;
}
.btn ul li a:hover{
    transform: scale(.8);
}



#gotop {
    position: fixed;
    bottom: 23rem;
    right: 1rem;
    z-index: 50;
    cursor: pointer;
    display: none;
    transition: .2s linear;
}

#gotop:hover {
    transform: translateY(-5px);
}



#gotop img {
    transition: .3s cubic-bezier(0.25, 1, 0.5, 1);
}

#gotop:hover img {
    transform: translateY(-10px);
}

@media screen and (max-width:450px){
   .btn{
    right: 0;
    
    padding: 6px 10px;
}
.btn ul li {
    margin-bottom: .5rem;
}
    #gotop {
    right: 0;
    bottom: 21.5rem; 
}

}
@media screen and (max-width:px){}
@media screen and (max-width:px){}
@media screen and (max-width:px){}
@media screen and (max-width:px){}
@media screen and (max-width:px){}


/*****************************************************************************/
/***inbanner***/
.inbanner {
    position: relative;
    min-height: 805px;
}

.inbanner.banner_abt {
    background: url(../../images/banner_abt.jpg) top right no-repeat;
    background-size: cover;
    width: 100%;
    height: 100%;
}

.inbanner.banner_quality {
    background: url(../../images/banner_quality.jpg) top right no-repeat;
    background-size: cover;
    width: 100%;
    height: 100%;
}

.inbanner.banner_philosophy {
    background: url(../../images/banner_philosophy.jpg) top right no-repeat;
    background-size: cover;
    width: 100%;
    height: 100%;
}

.inbanner.banner_news {
    background: url(../../images/banner_news.jpg) top right no-repeat;
    background-size: cover;
    width: 100%;
    height: 100%;
}

.inbanner.banner_contact {
    background: url(../../images/banner_contact.jpg) top right no-repeat;
    background-size: cover;
    width: 100%;
    height: 100%;
}

.inbanner .ban_title {
    width: 1198px;
    max-width: 100%;
    margin: 0 auto;
    padding: 22rem 0 0 0;
}

.ban_title .title {
    position: relative;
    display: flex;
    align-items: stretch;

}

.ban_title .title p {
    position: relative;
    font-size: 26px;
    color: #74a9b1;
    font-weight: 600;
    padding: 0 0 1.4rem 0;
}

.ban_title .title p:before {
    content: '';
    background: #74a9b1;
    width: 65px;
    max-width: 100%;
    min-height: 3px;
    position: absolute;
    bottom: 0;
    left: 0;
}

.ban_title .title span {
    font-size: 30px;
    color: #74a9b1;
    font-weight: 300;
    font-family: 'Montserrat';
    text-transform: uppercase;
    padding-left: 2rem;
}

.ban_title .ban_heading {
    margin: 3.8rem 0 5rem;
}

.ban_title .ban_heading h2 {
    font-size: 36px;
    color: #0f4c6e;
    font-weight: 700;
    line-height: 1.4;
}

.ban_title .ban_desc {
    margin-bottom: 5rem;
    width: 35%;
}

.ban_title .ban_desc p {
    color: #00344a;
    font-family: 'Chiron Hei HK';
}

.ban_title .ban_desc p:not(:last-child) {
    margin-bottom: .9rem;
}


/*30years*/
.badge-30years {
    display: inline-flex;
    align-items: flex-end;
}

.badge-30years .number-block {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    line-height: 1;
}

.badge-30years .number-wrap {
    display: flex;
    align-items: flex-start;
}

.badge-30years .number {
    font-size: 100px;
    font-weight: 700;
    font-family: 'Newsreader';
    color: #0f4c6e;
    line-height: 1;
}

.badge-30years .plus {
    font-size: 35px;
    font-family: 'Newsreader';
    font-weight: 700;
    color: #0f4c6e;
    margin-top: 4px;
}

.badge-30years .years {
    font-size: 24px;
    font-weight: 500;
    letter-spacing: 2px;
    color: #0f4c6e;
}


.badge-30years .text-block {
    display: flex;
    flex-direction: column;
    gap: 4px;
    font-size: 18px;
    font-weight: 600;
    color: #0f4c6e;
    line-height: 1.5;
    margin-left: -2rem;
}

@media screen and (max-width:1366px) {
    .inbanner {
        min-height: 690px;
    }

    .inbanner .ban_title {
        padding: 10rem 0 0 0;
    }
}

@media screen and (max-width:1100px) {
    .inbanner .ban_title {
        padding: 7rem 2rem 0;
    }

    .inbanner {
        min-height: 620px;
    }
}

@media screen and (max-width:1000px) {
    .inbanner {
        min-height: 560px;
    }

    .inbanner .ban_title {
        padding: 3rem 2rem 2rem 2rem;
    }

    .ban_title .ban_desc {
        width: 45%;
    }
}

@media screen and (max-width:834px) {
    .inbanner {
        min-height: 100vh;
    }

    .inbanner.banner_abt {
        background: url(../../images/banner_sp_abt.jpg) bottom center no-repeat;
            background-size: cover;
    }

    .inbanner.banner_quality {
        background: url(../../images/banner_sp_quality.jpg) bottom center no-repeat;
            background-size: cover;
    }

    .inbanner.banner_philosophy {
        background: url(../../images/banner_sp_philosophy.jpg) bottom center no-repeat;
            background-size: cover;
    }

    .inbanner.banner_news {
        background: url(../../images/banner_sp_news.jpg) bottom center no-repeat;
            background-size: cover;
    }

    .inbanner.banner_contact {
        background: url(../../images/banner_sp_contact.jpg) bottom center no-repeat;
            background-size: cover;
    }


    .inbanner .ban_title {
        text-align: center;
        padding: 9rem 2rem 2rem 2rem;
    }

    .ban_title .title {
        justify-content: center;
    }

    .ban_title .ban_desc {
        width: 66%;
        margin: 0 auto;
    }

    

    .badge-30years .text-block {
        text-align: left;
    }

}

@media screen and (max-width:650px) {

    .ban_title .ban_heading {
        margin: 2rem 0 3rem;
    }

    .ban_title .ban_desc {
        width: 79%;
    }
}

@media screen and (max-width:576px) {
    .ban_title .ban_desc {
        width: 100%;
    }
}

@media screen and (max-width:450px) {
    .inbanner .ban_title {
        padding: 12rem 2rem 2rem 2rem;
    }
    .ban_title .ban_desc {
        margin-bottom: 3rem;
    }

    .badge-30years .number {
        font-size: 90px;
    }
    .ban_title .title {
    align-items: baseline;
}
    .ban_title .title span {
    font-size: 20px;
}
}

@media screen and (max-width:414px) {
    .inbanner .ban_title {
        padding: 10rem 1rem 2rem 1rem;
    }
}

@media screen and (max-width:393px) {
    .ban_title .ban_desc p {
        font-size: 15px;
    }
}

@media screen and (max-width:370px) {
    .ban_title .title {
        align-items: center;
    }

    .ban_title .title span {
        font-size: 25px;
        padding-left: 1rem;
    }

    .ban_title .ban_desc p {
        letter-spacing: 1px;
    }
}

@media screen and (max-width:360px) {
    .ban_title .ban_heading h2 {
        font-size: 33px;
    }
}

@media screen and (max-width:350px) {
    .ban_title .ban_desc p {
        font-size: 13px;
    }
}

@media screen and (max-width:330px) {
    .ban_title .title p {
        font-size: 22px;
    }

    .ban_title .title span {
        font-size: 22px;
    }

}

@media screen and (max-width:310px) {
    .ban_title .ban_desc p {
        font-size: 12px;
    }
}

@media screen and (max-width:px) {}

@media screen and (max-width:px) {}

/***********************/
/***about start***/

.about {}


/*about1*/
.about .about1 {
    background: url(../../images/abt1_deco.png) bottom left no-repeat fixed, #f2e8df;
    position: relative;
    z-index: 0;
}

.about1 .abt1 {
    width: 590px;
    max-width: 100%;
    margin: 0 0 0 auto;
    padding: 6rem 12.5rem 3rem 0;
}

.abt1 .abt1_title {
    margin-bottom: 4.7rem;
}

.abt1 .abt1_title h3 {
    font-size: 18px;
    color: #74a9b1;
    font-family: 'Montserrat';
    font-weight: 300;
    text-transform: uppercase;
    margin-bottom: 2rem;
}

.abt1 .abt1_title h2 {
    font-size: 36px;
    color: #0f4c6e;
    font-weight: 700;
}

.abt1_list {
    list-style: none;
}

.abt1_item {
    position: relative;
    padding: 0 8rem 5rem 2.8rem;
    border-left: 1px solid #5c6d71;
}

.abt1_item:last-child {
    border-left: 2px solid transparent;
}

.abt1_item::before {
    content: "";
    position: absolute;
    left: -7px;
    top: 0;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #f6eee8;
    border: 1px #00344a solid;
}

.abt1_heading {
    font-size: 24px;
    font-weight: 600;
    color: #74a9b1;
    margin-bottom: 2.5rem;
    line-height: .5;
}

.abt1_desc {
    line-height: 1.9;
    color: #00344a;
    font-family: 'Chiron Hei HK';
    text-align: justify;

}

.abt1_figure {
    margin: 5rem 0 0;
    width: 100%;
    overflow: hidden;
}

.abt1_img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 11;
    object-fit: cover;
}


@media screen and (max-width:1536px) {
    .about .about1 {
        background-size: 80%;
    }

    .abt1_item {
        padding: 0 2rem 5rem 2.8rem;
    }
}

@media screen and (max-width:1366px) {
    .about1 .abt1 {
        padding: 6rem 5rem 3rem 0;
    }
}

@media screen and (max-width:1100px) {
    .about .about1 {
        background-size: 63%;
    }
}

@media screen and (max-width:768px) {
    .about .about1 {
        background-size: 65%;
        background-attachment: initial;
    }

    .about1 .abt1 {
        padding: 6rem 2rem 25rem;
        margin: 0 auto;
    }
}

@media screen and (max-width:576px) {
    .about1 .abt1 {
        padding: 6rem 2rem 21rem;
        margin: 0 auto;
    }
}

@media screen and (max-width:430px) {
    .about1 .abt1 {
        padding: 6rem 2rem 16rem;
    }
}

@media screen and (max-width:402px) {
    .abt1_heading {
        font-size: 22px;
    }
}

@media screen and (max-width:360px) {
    .abt1_item {
        padding: 0 0 5rem 2rem;
    }
}

@media screen and (max-width:350px) {
    .abt1_heading {
        font-size: 20px;
    }
}

@media screen and (max-width:330px) {
    .about1 .abt1 {
        padding: 6rem 2rem 12rem;
    }

    .abt1_heading {
        font-size: 18px;
        letter-spacing: 1px;
    }
}

@media screen and (max-width:px) {}

@media screen and (max-width:px) {}





/*about2*/

.about2 {
    position: relative;
    background: url(../../images/abt2_bg.jpg) top center no-repeat fixed;
    background-size: cover;
    padding: 10rem 0 20rem;
}

.about2 .abt2 {}

.abt2 .abt21 {
    width: 1440px;
    max-width: 100%;
    margin: 0 auto 7rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.abt21 .abt21_lt {
    width: 25.5%;
}

.abt21_lt .abt21_lt_title {
    color: #f4f8f7;
    margin-bottom: 4rem;
}

.abt21_lt .abt21_lt_title p {
    font-size: 18px;
    font-family: 'Montserrat';
    font-weight: 300;
    text-transform: uppercase;
    margin-bottom: 2rem;
}

.abt21_lt .abt21_lt_title h2 {
    font-size: 36px;
    font-weight: 700;
    margin-bottom: 2rem;
}

.abt21_lt .abt21_lt_title span {
    font-size: 18px;
    font-family: 'Montserrat';
    font-weight: 300;
    text-transform: uppercase;
}

.abt21_lt .abt21_lt_txt {
    color: #f4f8f7;
}

.abt21_lt .abt21_lt_txt p {
    font-family: 'Chiron Hei HK';
    line-height: 1.8;
    text-align: justify;
}

.abt21 .abt21_rt {
    width: 66.4%;
}

.abt21 .abt21_rt ul {
    display: flex;
    justify-content: space-around;
}

.abt21 .abt21_rt ul li {
    text-align: center;
    padding: 0 4.5rem;
}

.abt21 .abt21_rt ul li:not(:last-child) {
    border-right: 1px rgba(244, 248, 247, .5) solid;
}

.abt21 .abt21_rt ul li img {}

.abt21 .abt21_rt ul li h3 {
    font-size: 22px;
    color: #f4f8f7;
    font-weight: 600;
    margin-bottom: 1rem;
}

.abt21 .abt21_rt ul li span {
    color: #f4f8f7;
    font-family: 'Chiron Hei HK';
}


/*abt22*/

.abt2 .abt22 {
    width: 1440px;
    max-width: 100%;
    margin: 0 auto;
}

/* ---------- 區塊底（含菱格紋） ---------- */
.abt22-section {
    width: 100%;
    background-color: rgba(243, 247, 246, .85);
    padding: 7.4rem 2.4rem 9rem;
    color: #4d5a66;
    overflow: hidden;
}

/* ---------- 1440px 總寬容器 ---------- */
.abt22-wrap {
    margin: 0 auto;
}

/* ---------- 標題區 ---------- */
.abt22-head {
    text-align: center;
    margin-bottom: 6.8rem;
}

.abt22-title {
    margin: 0;
    font-weight: 700;
    font-size: 36px;
    letter-spacing: 0.18em;
    color: #0f4c6e;
}

.abt22-subtitle {
    margin: 1.4rem 0 0;
    font-size: 18px;
    font-weight: 300;
    text-indent: -1rem;
    text-transform: uppercase;
    color: #74a9b1;
    font-family: 'Montserrat';
}

/* ---------- 三欄網格 ---------- */
.abt22-grid {
    width: 956px;
    max-width: 100%;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 30% 40% 30%;
    gap: 95px 20px;
}

.abt22-item {
    padding: 0 6rem;
    transition: transform 0.35s ease;
}

.abt22-item:hover {
    transform: translateY(-4px);
}

/* 直向分隔線：第 2、3 欄 */
.abt22-item:nth-child(3n + 2),
.abt22-item:nth-child(3n) {
    border-left: 1px solid rgba(92, 109, 113, .5);
}

/* 首欄左側、末欄右側不吃 padding */
.abt22-item:nth-child(3n + 1) {
    padding-left: 0;
}

.abt22-item:nth-child(3n) {
    padding-right: 0;
}

.abt22-item-title {
    margin: 0 0 1.8rem;
    font-weight: 600;
    font-size: 22px;
    color: #0f4c6e;
    transition: color 0.3s ease;
}
.abt22-item-title svg{
    margin-right: 1rem;
}

.abt22-item .abt22-item-text {
    padding-right: 1rem;
}

.abt22-item:nth-child(3n + 1) .abt22-item-text {
    padding-right: 1rem;
}

.abt22-item:nth-child(3n) .abt22-item-text {
    padding-right: 1rem;
}

.abt22-item:hover .abt22-item-title {
    color: #164a6d;
}

.abt22-item-text {
    margin: 0;
    font-family: 'Chiron Hei HK';
    line-height: 2;
    color: #00344a;
    text-align: justify;
}

/* ---------- 進場動畫 ---------- */
@keyframes abt22FadeUp {
    from {
        opacity: 0;
        transform: translateY(16px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.abt22-head,
.abt22-item {
    /*animation: abt22FadeUp 0.7s ease-out both;*/
}

.abt22-item:nth-child(1) {
    animation-delay: 0.1s;
}

.abt22-item:nth-child(2) {
    animation-delay: 0.18s;
}

.abt22-item:nth-child(3) {
    animation-delay: 0.26s;
}

.abt22-item:nth-child(4) {
    animation-delay: 0.34s;
}

.abt22-item:nth-child(5) {
    animation-delay: 0.42s;
}

.abt22-item:nth-child(6) {
    animation-delay: 0.5s;
}

@media screen and (max-width:1366px) {
    .abt2 .abt21 {
        padding: 0 2rem;
    }

    .abt21 .abt21_lt {
        width: 30%;
    }

    .abt21 .abt21_rt {
        width: 70%;
    }

    .abt2 .abt22 {
        padding: 0 2rem;
    }
}

@media screen and (max-width:1280px) {
    .abt21 .abt21_rt ul li {
        padding: 0 3rem;
    }

    .abt22-item {
        padding: 0 7rem;
    }
}

@media screen and (max-width: 1100px) {
    .abt22-item {
        padding: 0 3rem;
    }

    .abt22-item .abt22-item-text {
        padding-right: 0;
    }

    .abt22-item:nth-child(3n + 1) .abt22-item-text {
        padding-right: 0;
    }

    .abt22-item:nth-child(3n) .abt22-item-text {
        padding-right: 3rem;
    }
}

@media screen and (max-width:1000px) {
    .abt2 .abt21 {
        flex-wrap: wrap;
        justify-content: center;
    }

    .abt21 .abt21_lt {
        width: 40%;
        margin-bottom: 3rem;
    }

    .abt21 .abt21_rt {
        width: 90%;
    }
}

@media (max-width: 991px) {
    .abt22-section {
        padding: 64px 28px 72px;
    }

    .abt22-head {
        margin-bottom: 56px;
    }

    .abt22-grid {
        grid-template-columns: repeat(2, 1fr);
        row-gap: 52px;
    }

    .abt22-item {
        padding: 0 34px;
        border-left: 0;
    }

    .abt22-item:nth-child(odd) {
        padding-left: 0;
        padding-right: 34px;
        border-left: none;
    }

    .abt22-item:nth-child(even) {
        border-left: 1px solid rgba(92, 109, 113, .5);
        padding-left: 34px;
        padding-right: 0;
    }
}

@media screen and (max-width:834px) {
    .abt21 .abt21_lt {
        width: 60%;
    }

    .abt21 .abt21_rt {
        width: 100%;
    }
}

@media screen and (max-width:768px) {
    .about2 {
        background: url(../../images/abt2_bg_sp.jpg) top center no-repeat;
        background-size: cover;
        background-attachment: inherit;
        padding: 7rem 0 10rem;

    }

    .abt21 .abt21_rt ul {
        justify-content: center;
    }

    .abt21 .abt21_rt ul li {
        padding: 0 2rem;
    }

}

@media screen and (max-width:650px) {

    .abt21 .abt21_lt {
        width: 70%;
    }

    .abt21 .abt21_rt ul li {
        padding: 0 1rem;
    }
}

@media (max-width: 639px) {
    .abt22-section {
        padding: 56px 24px 64px;
    }

    .abt22-title {
        font-size: 28px;
    }

    .abt22-head {
        margin-bottom: 44px;
    }

    .abt22-grid {
        grid-template-columns: 1fr;
        row-gap: 0;
    }

    .abt22-item,
    .abt22-item:nth-child(odd),
    .abt22-item:nth-child(even) {
        padding: 26px 4px;
        border-left: 0;
    }

    .abt22-item:not(:last-child) {
        border-bottom: 1px solid #d3d9d6;
    }

    .abt22-item:hover {
        transform: none;
    }

    .abt22-item-title {
        margin-bottom: 12px;
    }
}

@media screen and (max-width:576px) {
    .abt21 .abt21_rt ul {
        flex-wrap: wrap;
    }

    .abt21 .abt21_rt ul li {
        width: 45%;
        margin-bottom: 3rem;
    }

    .abt21 .abt21_rt ul li:nth-child(2) {
        border-right: none;
    }
}

@media screen and (max-width:450px) {
    .abt21 .abt21_lt {
        width: 90%;
    }
}

@media screen and (max-width:430px) {
    .abt21 .abt21_lt {
        width: 100%;
    }

    .abt21 .abt21_rt ul li {
        width: 50%;
    }
}

@media screen and (max-width:414px) {
    .abt21_lt .abt21_lt_title p {
        margin-bottom: 1rem;
    }

    .abt21_lt .abt21_lt_title h2 {
        margin-bottom: 1rem;
    }

    .abt21_lt .abt21_lt_title {
        margin-bottom: 2rem;
    }
}

@media screen and (max-width:393px) {
    .abt21_lt .abt21_lt_title span {
        font-size: 15px;
    }

    .abt21_lt .abt21_lt_txt p br {
        display: none;
    }
}

@media screen and (max-width:380px) {
    .abt21_lt .abt21_lt_title h2 {
        font-size: 30px;
    }
}

@media screen and (max-width:360px) {
    .abt21 .abt21_rt ul li h3 {
        font-size: 20px;
    }

    .abt21 .abt21_rt ul li span {
        font-size: 15px;
    }
}

@media screen and (max-width:350px) {
    .abt2 .abt21 {
        padding: 0 1rem;
    }

    .abt2 .abt22 {
        padding: 0 1rem;
    }
}

@media screen and (max-width:330px) {
    .abt21 .abt21_rt ul li span {
        letter-spacing: 1px;
    }
}

@media screen and (max-width:320px) {
    .abt21_lt .abt21_lt_title span {
        font-size: 14px;
        letter-spacing: 1px;
    }
}

@media screen and (max-width:310px) {
    .abt21 .abt21_rt ul li span {
        font-size: 14px;
    }
}

@media screen and (max-width:300px) {
    .abt21_lt .abt21_lt_title h2 {
        font-size: 28px;
    }

    .abt21 .abt21_rt ul li span {
        font-size: 13px;
    }
}

@media screen and (max-width:px) {}

@media screen and (max-width:px) {}




/*about3*/

.about3 {
    position: relative;
    background: url(../../images/abt3_bg.jpg) top center no-repeat fixed;
    background-size: cover;
}

.about3 .abt3 {
    padding: 11.5rem 0 53rem;
}

.abt3 .abt3_top {
    margin-bottom: 5rem;
}

.abt3_top .abt3_title {
    text-align: center;
}

.abt3_top .abt3_title p {
    font-size: 18px;
    font-family: 'Montserrat';
    font-weight: 300;
    text-transform: uppercase;
    margin-bottom: 1rem;
    color: #74a9b1;
}

.abt3_top .abt3_title h2 {
    font-size: 36px;
    font-weight: 700;
    margin-bottom: 2rem;
    color: #0f4c6e;
}

.abt3_top .abt3_txt {
    text-align: center;
}

.abt3_top .abt3_txt p {
    font-family: 'Chiron Hei HK';
    line-height: 1.8;
    color: #00344a;
}


.abt3_bot {
    width: 1440px;
    max-width: 100%;
    margin: 0 auto;
    padding: 0 7rem;
    overflow: hidden;
}

.abt3_list {
    display: flex;
    align-items: flex-start;
    justify-content: space-around;
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
}

.abt3_card {
    position: relative;
    display: flex;
    flex: 0 0 120px;
    align-items: center;
    flex-direction: column;
    min-width: 0;
    text-align: center;
    transition: color 180ms ease, transform 180ms ease;
}

.abt3_card:not(:last-child) :before {
    content: '';
    background: rgba(92, 109, 113, .5);
    width: 1px;
    min-height: 100%;
    position: absolute;
    top: 0;
    right: -5rem;
}

.abt3_card:hover {
    color: #1f7080;
    transform: translateY(-2px);
}

.abt3_card_mark {
    display: block;
}

.abt3_card_title,
.abt3_card_subtitle {
    margin: 0;
    white-space: nowrap;
}

.abt3_card_title {
    margin-top: 1rem;
    font-size: 22px;
    font-weight: 600;
    color: #0f4c6e;
    line-height: 1.2;
}

.abt3_card_subtitle {
    margin-top: 1.5rem;
    color: #00344a;
    font-family: 'Montserrat';
    font-weight: 400;
    line-height: 1;
    letter-spacing: 1px;
}


.abt32{
	margin: 7rem auto 0;
}
.abt32 .abt32_title{
	    text-align: center;
}
.abt32 .abt32_title p{
	font-size: 18px;
    font-family: 'Montserrat';
    font-weight: 300;
    text-transform: uppercase;
    margin-bottom: 1rem;
    color: #74a9b1;
}
.abt32 .abt32_title h2{
	    font-size: 36px;
    font-weight: 700;
    margin-bottom: 2rem;
    color: #0f4c6e;
}

.abt32 .abt32_logo{
	width: 500px;
	max-width: 100%;
	margin: 0 auto;
}
.abt32 .abt32_logo ul{
	display: flex;
	justify-content: space-evenly;
}
.abt32 .abt32_logo ul li{}
.abt32 .abt32_logo ul li img{}


@media screen and (max-width:1366px) {
    .about3 .abt3 {
        padding: 11.5rem 0 40rem;
    }
}

@media screen and (max-width:1100px) {
    .abt3_bot {
        padding: 0 2rem;
    }

    .abt3_card:not(:last-child) :before {
        right: -2rem;
    }
}

@media screen and (max-width:1000px) {
    .about3 .abt3 {
        padding: 11.5rem 0 30rem;
    }
}

@media screen and (max-width:834px) {
    .abt3_card:not(:last-child) :before {
        right: -1rem;
    }
}

@media (max-width: 800px) {
    .abt3_bot {}

    .abt3_list {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        row-gap: 30px;
    }

    .abt3_card {
        width: 100%;
        flex-basis: auto;
    }

    .abt3_card:nth-child(3n) :before {
        display: none;
    }
}

@media screen and (max-width:768px) {
    .about3 {
        background: url(../../images/abt3_bg_sp.jpg) bottom center no-repeat, #e4e2df;
        background-size: contain;
        background-attachment: inherit;
    }

    .about3 .abt3 {
        padding: 11.5rem 0 35rem;
    }
}

@media screen and (max-width:639px) {
    .abt3_top .abt3_title h2 {
        font-size: 28px;
    }
}

@media (max-width: 500px) {
    .about3 .abt3 {
        padding: 11.5rem 0 25rem;
    }

    .abt3_list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .abt3_card:nth-child(even) :before {
        display: none;
    }

    .abt3_card:nth-child(3n) :before {
        display: block;
    }
}

@media screen and (max-width:450px) {
    .about3 .abt3 {
        padding: 7rem 0 25rem;
    }
}

@media screen and (max-width:430px) {
    .about3 .abt3 {
        padding: 7rem 0 21rem;
    }
	.abt32 .abt32_logo ul li {
    text-align: center;
}
	.abt32 .abt32_logo ul li img {
    width: 75%;
}
}

@media screen and (max-width:350px) {
    .about3 .abt3 {
        padding: 7rem 0 17rem;
    }
}


@media screen and (max-width:310px) {
    .abt3_card:not(:last-child) :before {
        right: -0.5rem;
    }
}

@media screen and (max-width:px) {}

@media screen and (max-width:px) {}

/***about end****/
/***********************/
/***********************/
/***quality start***/

.quality {}


.quality .quality1 {
    position: relative;
    background: url(../../images/iabt_bg.jpg) top left;
    padding: 7rem 0 9.2rem;
}

.quality1 .qlty1 {}

.qlty1 .qlty1_title {
    margin-bottom: 6rem;
    text-align: center;
}

.qlty1 .qlty1_title h2 {
    font-size: 36px;
    color: #0f4c6e;
    font-weight: 700;
    margin-bottom: 2.2rem;
}

.qlty1 .qlty1_title h3 {
    font-size: 18px;
    color: #0f4c6e;
    font-family: 'Montserrat';
    font-weight: 300;
}

.qlty1 .qlty1_img {
    text-align: center;
    margin-bottom: 11rem;
}

.qlty1 .qlty1_img img {}


.qlty12_set {
    padding: 6rem 0;
    overflow: hidden;
}

.qlty12_wrap {
    width: 1198px;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
}

.qlty12_list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns:
        minmax(0, 1fr) 14px minmax(0, 1fr) 14px minmax(0, 1fr) 14px minmax(0, 1fr);
    align-items: stretch;
}

/* ---------- 單一步驟 ---------- */
.qlty12_item {
    margin: 0;
    padding: 0 10px;
    text-align: center;
}

.qlty12_badge {
    position: relative;
}


.qlty12_num {
    margin-top: 2rem;
    font-family: "Anton", sans-serif;
    font-size: 60px;
    line-height: 1;
    letter-spacing: 0.03em;
    color: #8095b5;
}

.qlty12_en {
    margin-top: .8rem;
    font-family: 'Montserrat';
    font-weight: 300;
    letter-spacing: 0.32em;
    text-indent: 0.32em;
    color: #74a9b1;
}

.qlty12_title {
    margin: 1.1rem 0 0;
    font-weight: 600;
    font-size: 26px;
    line-height: 1.4;
    letter-spacing: 0.16em;
    color: #0f4c6e;
}

.qlty12_line {
    display: block;
    width: 44px;
    height: 2px;
    margin: 2.3rem auto;
    background: #0f4c6e;
}

.qlty12_desc {
    margin: 0 auto;
    font-family: 'Chiron Hei HK';
    width: 160px;
    max-width: 100%;
    line-height: 2;
    letter-spacing: 0.06em;
    color: #1c2b30;
}

/* ---------- 欄間分隔線＋箭頭 ---------- */
.qlty12_sep {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    padding: 2px 0;
}

.qlty12_sep::before,
.qlty12_sep::after {
    content: "";
    width: 1px;
    flex: 1 1 auto;
    background: #bcc9d6;
}

.qlty12_arrow {
    flex: 0 0 auto;
    width: 0;
    height: 0;
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
    border-left: 11px solid #5b87b8;
}

/* 橫向分隔（箭頭朝下）共用狀態 */
.qlty12_sep--horiz {
    flex-direction: row;
    justify-content: center;
    height: 16px;
    padding: 0;
}

.qlty12_sep--horiz::before,
.qlty12_sep--horiz::after {
    width: auto;
    height: 1px;
}

.qlty12_sep--horiz .qlty12_arrow {
    transform: rotate(90deg);
}

@media screen and (max-width:1280px) {
    .quality1 .qlty1 {
        padding: 0 2rem;
    }
}

/* ---------- RWD：平板 2×2 ---------- */
@media (max-width: 1024px) {
    .qlty12_wrap {
        padding-left: 24px;
        padding-right: 24px;
    }

    .qlty12_list {
        grid-template-columns: minmax(0, 1fr) 14px minmax(0, 1fr);
        row-gap: 28px;
    }

    .qlty12_sep-row {
        grid-column: 1 / -1;
        flex-direction: row;
        justify-content: center;
        height: 16px;
        padding: 0;
    }

    .qlty12_sep-row::before,
    .qlty12_sep-row::after {
        width: auto;
        height: 1px;
    }

    .qlty12_sep-row .qlty12_arrow {
        transform: rotate(90deg);
    }
}

@media screen and (max-width:768px) {
    .quality .quality1 {
        padding: 7rem 0 2rem;
    }
}

@media screen and (max-width:576px) {
    .qlty1 .qlty1_img {
        margin-bottom: 4rem;
    }
}

@media screen and (max-width:450px) {
    .qlty12_wrap {
        padding: 0;
    }
}

@media screen and (max-width:393px) {
    .qlty12_item:nth-child(odd) {
        padding-left: 0;
    }

    .qlty12_item:nth-child(even) {
        padding-right: 0;
    }
}

@media screen and (max-width:360px) {
    .quality1 .qlty1 {
        padding: 0 1rem;
    }
}

/* ---------- RWD：手機單欄 ---------- */
@media (max-width: 350px) {
    .qlty12_set {
        padding: 4rem 0;
    }

    .qlty12_list {
        grid-template-columns: minmax(0, 1fr);
        row-gap: 30px;
    }

    .qlty12_sep,
    .qlty12_sep-row {
        width: 72%;
        margin: 0 auto;
        flex-direction: row;
        justify-content: center;
        height: 16px;
        padding: 0;
    }

    .qlty12_sep::before,
    .qlty12_sep::after,
    .qlty12_sep-row::before,
    .qlty12_sep--row::after {
        width: auto;
        height: 1px;
    }

    .qlty12_sep .qlty12_arrow,
    .qlty12_sep-row .qlty12_arrow {
        transform: rotate(90deg);
    }

    .qlty12_num {
        font-size: 56px;
    }

    .qlty12_title {
        font-size: 26px;
    }
}





/*quality2*/
.quality2 {
    position: relative;
    background: url(../../images/qlty2_bg.jpg) top center no-repeat fixed;
    background-size: cover;
}

.quality2 .qlty2 {
    padding: 7.2rem 0 6.8rem;
}

.qlty2 .qlty21 {
    margin-bottom: 11rem;
}

.qlty21 .qlty21_title {
    margin-bottom: 4.2rem;
    text-align: center;
}

.qlty21 .qlty21_title h2 {
    font-size: 36px;
    color: #f4f8f7;
    font-weight: 700;
    margin-bottom: 2.3rem;
}

.qlty21 .qlty21_title h3 {
    font-size: 18px;
    color: #f4f8f7;
    font-family: 'Montserrat';
    font-weight: 300;
}

.qlty21 .qlty21_text {
    width: 290px;
    max-width: 100%;
    margin: 0 auto 8.7rem;
}

.qlty21 .qlty21_text p {
    color: #f4f8f7;
    font-family: 'Chiron Hei HK';
    line-height: 1.8;
    text-align: center;
}

.qlty21_set {
    width: min(100%, 1198px);
    padding: 0;
    margin: 0 auto;
    overflow: hidden;
}

.qlty21_set_inner {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    min-height: 216px;
}

.qlty21_set_item {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 0;
    padding: .8rem 2rem 0;
    text-align: center;
    border-left: 1px solid rgb(255 255 255 / 23%);
    animation: qlty21_set_reveal 700ms ease-out both;
}



.qlty21_set_temperature {
    animation: qlty21_set_float 4.5s ease-in-out infinite;
}

.qlty21_set_thermometer {
    z-index: 1;
}

.qlty21_set_copy {
    margin: 2rem 0 2.4rem;
}

.qlty21_set_title {
    margin: 0;
    color: #f4f8f7;
    font-size: 60px;
    font-family: 'Newsreader';
    font-weight: 600;
    line-height: .7;
    white-space: nowrap;
    text-shadow: 0 1px 1px rgb(0 0 0 / 8%);
}

.qlty21_set_item:last-child .qlty21_set_title {
    font-family: 'Noto Serif TC';
    padding-top: 15px;
    font-size: 30px;
    line-height: 1;
}


.qlty21_set_unit {
    font-family: 'Noto Serif TC';
    margin-left: 3px;
    font-size: 30px;
}

.qlty21_set_description,
.qlty21_set_detail {
    color: #f4f8f7;
    margin: 13px 0 0;
    font-size: 18px;
    font-weight: 600;
    white-space: nowrap;
}

.qlty21_set_divider {
    display: block;
    width: 54px;
    height: 3px;
    flex: 0 0 3px;
    background-color: rgba(116, 169, 177, .5);
}

.qlty21_set_detail {
    margin-top: 2rem;
}

@keyframes qlty21_set_reveal {
    from {
        opacity: 0;
        transform: translateY(16px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes qlty21_set_float {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-4px);
    }
}

@media screen and (max-width:768px) {
    .quality2 {
        background: url(../../images/qlty2_bg_sp.jpg) top center no-repeat;
        background-size: cover;
        background-attachment: inherit;
    }

    .qlty21_set {
        padding: 0 2rem;
    }

    .qlty21_set_item {
        padding: .8rem 1rem 0;
    }

    .qlty21_set_description,
    .qlty21_set_detail {
        font-size: 16px;
    }
}

@media (max-width: 720px) {
    .qlty21 .qlty21_text {
        margin: 0 auto 2rem;
    }

    .qlty21_set {
        width: 100%;
        padding: 3.6rem 2rem;
    }

    .qlty21_set_inner {
        grid-template-columns: 1fr;
    }

    .qlty21_set_item {
        padding: 5rem 1rem 4.2rem;
        border-top: 1px solid rgb(255 255 255 / 23%);
        border-left: 0;
    }

    .qlty21_set_item:first-child {
        border-top: 0;
    }

    .qlty21_set_temperature {
        top: -42px;
    }

}

@media screen and (max-width:650px) {
    .qlty2 .qlty21 {
        margin-bottom: 0;
    }

    .qlty21_set_description,
    .qlty21_set_detail {
        font-size: 18px;
    }
}

@media screen and (max-width:414px) {

    .qlty21 .qlty21_title {
        margin-bottom: 2rem;
    }

    .qlty21_set {
        padding: 1rem 2rem;
    }

    .qlty21_set_title {
        line-height: 1;
    }

    .qlty21_set_item:last-child .qlty21_set_title {
        line-height: 1.6;
        padding-top: 0;
    }
}

@media (max-width: 390px) {
    .qlty21_set_title {
        font-size: 36px;
    }

    .qlty21_set_item:first-child .qlty21_set_title {
        font-size: 52px;
    }

}

@media screen and (max-width:350px) {
    .qlty21_set {
        padding: 1rem 1rem;
    }
}

@media (prefers-reduced-motion: reduce) {

    .qlty21_set_item,
    .qlty21_set_temperature {
        animation: none;
    }
}



/*qlty22*/

.qlty2 .qlty22 {
    width: 100%;
    overflow: hidden;
    padding: 0;
    color: #f4f8f7;
}

.qlty22_inner {
    width: min(calc(100% - 3rem), 956px);
    margin: 0 auto;
}

.qlty22_heading {
    text-align: center;
    animation: qlty22-heading-in 700ms ease-out both;
}

.qlty22_title {
    margin: 0;
    font-size: clamp(3rem, 3.2vw, 36px);
    font-weight: 700;
    line-height: 1.2;
}

.qlty22_subtitle {
    margin: 2.5rem 0 0;
    font-size: 18px;
    font-family: 'Montserrat';
    font-weight: 300;
    line-height: 1.3;
    letter-spacing: 0;
}

.qlty22_list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: 6.2rem;
}

.qlty22_item {
    position: relative;
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: center;
    padding: 0 1.25rem;
    text-align: center;
    animation: qlty22-item-in 650ms ease-out both;
    animation-delay: calc(200ms + var(--qlty22-order) * 100ms);
}

.qlty22_item:not(:last-child)::after {
    position: absolute;
    top: -0.2rem;
    right: 0;
    width: 1px;
    height: 100%;
    background: rgba(224, 237, 238, 0.26);
    content: "";
}

.qlty22_icon {
    transition: transform 250ms ease;
}

.qlty22_item:hover .qlty22_icon {
    transform: translateY(-0.3rem);
}

.qlty22_item-title {
    margin: 1.2rem 0 0;
    font-size: 22px;
    font-weight: 600;
    line-height: 1.35;
    letter-spacing: 0.09em;
}

.qlty22_description {
    margin: 1.3rem 0 0;
    font-family: 'Chiron Hei HK';
    font-weight: 400;
    line-height: 1.5;
}

@keyframes qlty22-heading-in {
    from {
        opacity: 0;
        transform: translateY(-0.8rem);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes qlty22-item-in {
    from {
        opacity: 0;
        transform: translateY(1rem);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 650px) {
    .qlty2 .qlty22 {
        padding: 5rem 0;
    }

    .qlty22_inner {
        width: min(calc(100% - 2rem), 1198px);
    }

    .qlty22_title {}

    .qlty22_subtitle {}

    .qlty22_list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        row-gap: 3.4rem;
        margin-top: 3.4rem;
    }

    .qlty22_item {
        padding: 0 0.7rem;
    }

    .qlty22_item::after,
    .qlty22_item:nth-child(2)::after {
        top: 0;
        display: block;
        height: 9.8rem;
    }

    .qlty22_item:nth-child(2)::after,
    .qlty22_item:last-child::after {
        display: none;
    }

    .qlty22_item-title {
        margin-top: 1.2rem;
    }

    .qlty22_description {}
}
@media screen and (max-width:450px){
        .qlty2 .qlty22 {
        padding: 5rem 0 2rem;
    }
}
@media (max-width: 330px) {
    .qlty22_list {
        grid-template-columns: 1fr;
    }

    .qlty22_item:not(:last-child)::after {
        top: auto;
        right: 20%;
        bottom: -1.7rem;
        display: block;
        width: 60%;
        height: 1px;
    }
}

@media (prefers-reduced-motion: reduce) {

    .qlty22_heading,
    .qlty22_item {
        animation: none;
    }

    .qlty22_icon {
        transition: none;
    }
}

.qlty23{
    margin-top: 8rem;
    text-align: center;
}
.qlty23 ul{}
.qlty23 ul li{
    display: inline-block;
        padding: 1rem;
}
.qlty23 ul li img{
   border-radius: 20px;
}
@media screen and (max-width:1100px){
    .qlty23{
        padding: 0 2rem;
    }
    .qlty23 ul li{
        width: 48%;
    }
}
@media screen and (max-width:768px){
    .qlty23 {
    margin-top: 6rem;
}
}
@media screen and (max-width:450px){
    .qlty23 {
    margin-top: 0;
}
    .qlty23 ul li {
        width: 100%;
        padding: 1rem 0;
    }
}

@media screen and (max-width:350px){
        .qlty23 {
        padding: 0 1rem;
    }
}
@media screen and (max-width:px){}
@media screen and (max-width:px){}

/***quality end****/
/***********************/
/***********************/
/***philosophy start***/

.philosophy {
    position: relative;
    width: 1920px;
    max-width: 100%;
    aspect-ratio: 1920 / 903;
    overflow: hidden;
}

.philosophy .bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    z-index: 0;
    background-attachment: fixed;
}

.philosophy .container {
    position: relative;
    z-index: 1;
    width: 1920px;
    height: 100%;
    max-width: 100%;
    margin: 0 auto;
    display: flex;
    align-items: center;
    padding: 0 6rem 0 24rem;
}

/* 卡片 547 x 460 */
.philosophy .card {
    width: 547px;
    max-width: 100%;
    aspect-ratio: 547 / 460;
    background: #ffffff;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.18);
    padding: 9rem 7rem;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    border-radius: 30px;

}



/* 標題列：01. 與 標題群 */
.philosophy .head {
    display: flex;
    align-items: flex-end;
    gap: 2.2rem;
}

.philosophy .num {
    font-family: 'Anton';
    font-weight: 700;
    color: #74a9b1;
    line-height: .9;
    letter-spacing: 11px;
    font-size: 75px;
    flex-shrink: 0;
}

.philosophy .titles {
    display: flex;
    flex-direction: column;
}

.philosophy .en-title {
    font-family: 'Montserrat';
    font-weight: 300;
    text-transform: uppercase;
    color: #74a9b1;
    line-height: 1;
    letter-spacing: 1px;
    font-size: 18px;
}

.philosophy .zh-title {
    margin-top: 1.6rem;
    font-weight: 700;
    letter-spacing: 6px;
    color: #0f4c6e;
    line-height: 1;
    font-size: 36px;
}

.philosophy .divider {
    margin-top: 2.2rem;
    width: 100%;
    height: 1px;
    background: #74a9b1;
}

.philosophy .slogan {
    margin-top: 2.5rem;
    font-weight: 600;
    color: #74a9b1;
    line-height: 1.7;
    font-size: 22px;
}

.philosophy .desc {
    margin-top: 3rem;
    font-family: 'Chiron Hei HK';
    color: #00344a;
    line-height: 1.9;
    font-size: 16px;
}

/* ========== RWD ========== */
@media screen and (max-width:1366px) {
    .philosophy .container {
        padding: 0 6rem;
    }
}

@media (max-width: 1024px) {
    .philosophy {
        aspect-ratio: 1920 / 1100;
    }

    .philosophy .container {
        padding: 0 2.5rem;
    }

    .philosophy .card {
        padding: 5rem;
    }

    .philosophy .bg {
        background-attachment: inherit;
    }
}

@media screen and (max-width:834px) {
    .philosophy .card {
        aspect-ratio: 547 / 400;
    }
}

@media screen and (max-width:768px) {
    
        .philosophy {
        display: flex;
        flex-direction: column;
                aspect-ratio: auto;
    }
        .philosophy .bg {
        position: relative;
        min-height: 400px;
    }
        .philosophy .container {
        order: -1;
        justify-content: center;
        margin: 5rem 0 8rem;
    }
    .philosophy .card{
        background: transparent;
    box-shadow: none;
    }

}


@media screen and (max-width:450px) {
          .philosophy .bg {
        min-height: 280px;
    } 
       .philosophy .container {
        padding: 0 2rem;
    }
     .philosophy .card {
        padding: 0;
    }
        
}
@media screen and (max-width:430px){
        .philosophy .bg {
        min-height: 260px;
    }
    .philosophy .head {
    gap: 1rem;
}
    .philosophy .num {
    font-size: 50px;
    letter-spacing: 5px;
}
.philosophy .zh-title {
    margin-top: 0.5rem;
}
}
@media screen and (max-width:414px){
    .philosophy .slogan {
    font-size: 20px;
}
.philosophy .desc {
    margin-top: 1.5rem;
}
}
@media screen and (max-width:402px){
        .philosophy .num {
        font-size: 50px;
    }
}
@media screen and (max-width:393px){
    .philosophy .num {
        font-size: 50px;
    }
    .philosophy .zh-title {
    font-size: 30px;
}

}
@media screen and (max-width:375px){
        .philosophy .slogan {
        font-size: 17px;
    }
}
@media screen and (max-width:360px){
    .philosophy .bg {
        min-height: 200px;
    }
}
@media screen and (max-width:px){}
@media screen and (max-width:px){}

/***philosophy end****/
/***********************/
/***********************/
/***product start***/

.product {
    position: relative;
    background: url(../../images/pro_bg.jpg) top left fixed;
}



/* ---------- Reset（僅限本站範圍，避免污染全域） ---------- */


.product-site {
    position: relative;
}

.product-page {
    color: #3d4f57;
    min-height: 100vh;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    position: relative;
    display: flex;
    align-items: flex-start;
}

.product-page img {
    display: block;
    max-width: 100%;
}

.product-page a {
    text-decoration: none;
    color: inherit;
}

.product-page ul {
    list-style: none;
}

.product-page button {
    font-family: inherit;
}


/* ==========================================================================
   左側選單
   ========================================================================== */
.product-sidebar {
    position: sticky;
    top: 0;
    height: 100vh;
    height: 100dvh;
    width: 300px;
    flex: 0 0 300px;
    z-index: 40;
    background: linear-gradient(180deg, #0e4c64 0%, #0b3f55 45%, #082e40 100%);
    color: #dcebec;
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    overflow-x: hidden;
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 255, 255, 0.25) transparent;
}

.product-sidebar::-webkit-scrollbar {
    width: 6px;
}

.product-sidebar::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.2);
    border-radius: 3px;
}

.product-sidebar-inner {
    padding: 19rem 6rem 0;
    display: flex;
    flex-direction: column;
    gap: 55px;
    min-height: 100%;
}

/* 側欄標題 */
.product-side-title {
    text-align: center;
    font-size: 26px;
    font-weight: 600;
    color: #f4f8f7;
    line-height: 1.4;
}

.product-side-title small {
    display: block;
    margin-top: 0.6rem;
    font-family: 'Montserrat';
    letter-spacing: 0;
    font-weight: 300;
    color: #f4f8f7;
}

/* 分類群組 */
.product-nav {
    display: flex;
    flex-direction: column;
    gap: 34px;
}

.product-cat-head {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 14px;
}

.product-cat-icon {
    width: 52px;
    height: 52px;
    flex: 0 0 52px;
    border-radius: 50%;
    background: rgba(127, 185, 187, 0.16);
    border: 1px solid rgba(169, 209, 210, 0.22);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #bfe0e1;
}

.product-cat-icon svg {
    width: 30px;
    height: 30px;
}

.product-cat-name {
    font-size: 20px;
    font-weight: 600;
    letter-spacing: 0.2em;
    color: #74a9b1;
    line-height: 1.3;
}

.product-cat-name small {
    display: block;
    font-size: 14px;
    font-family: 'Montserrat';
    font-weight: 300;
    letter-spacing: 0px;
    color: #74a9b1;
    margin-top: 2px;
}

.product-cat ul {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.product-cat li a {
    position: relative;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 7px 4px 7px 18px;
    font-size: 16px;
    letter-spacing: 0.12em;
    color: #f4f8f7;
    font-family: 'Chiron Hei HK';
    border-radius: 6px;
    transition: color 0.25s ease, background 0.25s ease, padding-left 0.25s ease;
    cursor: pointer;
}

.product-cat li a::before {
    content: "";
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: currentColor;
    opacity: 0.7;
    flex: 0 0 4px;
    transition: transform 0.25s ease, opacity 0.25s ease;
}

.product-cat li a:hover {
    color: #ffffff;
    background: rgba(255, 255, 255, 0.06);
    padding-left: 17px;
}

.product-cat li a.is-active {
    color: #ffffff;
    font-weight: 700;
    background: rgba(127, 185, 187, 0.14);
    box-shadow: inset 2px 0 0 #7fb9bb;
}

.product-cat li a.is-active::before {
    background: #7fb9bb;
    opacity: 1;
    transform: scale(1.5);
}


.product-mobilebar {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 50;
    background: linear-gradient(180deg, #0e4c64, #0b3f55);
    color: #eef6f6;
    box-shadow: 0 4px 20px rgba(8, 47, 66, 0.35);
}

.product-mobilebar-top {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 16px;
}

.product-mobilebar-title {
    display: flex;
    flex-direction: column;
    line-height: 1.25;
}

.product-mobilebar-title strong {
    font-size: 16px;
    letter-spacing: 0.3em;
    font-weight: 600;
}

.product-mobilebar-title span {
    font-size: 10px;
    letter-spacing: 0.22em;
    color: #a9d1d2;
}

.product-topnav {
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(4, 24, 33, 0.35);
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}

.product-topnav::-webkit-scrollbar {
    display: none;
}

.product-topnav-track {
    display: flex;
    align-items: stretch;
    width: max-content;
    min-width: 100%;
    padding: 8px 12px;
}

.product-topnav-group {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0 12px;
}

.product-topnav-group:first-child {
    padding-left: 0;
}

.product-topnav-group:last-child {
    padding-right: 0;
}

.product-topnav-group+.product-topnav-group {
    border-left: 1px solid rgba(255, 255, 255, 0.15);
}

.product-topnav-cat {
    font-size: 10px;
    letter-spacing: 0.2em;
    color: #a9d1d2;
    opacity: 0.75;
    white-space: nowrap;
}

.product-topnav-btn {
    border: 1px solid rgba(255, 255, 255, 0.18);
    background: rgba(255, 255, 255, 0.07);
    color: #dcebec;
    font-size: 13px;
    letter-spacing: 0.08em;
    padding: 7px 14px;
    border-radius: 999px;
    white-space: nowrap;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.product-topnav-btn.is-active {
    background: #f2f7f7;
    border-color: #f2f7f7;
    color: #0b3f55;
    font-weight: 700;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.25);
}

/* ==========================================================================
   主內容區
   ========================================================================== */
.product-main {
    position: relative;
    z-index: 1;
    flex: 1 1 auto;
    min-width: 0;
    min-height: 100vh;
}


.product-fish-wrap {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
    width: 1075px;
    max-width: 100%;
    pointer-events: none;
}

.product-fish {
    position: sticky;
    top: 0;
    min-height: 64.5%;
    pointer-events: none;
}

.product-fish-frame {
    position: absolute;
    inset: 0;
}

.product-fish-frame::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
}

.product-fish img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 68% 38%;
    mix-blend-mode: multiply;
    opacity: 0;
    transform: scale(1.04);
    transition: opacity 0.7s ease, transform 1.2s ease;
}

.product-fish img.is-loaded {
    opacity: 1;
    transform: scale(1);
}

/* ---------- 內容欄 ---------- */
.product-content {
    position: relative;
    z-index: 2;
    width: 550px;
    max-width: 100%;
    margin-left: 72px;
    padding: 19rem 0 9rem;
}

.product-kicker {
    display: flex;
    align-items: baseline;
    gap: 14px;
    font-size: 26px;
    color: #74a9b1;
    font-weight: 600;
    white-space: nowrap;
}

.product-kicker::after {
    content: none;
}

.product-kicker .en {
    font-size: 30px;
    font-family: 'Montserrat';
    color: #74a9b1;
    font-weight: 300;
}

.product-kicker-underline {
    width: 62px;
    height: 3px;
    background: #7fb9bb;
    margin-top: 12px;
    border-radius: 2px;
}

/* 標題列 */
.product-title-row {
    margin-top: 44px;
}

.product_inner {
    padding: 0 0 0 6.5rem;
}

.product-title {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 36px;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: #0f4c6e;
    line-height: 1.25;
    flex-wrap: wrap;
}

.product-title .latin {
    font-family: 'Montserrat';
    font-size: 30px;
    font-weight: 300;
    color: #74a9b1;
    white-space: nowrap;
    padding-right: 2rem;
    letter-spacing: 0;
}

.product-title-fish {
    color: #0b3f55;
    flex: 0 0 auto;
}


.product-sci {
    margin-top: 1.6rem;
    color: #74a9b1;
    font-family: 'Chiron Hei HK';
}

.product-sci span {
    font-family: 'Montserrat';
    font-weight: 300;
    padding-left: 1.5rem;
}

/* 內文 */
.product-desc-zh {
    margin-top: 4rem;
    font-size: 18px;
    line-height: 2;
    color: #082a38;
    font-family: 'Chiron Hei HK';
    text-align: justify;
    letter-spacing: 1px;
    padding-right: 2rem;
}

.product-desc-en {
    margin-top: 22px;
    font-weight: 300;
    line-height: 1.9;
    color: #5c6d71;
    font-family: 'Montserrat';
    letter-spacing: 0px;
    padding-right: 2rem;
}

.product-desc-en+.product-desc-en {
    margin-top: 14px;
}

.product-fish-mobile {
    display: none;
}

/* ---------- 產品規格 ---------- */
.product-spec {
    margin-top: 11.2rem;
    padding-right: 2rem;
}

.product-spec-head {
    display: flex;
    align-items: baseline;
    gap: 16px;
    flex-wrap: wrap;
}

.product-spec-head h3 {
    font-size: 26px;
    font-weight: 600;
    letter-spacing: 0.2em;
    color: #0f4c6e;
    white-space: nowrap;
}

.product-spec-head span {
    letter-spacing: 0;
    color: #74a9b1;
    font-weight: 300;
    font-family: 'Montserrat';
}

.product-spec-underline {
    width: 54px;
    height: 3px;
    background: rgba(15, 76, 110, .5);
    margin-top: 1.8rem;
}

.product-spec-list {
    margin-top: 26px;
    border-top: 1px solid transparent;
}

.product-spec-row {
    display: grid;
    grid-template-columns: 176px 1fr;
    gap: 42px;
    padding: 1.4rem 0;
    border-bottom: 1px solid rgba(92, 109, 113, .5);
    align-items: baseline;
    transition: background 0.2s ease;
}

.product-spec-row:hover {
    background: rgba(255, 255, 255, 0.55);
}

.product-spec-row dt {
    font-size: 20px;
    font-weight: 500;
    font-family: 'Chiron Hei HK';
    letter-spacing: 0.06em;
    color: #0f4c6e;
    white-space: nowrap;
}

.product-spec-row dd {
    font-family: 'Chiron Hei HK';
    letter-spacing: 0.04em;
    color: #1c2b30;
    word-break: break-word;
}

.product-note {
    margin-top: 56px;
    padding: 16px 18px;
    background: rgba(14, 74, 98, 0.05);
    border: 1px solid rgba(14, 74, 98, 0.1);
    border-radius: 12px;
    font-size: 12px;
    line-height: 1.9;
    letter-spacing: 0.05em;
    color: #71828a;
}

.product-note b {
    color: #0e4a62;
}

.product-note code {
    font-family: ui-monospace, monospace;
    background: #fff;
    border: 1px solid #d4dde0;
    padding: 1px 7px;
    border-radius: 5px;
    font-size: 11.5px;
    color: #0e4a62;
}




@media screen and (max-width:1600px) {
    .product_inner {
        padding: 0 0 0 1rem;
    }
}

@media screen and (max-width:1536px) {
    .product-fish-wrap {
        max-width: 60%;
    }

    .product-fish {
        min-height: 40%;
    }
}

@media screen and (max-width:1366px) {
    .product-fish-wrap {
        max-width: 50%;
    }

    .product-fish {
        top: 13rem;
        min-height: 33%;
    }
}

@media (max-width: 1280px) {
    .product-content {
        margin-left: 56px;
    }

    .product-fish-wrap {
        max-width: 50%;
    }

    .product-fish {
        min-height: 30%;
    }
}

@media screen and (max-width:1100px) {
    .product-fish-wrap {
        max-width: 40%;
    }

    .product-fish {
        min-height: 19%;
        top: 10rem;
    }
}


@media (max-width: 991px) {
    .product-fish-wrap {
        max-width: 35%;
    }

    .product-fish {
        min-height: 15%;
    }

    .product-content {
        margin: 0;
        padding: 19rem 2rem 9rem;
    }
}


@media (max-width: 860px) {
    .product {
        background-attachment: initial;
    }

    .product-page {
        display: block;
    }


    .product-mobilebar {
        display: block;
        padding-top: 9rem;
    }

    .product-mobilebar-top {
        justify-content: center;
    }

    .product-mobilebar-title {
        align-items: center;
    }

    .product-topnav-track {
        padding: .8rem 3rem;
    }

    .product-sidebar {
        display: none;
    }

    .product-main {
        padding-top: 21rem;
    }

    .product-fish-wrap {
        display: none;
    }

    .product-fish-mobile {
        display: block;
        margin: 26px -4px 0;
        border-radius: 18px;
        overflow: hidden;
        /*background: #fff;
        border: 1px solid rgba(14, 74, 98, 0.1);
        box-shadow: 0 20px 60px rgba(8, 47, 66, 0.12);*/
        position: relative;
    }

    .product-fish-mobile img {
        width: 100%;
        height: auto;
        aspect-ratio: 16 / 10;
        object-fit: cover;
        opacity: 0;
        transition: opacity 0.6s ease;
    }

    .product-fish-mobile img.is-loaded {
        opacity: 1;
    }

    .product-fish-mobile figcaption {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 12px 16px;
        font-size: 12px;
        letter-spacing: 0.1em;
        color: #0e4a62;
        background: linear-gradient(180deg, #fff, #f2f6f6);
        border-top: 1px solid rgba(14, 74, 98, 0.08);
    }

    .product-fish-mobile figcaption span:last-child {
        font-size: 16px;
        color: #71828a;
    }

    .product-content {
        margin: 0 auto;
        padding: 3.4rem 2rem 7rem;
    }


    .product-title {
        gap: 12px;
    }



    .product-spec-row {
        grid-template-columns: 132px 1fr;
        gap: 80px;
        padding: 13px 2px;
    }

    .product-desc-en {
        padding-right: 0;
    }

    .product-spec {
        padding-right: 0;
    }
}

@media screen and (max-width:768px) {
    .product-content {
        width: 80%;
    }
}

@media screen and (max-width:650px) {
    .product-content {
        width: 95%;
    }
}

@media (max-width: 480px) {
    .product-mobilebar-top {
        padding: 8px 12px;
    }

    .product-mobilebar-title strong {
        font-size: 14px;
    }

    .product-topnav-track {
        padding: 7px 8px;
    }

    .product-topnav-group {
        padding: 0 8px;
        gap: 6px;
    }

    .product-topnav-btn {
        font-size: 12px;
        padding: 6px 12px;
    }

    .product-main {
        padding-top: 100px;
    }

    .product-content {
        width: 100%;
        padding: 3.4rem 2rem 7rem;
    }

    .product_inner {
        padding: 0;
    }



    .product-kicker .en {
        font-size: 15px;
    }

    .product-title {
        font-size: 27px;
    }

    .product-title .latin {
        font-size: 16px;
    }

    .product-spec {
        margin-top: 7rem;
    }

    .product-spec-row {
        grid-template-columns: 118px 1fr;
    }

    .product-spec-row dt {
        font-size: 16px;
    }
}

@media screen and (max-width:450px) {
    .product-mobilebar {
        padding-top: 8rem;
    }

    .product-main {
        padding-top: 18rem;
    }
}

@media screen and (max-width:414px) {
    .product-mobilebar {
        padding-top: 8rem;
    }

    .product-title .latin {
        padding-right: 0;
    }

    .product-title-fish img {
        width: 60%;
    }

}

@media screen and (max-width:360px) {
    .product-content {
        padding: 1.4rem 2rem 7rem;
    }

    .product-mobilebar {
        padding-top: 7rem;
    }

    .product-spec-row {
        grid-template-columns: 105px 1fr;
    }

}

@media screen and (max-width:350px) {
    .product-content {
        padding: 1.4rem 1rem 7rem;
    }
}

@media screen and (max-width:310px) {
    .product-spec-row {
        grid-template-columns: 95px 1fr;
    }

    .product-title {
        gap: 5px;
    }
}



/* ---------- 進場動畫 ---------- */
@keyframes productFadeUp {
    from {
        opacity: 0;
        transform: translateY(18px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.product-anim {
    animation: productFadeUp 0.6s ease both;
}

.product-anim-d1 {
    animation-delay: 0.08s;
}

.product-anim-d2 {
    animation-delay: 0.16s;
}

.product-anim-d3 {
    animation-delay: 0.24s;
}

/* ---------- 列印：隱藏選單 ---------- */
@media print {

    .product-sidebar,
    .product-mobilebar,
    .product-note {
        display: none !important;
    }

    .product-page {
        display: block;
    }

    .product-fish-wrap {
        position: static;
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    .product-fish {
        position: static;
        height: auto;
        min-height: 0;
    }

    .product-fish-frame {
        position: relative;
    }

    .product-fish img {
        height: auto;
    }
}

/***product end****/
/***********************/
/***********************/
/***contact start***/

.contact {
    position: relative;
    background: #fff;
}

.contact-wrap {
    width: 1300px;
    max-width: 100%;
    margin: 0 auto;
    padding: 8.8rem 0 14rem;
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: flex-start;
    box-sizing: border-box;
}

.contact-map {
    width: 835px;
    max-width: 100%;
    min-height: 808px;
    border: 3px #74a9b1 solid;
    position: relative;
}

.contact-map-frame {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.contact-content {
    width: 44.2%;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    box-sizing: border-box;
}

.contact-brand {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    flex-wrap: wrap;
    box-sizing: border-box;
    padding: 0 0 4rem 0;
}


.contact-logo {
    width: 70.1%;
    padding: 0 0 4.6rem 6.7rem;
}

.contact-logo img {}



.contact-info {
    width: 100%;
    border: 1px #74a9b1 solid;
    border-left: none;
    border-top-right-radius: 30px;
    border-bottom-right-radius: 30px;
    box-sizing: border-box;
    padding: 7rem 8rem 7.4rem 9rem;
    display: block;
}

.contact-list {}

.contact-item {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: flex-start;
    margin: 0 0 1rem 0;
}

.contact-item:last-child {
    margin-bottom: 0;
}

.contact-label {
    font-family: 'Chiron Hei HK';
    font-weight: 400;
    font-style: normal;
    letter-spacing: 2px;
    line-height: 1.6;
    color: #74a9b1;
    margin: 0 2.5rem 0 0;
}

.contact-value {
    font-family: 'Chiron Hei HK';
    font-size: 18px;
    font-weight: 400;
    line-height: 1.6;
    color: #00344a;
}


.contact-value-line {
    display: block;
}

.contact-value-gap {
    display: inline-block;
    padding-left: 2rem;
}

@media screen and (max-width:1280px) {
    .contact-wrap {
        padding: 8.8rem 2rem 14rem;
    }
}

@media (max-width: 991px) {
    .contact-wrap {
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
    }

    .contact-map {
        margin: 0 auto;
    }

    .contact-map-frame {}

    .contact-content {
        width: 100%;
        align-items: stretch;
        justify-content: flex-start;
        order: -1;
    }

    .contact-brand {
        padding: 4.8rem 2rem;
    }

    .contact-logo {
        width: 50%;
        padding: 2rem;
        margin: 0 auto;
    }

    .contact-info {
        border-left: 1px #74a9b1 solid;
        border-radius: 30px;
        padding: 7rem 23rem;
    }

    .contact-value-line {
        display: inline-block;
    }
}

@media screen and (max-width:834px) {
    .contact-wrap {
        padding: 3rem 2rem 9rem;
    }

    .contact-info {
        padding: 7rem 13rem;
    }
}

@media screen and (max-width:768px) {
    .contact-map {
        min-height: 650px;
    }

    .contact-info {
        padding: 7rem 3rem;
    }
}

@media screen and (max-width:650px) {
    .contact-map {
        min-height: 550px;
    }
}

@media screen and (max-width:576px) {
    .contact-logo {
        width: 70%;
    }

    .contact-info {
        padding: 4rem 2rem;
    }

    .contact-label {
        width: 11%;
    }

    .contact-value-line {
        display: block;
    }
}

@media screen and (max-width:450px) {
    .contact-map {
        min-height: 400px;
    }

    .contact-brand {
        padding: 2rem 0;
    }

    .contact-label {
        width: 15%;
        margin: 0;
    }
}

@media screen and (max-width:414px) {
    .contact-logo {
        width: 80%;
    }
}

@media screen and (max-width:360px) {
    .contact-wrap {
        padding: 3rem 2rem 6rem;
    }

    .contact-map {
        min-height: 300px;
    }

    .contact-value {
        letter-spacing: 0;
    }
}

@media screen and (max-width:320px) {
    .contact-map {
        min-height: 250px;
    }

    .contact-logo {
        width: 90%;
    }

    .contact-info {
        padding: 4rem 1rem;
    }

    .contact-label {
        width: 18%;
    }
}

@media screen and (max-width:px) {}

@media screen and (max-width:px) {}

/***contact end****/
/***********************/