
@media ( min-width: 1600px ) {
    .l_wrapper {
        max-width: 1600px;
    }

    .field {
        padding: 0;
    }

    .field-group label {
        width: 100px;
        text-align: left;
        margin-right: 0;
    }

    .about-sidebar {
        width: 80%;
    }
}

@media ( max-width: 940px ) {
    /*
    body {
        overflow-x: hidden;
    }
    */

    .contents-mask {
        overflow: hidden;
    }

    .header-logo {
        width: 100px;
        margin: 0 0 0 -10px;
    }

    .header-logo .title {
        display: none;
    }

    .header-nav {
        font-size: 2rem;
        padding: 0 1rem;
    }

    .header-nav-item {
        white-space: nowrap;
    }


    .about {
        flex-direction: column-reverse;
    }

    .about-sidebar {
        width: auto;
        margin: 0;
    }

    .about-sidebar p {
        width: auto;
        max-width: none;
    }

    .featured-sidebar {
        float: none;
        width: auto;
        margin: 0 -4rem 4rem -4rem;
    }

    .featured-item {
        margin-bottom: 1rem;
        border-radius: 0;
        box-shadow: none;
    }

    .location {
        flex-direction: column-reverse;
    }

    .location-sidebar {
        margin: 0;
        width: auto;
    }

    .spot-sidebar {
        float: none;
        width: auto;
        padding: 0;
        font-size: 1.7rem;
    }

    .spot-button + .spot-button {
        border: 0;
    }

    .spot-button,
    .spot-button + .spot-button {
        display: inline-block;
        padding: 1rem 1rem 1rem 0;
    }

    .spot-button span {
        display: none;
    }

    .contents-inside {
        flex-direction: column;
    }

    .contents-sidebar {
        width: auto;
    }

    .contents-main {

    }

    .contents-title {
        line-height: 1.3;
    }

    .contents-title strong {
        display: block;
    }

    .contents-title strong:after {
        display: none;
    }

    .footer-section h4,
    .footer-title {
        font-size: 1.7rem;
    }
    .footer-contents {
        flex-direction: column;
        margin: 0;
    }
    .footer-section {
        padding: 0;
    }

    .footer-section + .footer-section {
        margin-top: 3rem;
    }

    .fc-scroller {
        height: auto !important;
    }

    .fc-left,
    .fc-right {
        display: none !important;
    }

    .acf-fields>.acf-field {
        flex-direction: column;
        align-items: stretch;
    }
}

@media ( max-width: 540px ) {
    :root {
        font-size: 80%;
    }

    .spot .slick-prev, 
    .spot .slick-next {
        opacity: 0;
    }
    
    .gallery-header {
        top: 0;
    }

    .gallery-square-inside br {
        display: none; 
    }
    .more {
        text-align: center;
    }

    .window-inside {
        overflow-x: hidden;
    }

    .modal {
        background-color: #202020;
        margin-bottom: 0;
    }

    .modal-fields {
        font-size: 1rem;
    }

    .modal-bottom {
        display: block;
    }

    .modal-contents {
        padding-bottom: 100px;
    }

    .l_wrapper {
        padding: 0 1.4rem;
    }

    .window {
        padding: 0;
    }

    .tabs {
        display: none;
    }

    .featured-contents {
        padding: 0 1rem;
    }

    .about-sidebar {
        margin: 0;
    }

    .about-sidebar h1 {
        font-size: 3.4rem;
        line-height: 1.1;
        margin-bottom: 2.4rem;
    }

    .featured-sidebar {
        margin: 0 -2rem 2rem -2rem;
    }

    .featured-item {
        padding: 0.4rem 2.4rem;
        margin-bottom: 0.2rem;
    }

    .featured-item h2 {
        font-size: 3rem;
    }

    .fields {
        line-height: 2;
    }

    .gallery-square {
        font-size: 2rem;
    }


    .process-item h2 {
        font-size: 2rem;
    }

    .process-item p {
        font-size: 1.6rem;
    }

    .process-item p br {
        display: none;
    }

    .cover {
        display: none;
    }

    .header {
        justify-content: space-between;
        flex-direction: row-reverse;
        align-items: flex-start;
        margin: 2rem 0;
    }

    .header-logo {
        width: 70px;
        margin: 0.3rem 0;
    }

    .header-nav {
        padding: 0;
    }

    .header-nav h1 {
        font-size: 1rem;
    }

    .header-nav ul {
        flex-direction: column;
    }


    .ground {
        height: auto;
        padding: 10vw 13vw 20vw;
        flex-direction: column;
    }

    .ground:before {
        content: ' ';
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        height: 50%;
        background-image: linear-gradient(to bottom, rgba(20, 20, 20, 0) 0%, rgba(20, 20, 20, 0.15) 15%, rgba(20, 20, 20, 0.35) 29%, rgba(20, 20, 20, 0.58) 44%, var(--background-color) 68%, var(--background-color) 100%);
        background-size: 100% 100%;
        background-position: 0 top;
        background-repeat: repeat-x;
        background-color: transparent;
    }

    .card-title {
        padding: 6vw;
    }

    .ground-title-inside {
        margin: 2rem 1rem;
    }

    .ground-cards {
        flex-direction: column;        
        align-items: stretch;
        align-self: center;
        width: 100%;
        max-width: 500px;
    }

    .card {
        width: auto;
        margin: 2vw 0;
    }

    .card-inside {
        padding-top: 44%;
    }


    .thumbnail-inside {
        overflow: hidden;
    }

    .thumbnail-inside:after {
        display: none; 
    }

    .thumbnail-inside img.lazy-loaded + h2 {
        opacity: 1;
    }

    .thumbnail-inside h2 {
        opacity: 0;
        letter-spacing: 0;
        transition: opacity .4s;
        transition-delay: .4s;
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        margin: -2px;
        text-align: left;
        padding: 0.7em 1em;
        font-size: 1rem;
        line-height: 1.1;
    }

    .card {
        font-size: 5.7vw;
    }

    .guide {
        flex-direction: column;
        align-items: flex-start;
    }

    .guide h1 {
        width: auto;
        text-align: left;
        margin-right: 0;
    }

    .field-group {
        flex-direction: column;
        align-items: flex-start;
    }

    .field-group label {
        width: auto;
        text-align: left;
        margin-right: 0;
    }

    .fc-dayGrid-view .fc-week-number, .fc-dayGrid-view .fc-day-number {
        padding: 0.2em;
    }


    .footer-copyright {
        margin: 0;
    }
}
