body {
    width: 100%;
    min-width: 0;
}

@media (max-width: 1100px) {
    .container {
        width: 90%;
    }

    .widget {
        float: none;
    }

    .widget[class*=widget_recent] {
        width: 100%;
    }

    .with-sidebar .entry-content {
        width: 100%;
    }
}

@media (min-width: 768px) {
    section:not(#about) .fullpage-section-title h3,
    .only-sp {
        display: none;
    }
}

@media (max-width: 767px) {
    .only-pc {
        display: none !important;
    }

    .sp-order1 {
        order: 1;
    }

    /*--- Header ---*/
    .menu-toggle {
        display: block;
        width: 50px;
        height: 30px;
        background: url(../img/header_logo.png) no-repeat top left / contain;
        border: none;
        color: transparent;
        position: absolute;
        top: 20px;
        z-index: 10000;
    }

    .menu-toggle.toggled {
        position: fixed;
    }

    .menu-toggle-close {
        display: block;
        position: fixed;
        bottom: 30px;
        left: 70%;
        color: transparent;
        border: none;
        background: url(../img/arrow2.png) no-repeat top right / contain;
        width: 25px;
        height: 25px;
    }

    .drawer-menu {
        display: none;
        padding: 70px 20px 20px;
        position: fixed;
        top: 0;
        left: 0;
        background: #740010;
        width: 80%;
        height: 100vh;
        z-index: 9999;
        overflow-y: auto;
    }

    .main-navigation li {
        border-left: none;
        border-bottom: dashed 1px rgba(255,255,255,0.5);
    }

    .main-navigation a {
        padding: 10px 0;
    }

    .main-navigation .menu-title-small {
        font-size: 16px;
        font-size: 1.6rem;
    }

    html:not([lang="en-US"]) .main-navigation .menu-image-title {
        display: none;
    }

    .menu-toggle,
    .main-navigation ul {
        display: block;
    }

    .post-row.col3 li, 
    .post-row.col2 li {
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
    }

    .sns-navigation-sp
     li {
        float: left;
        border: none;
    }

    .sns-navigation-sp {
        overflow: hidden;
    }

    .sns-navigation-sp
     li a {
        padding: 30px 20px 30px 0;
    }

    .language-navigation-sp
     li {
        border: none;
    }

    .sns-navigation,
    .main-navigation {
        float: none;
    }

    .sns-navigation {
        margin: 30px 0;
    }

    .language-navigation li {
        display: block;
    }

    .language-navigation a {
        padding: 5px 0;
        display: block;
    }

    /*--- Posts and pages ---*/
    .home .site-content {
        padding-top: 50px;
    }

    .site-content {
        padding-top: 30px;
    }

    .widget-area {
        margin-top: 30px;
    }

    .widget-title {
        border-left: 1px solid;
        padding-left: 15px;
        margin-top: 15px;
    }

    .widget-title .fs12 {
        font-size: 16px !important;
    }

    .widget[class*=widget_recent] {
        border-left: none;
        padding: 20px 0;
        border-top: 1px dashed rgba(255,255,255,0.5);
    }

    .post-list4 {
        padding: 0 15px !important;
        border-left: 1px solid;
        border-right: 1px solid;
    }

    .widget .link-to-archive {
        margin-top: 20px;
    }

    .post-list1,
    .post-list2 {
        margin: 0;
    }

    .post-list2 li {
        flex: 0 0 100%;
        margin-bottom: 15px;
    }

    .post-list3,
    .post-row.style2 {
        padding: 0 15px;
        border-left: 1px solid;
        border-right: 1px solid;
        margin: 0;
    }

    .post-list3 li,
    .post-row.style2 li {
        padding: 0 0 15px 0 !important;
        background: none;
        margin: 0 0 15px;
        border-left: none;
        border-right: none;
        border-bottom: 1px dashed rgba(255,255,255,0.5);
    }

    .post-row.style2 li {
        padding-bottom: 30px !important;
        background: url(../img/arrow1.png) no-repeat left bottom 15px;
    }

    .post-list3 .thumbnail,
    .post-row.style2 .thumbnail {
        width: 100%;
        display: block;
    }

    .post-list3 h3 {
        display: block;
        margin: 0;
        background: url(../img/arrow1.png) no-repeat top 4px right;
        padding-right: 30px;
    }

    .post-row.style2 .post-meta {
        padding-left: 0;
    }

    .post-row.style2 .post-thumbnail,
    .post-row.style2 .post-meta {
        margin-right: 0;
        width: auto;
    }

    .thumbnail img,
    .post-thumbnail img {
        width: 100%;
    }

    .cat-label2 {
        padding: 5px 10px 5px 0;
    }

    .nav-list1 a {
        background: #740010 url(../img/arrow1.png) no-repeat top 10px right 10px;
        display: block;
        padding: 5px 20px;
        border-left: 1px solid;
    }

    .nav-list1 {
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .nav-list1 li {
        padding: 5px 0;
    }

    .nav-list2 {
        margin: 0;
        padding: 0;
        list-style: none;
        margin: 30px 0;
        border-top: 2px #740010 solid;
        padding: 30px 0 70px;
        background: url(../img/followus.png) no-repeat bottom center / 70%;
        font-size: 18px;
        font-size: 1.8rem;
    }

    .nav-list2 a {
        background: url(../img/arrow1.png) no-repeat top 10px right 10px;
        display: block;
        padding: 5px 20px 5px 0;
    }

    .nav-list2 img {
        vertical-align: middle;
        margin-right: 10px;
    }

    .box1 {
        max-width: none;
        height: auto;
    }

    .box2 {
        border-right: 1px solid;
        margin-bottom: 20px;
    }

    .page-visit #venue .box2 {
        border: none;
        padding-left: 0;
        padding-right: 0;
    }

    .table1 td {
        font-size: 21px;
        font-size: 2.1rem;
    }

    .entry-body {
        margin-right: 0;
    }

    #related-news {
        border-top: 1px dashed rgba(255,255,255,0.5);
    }

    .related-box {
        border: none;
        padding: 0;
    }

    #scroll {
        display: none;
    }

    .home #about img {
        display: block;
        margin: 20px auto;
    }

    section:not(#about) .fullpage-section-title .pic-box,
    .home .top-archive h3 {
        display: none;
    }

    .fullpage-section-title img {
        margin-left: 0;
    }

    .fullpage-section-title h3 {
        text-align: center;
        font-size: 16px;
        font-size: 1.6rem;
    }

    a.to-archive {
        margin: 0;
    }

    .top-map {
        padding-left: 15px !important;
    }

    .page-title {
        text-align: center;
        font-size: 18px;
        font-size: 1.8rem;
        line-height: 1.3;
    }
    html[lang="en-US"] .page-title {
        font-size: 21px;
        font-size: 2.1rem;
    }
 
    html:not([lang="en-US"]) .page-title:before {
        display: block;
        font-size: 21px;
        font-size: 2.1rem;
    }

    html:not([lang="en-US"]) .page-about .page-title:before {
        content: "ABOUT";
    }

    html:not([lang="en-US"]) .page-visit .page-title:before {
        content: "VISIT";
    }

    html:not([lang="en-US"]) .single-post .page-title:before,
    html:not([lang="en-US"]) .blog .page-title:before {
        content: "NEWS";
    }

    html:not([lang="en-US"]) .single-artist .page-title:before,
    html:not([lang="en-US"]) .post-type-archive-artist .page-title:before {
        content: "ARTIST";
    }

    html:not([lang="en-US"]) .single-event .page-title:before,
    html:not([lang="en-US"]) .post-type-archive-event .page-title:before {
        content: "EVENT";
    }

    html:not([lang="en-US"]) .single-seealso .page-title:before,
    html:not([lang="en-US"]) .post-type-archive-seealso .page-title:before {
        content: "SEE ALSO";
    }

    html:not([lang="en-US"]) .single-editorial .page-title:before,
    html:not([lang="en-US"]) .post-type-archive-editorial .page-title:before {
        content: "EDITORIAL";
    }

    .single-editorial .entry-content img,
    .single-editorial .entry-content figure {
        width: 100% !important;
    }

    .sidebar-prof {
        margin-bottom: 0;
    }

    .google-maps-builder {
        max-height: 70vw;
    }

    .notice {
        background:
            url(../img/notice_sp.png) no-repeat top 2.5vw center / 10vw,
            url(../img/notice_sp2.png) no-repeat top center / 100% 15vw,
            #fff;
        padding: 17vw 20px 20px;
        text-align: center;
    }

    .posts-slider {
        border-bottom: 1px dashed rgba(255,255,255,0.5);
        margin-bottom: 30px;
    }

    /*--- Footer ---*/
    .totop-sp {
        display: none;
        position: fixed;
        bottom: -10px;
        right: 0;
        width: 30vw;
        max-width: 120px;
    }

    .page .entry-content h2.underlined {
        border-left: none;
        padding-left: 0;
        text-decoration: underline;
        margin-top: 20px;
        margin-bottom: 10px;
    }

    .logo-box {
        margin: 0 -15px;
    }

    .logo-box li {
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        padding: 0 15px 15px 15px;
    }

    .logo-box li img {
        width: 100%;
    }

    .logo-box li.small, .logo-box.small li {
        -ms-flex: 0 0 50%;
        flex: 0 0 50%;
    }
}
