@media screen and (max-width: 1000px) {
    .hamburger {
        position: absolute;
        right: 20px;
        top: 50%;
        transform: translateY(-50%);
        display: block;
        background: none;
        cursor: pointer;
        border: none;
        z-index: 101;
    }

    .hamburger img {
        width: auto;
        height: 2dvh;
    }

    .hamburger-close {
        display: none;
    }

    .hamburger.active .hamburger-open {
        display: none;
    }

    .hamburger.active .hamburger-close {
        display: block;
    }

    /* menu */
    .menu {
        position: fixed;
        top: 0;
        left: 0;
        width: 100dvw;
        height: 100dvh;
        background: white;
        display: none;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        z-index: 100;
    }

    .menu.open {
        display: flex;
    }

    /* nav */
    nav {
        position: relative;
        left: 0%;
        transform: translateX(0%);
    }

    nav ul {
        display: flex;
        flex-direction: column;
        align-items: center;
        margin-bottom: 40px;
    }

    nav li {
        text-align: center;
        width: 60dvw;
        padding: 20px;
        border-bottom: 1.5px solid var(--color-main);
    }

    nav li:first-child{
        border-top: 1.5px solid var(--color-main);
    }

    nav li + li {
        border-left: none;
    }

    .menu nav a {
        font-size: 26px;
    }

    nav li a::before {
        top: -20px;
        bottom: -20px;
        left: -20dvw;
        right:-20dvw;
    }

    nav a:hover {
        color: var(--color-accent);
        opacity: 0.8;
    }

    /* English-button */
    .language-group span {
        font-size: 24px;
    }
}

@media screen and (max-width: 768px) {
    /* ==========
    common
    ==========  */
    /* header.php */
    header {
        height: 5dvh;
        padding: 0 3dvh;
    }

    .logo a {
        font-size: 22px;
    }

    /* footer.php */
    footer {
        height: 4dvh;
        padding: 0 15px;
    }

    footer img {
        max-height: 2.5dvh;
    }

    .color-list ul {
        gap: 1dvw;
        padding: 0.5dvw;
        font-size: 8px;
    }

    footer p {
        font-size: 13px;
    }

    /* frame-deco1.php */
    .frame-deco1 img {
        height: 2.7dvh;
        margin: 0.25dvh auto;
    }

    /* frame-deco2.php */
    .frame-deco2 {
        width: 1.2dvw;
        margin: auto 2.25dvw;
    }

    /* main-container */
    .main-container {
        width: 93.1dvw;
        height: 84.6dvh;
        border-radius: 25px;
    }

    .main-container::before {
        background-size: 100% auto;
        transform: rotate(90deg) scale(3.5);
    }
    
    /* inner-container */
    .inner-container {
        width: 85dvw;
        height: 83dvh;
        border-radius: 25px;
        border:2px solid var(--color-main);
    }

    /* ==========
    index.php
    ==========  */
    /* floating-star */
    .star1 {
        width: 25px;
        top: 30%;
        left: 10%;
    }

    .star2 {
        width: 18px;
        top: 20%;
        right: 8%;
    }

    .star3 {
        width: 25px;
        bottom: 5%;
        left: 30%;
    }

    .star4 {
        width: 18px;
        top: 8%;
        left: 55%;
    }

    .star5 {
        width: 20px;
        bottom: 30%;
        left: 20%;
    }

    .star6 {
        width: 24px;
        bottom: 40%;
        right: 10%;
    }

    /* wav-circle */
    .wave-circle {
        width: 90%;
        height: 90%;
    }

    .wave-circle path {
        stroke-width: 2;
    }

    .wave-circle-3 path { 
        stroke-width: 1.5;
    }

    .wave-circle-1 {
        transform: scale(1) rotate(23deg);
    }

    .wave-circle-2 {
        transform: scale(1.1) rotate(40deg);
    }

    .wave-circle-3 {
        transform: scale(1.6) rotate(0deg);
    }

    /* button-group */
    .button-group1,
    .button-group2 {
        flex-direction: row;
        justify-content: center;
        gap: 2dvw;
    }

    .button-group1 {
        left: 7%;
        top: 12%;
    }

    .button-group2 {
        right: 7%;
        bottom: 13%;
    }

    .button-item {
        flex-direction: center;
        align-items: center;
        gap: 2px;
        font-size: 16px;
        letter-spacing: 0%;
    }

    .button-item img {
        width: auto;
        height: 13dvh;
    }

    .button-item p {
        display: inline-block;
        padding: 3px 2px;
        background: rgba(255,255,255, 0.8);
    }

    /* ripple button */
    .ripple-button::after {
        display: none;
    }

    /* curtain-group */
    .curtain-group-left,
    .curtain-group-right {
        transform: scaleX(-1);
        gap: 15px
    }

    .curtain-group-left {
        left: auto;
        right: 5%;
    }

    .curtain-group-left img,
    .curtain-group-right img {
        width: 6dvw;
    }

    .curtain-group-right {
        left: 5%;
        right: auto;
    }

    /* hashtag-group */
    .hashtag-group {
        align-items: flex-end;
        left: auto;
        right: 5%;
        bottom: 2.5%;
        gap: 5px;
    }

    .hashtag-row {
        justify-content: row;
    }

    .hastag-item {
        padding: 4px 8px;
        font-size: 11px;
    }

    /* logo-group */
    .logo-group {
        width: 70dvw;
        height: auto;
    }

    .logo-name{
        width: 60dvw;
        height: auto;
    }

    .logo-image1 {
        top: 16%;
        height: 6%;
    }

    .logo-image2 {
        top: 24%;
        height: 10%;
    }

    .logo-image3 {
        bottom: 27%;
        height: 6%;
    }

    .logo-image4 {
        bottom: 14%;
        height: 9%;
    }

    /* time-group */
    .time-group {
        top: 2.5%;
        left: 5%;
        right: auto;
        padding: 0.45vh;
        font-size: 14px;
        letter-spacing: 15%;
        line-height: 1;
        border-bottom: 1.5px solid var(--color-main);
    }

    .time-mini-group {
        margin: 5px 0;
        gap: 8px;
    }

    .time-time {
        letter-spacing: 8%;
    }

    .time-alive {
        padding: 3px 8px;
        border: 1px solid var(--color-main);
        border-radius: 30px;
        font-size: 10px;
    }

    /* ==========
        WORK
    ========== */
    /* title, p */
    .page-content {
        padding: 3vh 0;
    }

    .page-title {
        height: 40px;
        margin: 0 auto 10px;
    }

    .page-content p {
        margin: 0 auto 15px;
        padding:0 15px;
        font-size: 14px;
        letter-spacing: 3%;
        line-height: 150%;
    }

    .title-text p br {
        display: none;
    }

    /* sort-group */
    .work-button {
        flex-direction: column;
        justify-content: row;
        margin: 0 auto 25px;
        gap: 10px;
    }

    .work-button p{
        margin: 0;
        font-size: 15px;
    }

    .sort-button,
    .credit-button {
        height: 35px;
        border-radius: 30px;
        font-size: 14px;
        letter-spacing: 10%;
        gap: 10px;
        filter: drop-shadow(0.3vw 0.4vh 4px rgba(0, 0, 0, 20%));
    }

    .sort-button {
        width: 140px;
        background-color: var(--color-main);
    }

    .sort-button img {
        width: 16px;
    }

    .credit-button {
        width: 190px;
        border:2px solid var(--color-accent);
    }

    /* work-line */
    .work-line{
        width: 150px;
        min-width: 0;
        margin: 0 auto 20px;
    }

    /* work-content */
    .work-row {
        flex-direction: column;
        gap: 5px;
    }

    .work-item {
        width: 70dvw;
        margin-bottom: 0px;
    }

    .work-name {
        padding: 5px 8px;
        letter-spacing: 3%;
    }

    .work-title {
        font-size: 17px;
    }

    .work-date {
        font-size: 11px;
    }

    /* credit-item */
    .credit-item {
        margin: 5px;
        padding-bottom: 30px;
        letter-spacing: 3%;
    }

    .credit-title-area {
        padding: 4px 10px;
        font-size: 16px;
        gap: 10px;
    }

    .credit-toggle {
        width: 20px;
        height: 20px;
        padding: 0;
        font-size: 17px;
    }

    .credit-content {
        padding: 5px;
    }

    .credit-content p {
        font-size: 14px;
        margin: 0;
    }

    /* related-blog */
    .related-blog {
        bottom: 0px;
        padding: 4px 17px;
        font-size: 12px;
    }


    /* ==========
        BLOG
    ========== */
    /* blog-group */
    .blog-group {
        width: 75dvw;
        margin-bottom: 20px;
        letter-spacing: 3%;
        gap: 15px;
    }

    .blog-title {
        padding: 15px 20px;
        font-size: 15px;
    }

    .blog-title img {
        width: 15px;
    }

    .blog-detail {
        padding: 5px 20px;
        font-size: 13px;
    }

    /* genre-checkbox */
    .genre-checkbox {
        padding: 12px 20px;
        font-size: 13px;
        gap: 6px;
    }

    /* ==========
        BLOG-DETAIL
    ========== */
    /* sentenece-group */
    .sentence-group {
        width: 95%;
        letter-spacing: 3%;
    }

    .sentence-title-group {
        margin: 0 auto 20px;
        padding: 8px 15px;
        border-radius: 20px;
        gap: 2px;
    }

    .sentence-title {
        padding: 2px 5px;
        font-size: 16px;
    }

    .sentence-title-detail {
        font-size: 16px;
    }

    .sentence-detail {
        width: 97%;
        margin-bottom: 25px;
        padding: 20px 5px;
        border-radius: 30px;
    }

    .sentence-detail p {
        margin: 0;
        padding:auto;
        font-size: 13px;
    }

    .sentence-detail h3 {
        margin: 30px auto 10px;
        padding: 0 10px;
        font-size: 18px;
    }

    .sentence-detail h4 {
        margin: 20px auto 10px;
        padding: 0 10px;
        font-size: 14px;
    }

    .sentence-detail a {
        margin: 10px 10px;
        font-size: 12px;
    }

    .sentence-detail img {
        max-height: 250px;
        margin: 10px;
    }

    .page-button-group {
        gap: 10px;
    }

    .page-button {
        border: 1px solid var(--color-main);
    }

    /* sentence-button-group */
    .sentence-button-group {
        position: relative;
        display: grid;
        grid-template-columns: 100px 100px 100px;
        width: 100%;
        margin: 0 auto 20px;
        gap: 10px;
        font-size: 12px;
    }

    .next-btn {
        width: 100px;
        height: auto;
        padding: 10px 10px;
        border-radius: 30px;
        gap: 3px;
        border: 1px solid var(--color-main);
    }

    .next-detail {
        font-size: 10px;
        opacity: 0.6;
    }

    .whole-btn {
        position: absolute;
        grid-column: auto;
        left: 50%;
        transform: translateX(-50%);
        width: 100px;
        height: 38px;
        padding: 13px 10px;
        border-radius: 40px;
    }

    /* ==========
        ABOUT_ME
    ========== */
    /* about-group */
    .about-group {
        flex-direction: column;
        justify-content: column;
        margin: 40px 0;
        gap: 30px;
    }

    .about-image {
        width: 280px;
        height: 280px;
    }

    .profile-group {
        width: 93%;
        margin:0 auto;
        gap: 10px;
        letter-spacing: 3%;
    }

    .profile-name {
        font-size: 22px;
    }

    .profile-detail {
        font-size: 14px;
    }

    /* ==========
        CONTACT
    ========== */
    .form-group {
        width: 70dvw;
    }

    .form-group textarea {
        height: 30dvh;
    }

    .submit-btn {
        width: 110px;
        height: 40px;
        padding: 15px;
        margin: 0 auto;
    }

    /* ==========
        CONTACT-CONFIRM
    ========== */
    .confirm-area {
        width: 90%;
    }

    .confirm-area h2 {
        margin: 10px 0 20px;
        font-size: 30px;
        font-weight: 600;
    }

    /* confirm-button */
    .back-btn {
        width: 110px;
        height: 40px;
        padding: 15px;
        font-size: 16px;
    }

}