@charset "utf-8";



@media screen and (max-width:968px) {

    .btn {
        padding: 10px 20px;
    }

    .pc-br {
        display: contents;
    }

    .sp-none {
        display: none;
    }

    .pc-none {
        display: block;
    }

    /* header */
    /* ============================================ */
    .nav_header-pc {
        display: none;
    }

    .header-logo img {
        width: 150px;
    }

    .header-container {
        padding: 15px;
    }

    .hamburger_area {
        background: var(--color-accent02);
        width: 54px;
        height: 54px;
        display: grid;
        place-content: center;
        border-radius: 5px;
        z-index: 100;
    }

    .hamburger_area_inner {
        display: flex;
        flex-direction: column;
        align-items: center;
        cursor: pointer;
        z-index: 100;
    }

    .hamburger {
        width: 30px;
        height: 18px;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
    }

    .hamburger span {
        display: block;
        height: 2px;
        background-color: #fff;
        border-radius: 2px;
        transition: var(--hover-speed);
    }

    .menu-label {
        font-size: 10px;
        margin-top: 6px;
        color: #fff;
        font-weight: 500;
        line-height: 1;
    }

    .hamburger.active span:nth-child(1) {
        transform: translateY(9px) rotate(45deg);
    }

    .hamburger.active span:nth-child(2) {
        opacity: 0;
    }

    .hamburger.active span:nth-child(3) {
        transform: translateY(-7px) rotate(-45deg);
    }

    .nav_header-sp {
        display: flex;
        flex-direction: column;
        position: fixed;
        top: 0;
        right: -100%;
        width: 80%;
        height: 100vh;
        background: var(--color-bg03);
        transition: right 0.4s ease;
        z-index: 99;
        padding: 50px 30px 0;
    }

    .nav_header-sp.active {
        right: 0;
    }

    .nav_list-sp {
        display: flex;
        flex-direction: column;
        gap: 20px;
        margin-bottom: 20px;
        background: #fff;
        padding: 30px 30px 40px;
        border-radius: 10px;
        box-shadow: 0px 3px 10px 0px rgba(0, 0, 0, 0.1);
    }

    .nav_list-sp li {
        border-bottom: 1px solid #eee;
        padding-bottom: 8px;
    }

    .nav_list-sp li a {
        transition: var(--hover-speed);
    }

    .nav_list-sp li a:hover {
        transition: var(--hover-speed);
        color: var(--color-accent);
    }

    .nav_header-sp .nav_btn {
        margin-bottom: 20px;
    }

    .nav_header-sp .nav_btn a {
        background: var(--color-accent);
        padding: 10px 15px;
        border-radius: 5px;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        font-weight: 500;
        color: #fff;
    }

    .nav_header-sp .nav_btn .image {
        background: #fff;
        padding: 5px;
        border-radius: 50px;
        width: 30px;
        height: 30px;
        display: grid;
        place-content: center;
    }

    .nav_header-sp .nav_btn .image img {
        aspect-ratio: 1/1;
        object-fit: contain;
    }

    .nav_sp-info {
        font-size: 13px;
        background: var(--color-accent02);
        color: #fff;
        padding: 30px;
        border-radius: 5px;
    }

    /* footer */
    /* ============================================ */

/*     .footer {
        margin-bottom: 60px;
    } */

    .footer-menu .container {
        flex-direction: column-reverse;
        align-items: flex-start;
        gap: 60px;
    }


    .footer-sns {
        margin-top: 10px;
    }

    .nav_footer {
        align-self: center;
    }

    .nav_footer .nav_list {
        display: grid;
        grid-template-columns: 1fr 1fr;
        /* 2列表示に */
        gap: 10px 20px;
    }

    .nav_footer .nav_item a {
        font-size: 14px;
    }

    .copylight {
        font-size: 11px;
        padding: 10px;
    }

    /* 追従ボタン */
    /* ============================================ */
    .area_floating-btn {
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        display: flex;
        color: #fff;
        height: 60px;
        z-index: 10;
    }

    .area_floating-btn .info-btn a {
        background: var(--color-accent02);
        padding: 8px;
        aspect-ratio: 1/1;
        display: grid;
        align-items: center;
        justify-content: center;
        width: 60px;
        height: auto;
    }

    .area_floating-btn .info-btn img {
        width: 25px;
        margin: 0 auto;
    }

    .area_floating-btn .info-btn p {
        font-size: 12px;
    }

    .area_floating-btn .bbq-btn {
        width: 100%;
        display: flex;
        align-items: center;
    }

    .area_floating-btn .bbq-btn a {
        background: var(--color-accent);
        width: 100%;
        height: 100%;
        display: flex;
        gap: 8px;
        align-items: center;
        justify-content: center;
    }

    .area_floating-btn .bbq-btn .image {
        background: #fff;
        width: 30px;
        height: 30px;
        display: grid;
        place-content: center;
        border-radius: 50px;
        padding: 5px;
    }

    /* ============================================ */
    /* mv */
    .mv_area {
        aspect-ratio: 4/3;
        min-height: auto;
    }

    .mv_content {
        height: 100dvh;
        width: 100%;
    }

    .catch-copy {
        top: 30%;
        left: 50%;
        transform: translate(-50%, -15%);
    }

    .catch-copy .left {
        padding: 1em .2em 0 0;
    }

    .mv_area .info_list {
        display: none;
    }

    /* 施設紹介 */
    .facility_section {
        padding: 50px 0;
    }

    .facility_section::before {
        display: none;
    }

    .heading_area img {
        width: 90px;
    }

    .heading_area {
        margin: 0 auto 30px;
    }

    .overview_list {
        margin-bottom: 30px;
    }

    .news_area {
        padding: 30px 0;
    }

    .top-news_list .news_item {
        flex-direction: column;
        align-items: flex-start;
        gap: 5px;
    }

    .top-news_list .news_item:first-child {
        padding: 0 0 15px;
    }

    /* ハイライト */
    .highlight_section {
        grid-template-columns: 1fr;
    }

    .highlight-left img {
        min-height: auto;
        aspect-ratio: auto;
    }

    .highlight-right {
        padding: 50px 20px;
    }

    .highlight-images {
        gap: 10px;
        margin-bottom: 20px;
    }

    /* アクセス・営業時間 */
    .access_section {
        padding: 50px 0;
    }

    .info_area {
        grid-template-columns: 1fr;
        margin-bottom: 30px;
    }

    .access-description {
        padding: 30px 20px;
    }

    .closed-info {
        padding: 30px 15px;
    }

    .closed-info .iframe_containar {
        min-width: 600px;
        width: 100%;
        aspect-ratio: 4/3;
    }

    .access-details {
        grid-template-columns: 1fr;
    }

    .access-details img {
        border-radius: 0 0 20px 20px;
        width: 100%;
        aspect-ratio: auto;
    }

    /* 道の駅みとみ×7inchCAMP */

    .camp_section .logo {
        width: 200px;
    }

    /* 施設紹介 */
    /* ============================================ */
    .facility-info_section {
        padding: 50px 0;
    }

    .shop_container {
        grid-template-columns: 1fr;
    }

    .shop_section .shop-image {
        order: 2;
        width: 95%;
    }

    .shop_section .shop-image img {
        aspect-ratio: 2/1;
        object-fit: cover;
        object-position: center;
    }

    .shop_section .shop-info {
        order: 1;
        margin: 0 auto;
        position: static;
    }

    .recommend-section {
        padding: 50px 0;
    }

    .recommend-section .heading_area img {
        width: 150px;
    }

    .bg_recommend {
        background: url("../img/facility/bg_recommend.svg") no-repeat top center;
        background-size: cover;
    }

    .recommend-section .heading_area {
        margin: 0 auto 50px;
    }

    .farm-stand_section {
        padding: 50px 0;
    }

    .farm-stand_section .shop-info {
        margin: 0 auto;
        position: static;
    }

    .farm-stand_section .shop-image {
        width: 95%;
    }

    .farm-stand_section .shop-image img {
        aspect-ratio: 2/1;
        object-fit: cover;
        object-position: center;
    }

    .original-item_section .image_containar {
        gap: 10px;
    }


    .restaurant_section {
        aspect-ratio: 3/4;
    }

    .restaurant_inner {
        padding: 10px;
        min-height: 320px;
    }

    .menu_section {
        padding: 50px 0;
    }

    .menu_section .heading_area {
        margin: 0 auto 50px;
    }

    .menu_section .recommend-label {
        top: -40px;
        left: -10px;
    }

    .facility-camp_section {
        padding: 70px 0 0;
    }

    .restaurant_section .shop-table {
        margin-top: 10px;
    }

    .facility-camp_section .bg_paw {
        top: -7vw;
        right: 5vw;
        width: clamp(250px, 50vw, 800px);
    }

    .facility-camp_section .shop_container {
        grid-template-columns: 1fr;
    }

    .facility-camp_section .shop-info {
        margin: 0 auto;
        position: static;
    }

    .facility-camp_section .btn {
        margin: 30px auto 0;
    }

    .facility-camp_section .shop-image {
        width: 95%;
    }

    .facility-camp_section .shop-image img {
        aspect-ratio: 2/1;
        object-fit: cover;
        object-position: center;
    }

    /* 周辺観光 */
    /* ============================================ */
    .tourism_section {
        padding: 50px 0;
    }

    .bg_tourism_area {
        background-size: 90vw, 90vw;
    }

    .tourism_section .tourism-list {
        gap: 50px;
        padding: 50px 0;
    }

    .tourism_section .tourism-item {
        flex-direction: column;
        gap: 20px;
    }

    .tourism_section .tourism-item.reverse {
        flex-direction: column-reverse;
    }

    /* 会社概要 */
    /* ============================================ */
    .company_section {
        padding: 50px 0;
    }

    .company_section .container {
        padding: 50px 0;
    }

    .outline_table {
        margin-bottom: 40px;
    }

    .outline_table th {
        width: 100px;
    }

    .company_section .access-map {
        margin-bottom: 40px;
    }

    .company_section .access-map iframe {
        aspect-ratio: 4/3;
    }

    /* キャンプ場 */
    /* ============================================ */
    .camp-info_section .camp-info_top {
        padding: 50px 0 100px;
    }

    .camp-info_bottom {
        grid-template-columns: 1fr;
    }

    .camp-info_bottom_right {
        padding: 50px 20px;
    }

    .camp-info_bottom_left img {
        min-height: auto;
    }

    /* お知らせ */
    /* ============================================ */
    .archive_section {
        padding: 50px 0;
    }

    .archive_section .container {
        padding: 40px 0;
    }

    /* 個人情報保護方針 */
    /* ============================================ */
    .privacy_section {
        background: var(--color-bg02);
        padding: 50px 0;
    }

    .privacy_section .container {
        padding: 50px 0;
    }
}

@media screen and (max-width: 769px) {
    .contact-tel {
        aspect-ratio: auto;
    }

    .contact-tel_inner {
        grid-template-columns: 1fr;
        aspect-ratio: auto;
    }

    .contact-tel_inner a {
        font-size: clamp(20px, 1.78vw, 25px);
    }

    .contact-tel_inner a img {
        width: clamp(20px, 1.78vw, 25px);
    }

}

@media screen and (max-width: 500px) {
    .menu-list {
        grid-template-columns: 1fr;
        gap: 30px;
        margin-bottom: 30px;
    }

    .facility-camp_section .bg_paw {
        top: -12vw;
    }
}