.about_banner {
    background-image: url(../img/about/banner.webp);
}

.slideDiv,
.imgDiv {
    width: 100%;
}

.smallCircle {
    fill: #3c4e4c;
}

.circle {
    stroke: #949494;
    stroke-width: .25px;
}

.circle,
.quarterLine {
    fill: none;
    stroke-miterlimit: 10;
}

.quarterLine {
    stroke: #3c4e4c;
    stroke-width: .5px;
    transform-origin: center center;
    stroke-dasharray: 580;
    stroke-dashoffset: 580;
    animation: aboutRotaCircle 10s infinite linear;
}

@keyframes aboutRotaCircle {
    0% {
        stroke-dashoffset: 580;
    }
    40% {
        stroke-dashoffset: 0;
        transform: rotate(0deg);
    }
    80% {
        stroke-dashoffset: 0;
        transform: rotate(190deg);
    }
    100% {
        stroke-dashoffset: 580;
        transform: rotate(360deg);
    }
    100% {
        stroke-dashoffset: 580;
        transform: rotate(360deg);
    }
}

.smallCircle {
    transform-origin: center center;
    animation: smallCircle 10s infinite linear;
}

@keyframes smallCircle {
    0% {
        transform: rotate(0deg);
    }
    40% {
        transform: rotate(170deg);
    }
    80% {
        transform: rotate(360deg);
    }
    100% {
        transform: rotate(360deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

#a {
    overflow: auto;
}

.slideDiv {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: row;
    position: relative;
}

.slideDiv .circle-1,
.slideDiv .circle-2 {
    width: 100%;
    padding: 2.5%;
}

.slideDiv .circle-1 {
    position: relative;
    left: 12.5%;
}

.slideDiv .circle-2 {
    position: relative;
    left: -12.5%;
}

.slideDiv .circle-1 .svgDiv {
    transform: rotate(10deg);
}

.slideDiv .circle-2 .svgDiv {
    transform: rotate(190deg);
}

.slideDiv .titleDiv {
    z-index: 20;
    position: absolute;
    left: 20%;
    top: 20%;
    padding: 1vw;
    padding-right: 2vw;
    margin: 0px;
    background-color: #AEB8BD;
    transform: translateX(-50%) translateY(-50%);
    border-radius: 50%;
}

.slideDiv .circle-2 .titleDiv {
    left: 80%;
    top: 80%;
}

.slideDiv h2,
.slideDiv .txtDiv p {
    color: #231815;
    font-family: 'Noto Serif TC', serif !important;
    display: inline-block;
    letter-spacing: 0px;
    font-size: 3vw;
    font-weight: 500;
    transition: 0.3s;
    position: relative;
}

.slideDiv .txtDiv {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    flex-direction: row-reverse;
    position: absolute;
    left: 40%;
    top: -3%;
}

.slideDiv .circle-2 .txtDiv {
    left: 45%;
    top: 75%;
}

.slideDiv .txtDiv p {
    writing-mode: vertical-rl;
    font-size: 1vw;
    letter-spacing: 0.2vw;
    text-indent: 1em;
}

.slideDiv .txtDiv p:nth-child(1) {
    text-indent: 0em;
}

.slideDiv .dot {
    color: inherit;
    position: absolute;
    bottom: -0.8vw;
    left: -55%;
    font-size: 1.8vw;
}

.slideDiv .circle-2 .dot {
    bottom: -0.8vw;
    left: 95%;
}

.slideDiv .logo {
    position: absolute;
    transform: translateX(-50%) translateY(-50%);
    top: 50%;
    left: 50%;
    width: 5%;
}

.bigImg {
    width: 100%;
    position: relative;
}

.bigImg .imgDiv {
    width: 100%;
    height: 40vh;
}

.bigImg .imgDiv .bgDiv {
    width: 100%;
    height: 100%;
    background-image: url("../img/about/about1-2.jpg");
    background-size: 100% auto;
    background-repeat: no-repeat;
    background-position: center center;
    -webkit-animation: bgZommAll 15s alternate-reverse linear infinite;
    animation: bgZommAll 15s alternate-reverse linear infinite;
}

@keyframes bgZommAll {
    0% {
        background-size: 120% auto;
    }
    100% {
        background-size: 100% auto;
    }
}

.page1 .s2 .infoType-1 {
    padding-right: 13vw;
}

.s2 .deco {
    width: 50%;
}

.page2 .s1 {
    background-image: url("../img/about/p2-s1-bg.webp");
    background-size: cover;
    padding-top: 2%;
    padding-bottom: 2%;
}

.page2-imgDiv {
    width: 45%;
    display: flex;
    align-items: stretch;
    justify-content: space-around;
}

.page2-imgDiv img {
    width: 28%;
}

.page2-imgDiv img:nth-of-type(1) {
    position: relative;
    top: -4vw;
}

.page2-imgDiv img:nth-last-of-type(1) {
    position: relative;
    top: 4vw;
}

.page2-infoDiv {
    width: 55%;
    padding-top: 10%;
    padding-right: 5%;
}

.page2 .infoType-1 .titleDiv {
    position: relative;
    margin-top: 0%;
    margin-top: -3vw;
}

.page2 .infoType-1 .titleDiv .title {
    position: relative;
}

.infoType-1 .titleDiv .sectitle {
    margin-top: 3vw;
}

.yearDiv {
    position: absolute;
    width: 25%;
    height: auto;
    top: 70%;
    left: 1%;
}

.yearDiv .yearimg {
    width: 60%;
    position: absolute;
    top: 6%;
    left: -5%;
}

.yearDiv .yearCircle {
    margin: auto;
    width: 75%;
    opacity: 0.8;
    fill: none;
    stroke-miterlimit: 10;
    stroke-width: .5px;
    stroke: #888888;
    stroke-dasharray: 1000;
    stroke-dashoffset: 1000;
    animation: drawYearLine 5s forwards 1s;
    filter: invert(1);
}


/* .circle-2 {
    filter: invert(1);
} */

@keyframes drawYearLine {
    100% {
        stroke-dashoffset: 0;
    }
}

.yearDiv .sloganimg {
    width: 60%;
    top: 50%;
    left: 40%;
    position: absolute;
}

.yearDiv .sloganimg img {
    position: relative;
    z-index: 20;
}

.yearDiv .sloganimg .sloganRect {
    position: absolute;
    z-index: 10;
    width: 50%;
    right: 0px;
    height: 100%;
    top: 0%;
    background-color: #AEB8BD;
}

.page3 .s1 {
    background-image: url("../img/about/about3-1.jpg");
    background-position: center center;
    background-attachment: fixed;
    background-size: cover;
    background-repeat: no-repeat;
}

.page3 .s1 .info {
    min-height: 60vh;
    width: 55%;
    margin-top: 5%;
    margin-right: 45%;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    flex-direction: row-reverse;
    position: relative;
}

.page3 .s1 .info .titleDiv .sectitle {
    font-weight: 200;
    margin-top: 0px;
}

.page3 .s1 .info p {
    margin-right: 8%;
    font-weight: 200;
}

.page3.inner-container .section.s2 {
    padding-bottom: 20vw;
    overflow: hidden;
}

.page3 .s2 .yearDiv {
    width: 20%;
    top: 76%;
    left: 40%;
}

.page3 .s2 .yearimg {
    width: 75%;
    top: 6%;
}

.page3 .infoType-1 {
    justify-content: center;
}

.page3 .infoType-1 p:nth-of-type(1) {
    margin-right: 0px;
}

.yearDiv .sloganimg {
    width: 55%;
    top: 55%;
}

.push {
    content: " ";
    display: inline-block;
    margin-top: -0.5em;
}

.leafShadow {
    mix-blend-mode: multiply;
    position: absolute;
    z-index: 18;
    right: -10%;
    top: -10%;
    width: 40%;
    opacity: 0.5;
    transform-origin: right top;
    animation: treeAni-2 10s infinite alternate-reverse ease-in;
}

@keyframes treeAni-2 {
    0% {
        transform: rotate(0deg) skew(0deg, 0deg) scale(1);
    }
    100% {
        transform: rotate(30deg) skew(5deg, 5deg) scale(1.05);
    }
}


/*動畫區*/

.slideDiv .titleDiv {
    animation-delay: 0.5s;
}

.slideDiv .txtDiv {
    animation-delay: 1.5s;
}

.slideDiv .logo {
    animation-delay: 2.5s;
}

.page2 .page2-infoDiv p,
.page3 .s1 p {
    animation-delay: 1.5s;
}

.slideDiv .txtDiv {
    opacity: 0;
    transform: translateY(100px);
    animation: txtDivAni 0.75s forwards ease-in 2s;
}

@keyframes txtDivAni {
    0% {
        opacity: 0;
        transform: translateY(100px);
    }
    100% {
        opacity: 1;
        transform: translateY(0px);
    }
}


/* 手機板 */

@media screen and (max-width: 768px) {
    .infoType-1 .titleDiv .sectitle {
        margin-top: 1vh;
    }
    .about_banner {
        background-image: url(../img/about/banner-ph.webp);
    }
    .s1 {
        flex-direction: column;
    }
    .s1 .slideDiv {
        margin-top: 20%;
        margin-bottom: 20%;
    }
    .slideDiv h2 {
        font-size: 28px;
    }
    .slideDiv .dot {
        font-size: 16px;
    }
    .slideDiv .txtDiv p {
        font-size: 16px;
    }
    .slideDiv {
        display: block;
        position: relative;
        width: 100%;
    }
    .slideDiv .circle-1,
    .slideDiv .circle-2 {
        width: 65%;
        left: 0%;
    }
    .slideDiv .txtDiv {
        top: 55%;
        left: 15%;
    }
    .slideDiv .circle-2 {
        position: absolute;
        right: 0px;
        bottom: 0px;
        left: auto;
    }
    .slideDiv .circle-2 .txtDiv {
        top: -3%;
        left: auto;
        right: 15%;
    }
    .slideDiv .logo {
        width: 10%;
    }
    .page1 .bigImg {
        padding-top: 10vh;
    }
    .bigImg .imgDiv {
        height: 30vh;
    }
    .bigImg .imgDiv .bgDiv {
        background-size: auto 100%;
    }
    @keyframes bgZommAll {
        0% {
            background-size: auto 120%;
        }
        100% {
            background-size: auto 100%;
        }
    }
    .yearDiv {
        width: 50%;
        left: auto;
        top: -0%;
        right: 0%;
    }
    .yearDiv .sloganimg {
        filter: brightness(1);
    }
    .yearDiv .sloganimg .sloganRect {
        opacity: 0;
    }
    .page1 .s2 .infoType-1 {
        padding-right: 0px;
    }
    .s2 .deco {
        width: 100%;
    }
    .page2 .s1 {
        padding-top: 3vh;
        background-position: right top;
    }
    .page2 .infoType-1 .titleDiv {
        margin-top: 0vw;
    }
    .page2-imgDiv {
        width: 100%;
        margin-bottom: 0%;
        justify-content: space-between;
    }
    .page2-imgDiv img {
        width: 30%;
    }
    .page2-imgDiv img:nth-of-type(1),
    .page2-imgDiv img:nth-last-of-type(1) {
        top: 0px;
    }
    .page2-infoDiv {
        width: 100%;
        padding-top: 8vh;
        padding-right: 0px;
        padding-bottom: 0px;
    }
    .s2 .color-white {
        color: #231815;
    }
    .page2 .bigImg .imgDiv .bgDiv {
        background-image: url("../img/about/about2-4.jpg");
    }
    .page2 .s2 {
        padding-top: 3vh;
    }
    .page2 .s2 .info .sectitleType-2-Div {
        margin-left: auto;
        margin-right: auto;
        margin-top: 5vh;
        align-items: center;
    }
    .page2 .s2 .info .sectitleType-2:nth-of-type(2) {
        margin-left: 0px;
    }
    .page2 .bgDiv .pc {
        display: none;
    }
    .page3 .s1 {
        background-image: url("../img/about/about3-1.jpg");
        background-position: 65% center;
        background-attachment: scroll;
        background-size: cover;
        background-repeat: no-repeat;
    }
    .page3 .s1::before {
        content: " ";
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0px;
        left: 0px;
        background-color: #000000;
        opacity: 0.5;
    }
    .page3 .s1 .info {
        width: 100%;
        margin-top: 0%;
        margin-right: auto;
        margin-left: 0px;
        padding-left: 2.5vw;
        padding-right: 2.5vw;
        padding-top: 10vh;
        padding-bottom: 10vh;
        position: relative;
        justify-content: flex-end;
    }
    .page3 .s1 .info p {
        margin-right: 10%;
        margin-left: 10%;
    }
    .page3 .s1 .info .title,
    .page3 .s1 .info .titleType-1 .sectitle {
        writing-mode: vertical-rl;
    }
    .titleType-1 .sectitle {
        margin-right: 10px;
        margin-left: 0px;
    }
    .page3 .addWhiteCircle {
        left: auto;
        top: -15px;
        right: -55px;
    }
    .page3.inner-container .section.s2 {
        padding-bottom: 20vh;
        padding-top: 0px;
    }
    .page3 .s2 {
        flex-direction: column-reverse;
    }
    .page3 .s2 .imgDiv {
        margin-top: 0vh;
        margin-bottom: 5vh;
    }
    .leafShadow {
        width: 80%;
    }
    .page3 .s2 .yearDiv {
        width: 40%;
        left: 60%;
        top: 75%;
    }
    /*動畫區*/
    .slideDiv .titleDiv {
        animation-delay: 0s;
    }
    .slideDiv .txtDiv {
        animation-delay: 0s;
    }
    .slideDiv .logo {
        animation-delay: 0s;
    }
    .page2 .page2-infoDiv p,
    .page3 .s1 p {
        animation-delay: 0s;
    }
}