@media (max-width: 900px) {
    header {
        grid-template-columns: 1fr auto;
    }
    header a.logo {
        width: 186px;
    }

    header .menu {
        display: none;
    }

    header .sub-menu {
        display: none;
    }

    header .mo-open {
        display: block;
    }

}
@media (max-width: 640px) {
    

    .breadcrumb {
        margin:0 16px;
        padding-top: 32px;
    }
    .breadcrumb li {
        font-size: 14px;
    }

    .breadcrumb li:first-child a::before {
        width: 14px;
        height: 14px;
        background-size: 14px 14px;
    }

    .title {
        font-size:48px;
        margin:0 16px;
    }

    .tabs {
        margin: 0 16px;
        padding-top: 32px;
    }
    .tabs ul {
        gap:16px;
    }

    .tabs ul a {
        font-size: 32px;
    }

    section {
        padding: 16px;
        margin-top: 72px;
    }

    section h1 {
        font-size:28px;
    }

    section.main .swiper-container {
        border-radius: 0;
        width: calc(100% + 32px);
        margin-left: -16px;
    }

    section.main .swiper-container img {
        aspect-ratio: 1 / 1;
    }

    section.about {
        padding-bottom: 48px;
    }

    section .main-title,
    section.about h1  {
        font-size: 24px;
    }

    section .hero {
        border-radius: 0;
        width: calc(100% + 32px);
        margin-left: -16px;
    }

    section .hero img {
        border-radius: 4px;
        aspect-ratio: 1/1;
    }
    section.about h2 {
        font-size: 22px;
    }
    
    section.about h2 + p {
        font-size: 18px;
    }

    section.about p.footnote {
        font-size: 14px;
    }

    section.about .gallery {
        grid-template-columns: 1fr;
        column-gap: 36px;
    }
    section.about .gallery img {
        border-radius: 16px;
    }

    section.about .gallery h4 {
        font-size: 20px;
        margin-top: 16px;
    }

    section.about .gallery p {
        font-size: 14px;
        margin-top: 8px;
    }

    section.about .artstree {
        font-size: 20px;
        padding: 16px 24px;
        margin-top: 144px;

    }

    section.archive {
        padding-inline: 32px;
    }

    section.archive h2 {
        font-size: 32px;
    }

    section.archive h3 {
        font-size: 24px;
    }

    section.archive dl {
        grid-template-columns: 1fr;
    }

    section.archive dl dt {
        font-size: 16px;
    }

    section.archive dl dd li {
        margin-left: 20px;
        font-size:14px;
    }

    section.archive h3:not(:first-of-type) {
        margin-top: 32px;
    }

    section.archive .lineup {
        grid-template-columns: 1fr 1fr;
        gap:4px;
    }

    section.archive .badge {
        margin-top: 32px;
    }

    section.archive .festival {
        grid-template-columns: 1fr;
        gap:4px;
    }

    section.archive .lineup.half,
    section.archive .festival.half {
        grid-template-columns: 1fr;
        gap:4px;
    }

    section.board{
        margin-inline: 16px;
    }
    section.board .list a {
        font-size: 20px;
    }

    section.board .list a::before {
        width: 24px;
        height: 24px;
        background: url(../images/common/ic_plus.svg) no-repeat transparent center;
        background-size: 24px 24px;
        margin-right: 16px;
        flex: 0 0 24px;
    }

    section.board .list a.expand:before { 
        background-size: 24px 24px;
    }

    section.board .list div p {
        font-size: 14px;
        margin-top: 16px;
    }

    section.media .sub-tabs {
        margin-left: 0px;
        gap:8px;
    }

    section.media .sub-tabs button {
        font-size: 20px;
        height: 40px;
        padding-inline:14px;
    }

    section.media .gallery {
        grid-template-columns: 1fr 1fr;
        gap:8px;
    }

    .image-modal__close {
        font-size: 16px;
    }
    

    footer {
        padding-top: 64px;
        padding-inline: 0;
        margin-inline: 16px;
    }

    footer .logo .arko img {
        width: 166px;
    }

    footer .copyright {
        margin-top: 64px;
        font-size: 12px;
    }
}