html{
    overflow-x: hidden;
}
.main_nav li:last-child a{
    border-bottom: solid 9px var(--color_greengray);
}

.top .background{
    width: 80%;
    height: 180px;
    margin-top: 25%;
    background-color: var(--color_greengray);
    position: relative;
    animation: backgroundmove 2s ease-out;
}
.top .img{
    position: absolute;
    bottom: 0;
    left: 20%; 
    width: 50%;
    animation: opacity 1s linear;
}
.top .img img{
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: drop-shadow(2px 2px 4px rgba(26, 25, 25, 0.3));
}
h1{
    font-size: 5vmin;
    line-height: 1.6;
    color: var(--color_greengray);
    position: absolute;
    top: -100%;
    left: 60%;
    z-index: 1;
    animation: opacity 1.5s linear;
}
.top a{
    display: flex;
    margin-left: 20%;
    margin-top: 20px;
}
.top a img{
    animation: arraymove 2s ease-in;
    height: 20vmin;
}
.top a:hover{
    font-weight: 500;
}
.top a p{
    font-family: 'Noto Serif TC', serif;
    writing-mode: vertical-lr;
    letter-spacing: 10px;
    margin: 0 10px;
    animation: opacity 3s linear;
}
@keyframes backgroundmove{
    0%{width: 0%;}
    50%{width: 85%;}
    100%{width: 80%;}
}
@keyframes opacity{
    0%{opacity: 0%;}
    50%{opacity: 0%;}
    100%{opacity: 100%;}
}
@keyframes arraymove{
    0%{height: 0vmin;}
    50%{height: 25vmin;}
    100%{height: 20vmin;}
}
.category{
    display: flex;
    /* justify-content: space-evenly; */
    width: 70%;
    margin: 0 auto;
    padding: 70px;
}
.category a{
    text-decoration: none;
    font-size: 1rem;
    color: black;
    display: block;
}
.category li{
    height: 35px;
    line-height: 35px;
    text-align: center;
    border-radius: 2px;
    width: 100%;
    z-index: 1;
    margin: 0 2%;
    background-color: #F3F0DF;;
}
.category li:hover{
    background-color: var(--color_yellow);
}
section:not(.top){
    padding: 20px 15%;
}
section ul li p{
    font-family: "Noto Sans TC" , serif;
    line-height: 1.6;
}
main{
    width: 100%;
    margin: auto;
    position: relative;
    border-radius: 20px 40px 40px 40px;
}
main h2{
    font-size: 2.4rem;
    margin: 20px 0 40px 0;
    padding: 0 20px;
    border-left: solid 4px var(--color_yellow);
    display: inline-block;
}
main ul, main h3{
    margin-left: 15px;
    line-height: 1.4;
}
main li+li{
    margin-top: 20px;
}
main h3{
    font-size: 1.2rem;
    color: var(--color_yellow);
    margin-bottom: 15px;
    font-weight: 700;
}
main h4{
    font-size: 1.2rem;
    font-weight: 500;
}
main p:not(#form p){
    color: rgb(143, 142, 142);
}
main a{
    color: var(--color_greengray);
}
main a:hover{
    font-weight: 500;
}
.card{
    background-color: rgba(255, 255, 255, 0.7);
    padding: 25px 20px;
    margin-top: 20px;
    box-shadow: 0 0 10px #d9d9d9;
    backdrop-filter: blur(10px);
    border-radius: 10px;
}
.card tr th:first-child{
    width: 30%;
}
.card tr th+th{
    width: 20%;
}
.card_body{
    margin: auto;
}
.card input{
    background-color: transparent;
    border: none;
    padding: 10px 0;
    margin: 10px 0;
    border-radius: 5px;
    width: 80%;
    outline: none;
}
.card input:focus{
    box-shadow: 2px 2px 2px rgba(212, 212, 212, 0.8);
}
.card .card_foot input{
    display: block;
    line-height: 1.6;
    width: 100px;
    margin: 20px;
    border: solid .5px var(--color_yellow);
    background-color: var(--color_yellow);
    color: white;
    cursor: pointer;
}
.card .card_foot input:hover{
    background-color: transparent;
    color: var(--color_yellow);
}
.card .card_foot input:active{
    box-shadow: inset 2px 2px 2px var(--color_yellow);
}
::placeholder{
    opacity: .6;
}
@media  screen and (max-width: 1023px) {
    .main_nav li:last-child{
        background-color:  var(--color_greengray);
        color: white;
    }
    .category{
        padding: 5vh 0;
        width: 85%;
        font-size: .8rem;
    }
    .category ul li:checked{
        background-color: var(--color_yellow);
    }
    .top .background{
        margin-top: 50%;
    }
    .top .img{
        left: -10%;
        width: 80%;
    }
    .top h1{
        position: absolute;
        width: 90%;
        left: 50%;
    }
    section:not(.top){
        padding:0;
    }
 }
 @media screen and (max-width: 779px){
    body{
        padding-top: 0;
    }
    .top .background{
        margin-top: 80%;
        height: 20vh;
    }
    .top .img{
        left: -20%;
        width: 100%;
    }
    .top a p{
        letter-spacing: 5px;
    }
    .category{
        padding: 10vh 0;
        width: 85%;
    }
    main h2:not(first-child){
        margin: 0;
        margin-top: 10%;
    }
    main h3:not(first-child){
        margin-top: 10%;
    }
 }