body {
    font-family: 'Noto Sans JP', sans-serif;
    overflow-y: auto;
    background-color: #f0f2f5;
    min-height: 100vh;
}
html {
  scroll-behavior: smooth;
  overscroll-behavior: none;
}
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
:root {
    --font-notojp: 'Noto Sans JP', sans-serif;
    --font-cambay: 'Cambay Devanagari', sans-serif;
    --font-mizolet: 'Mizolet', sans-serif;
    --menu-list-height: 760px;
}
img{
    object-fit: scale-down;
}
#sizen-miyagi {
.sidebar {
    width: 100%;
    max-width: 100%;
    height: 100%;
    position: fixed;
    display: flex;
    justify-content: space-between;
    .sizen-miyagi-view {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0 0 0 0);
        white-space: nowrap;
        border: 0;
    }
    .aside-left {
    width: calc((100% - 500px) / 2);
    height: 100%;
        .slider-container {
            position: relative;
            height: 100%;
            overflow: hidden;

            .logo {
                position: absolute;
                top: 0;
                left: 0;
                z-index: 2;
                img {
                    width: 128.34px;
                }
            }
            .season {
                position: absolute;
                top: 48%;
                left: 50%;
                transform: translate(-50%, -50%);
                display: flex;
                justify-content: center;
                align-items: center;
                width: 100%;
                z-index: 2;
                img {
                    max-width: 74%;
                    display: block;
                }
            }
            .slider-images {
                position: absolute;
                top: 0;
                left: 0;
                width: 100%;
                height: 100%;
                z-index: 0;
                display: flex;
                flex-direction: column; /* 上下に並べる */
            }
            /* 上下2枚のコンテナのスタイル */
            .top-slide, .bottom-slide {
                position: relative;
                width: 100%;
                height: 50%; /* 画面の半分 */
                overflow: hidden;
            }

            .slider-image {
                position: absolute;
                width: 100%;
                height: 100%;
                object-fit: cover;
                opacity: 0; /* デフォルトは非表示 */
                transition: opacity 1s ease-in-out;
                &.active {
                    opacity: 1; /* 表示時にフェードイン */
                }
            }
        }
    }
    .aside-right {
        width: calc((100% - 500px) / 2);
        max-width: 100%;
        height: 100%;
        background-color: #EDC545;
        display: flex;
        justify-content: center;
        padding: 90px 2%;
        position: relative;
        .menu {
            h2 {
                text-align: center;
                font-family: var(--font-cambay);
                font-size: 21px;
                font-weight: 900;
                margin-bottom: 10px;
            }
            .top-link {
                font-weight: 900;
                font-size: 11px;
                margin-bottom: 10px;
                button {
                    font-size: 11px;
                    font-family: var(--font-notojp);
                    border: none;
                    background: transparent;
                    cursor: pointer;
                    font-weight: 900;
                }
            }
            .what-nature-miyagi {
                display: flex;
                flex-direction: row;
                position: relative;
                align-items: center;
                .arrow {
                    position: absolute;
                    left: -20px;
                    top: 8px;
                    font-size: 17px;
                    font-weight: 600;
                }
                .top-button {
                    background-color: black;
                    color: white;
                    padding: 10px 15px;
                    border: none;
                    border-radius: 30px;
                    margin-bottom: 15px;
                    width: 100%;
                    text-align: left;
                    font-weight: 900;
                    cursor: pointer;
                    font-size: 11px;
                    font-family: var(--font-notojp);
                }
            }
            .wrap-menus {
                padding-bottom: 250px;
                max-height: calc(100% - 200px);
                scrollbar-width: none;
                &::-webkit-scrollbar {
                    display: none;
                }
                .section {
                    position: relative;
                    z-index: 100;

                    h3 {
                        margin-bottom: 10px;
                        font-size: 11px;
                        font-weight: 900;
                        font-family: var(--font-notojp);
                    }
                    .accordion {
                        margin-bottom: 15px;
                        .accordion-toggle {
                            background-color: #EDC545;
                            border: 1px solid black;
                            border-radius: 30px;
                            padding: 10px 40px 10px 15px;
                            width: 100%;
                            text-align: left;
                            font-weight: 900;
                            font-size: 11px;
                            font-family: var(--font-notojp);
                            position: relative;
                            cursor: pointer;
                            i.fa-chevron-down {
                                position: absolute;
                                right: 15px;
                                top: 50%;
                                transform: translateY(-50%);
                                font-size: 11px;
                                transition: transform 0.3s ease;
                                pointer-events: none;
                            }
                            &.open i {
                                transform: translateY(-50%) rotate(180deg);
                            }
                        }
                        .accordion-content {
                            display: none;
                            flex-direction: column;
                            gap: 8px;
                            padding-top: 8px;
                            button {
                                position: relative;
                                padding-left: 24px;
                                background: none;
                                border: none;
                                padding: 0px 15px 0 33px;
                                text-align: left;
                                font-size: 11px;
                                font-family: var(--font-notojp);
                                font-weight: 600;
                                cursor: pointer;
                                &:hover {
                                    color: #2e2e2e;
                                }
                                .arrow {
                                    position: absolute;
                                    left: 0;
                                    top: 50%;
                                    font-size: 16px;
                                    transform: translateY(-50%);
                                    opacity: 0;
                                    transition: opacity 0.3s ease;
                                    }

                                    &.active {
                                        .arrow {
                                            opacity: 1;
                                        }
                                    }
                            }
                        }
                        &.miyagi-autumn {
                            margin-top: 15px;
                        }
                        &.open .accordion-content {
                            display: flex;
                            gap: 10px;
                            padding-bottom: 10px;
                        }
                    }
                }
            }
            .miyagi-autumn {
                margin-top: 15px;
            }
        }
        .season-tree {
            position: absolute;
            bottom: 0;
            left: 0;
            width: 100%;
            display: flex;
            justify-content: center;
            align-items: center;
            background: transparent;
            padding: 10px 0;
        }
    }
}
.main-content-wrapper {
    width: 500px;
    max-width: 100%;
    margin: auto;
    display: flex;
    justify-content: center;
    .container {
        width: 100%;
        max-width: 500px;
        background-color: #f9f8eb;
        position: relative;
        .natural-sizen-miyagi {
            position: absolute;
            width: 1px;
            height: 1px;
            padding: 0;
            margin: -1px;
            overflow: hidden;
            clip: rect(0 0 0 0);
            white-space: nowrap;
            border: 0;
        }
        .content-text {
            color: #000;
            .content-paragraph {
                margin-bottom: 1rem;
                line-height: 1.625;
            }
            .text-banner {
                display: flex;
                justify-content: center;
                width: 396px;
                max-width: 100%;
                margin: 25px auto 40px;
                position: relative;
                .wrap-easygoing-outdoor {
                    display: flex;
                    flex-direction: row;
                    img {
                        width: 100%;
                    }
                    img.sizen-miyagi-outdoor {
                        opacity: 0;
                        animation: outDoor 1s forwards cubic-bezier(0.17, 0.67, 0.48, 0.9);                        
                        &:nth-child(1) {
                            animation-delay: 0.5s;
                            max-width: 100%;
                            height: fit-content;
                            max-height: 240px;
                        }
                        &:nth-child(2) {
                            animation-delay: 1.0s;
                            width: 50%;
                            max-height: 270px;
                        }
                    }
                    img.easygoing-outdoor {
                        margin-top: 20px;
                        margin-left: 5%;
                    }
                    img.person {
                        margin-top: 30px;
                    }
                }
                .wrap-leaves {
                    position: absolute;
                    width: 395.69px;
                    height: 343.94px;
                    max-width: 100%;
                    transform-origin: center;
                    backface-visibility: hidden;
                    text-align: center;
                    opacity: 0;
                    animation: outDoor 1.5s ease-in-out forwards;
                    &:nth-child(1) {
                        animation-delay: 0s;
                    }
                    &:nth-child(2) {
                        animation-delay: 1.5s;
                    }
                    &:nth-child(3) {
                        animation-delay: 3.0s;
                    }
                    &:nth-child(4) {
                        animation-delay: 4.5s;
                    }
                    &:nth-child(5) {
                        animation-delay: 6.0s;
                    }
                    &:nth-child(6) {
                        animation-delay: 7.5s;
                    }
                    &:nth-child(7) {
                         animation-delay: 9.0s;
                    }
                    img.leave-top{
                        position: absolute;
                        top: 0px;
                        right: 60px;
                        width: 21.16px;
                        animation: fluffy 3s infinite;
                    }
                    img.leave-low{
                        position: absolute;
                        bottom: 30px;
                        left: 35px;
                        width: 21.16px;
                        animation: fluffy3 4s infinite ease-in-out;
                    }
                    img.leave-yellow1{
                        position: absolute;
                        top: -10px;
                        right: 0px;
                        width: 21.16px;

                    }
                    img.leave-yellow2{
                        position: absolute;
                        top: 55px;
                        right: -35px;
                        width: 21.16px;
                    }
                    img.leave-yellow3{
                        position: absolute;
                        left: 20px;
                        bottom: 65px;
                        width: 21.16px;
                    }
                    img.leave-yellow4{
                        position: absolute;
                        left: 20px;
                        bottom: 10px;
                        width: 21.16px;
                    }
                }
            }
            .miyagi-cuisine {
                width: 361px;
                max-width: 100%;
                margin: 0 auto;
                position: relative;
                padding: 45px 0 13px 0;
                transform:translate3d(0,0,0);
            }
            .scroll-down {
                margin: 0px auto;
                display: flex;
                flex-direction: row;
                align-items: center;
                justify-content: center;
                position: relative;
                width: 50px;
                margin-top: 50px;
                margin-bottom: 40px;
                animation: fluffy 3s infinite;
                img {
                    max-width: 100%;
                    height: auto;
                    display: block;
                    margin-right: 5px;
                }
                .scroll-text {
                    font-family: sans-serif;
                    font-size: 14px;
                    color: #333;
                    white-space: nowrap;
                    writing-mode: vertical-lr;
                    text-orientation: mixed;
                    transform: rotate(0deg);
                    position: absolute;
                    font-family: var(--font-cambay);
                    font-weight: 900;
                    left: 22px;
                }
            }
            .nature-souvenirs {
                width: 279.43px;
                margin: 0px auto;
                img {
                    width: 105%;
                }
            }
            .content-area {
                margin-top: 52px;
                p {
                    line-height: 38px;
                    color: #000;
                    line-height: 38px;
                    text-align: center;
                    font-size: 14px;
                    font-weight: 700;
                    span {
                        opacity: 0;
                        transform: translateY(20px);
                        display: inline-block;
                        animation: fadeInUp 0.6s forwards;
                    }
                }
            }
            .mayagi-collection {
                overflow: hidden;
                width: 100%;
                box-sizing: border-box;
                margin: 50px 0px;
                .collection-feature {
                    display: flex;
                    width: max-content;
                    animation: scroll-left 80s linear infinite;
                    .collection {
                        display: flex;
                        padding: 0;
                        margin: 0;
                        li {
                            list-style: none;
                            flex-shrink: 0;
                            cursor: default;
                            img {
                                width: 250px;
                                height: 165px;
                                margin-right: 10px;
                                object-fit: cover;
                            }
                        }
                    }
                }
            }
        }
        .nature-miyagi-vertical-tag {
            position: absolute;
            left: 10px;
            top: 0px;
            height: 760px;
            overflow: hidden;
            display: flex;
            align-items: center;
            .scroll-wrapper {
                display: flex;
                flex-direction: column;
                animation: scrollVertical 20s linear infinite;
                -webkit-animation: scrollVertical 20s linear infinite;

            }
            .vertical-tag {
                list-style: none;
                padding: 0;
                margin: 0;
                display: flex;
                flex-direction: column;
                gap: 10px;
                align-items: center;
                margin-bottom: 11px;
                .tag-item {
                    border-radius: 9999px;
                    padding: 10px 15px;
                    display: flex;
                    justify-content: center;
                    align-items: center;
                    cursor: default;
                    width: 35px;
                    border: 1px solid #000;
                    p {
                        display: flex;
                        justify-content: center;
                        align-items: center;
                        span {
                            writing-mode: vertical-rl;
                                text-orientation: sideways-right;
                                font-size: 0.8rem;
                                line-height: 1.2;
                                color: #000;
                                font-weight: 500;
                                font-family: var(--font-notojp);
                                letter-spacing: 0.05rem;
                        }
                    }
                }
                .tag-item-separator {
                    background-color: #d1d5db;
                    width: 55px;
                    max-width: 100%;
                    border-radius: 50%;
                    border: none;
                    padding: 0;
                    margin: 5px 0;
                    cursor: pointer;
                    img {
                        width: 55px;
                        max-width: 100%;
                        cursor: default;
                    }
                }
            }
        }
    }
    .layer-wrapper {
        position: relative;
        width: 300px;
        max-width: 100%;
        margin: 0 auto;
        height: 300px;
        .layer {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            opacity: 0;
            transform: scale(0.95) rotate(0deg);
            transition: all 1.5s ease-in-out;
            border-radius: 10px;
        }
        .layer-3 {
            top: -30px;
            right: -31px;
            left: auto;
            z-index: 3;
            animation: showLayer3 0.5s forwards;
            animation-delay: 1.5s;
            display: flex;
            align-items: center;
            justify-content: center;
            img {
                transition: transform 1.5s ease-in-out;
                width: 100%;
                border-radius: 10px;
                display: block;
            }
            &:hover img {
                transform: scale(1.03);
            }
            &::before {
                content: "";
                position: absolute;
                top: -6px;
                left: -6px;
                width: calc(100% + -3px);
                height: calc(100% + -2px);
                border: 1px solid #000;
                border-radius: 12px;
                z-index: 3;
                pointer-events: none;
            }
        }
        .layer-1 {
            left: 0px;
            top: -5px;
            z-index: 2;
            background-color: #f1c40f;
            border: 1px solid #000000;
            animation: showLayer1 0.5s forwards;
            animation-delay: 2s;
        }
        .layer-2 {
            right: -45px;
            top: 0px;
            left: auto;
            z-index: 1;
            background-color: #000000;
            animation: showLayer2 0.5s forwards;
            animation-delay: 3s;
            height: 280px;
        }
        .layer-4 {
            width: auto;
            height: auto;
            top: auto;
            bottom: -40px;
            left: 42px;
            z-index: 3;
            animation: showLayer4 0.5s forwards;
            animation-delay: 4s;
            img {
                transform: rotate(356deg);
                height: 40px;
            }
        }
        .layer-5 {
            width: auto;
            height: auto;
            top: -70px;
            left: auto;
            right: -60px;
            z-index: 3;
            animation: showLayer5 0.5s forwards;
            animation-delay: 3.5s;
            font-family: var(--font-cambay);
            font-weight: 300;
            img.miyagi-n-nature{
                height: 40px;
                transform: rotate(-6deg);;
            }
        }
    }
}
.main-miyagi-cuisine {
        position: relative;
        padding: 50px 5% 7% 5%;
        overflow: hidden;
        z-index: 0;
        &::before {
            content: "";
            position: absolute;
            top: 343px;
            left: 0;
            right: 0;
            bottom: 0;
            background-color: #EDC545;
            border-radius: 30px;
            z-index: -1;
        }
        >.container-block {
            background: #FFF;
            padding: 1% 5%;
        }
        .cuisine-feature {
            position: relative;
            padding: 25px 5% 0 5%;
            .card-image {
                img {
                    max-width: 100%;
                }
            }
            img.special-1 {
                position: absolute;
                left: 2px;
                top: -30px;
                max-width: 100%;
                max-height: 235px;
            }
            img.special-2 {
                position: absolute;
                bottom: -45px;
                right: 0px;
                max-width: 100%;
                max-height: 215px;
            }
        }
        .cuisine-caption {
            margin: -120px 0 30px 0;
            padding: 200px 10% 0 0;
            padding-right: 10%;
            border-radius: 30px;
            text-align: right;
                img {
                    max-width: 100%;
                    max-height: 70px;
                }
        }
        .main-content {
            .cuisine-block {
                width: 90%;
                margin: auto;
            }
            .card {
                .card-title {
                    margin-bottom: 30px;
                        h2 {
                            text-align: center;
                            font-size: 30px;
                            font-weight: 500;
                        }
                }
                .card-body {
                    .card-description {
                        margin-bottom: 50px;
                            p {
                                font-size: 16px;
                                line-height: 31px;
                                text-align: justify;
                                font-feature-settings: "palt";
                            }
                    }
                }
            }
        }
        .block-things {
            background: url('../img/miyagi-cuisine/things/image-bg.png') no-repeat -20px 15px;
            background-size: 422px 72%;
            .card {
                .potato-stew {
                    margin-bottom: 0;
                    width: 310px;
                    max-width: 100%;
                    h2 {
                        text-align: left;
                        img {
                            width: 100%;
                        }
                    }
                }
                .card-body {
                    .cuisine-ingredient {
                        width: 420px;
                        max-width: 100%;
                        padding-top: 40px;
                        margin: 0 auto;
                        display: flex;
                        flex-direction: column;
                        gap: 0px;
                        .card {
                            position: relative;
                            &:nth-child(even) {
                                align-self: flex-start;
                            }
                            &:nth-child(odd) {
                                align-self: flex-end;
                                margin-top: -60px;
                            }
                            .left {
                                top: -30px;
                                right: 0px;
                            }
                            .right {
                                top: 50px;
                                left: 0px;
                            }
                            &:nth-child(1) .left .vertical-text:nth-child(1)::before {
                                background-color: #fff;
                            }
                            &:nth-child(1) .left .vertical-text:nth-child(2)::before {
                                background-color: #fff;
                            }
                            .right.ingre {
                                position: absolute;
                                top: -60px;
                                left: -12px;
                                img {
                                    width: 66.97px;
                                    max-width: 100%;
                                }
                            }
                            .right.taro {
                                position: absolute;
                                top: -130px;
                                left: 24px;
                                img {
                                    width: 66.92px;
                                    max-width: 100%;
                                }
                            }
                        }
                        .card.pot {
                            margin-top: 50px;
                            margin-right: 20px;
                            position: relative;
                            display: flex;
                            .left {
                                position: absolute;
                                top: -60px;
                                right: 15px;
                                img {
                                    width: 68.34px;
                                    max-width: 100%;
                                }
                            }
                            .delicious {
                                position: absolute;
                                top: -34px;
                                left: 0px;
                                width: 153.64px;
                                max-width: 100%;
                            }
                            img{
                                width: 100%;
                                max-width: 365px;
                            }
                        }
                        .card.vegetable {
                            margin-top: -140px;
                            margin-right: -20px;
                            .fresh-vegetables {
                                position: absolute;
                                left: 170px;
                                img {
                                    width: 66.01px;
                                    max-width: 100%;
                                }
                            }
                            img{
                                width: 100%;
                                max-height: 425px;
                            }
                        }
                    }
                    .card-description {
                        margin-bottom: 15px;
                        background: #fff;
                        padding: 10% 3vh;
                        border-radius: 0 25% 0 0;
                        margin-top: -25px;
                        p {
                            line-height: 27px;
                            letter-spacing: 0.05em;
                            font-size: 15px;
                            color: #000;
                            font-family: var(--font-notojp);
                            text-align: justify;
                        }
                    }
                }
            }
        }
        .block-want-to-try {
            background: #fff;
            padding: 10% 3vh 29px;
            .card {
                .card-title {
                    margin-bottom: 0;
                    h2 {
                        text-align: center;
                        font-family: var(--font-notojp);
                        font-size: 24px;
                    }
                    h2.mizoletbokutoh {
                       font-family: "mizoletbokutoh", sans-serif;
                       line-height: 1.5em;
                    }
                }
                .card-body {
                        .card-image {
                            margin-bottom: 20px;
                            img.imoni-preparation{
                                width: 100%;
                                max-height: 320px;
                                display: inline-block;
                                transform-origin: center;
                                backface-visibility: hidden;
                                animation: fluffy 3s infinite;
                            }
                        }
                        .card-description {
                            p {
                                font-weight: 600;
                                text-align: center;
                                line-height: 2em;
                                font-size: 17px;
                                letter-spacing: -0.02rem;
                            }
                        }
                    }
                    img.curve-line {
                        margin: 0px 0px 20px 0px;
                    }
                }
        }
        .easy-spot-container {
            overflow: hidden;
            width: 100%;
            position: relative;
            .easy-spot-loop {
                display: flex;
                width: fit-content;
                animation: easyspot 30s linear infinite;
                img{
                    width: auto;
                    height: 50px;
                    padding-right: 18px;
                }
            }

        }
        .block-card-content.mt-54 {
            margin-top: 54px;
        }
        .block-card-content {
            margin-top: 78px;
            .card {
                margin-bottom: 20px;
                .card-title {
                    margin-bottom: 24px;
                    text-align: center;
                    h2 {
                        font-family: var(--font-notojp);
                        font-size: 25px;
                        font-weight: 700;
                    }
                }
                .card-body {
                    ul {
                        margin-bottom: 20px;
                        display: flex;
                        gap: 10px;
                        flex-wrap: wrap;
                        li {
                            list-style: none;
                            width: 23%;
                            p {
                                text-decoration: none;
                                font-size: 15px;
                                font-weight: 700;
                                border: 1px solid #000;
                                padding: 5px;
                                border-radius: 20px;
                                display: block;
                                text-align: center;
                                color: #000;
                                font-family: var(--font-notojp);
                                cursor: default;
                            }
                        }
                    }
                    .boat-ride {
                        margin-bottom: 45px;
                    }

                    .season-duration {
                        font-family: var(--font-notojp);
                        font-size: 12px;
                        text-align: center;
                        color: #000;
                        font-weight: 400;
                        margin-bottom: 50px;
                    }
                    .card-image.ninjin{
                        transform: scale(1.05);
                        padding-top: 24px;
                    }
                    .card-image {
                        text-align: center;
                        img {
                            width: 100%;
                        }
                        .layer-wrapper {
                            position: relative;
                            width: 300px;
                            max-width: 100%;
                            margin: 0 auto;
                            height: 300px;
                            .ribbon {
                                position: absolute;
                                font-size: 20px;
                                font-weight: 600;
                                font-family: var(--font-notojp);
                                color: #ffffff;
                                z-index: 9999;
                                bottom: 25px;
                                right: -10px;
                                background-color: #000;
                                padding: 5px 10px;
                                transform: rotate(340deg);
                            }
                            .layer {
                            position: absolute;
                            top: 0;
                            left: 0;
                            width: 100%;
                            height: 100%;
                            opacity: 0;
                            transform: scale(0.95) rotate(0deg);
                            transition: all 0.5s ease-in-out;
                            border-radius: 10px;
                            visibility: hidden;
                            }
                            .layer-3 {
                                top: -30px;
                                right: -31px;
                                z-index: 3;
                                display: flex;
                                align-items: center;
                                justify-content: center;
                                img {
                                    transition: transform 0.5s ease-in-out;
                                    width: 100%;
                                    border-radius: 10px;
                                    display: block;
                                }
                                &:hover img {
                                    transform: scale(1.03);
                                }
                                &::before {
                                    content: "";
                                    position: absolute;
                                    top: 8px;
                                    left: -6px;
                                    width: calc(100% + -3px);
                                    height: calc(100% + -33px);
                                    border: 1px solid #000;
                                    border-radius: 12px;
                                    z-index: 3;
                                    pointer-events: none;
                                }
                            }
                            .layer-1 {
                                left: -25px;
                                top: 0px;
                                z-index: 2;
                                background-color: #f1c40f;
                                border: 1px solid #000000;
                                height: 92%;
                            }
                            .layer-2 {
                                right: -25px;
                                top: 0px;
                                left: auto;
                                z-index: 1;
                                background-color: #000000;
                                height: 90%;
                            }
                            .layer.active {
                                visibility: visible;
                            }
                            .layer-1.active {
                                animation: sendaiAnimate1 0.5s forwards;
                                animation-delay: 1s;
                            }
                            .layer-2.active {
                                animation: sendaiAnimate2 0.5s forwards;
                                animation-delay: 1.5s;
                            }
                            .layer-3.active {
                                animation: sendaiAnimate3 0.5s forwards;
                                animation-delay: 0.5s;
                            }
                        }
                    }
                    .card-description {
                        small {
                            margin-bottom: 25px;
                            margin-top: 8px;
                            display: block;
                        }
                        p {
                            font-family: var(--font-notojp);
                            font-weight: 400;
                            font-size: 15px;
                            line-height: 27px;
                            text-align: justify;
                        }
                    }
                    .imoni-boat{
                        padding: 30px 0 30px 0;
                    }
                    .wrap-boat {
                        display: flex;
                        flex-direction: column;
                        position: relative;
                        align-items: center;
                        img.boat-featur {
                            align-items: center;
                            max-width: 310px;
                            width: 100%;
                            margin-bottom: 10px;
                        }
                        img.wait-for-boat {
                            position: absolute;
                            width: 133.78px;
                            bottom: 0px;
                            right: 0px;
                        }
                        img.boat-shape {
                            width: 100%;
                        }
                    }
                    .readmore {
                        margin-top: 34px;
                        a {
                            text-decoration: none;
                            font-size: 16px;
                            display: block;
                            width: 70%;
                            margin: auto;
                            padding: 20px 0;
                            text-align: center;
                            color: #000;
                            font-weight: 700;
                            background: #edc545;
                            border-radius: 30px;
                            transition: 0.3s;
                            &:hover {
                                transition: 0.3s;
                                background-color: #000000;
                                color: #edc545;;
                            }
                        }
                    }
                }
            }
            .card:last-child {
                margin-bottom: 0;
            }
        }
        .block-content {
            margin-top: 60px;
            .card-title {
                text-align: center;
                img.nature-activity-spots{
                    height: auto;
                    width: 80%;
                }
            }
            .miyagi-outdoor, .miyagi-rest-area {
                width: 420px;
                max-width: 100%;
                padding-top: 40px;
                margin: 0 auto;
                display: flex;
                flex-direction: column;
                gap: 45px;
                .card {
                    position: relative;
                    &:nth-child(odd) {
                        align-self: flex-start;
                    }
                    &:nth-child(even) {
                        align-self: flex-end;
                    }
                    .left {
                        top: -26px;
                        right: -78px;
                        img {
                            width: 100%;
                            max-width: 86px;
                            height: auto;
                        }
                    }
                    .right {
                        top: 50px;
                        left: -19%;
                        img {
                            width: 100%;
                            max-width: 86px;
                            height: auto;
                        }
                    }
                    .left,
                    .right {
                        position: absolute;
                    }
                    .check-plus, .check-plus-low {
                        position: absolute;
                        width: 60px;
                        height: 60px;
                        background-color: #fff;
                        border: 1px solid #000;
                        border-radius: 50px;
                        display: flex;
                        justify-content: center;
                        align-items: center;
                        transition: transform 0.3s ease;
                        transform-origin: center center;
                        cursor: pointer;
                        a {
                            font-family: var(--font-notojp);
                            font-size: 12.64px;
                            font-weight: 900;
                            color: #000;
                            text-decoration: none;
                            text-transform: uppercase;
                            margin-top: -10px;
                            padding: 25px 10px;
                            span {
                                position: absolute;
                                top: 30px;
                                left: 26px;
                                font-size: 14px;
                                font-family: var(--font-notojp);
                                font-weight: 900;
                            }
                        }
                    }
                    .check-plus {
                        bottom: 12px;
                        right: 9px;
                        &:hover {
                            transform: scale(1.1);
                        }
                    }
                    .check-plus-low {
                        bottom: 12px;
                        right: 10px;
                        &:hover {
                            transform: scale(1.1);
                        }
                    }
                    img {
                        max-height: 290px;
                        width: 100%;
                        max-width: 370px;
                        object-fit: contain;
                    img.meat {
                        margin-left: 22px;
                    }
                    }
                    img.swimming{
                        max-height: 235px;
                        max-width: 100%;
                        width: 325px;
                    }
                    img.meat{
                        max-height: 290px;
                        max-width: 100%;
                        margin-left: 24px;
                    }
                    img.dancing-show{
                        max-height: 235px;
                        width: 325px;
                        max-width: 100%;
                    }
                }
            }
            .card.normal-stle {
                margin-bottom: clamp(10px, 10%, 40px);
                width: 105%;
                margin-left: -8px;
                .card-body {
                    display: flex;
                    flex-wrap: wrap;
                    align-items: flex-start;
                    justify-content: left;
                    .card-image {
                        width: 100%;
                        height: 100%;
                        background: none;
                        position: relative;
                        img.ribbon-pro {
                            position: absolute;
                            width: 25%;
                            max-width: 100%;
                            top: 50px;
                            right: 32px;
                            transform-origin: center;
                            backface-visibility: hidden;
                            opacity: 0;
                        }
                        .ribbon-pro.animate {
                            animation: heartbeat 2s ease-in-out forwards;
                            animation-iteration-count: 1;
                        }
                        img {
                            width: 100%;
                            border-radius: 30px;
                        }
                        .check-plus {
                            position: absolute;
                            bottom: 72px;
                            right: 59px;
                            width: 60px;
                            height: 60px;
                            background-color: #fff;
                            border: 1px solid #000;
                            border-radius: 50px;
                            display: flex;
                            justify-content: center;
                            align-items: center;
                            z-index: 2;
                            transition: transform 0.3s ease;
                            transform-origin: center center;
                            cursor: pointer;
                            a {
                                font-family: var(--font-notojp);
                                font-size: 12.64px;
                                font-weight: 900;
                                color: #000;
                                text-decoration: none;
                                text-transform: uppercase;
                                margin-top: -10px;
                                padding: 25px 10px;
                                span {
                                    position: absolute;
                                    top: 30px;
                                    left: 26px;
                                    font-size: 14px;
                                    font-family: var(--font-notojp);
                                    font-weight: 900;
                                }
                            }
                            &:hover {
                                transform: scale(1.1);
                            }
                        }
                    }
                }
            }
            .card.infomation {
                margin: 110px auto 40px;
                max-width: 378px;
                height: auto;
                border: 2px solid #000;
                padding: 30px 5%;
                .card-title {
                    margin-bottom: 30px;
                    h2 {
                        font-size: 24px;
                        font-weight: 600;
                        font-family: var(--font-notojp);
                    }
                }
                .card-body {
                    p.bg {
                        background: #000;
                        color: #FFF;
                        padding: 8px 8px 9px 8px;
                        text-align: center;
                        border-radius: 30px;
                        margin-bottom: 20px;
                        width: 100%;
                    }
                    .row {
                        display: flex;
                        gap: 20px;

                        .col-right{
                             font-size: 13px;
                             font-family: var(--font-notojp);
                             font-weight: 600;
                         }
                         .col-left{
                             font-size: 13px;
                             font-family: var(--font-notojp);
                             font-weight: 600;
                         }
                    }
                    .group-link {
                        display: flex;
                        gap: 20px;
                        flex-wrap: wrap;
                        justify-content: center;
                        margin: 0px auto;
                        padding-top: 20px;
                        a {
                            width: 140px;
                            background: #edc545;
                            padding: 8px 8px 9px 8px;
                            color: #000;
                            text-decoration: none;
                            text-align: center;
                            font-weight: 600;
                            border-radius: 30px;
                            transition: 0.3s;
                            letter-spacing: 0.1rem;
                            border: 2px solid #edc545;
                            &:hover{
                                transition: 0.3s;
                                border: 2px solid #edc545;
                                background: #fff;
                            }
                        }
                    }
                }
            }
        }
    }
    .latest-information {
            margin-top: 100px;
            margin: 70px auto 0;
            text-align: center;
            h1 {
                font-weight: 900;
                font-family: var(--font-cambay);
                font-size: 43px;
                margin-bottom: 20px;
            }
            p.title {
                font-weight: 700;
                font-size: 14px;
            }
            .wrap-content {
                display: flex;
                justify-content: space-between;
                gap: 25px;
                padding: 0px 5%;
                    .card {
                        border: 1px solid #000;
                        text-align: center;
                        width: 100%;
                        height: 155px;
                        display: flex;
                        flex-wrap: nowrap;
                        justify-content: center;
                        align-items: center;
                        margin-top: 26px;
                        p {
                            padding: 5px 15px;
                            background-color: #FF0000;
                            font-weight: 900;
                            font-size: 15px;
                            color: #ffffff;
                            font-family: var(--font-notojp);
                        }
                    }
                    .content {
                        background-color: #E6E6E6;
                        padding: 15px;
                        p {
                            text-align: left;
                            font-family: var(--font-notojp);
                            font-size: 14px;
                        }
                    }
            }
        }
        .miyagi-nature-autumn-container {
            margin-top: 53px;
            overflow: hidden;
            width: 100%;
            position: relative;
            .miyagi-nature-autumn-loop {
                display: flex;
                width: fit-content;
                animation: miyagiNatureAutumn 30s linear infinite;
                    img {
                        width: auto;
                        height: 50px;
                        padding-right: 18px;
                    }
            }
        }
        .main-miyagi-activity {
        width: 500px;
        margin: 0 auto;
        overflow: hidden;
        max-width: 100%;
            .top-section {
                position: relative;
                z-index: 0;
                text-align: center;
                margin-top: 60px;
                padding: 0 5%;
                    img {
                        width: 90%;
                        .main-image {
                            width: 100%;
                            display: block;
                        }
                    }
                &::before {
                    content: "";
                    position: absolute;
                    top: 350px;
                    left: 0px;
                    right: 0px;
                    bottom: 0px;
                    background-color: #eec646;
                    z-index: -1;
                    border-radius: 30px 30px 0px 0px;
                    }
                .wrap-special-order {
                    img.special-3 {
                        position: absolute;
                        width: 11%;
                        right: 19px;
                        top: -40px;
                    }
                    img.special-4 {
                        position: absolute;
                        width: 73%;
                        bottom: -40px;
                        left: 25px;
                    }
                }
            }
            .bus-or-train {
                background-color: #eec646;
                padding: 60px 5% 50px 5%;
                h2 {
                    margin-left: 40px;
                    font-size: 36px;
                }
                .outdoor-play {
                    h2 {
                        font-family: var(--font-notojp);
                        font-size: 36.34px;
                        font-weight: 600;
                    }
                    text-align: left;
                    margin-bottom: 50px;
                    img {
                        width: 100%;
                        max-width: 360px;
                        margin-left: 70px;
                    }
                }
                .wrap-content {
                    p {
                        text-align: left;
                        line-height: 2;
                    }
                }
            }
            .train-section {
                display: flex;
                position: relative;
                justify-content: center;
                img.train {
                    position: absolute;
                    bottom: -50px;
                    width: 90%;
                    max-width: 435px;
                }
                img {
                    width: 100%;
                }
            }
            .destination {
                margin-top: 80px;
                text-align: center;
                padding: 0px 5%;
                .content {
                    font-family: var(--font-notojp);
                    text-align: left;
                    font-size: 17px;
                    letter-spacing: -0.9px;
                    margin: 30px 0 0 0;
                    line-height: 1.8;
                    text-align: justify;
                }
                .matsushima {
                    margin: 40px auto 32px;
                    width: 80%;
                    max-width: 340px;
                }
                img {
                    width: 100%;
                }
                img.matsushima-activity {
                    width: 95%;
                }
            }
            .three-scenic-spots {
                margin-bottom: 24px;
                h2 {
                    text-align: center;
                    font-size: 34.59px;
                    font-family: var(--font-notojp);
                    font-weight: 900;
                    margin-top: 60px;
                }
                h2.mt-0{
                    margin-top: 0px;
                }
                .tags {
                    margin-bottom: 24px;
                    margin-top: 20px;
                    display: flex;
                    flex-direction: row;
                    justify-content: center;
                    gap: 10px;
                        span {
                            width: 90px;
                            text-align: center;
                            padding: 5px 0;
                            border-radius: 20px;
                            font-size: 15px;
                            border: solid 1px #000;
                            font-weight: 700;
                            cursor: default;
                        }
                }
                img.Paragliding-experience{
                    max-height: 290px;
                    width: 100%;
                }
            }
        .skayaking-spot {
            width: 500px;
            margin: 0 auto;
            position: relative;
            max-width: 100%;
                img.bg-image {
                    width: 100%;
                    display: block;
                }
                .skayaking-content {
                    position: relative;
                    padding: 30px;
                    box-sizing: border-box;
                    display: flex;
                        .instruction {
                            width: 250px;
                            p {
                                font-family: var(--font-notojp);
                                font-size: 15px;
                                font-weight: 400;
                                line-height: 1.7;
                                letter-spacing: 0.05em;
                                text-align: justify;
                            }
                        }
                        .training {
                            width: 259px;
                            animation: fluffy 3s infinite;
                            img {
                                position: absolute;
                                top: -57px;
                                right: -120px;
                                width: 340px;
                                height: auto;
                            }
                        }
                }
                .wrap-card {
                    margin-top: 24px;
                    margin-bottom: 45px;
                    display: flex;
                    justify-content: space-between;
                    flex-direction: column;
                    gap: 15px;
                    .card {
                        display: block;
                        position: relative;
                        img.gathering {
                            margin-left: 30px;
                            width: 100%;
                            max-width: 400px;
                        }
                        .skayaking-activity {
                            display: flex;
                            flex-direction: row;
                            justify-content: space-between;
                            width: 100%;
                            img.benefit {
                                width: 191.19px;
                                height: 114.15px;
                                margin-left: 25px;
                                max-width: 100%;
                                margin-top: 17px;
                            }
                            img.floating {
                                width: 291px;
                                max-width: 100%;
                            }
                        }
                        img.meeting {
                            width: 100%;
                            max-width: 365px;
                        }
                        img.paraglider{
                            width: 100%;
                            max-width: 227px;
                            max-height: 205px;
                        }
                    }
                    .fly-experience {
                        display: flex;
                        flex-direction: row;
                        gap: 35px;
                        margin-bottom: -16px;
                        .special-experience {
                            margin-top: 12px;
                            max-width: 177px;
                            width: 100%;
                            text-align: justify;
                        }
                    }
                    .fly-feature {
                        display: flex;
                        justify-content: space-between;
                        flex-direction: row;
                        align-items: center;
                        img.easy-flying {
                            width: 169.18px;
                            height: 127.09px;
                            margin-left: 30px;
                        }
                        img.fly-instructor {
                            float: right;
                            max-width: 291px;
                            height: auto;
                        }
                    }
                }
                .kuunel-sup-school {
                    max-width: 378px;
                    height: auto;
                    border: 2px solid #000;
                    padding: 30px 5%;
                    margin: 0px auto;
                    .card-title {
                        margin-bottom: 20px;
                        text-align: center;
                        h2 {
                            font-size: 24px;
                        }
                    }
                    .card-body {
                        p.bg {
                            background: #000;
                            color: #FFF;
                            padding: 6px 8px 9px 8px;
                            text-align: center;
                            border-radius: 30px;
                            margin-bottom: 15px;
                            font-size: 13px;
                            width: 100%;
                            height: 33px;
                        }
                        .row {
                            display: flex;
                            gap: 20px;

                            .col-right{
                                font-size: 13px;
                                font-family: var(--font-notojp);
                                font-weight: 600;
                            }

                            .col-left{
                                font-size: 13px;
                                font-family: var(--font-notojp);
                                font-weight: 600;
                                white-space:nowrap;

                            }

                        }
                        .group-link {
                            display: flex;
                            gap: 20px;
                            justify-content: center;
                            margin: 0px auto;
                            padding-top: 20px;
                            a {
                                width: 140px;
                                background: #edc545;
                                padding: 8px 8px 9px 8px;
                                color: #000;
                                text-decoration: none;
                                text-align: center;
                                font-weight: 600;
                                border-radius: 30px;
                                letter-spacing: 0.1rem;
                                transition: 0.3s;
                                border: 2px solid #edc545;
                                &:hover{
                                    transition: 0.3s;
                                    border: 2px solid #edc545;
                                    background: #fff;
                                }
                            }

                        }
                    }
                }
                .matsushima-experience {
                    margin-bottom: 40px;
                    h2 {
                        text-align: center;
                        font-size: 34.59px;
                        font-family: var(--font-notojp);
                        font-weight: 900;
                        margin-top: 60px;
                    }
                    .tags {
                        margin-bottom: 20px;
                        margin-top: 32px;
                        display: flex;
                        flex-direction: row;
                        justify-content: center;
                        gap: 10px;
                            span {
                                padding: 10px 20px;
                                border-radius: 20px;
                                font-size: 12px;
                                border: solid 1px #000;
                                font-weight: 900;
                                cursor: pointer;
                                &.active {
                                    color: red;
                                }
                            }
                    }
                }
                .other-experience {
                    display: flex;
                    margin-bottom: 30px;
                    img {
                        width: 100%;
                    }
                }
                .hot-air-balloon {
                    width: 440px;
                    max-width: 100%;
                    padding: 0px 5% 5%;
                    margin: 0px auto;
                    background-color: #fff;
                    border: 2px solid #EEC646;
                    border-radius: 30px;
                    height: auto;
                    .wrap-balloon {
                        display: flex;
                        flex-direction: row;
                            .air-balloon-title {
                                position: relative;
                                display: inline-block;
                                font-size: 24px;
                                z-index: 0;
                                padding: 10px 0px;
                                margin-top: 30px;
                            }
                                .air-balloon-title::before {
                                    content: "";
                                    position: absolute;
                                    top: -8px;
                                    left: -25px;
                                    width: 206px;
                                    height: 35.39px;
                                    background-color: #EEC646;
                                    z-index: -1;
                                }
                        .balloon-activity {
                            width: 240px;
                            p {
                                margin-top: 15px;
                                font-family: var(--font-notojp);
                                font-size: 15px;
                                line-height: 1.5;
                                max-width: 183px;
                                text-align: justify;
                            }
                        }
                        .balloon {
                            position: relative;
                            width: 80%;
                            max-width: 280px;
                            animation: fluffy 3s infinite;
                            img {
                                position: absolute;
                                right: -38px;
                                top: -25px;
                                width: 100%;
                            }
                        }
                    }
                    .landing-balloon {
                        margin: 0px auto;
                        padding-top: 30px;
                        text-align: center;
                        img.balloon{
                            max-height: 220px;
                        }
                    }
                }
                .air-balloon-contact {
                    margin-top: 50px;
                    .air-balloon-info {
                        max-width: 378px;
                        height: auto;
                        border: 2px solid #000;
                        padding: 30px 5%;
                        margin: 0px auto;
                        .card-title {
                            margin-bottom: 20px;
                            text-align: center;
                            h2 {
                                font-size: 20px;
                                font-weight: 700;
                                font-family: var(--font-notojp);
                            }
                        }
                        .card-body {
                            p.bg {
                                background: #000;
                                color: #FFF;
                                padding: 6px 8px 9px 8px;
                                text-align: center;
                                border-radius: 30px;
                                margin-bottom: 15px;
                                font-size: 13px;
                                width: 100%;
                                height: 33px;
                            }
                            .row {
                                display: flex;
                                gap: 20px;
                                    p {
                                        font-size: 13px;
                                        font-family: var(--font-notojp);
                                        font-weight: 600;
                                    }
                            }
                            .group-link {
                                display: flex;
                                gap: 20px;
                                justify-content: center;
                                margin: 0px auto;
                                padding-top: 15px;
                                a {
                                    width: 135px;
                                    background: #edc545;
                                    padding: 8px 8px 9px 8px;
                                    color: #000;
                                    text-decoration: none;
                                    text-align: center;
                                    font-weight: 600;
                                    border-radius: 30px;
                                    letter-spacing: 0.1rem;
                                    transition: 0.3s;
                                    border: 2px solid #edc545;
                                    &:hover{
                                        transition: 0.3s;
                                        border: 2px solid #edc545;
                                        background: #fff;
                                    }
                                }
                            }
                        }
                    }
                }

            }
    }
    .main-miyagi-travel {
    width: 500px;
    margin-top: 50px;
    max-width: 100%;
    .main-banner {
        display: flex;
        justify-content: center;
        position: relative;
        margin-bottom: 64px;
        img.travel-bus {
            position: absolute;
            bottom: -50px;
            max-width: 90%;
        }
        img.travel-bus-bg {
            max-width: 100%;
        }
    }
    .travel-map {
        margin: 0px auto;
        width: 414.15px;
        max-width: 100%;
        display: flex;
        justify-content: center;
        img {
            padding: 25px 5%;
            width: 100%;
        }
    }
    .travel-duration {
        width: 480px;
        margin: 0px auto;
        max-width: 100%;
        padding: 0 5%;
        img {
            width: 100%;
        }
        p {
            font-family: var(--font-notojp);
            font-size: 17px;
            font-weight: 400;
            line-height: 33px;
            text-align: justify;
        }
        p.mt-24 {
            margin-top: 24px;
        }
    }
    .miyagi-olle {
        margin-top: 50px;
        position: relative;
        .what-miyagi-olle {
            width: 440px;
            background-color: #f9f8eb;
            position: absolute;
            top: 230px;
            border-radius: 30px;
            border: 1px solid #000;
            padding: 35px 15px 20px 15px;
            left: 50%;
            transform: translateX(-50%);
            max-width: 100%;
            .miyagi-olle-title {
                position: absolute;
                top: -40px;
                left: 50%;
                transform: translateX(-50%);
                font-family: var(--font-cambay);
                font-size: min(6vw, 52px);
                width: 100%;
                text-align: center;
                color: #EEC646;
                font-style: italic;
            }
            h2 {
                font-family: var(--font-notojp);
                font-size: 24px;
                line-height: 84.51px;
                font-weight: 900;
                text-align: center;
            }
            .content {
                width: 440px;
                max-width: 100%;
                display: flex;
                justify-content: center;
                flex-wrap: wrap;
                p {
                    font-family: var(--font-notojp);
                    font-size: 14px;
                    font-weight: 400;
                    line-height: 27px;
                    text-align: justify;
                }
                .miyagi-olle-detail {
                    text-align: center;
                    width: 80%;
                    margin: 35px 0px;
                    a {
                        text-decoration: none;
                        font-weight: 600;
                        color: #000;
                        font-family: var(--font-notojp);
                        font-size: 16px;
                        line-height: 24px;
                        padding: 20px 40px 20px 40px;
                        background-color: #EEC646;
                        border-radius: 50px;
                        transition: 0.3s;
                        &:hover {
                            transition: 0.3s;
                            background-color: #000000;
                            color: #EEC646;
                        }
                    }
                }
            }
        }
        img.what-miyagi-olle-bg {
            width: 100%;
        }
    }
        .zao-togatta-onsen {
            margin-top: 20px;
            background-color: #EEC646;
            border-radius: 30px;
            .course-miyagi-olle {
                padding-top: 5px;
                padding-bottom: 30px;
                text-align: center;
                img.miyagi-olle{
                    max-height: 73px;
                }
            }
            .zao-togatta-course {
                display: flex;
                flex-direction: column;
                align-items: center;
                h2 {
                    font-family: var(--font-notojp);
                    font-size: 34.59px;
                    font-weight: 900;
                    letter-spacing: 1px;
                }
                p {
                    font-family: var(--font-notojp);
                    font-weight: 400;
                    line-height: 27px;
                    letter-spacing: 1px;
                    font-size: 15px;
                    margin-top: 10px;
                }
            }
            .miyagi-olle-zao-togatta {
                transform:translate3d(0,0,0);
                margin-top: 54px;
                .zao-togatta-feature {
                    position: relative;
                    width: 300px;
                    max-width: 100%;
                    margin: 0 auto;
                    height: 300px;
                }
                img.new-promotion {
                    position: absolute;
                    z-index: 5;
                    top: -60px;
                    right: -80px;
                    left: auto;
                    max-height: 136px;
                    transform-origin: center;
                    backface-visibility: hidden;
                    opacity: 0;
                    width: 142.93px;
                    max-width: 100%;
                }
                .new-promotion.animate {
                    animation: heartbeat 2s ease-in-out forwards;
                    animation-iteration-count: 1;
                }
                .layer-wrapper {
                    position: relative;
                    width: 300px;
                    max-width: 100%;
                    margin: 0 auto;
                    height: 300px;
                    .ribbon {
                        position: absolute;
                        font-size: 20px;
                        font-weight: 600;
                        font-family: var(--font-notojp);
                        color: #ffffff;
                        z-index: 9999;
                        bottom: 25px;
                        right: -10px;
                        background-color: #000;
                        padding: 5px 10px;
                        transform: rotate(340deg);
                    }
                    .layer {
                        position: absolute;
                        top: 0;
                        left: 0;
                        width: 100%;
                        height: 100%;
                        opacity: 0;
                        transform: scale(0.95) rotate(0deg);
                        transition: all 1.5s ease-in-out;
                        border-radius: 10px;
                        visibility: hidden;
                        }
                        .layer-3 {
                            top: -30px;
                            right: -31px;
                            z-index: 3;
                            display: flex;
                            align-items: center;
                            justify-content: center;
                            img {
                                transition: transform 1.5s ease-in-out;
                                width: 100%;
                                border-radius: 10px;
                                display: block;
                            }
                            &:hover img {
                                transform: scale(1.03);
                            }
                            &::before {
                                content: "";
                                position: absolute;
                                top: 8px;
                                left: -6px;
                                width: calc(100% + -3px);
                                height: calc(100% + -33px);
                                border: 1px solid #000;
                                border-radius: 12px;
                                z-index: 3;
                                pointer-events: none;
                            }
                        }
                        .layer-1 {
                            left: -25px;
                            top: 0px;
                            z-index: 2;
                            background-color: #ffffff;
                            border: 1px solid #000000;
                            height: 92%;
                        }
                        .layer-2 {
                            right: -25px;
                            top: 0px;
                            left: auto;
                            z-index: 1;
                            background-color: #000000;
                            height: 90%;
                        }
                        .layer.active {
                            visibility: visible;
                        }
                        .layer-1.active {
                            animation: sendaiAnimate1 0.5s forwards;
                            animation-delay: 1s;
                        }
                        .layer-2.active {
                            animation: sendaiAnimate2 0.5s forwards;
                            animation-delay: 1.5s;
                        }
                        .layer-3.active {
                            animation: sendaiAnimate3 0.5s forwards;
                            animation-delay: 0.5s;
                        }
                    }
                }
                .content {
                        display: flex;
                        justify-content: center;
                        align-items: center;
                        margin-top: 40px;
                        p {
                            font-family: var(--font-notojp);
                            font-size: 15px;
                            line-height: 27px;
                            font-weight: 400;
                            max-width: 430px;
                            text-align: justify;
                            font-feature-settings: "palt";
                        }
                    }
                .content.mt-12{
                    margin-top: 12px;
                }
                .content.mt--11{
                    margin-top: -11px;
                }
            }
            .trekking-springs {
                margin-top: 35px;
                display: flex;
                flex-direction: column;
                gap: 50px;
                align-items: center;
                img.season-title {
                    width: 343px;
                    max-width: 100%;
                }
                img {
                    width: 100%;
                }
                .content {
                    display: flex;
                    justify-content: center;
                    align-items: center;
                    p {
                        font-family: var(--font-notojp);
                        font-size: 15px;
                        line-height: 27px;
                        font-weight: 400;
                        max-width: 430px;
                        text-align: justify;
                    }
                }
            }
            .zao-togatta-accommodation {
                margin-top: 50px;
                .wrap-accommodation {
                    position: relative;
                    display: flex;
                    flex-direction: column;
                    gap: 20px;
                    padding-bottom: 50px;
                    .sight-view {
                        position: relative;
                        img {
                            width: 50%;
                            max-width: 250px;
                        }
                        .wrap-steam {
                            position: relative;
                            top: 0px;
                            img.steam-left,
                            img.steam-right {
                                position: absolute;
                                max-width: 100%;
                                animation: steam-rise 3s linear infinite;
                                opacity: 0;
                            }
                            img.steam-left {
                                width: 19.79px;
                                bottom: 90px;
                                right: 43%;
                                animation-delay: 0s;
                            }
                            img.steam-right {
                                width: 24.41px;
                                bottom: 100px;
                                right: 50px;
                                animation-delay: 1s;
                            }
                        }
                    }
                    img.footbath{
                        width: 100%;
                        max-width: 475px;
                    }

                    img.hot-spring {
                        width: 73%;
                        max-width: 365px;
                    }
                    .sight-view:nth-child(2) {
                        position: relative;
                        text-align: right;
                    }
                    .sight-view:nth-child(2)
                    img.women {
                        position: absolute;
                        top: -52%;
                        right: 10%;
                        width: 40%;
                        transform: translateY(-50%);
                    }
                }
            }

        }
        .sightseeing-spots {
            padding-top: 50px;
            margin: 0px auto;
            width: 332.78px;
            img.places-to-visit{
                max-height: 200px;
            }
        }
        .wrap-sightseeing {
            width: 420px;
            max-width: 100%;
            padding-top: 15px;
            margin: 0 auto;
            display: flex;
            flex-direction: column;
            gap: 40px;
            .card {
                position: relative;
                &:nth-child(odd) {
                    align-self: flex-start;
                }
                &:nth-child(even) {
                    align-self: flex-end;
                }
                .left {
                    top: 0px;
                    right: -77px;
                }
                .right {
                    top: 50px;
                    left: -95px;
                }
                .left,
                .right {
                    position: absolute;
                    img {
                        width: 100%;
                    }
                }
                .check-plus {
                    position: absolute;
                    bottom: 15px;
                    right: 10px;
                    width: 60px;
                    height: 60px;
                    background-color: #fff;
                    border: 1px solid #000;
                    border-radius: 50px;
                    display: flex;
                    justify-content: center;
                    align-items: center;
                    transition: transform 0.3s ease;
                    transform-origin: center center;
                    cursor: pointer;
                    a {
                        font-family: var(--font-notojp);
                        font-size: 12.64px;
                        font-weight: 900;
                        color: #000;
                        text-decoration: none;
                        text-transform: uppercase;
                        margin-top: -10px;
                        padding: 25px 10px;
                        span {
                            position: absolute;
                            top: 30px;
                            left: 26px;
                            font-size: 14px;
                            font-family: var(--font-notojp);
                            font-weight: 900;
                        }
                    }
                    &:hover {
                        transform: scale(1.1);
                    }
                }
                img.miyagi-olle-image{
                    max-height: 290px;
                    margin-top: 20px;
                }

                img.wooden-doll{
                    max-height: 350px;
                }
            }
        }
    }
    .natural-miyagi-spots {
        margin-top: 40px;
        background: #fff;
        .miyagi-spots-container {
            position: relative;
            width: 100%;
            z-index: 0;
            &::before {
            content: "";
            position: absolute;
            top: 0px;
            left: 0;
            right: 0;
            bottom: 14px;
            background-color: #99ce72;
            z-index: -1;
        }
            .main-banner {
                position: relative;
                padding-top: 45px;
                margin: 0px auto;
                width: 447.49px;
                max-width: 100%;
                .wrap-seasons-leaves {
                    position: relative;
                    img.seasons-leaves-1 {
                        position: absolute;
                        top: 40px;
                        left: -15px;
                        width: 34.22px;
                        max-width: 100%;
                    }
                    img.seasons-leaves-2 {
                        position: absolute;
                        top: 30px;
                        right: 35px;
                        width: 34.22px;
                        max-width: 100%;
                    }
                    img.seasons-leaves-3 {
                        position: absolute;
                        top: -15px;
                        right: 0px;
                        width: 34.22px;
                        max-width: 100%;
                    }
                    img.seasons-leaves-4 {
                        position: absolute;
                        top: 10px;
                        right: 85px;
                        width: 34.22px;
                        max-width: 100%;
                    }
                }
                .seasons-leaves-1.animate {
                    animation-delay: 0s;
                }
                .autumn-recommendation.animate {
                    animation-delay: 0.5s
                }
                .seasons-leaves-2.animate {
                    animation-delay: 0s;
                }
                img.autumn-recommendation {
                    margin-left: 45px;
                    width: 233.92px;
                    height: 76.35px;
                    max-width: 100%;
                }
                .title {
                    max-width: 100%;
                    height: auto;
                    display: flex;
                    justify-content: center;
                    margin-top: 20px;
                    h2 {
                        text-align: center;
                        font-weight: 600;
                        font-size: 35.73px;
                        font-family: var(--font-mizolet);
                        color: #000;
                    }
                    img{
                        width: 90%;
                        max-width: 393px;
                    }
                }
            }
            .wrap-matsushima-area {
                .area-title {
                    text-align: center;
                    margin-top: 48px;
                    margin-bottom: 30px;

                    h2 {
                        display: inline-block;
                        position: relative;
                        padding: 10px 30px;
                        font-size: 27px;
                        color: #000;
                        border: 1px solid #000;
                        z-index: 1;

                        &::before {
                            content: "";
                            position: absolute;
                            top: 8px;
                            left: 8px;
                            width: 100%;
                            height: 100%;
                            background-color: #000;
                            z-index: -2;
                            pointer-events: none;
                        }

                        &::after {
                            content: "";
                            position: absolute;
                            top: 0;
                            left: 0;
                            width: 100%;
                            height: 100%;
                            background-color: #99CE72;
                            z-index: -1;
                        }
                    }
                }
                .area-title.scale-85{
                    transform: scale(0.85);
                }
                .area-feature {
                    display: flex;
                    justify-content: center;
                        .wrap-feature{
                            overflow: hidden;
                            width: 100%;
                            position: relative;
                                .layout-feature {
                                    display: flex;
                                    gap: 40px;
                                    align-items: stretch;
                                    will-change: transform;
                                }
                                .card-area {
                                    background-color: #EBF1E4;
                                    border: 1px solid #000;
                                    border-radius: 12px;
                                    box-sizing: border-box;
                                    display: flex;
                                    justify-content: center;
                                    flex-direction: column;
                                    align-items: center;
                                    cursor: default;
                                    position: relative;
                                    box-sizing: border-box;
                                    flex: 0 0 357.08px;
                                    max-width: 357.08px;
                                    height: 435px;
                                    align-items: stretch;
                                    &.active {
                                        box-shadow: 0 4px 16px rgba(0,0,0,0.2);
                                        background-color: #EBF1E4;
                                        z-index: 1;
                                    }
                                    .header-title {
                                        display: flex;
                                        flex-direction: column;
                                        text-align: center;
                                        width: 100%;
                                           .city {
                                            padding-top: 20px;
                                            position: relative;
                                                h2 {
                                                    font-family: var(--font-notojp);
                                                    font-size: 17px;
                                                    font-weight: 600;
                                                    &::before {
                                                        content: "";
                                                        position: absolute;
                                                        top: 55px;
                                                        left: 0;
                                                        width: 100%;
                                                        height: 1px;
                                                        background-color: #000;
                                                        z-index: 0;
                                                    }
                                                }
                                           }
                                           .area {
                                            padding: 30px 0px 20px;
                                            h3 {
                                                font-family: var(--font-notojp);
                                                font-weight: 700;
                                                font-size: 21px;
                                            }
                                           }
                                    }
                                    .content {
                                        padding: 20px 0px 30px 0px;
                                        margin: 0 auto;
                                        p {
                                            font-family: var(--font-notojp);
                                            font-weight: 400;
                                            font-size: 15px;
                                            line-height: 25px;
                                            text-align: left;
                                            padding: 0px 14px;
                                        }
                                    }
                                    .view-feature {
                                        width: 100%;
                                        height: auto;
                                        display: block;
                                        position: relative;
                                            img {
                                                width: 100%;
                                                height: auto;
                                                max-height: 195px;
                                                display: block;
                                                object-fit: cover;
                                            }
                                        .check-plus {
                                            position: absolute;
                                            bottom: -12px;
                                            right: 10px;
                                            width: 60px;
                                            height: 60px;
                                            background-color: #fff;
                                            border: 1px solid #000;
                                            border-radius: 50px;
                                            display: flex;
                                            justify-content: center;
                                            text-align: center;
                                            align-items: center;
                                            transition: transform 0.3s ease;
                                            transform-origin: center center;
                                            cursor: pointer;
                                            a {
                                                font-family: var(--font-notojp);
                                                font-size: 12.64px;
                                                font-weight: 900;
                                                color: #000;
                                                text-decoration: none;
                                                text-transform: uppercase;
                                                margin-top: -10px;
                                                padding: 25px 10px;
                                                span {
                                                    top: 30px;
                                                    position: absolute;
                                                    font-size: 14px;
                                                    font-family: var(--font-notojp);
                                                    font-weight: 900;
                                                    left: 26px;
                                                }
                                            }
                                            &:hover {
                                                transform: scale(1.1);
                                            }
                                        }
                                    }
                                }
                            .arrow {
                                position: absolute;
                                top: 50%;
                                transform: translateY(-50%);
                                border-radius: 30px;
                                border: 1px solid;
                                padding: 12px 8px;
                                background: #fff;
                                cursor: pointer;
                                font-weight: bold;
                                user-select: none;
                                z-index: 2;
                                &.prev {
                                    left: 42px;
                                }
                                &.next {
                                    right: 42px;
                                }
                                &:disabled {
                                    opacity: 0.3;
                                    cursor: default;
                                }
                                svg {
                                    display: block;
                                    width: 27px;
                                    height: 18px;
                                }
                            }

                        }
                    }
            }

        }
        .trip-to-sendai {
            width: 100%;
            padding: 20px;
            text-align: center;
            margin-top: 24px;
            h1 {
                font-size: 24px;
                margin-bottom: 35px;
                font-family: var(--font-notojp);
                font-weight: 700;
                line-height: 41px;
            }
            .options {
                display: flex;
                flex-wrap: wrap;
                justify-content: space-between;
                gap: 15px;
                .button {
                    flex: 0 0 calc(50% - 7.5px);
                    display: flex;
                    justify-content: space-between;
                    align-items: center;
                    padding: 15px;
                    background-color: #CCE5B8;
                    border: 1px solid #333;
                    border-radius: 8px;
                    text-decoration: none;
                    color: #000;
                    font-size: 16px;
                    font-weight: bold;
                    box-sizing: border-box;
                    transition: 0.3s;
                    &:hover {
                        transition: 0.3s;
                        background-color: #8bc282;
                    }
                    span:last-child {
                        font-size: 1.5rem;
                        margin-left: 10px;
                    }
                    span {
                        text-align: left;
                        line-height: 1.2;
                    }
                }
            }
        }
        .recommended-sites {
            width: 100%;
            padding: 24px 20px 50px 20px;
            text-align: center;
            h2 {
                font-size: 1.5rem;
                margin-bottom: 20px;
            }
            .sites {
                display: flex;
                flex-wrap: wrap;
                justify-content: space-between;
                gap: 15px;
                .site-card {
                    display: flex;
                    justify-content: center;
                    align-items: center;
                    height: 75px;
                    padding: 10px;
                    background-color: white;
                    border: 1px solid #333;
                    border-radius: 8px;
                    text-decoration: none;
                    color: #333;
                    box-sizing: border-box;
                    text-align: center;
                    width: 220px;
                    &:hover {
                        background-color: #f9f9f9;
                    }
                    img.miyagi-marugoto,
                    img.datenabas{
                        max-height: 24px;
                    }
                    img.sentabi{
                        max-height: 44px;
                    }
                    img.sendai-experience{
                        max-height: 48px;
                    }
                }
            }
        }
        .outdoor-wrap {
            width: 100%;
            padding-bottom: 50px;
            display: flex;
            flex-direction: column;
            align-items: center;
            background-color: #EEC646;
            .outdoor-fun {
                margin: 50px 0px 45px 0px;
                img.sizento-miyagi-logo{
                    max-height: 208px;
                }
            }
            .contact-info {
                margin-bottom: 30px;
                font-size: 15px;
                font-weight: 600;
                line-height: 28px;
                font-family: var(--font-notojp);
                .organization {
                    margin-bottom: 5px;
                }
                .contact-number {
                    display: flex;
                    justify-content: center;
                    gap: 20px;
                    margin: 0;
                }
            }
            .copyright {
                font-size: 12px;
                font-family: var(--font-notojp);
                margin: 0;
                font-weight: 400;
            }
        }
    }
@keyframes scrollVertical {
    0% {
        transform: translateY(0);
    }
    100% {
        transform: translateY(calc(-1 * var(--menu-list-height)));
    }
}
@keyframes scroll-tag {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-50%);
    }
}
@keyframes scroll-left {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-50%);
    }
}
@keyframes showLayer1 {
    to {
        opacity: 1;
        transform: scale(1) rotate(-5deg);
    }
}
@keyframes showLayer2 {
    to {
        opacity: 1;
        transform: scale(1) rotate(10deg);
    }
}
@keyframes showLayer3 {
    to {
        opacity: 1;
        transform: scale(1) rotate(3deg);
    }
}
@keyframes showLayer4 {
    to {
        opacity: 1;
        transform: scale(1) rotate(3deg);
    }
}
@keyframes showLayer5 {
    to {
        opacity: 1;
        transform: scale(1) rotate(6deg);
    }
}
@keyframes sendaiAnimate1 {
    to {
        opacity: 1;
        transform: scale(1) rotate(-5deg);
    }
}
@keyframes sendaiAnimate2 {
    to {
        opacity: 1;
        transform: scale(1) rotate(5deg);
    }
}
@keyframes sendaiAnimate3 {
    to {
        opacity: 1;
        transform: scale(1) rotate(0deg);
    }
}
@keyframes easyspot {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(-50%);
  }
}
@keyframes miyagiNatureAutumn {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(-50%);
  }
}
@keyframes miyagiOlle {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(-50%);
  }
}
@keyframes zaoTogattaFeature1 {
    to {
        opacity: 1;
        transform: scale(1) rotate(-5deg);
    }
}
@keyframes zaoTogattaFeature2 {
    to {
        opacity: 1;
        transform: scale(1) rotate(5deg);
    }
}
@keyframes zaoTogattaFeature3 {
    to {
        opacity: 1;
        transform: scale(1) rotate(-0deg);
    }
}
@keyframes heartbeat {
  0%   { transform: scale(1); opacity: 0; }
  5%  { transform: scale(1.2); opacity: 1; }
  10%  { transform: scale(1); }
  20%  { transform: scale(1.1); }
  30%  { transform: scale(1); }
  100% { transform: scale(1); }
  to{
    opacity: 1;
  }
}
@keyframes fluffy {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
}
@keyframes fluffy2 {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}

@keyframes fluffy3 {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}
@keyframes outDoor {
    from {
        opacity: 0;
        transform: scale(1.2);
    }
    to {
        opacity: 1;
        transform: scale(1.０);
    }
}
 @keyframes fadeInUp {
      to {
          opacity: 1;
          transform: translateY(0);
      }
  }
@keyframes fadeInDown {
  from { opacity: 0; transform: translateY(-20px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes steam-rise {
    0% {
        transform: translateY(0) scale(1);
        opacity: 0;
    }
    10% {
        opacity: 0.5;
    }
    50% {
        transform: translateY(-40px) scale(1.1);
        opacity: 0.7;
    }
    100% {
        transform: translateY(-80px) scale(1.2);
        opacity: 0;
    }
}
.custom-animation span {
      opacity: 0;
      transform: translateY(20px);
      display: inline-block;
      animation: fadeInUp 1s forwards;
  }
  .custom-animation.img-animated {
    opacity: 0;
    transform: translateY(-20px);
    animation-name: fadeInDown;
    animation-fill-mode: forwards;
    }
.modal {
    display: none;
    position: fixed;
    top: 0; left: 0;
    width: 100vw; height: 100vh;
    background-color: rgba(0, 0, 0, 0.6);
    justify-content: center;
    align-items: center;
    z-index: 9998;
    .modal-content {
        background: #ffffff;
        width: 445px;
        height: auto;
        max-width: 100%;
        border-radius: 20px;
        overflow: hidden;
        box-shadow: 0 8px 16px rgba(0, 0, 0, 0.3);
        position: relative;
        text-align: center;
        border: 1px solid #000;
        .modal-header {
            h2 {
                margin: 10px 0;
                font-size: 22px;
                font-family: var(--font-notojp);
                line-height: 39px;
                margin-top: 36px;
                a {
                    text-decoration: none;
                    color: #000;
                    position: absolute;
                    right: 8%;
                    top: 36px;
                    i {
                        float: right;
                        font-size: 21px;
                        border: 1px solid #000;
                        border-radius: 50%;
                        padding: 6px;
                        width: 40px;
                        height: 40px;
                        display: flex;
                        align-items: center;
                        justify-content: center;
                        text-decoration: none;
                        transition: transform 0.3s ease;
                        transform-origin: center center;
                        cursor: pointer;
                        &.hplink {
                            position: absolute;
                            right: -14px;
                            top: 0px;
                            font-size: 12px;
                            font-style: normal;
                        }
                        &:hover {
                            transform: scale(1.1);
                        }
                    }
                }
            }
        }
            img {
                width: 370px;
                height: auto;
                max-width: 100%;
                margin-top: 23px;
                }
            .description {
                width: 373.66px;
                max-width: 100%;
                margin: 0px auto;
                margin-bottom: 50px;
                margin-top: 15px;
                p {
                    font-family: var(--font-notojp);
                    text-align: left;
                    font-size: 15px;
                    letter-spacing: -1.1px;
                }
            }
            .close-btn {
                position: absolute;
                bottom: 15px;
                right: 15px;
                background: black;
                color: white;
                border: none;
                border-radius: 50%;
                width: 40px;
                height: 40px;
                font-size: 21px;
                transition: transform 0.3s ease;
                transform-origin: center center;
                cursor: pointer;
                &:hover {
                    transform: scale(1.1);
                }
            }
        }
        .modal-gourmet {
            background: #eec646;
            width: 445px;
            height: auto;
            max-width: 100%;
            border-radius: 20px;
            overflow: hidden;
            box-shadow: 0 8px 16px rgba(0, 0, 0, 0.3);
            position: relative;
            text-align: center;
            border: 1px solid #000;
            z-index: 9999;
            .wrap-modal {
                width: 380px;
                margin: 0px auto;
                .modal-header h2 {
                    margin: 10px 0;
                    font-size: 22px;
                    font-family: var(--font-notojp);
                    line-height: 39px;
                }
                img {
                    width: 370px;
                    height: auto;
                    max-width: 100%;
                    margin-top: 35px;
                    }
                .gourmet-content {
                    p.bg {
                        background: #000;
                        color: #FFF;
                        padding: 8px 8px 9px 8px;
                        text-align: center;
                        border-radius: 30px;
                        margin-bottom: 20px;
                        width: 100%;
                    }
                    .row {
                        display: flex;
                        gap: 20px;
                        text-align: left;

                        .col-left{
                            white-space: nowrap;
                        }
                    }
                    .group-link {
                        display: flex;
                        gap: 20px;
                        flex-wrap: wrap;
                        justify-content: center;
                        margin: 0px auto;
                        padding-top: 20px;
                        padding-bottom: 50px;
                        a {
                            width: 140px;
                            background: #ffffff;
                            padding: 8px 8px 9px 8px;
                            color: #000;
                            text-decoration: none;
                            text-align: center;
                            font-weight: 600;
                            letter-spacing: 0.1rem;
                            border-radius: 30px;
                            border: 2px solid #edc545;
                            &:hover{
                                transition: 0.3s;
                                border: 2px solid #edc545;
                                background: #fff;
                            }
                        }
                    }
                }
                .close-btn {
                    position: absolute;
                    bottom: 15px;
                    right: 15px;
                    background: black;
                    color: white;
                    border: none;
                    border-radius: 50%;
                    width: 40px;
                    height: 40px;
                    font-size: 21px;
                    cursor: pointer;
                }
            }
        }
    }
    .gourmet-matsushima, .gourmet-feature {
        position: relative;
        margin-top: 85px;
        background-color: #eec646;
        width: 100%;
        padding: 50px 0;
        border: 1px solid #000;
        border-radius: 165px 165px 0px 0px;
        img.gourmet {
            position: absolute;
            top: -47px;
            right: 20px;
            z-index: 0;
            max-height: 100px;
            transform-origin: center;
            backface-visibility: hidden;
            opacity: 0;
        }
        .gourmet.animate {
            animation: heartbeat 2s ease-in-out forwards;
            animation-iteration-count: 1;
        }
        .gourmet-information {
            width: 440px;
            margin: 0 auto;
            padding: 0px 0px 20px 0px;
            max-width: 100%;
            .wrap-gourmet {
                position: relative;
                margin: 0 auto;
                margin-top: 30px;
                    h2 {
                        text-align: center;
                        font-family: var(--font-notojp);
                        font-size: 23px;
                        font-weight: 600;
                        margin-bottom: 22px;
                    }
                .pc_nobreak{
                    display: none;
                }
                .gourmet-card {
                    display: flex;
                    justify-content: space-between;
                    width: 100%;
                    border: 2px solid #ffffff;
                    padding: 5.2%;
                    gap: 10px;
                    .gourmet-view {
                    width: 202px;
                        img {
                            width: 100%;
                        }
                    }
                    .content {
                        width: 190px;
                        p {
                            font-family: var(--font-notojp);
                            font-size: 13px;
                            line-height: 23px;
                            font-weight: 400;
                            text-align: justify;
                        }
                    }
                    .check-plus {
                        position: absolute;
                        bottom: -24px;
                        right: -10px;
                        width: 60px;
                        height: 60px;
                        background-color: #fff;
                        border: 1px solid #000;
                        border-radius: 50px;
                        display: flex;
                        justify-content: center;
                        text-align: center;
                        align-items: center;
                        transition: transform 0.3s ease;
                        transform-origin: center center;
                        cursor: pointer;
                        a {
                            font-family: var(--font-notojp);
                            font-size: 12.64px;
                            font-weight: 900;
                            color: #000;
                            text-decoration: none;
                            text-transform: uppercase;
                            margin-top: -10px;
                            padding: 25px 10px;
                            span {
                                top: 30px;
                                position: absolute;
                                font-size: 14px;
                                font-family: var(--font-notojp);
                                font-weight: 900;
                                left: 26px;
                            }
                        }
                        &:hover {
                            transform: scale(1.1);
                        }
                    }
                }
            }
        }
    }
    .nature-miyagi-horizontal-tag, .gourmet-block {
        overflow: hidden;
        width: 100%;
        margin-top: 50px;
        padding: 2px 0;
        .horizontal-tag {
            display: flex;
            width: max-content;
            animation: scroll-tag 30s linear infinite;
            ul {
                display: flex;
                padding: 0;
                margin: 0;
                li {
                    list-style: none;
                    flex-shrink: 0;
                    margin-right: 10px;
                    cursor: default;
                    .tag-item {
                        display: inline-block;
                        border-radius: 20px;
                        padding: 10px 15px;
                        border: 1px solid #000;
                        text-decoration: none;
                        color: #000;
                        font-weight: 500;
                        white-space: nowrap;
                        display: flex;
                        justify-content: center;
                        align-items: center;
                        font-size: 0.8rem;
                        letter-spacing: 0.05rem;
                        line-height: 1.2;
                    }
                }
            }
        }
    }
    .miyagi-prefecture,
    .miyagi-prefecture-season {
        transform:translate3d(0,0,0);
        overflow: hidden;
        width: 100%;
        position: relative;
        .miyagi-season {
            display: flex;
            width: fit-content;
            animation: miyagiOlle 30s linear infinite;
            position: relative;
            z-index: 10;
            img {
            width: auto;
            height: 50px;
            padding-right: 18px;
            }
        }
        &.miyagi-prefecture {
            margin-top: 300px;
        }
        &.miyagi-prefecture-season {
            margin-top: 75px;
        }
    }
.modal-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.7);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  .active {
        display: flex;
    }
    .card-container {
        max-width: 430px;
        height: auto;
        border-radius: 12px;
        position: relative;
        box-sizing: border-box;
        /* box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2); // remove for task #129 */
        display: flex;
        flex-direction: column;
        align-items: center;
        .card-close-button {
            position: absolute;
            top: -22px;
            right: 0px;
            width: 40px;
            height: 40px;
            background-color: #000;
            color: white;
            border-radius: 50%;
            display: flex;
            justify-content: center;
            align-items: center;
            font-size: 18px;
            z-index: 2;
            transition: transform 0.3s ease;
            transform-origin: center center;
            cursor: pointer;
            &:hover {
                transform: scale(1.1);
            }
        }
        .modal-slider {
            position: relative;
            width: 100%;
            overflow: hidden;
            height: 90vh;
            max-height: 900px;
            overflow-y: scroll;
            .slide {
                width: 100%;
                background-color: white;
                border-radius: 12px;
                overflow: hidden;
                padding: 30px 25px;
                box-sizing: border-box;
                display: none;
                position: relative;
                .active {
                    display: block;
                }
                .header {
                    display: flex;
                    justify-content: center;
                    align-items: center;
                    border-bottom: 1px solid #000;
                    padding-bottom: 20px;
                    .city-name {
                        font-size: 17px;
                        font-weight: 600;
                        color: #000;
                        font-family: var(--font-notojp);
                        line-height: 17.15px;
                    }
                }
                .main-content {
                    margin-bottom: 20px;
                    .title {
                        font-size: 21px;
                        font-weight: bold;
                        margin-bottom: 5px;
                        text-align: center;
                        padding: 20px 0 10px;
                        font-family: var(--font-notojp);
                    }
                    .image-container {
                        width: 100%;
                        display: flex;
                        justify-content: center;
                        align-items: center;
                        position: relative;
                        margin-bottom: 15px;
                        border-radius: 8px;
                        img {
                            width: 100%;
                            height: auto;
                            max-height: 210px;
                            object-fit: cover;
                        }
                        .arrow {
                            position: absolute;
                            top: 50%;
                            transform: translateY(-50%);
                            font-size: 30px;
                            color: #555;
                            cursor: pointer;
                            .left-arrow {
                                left: 10px;
                            }
                            .right-arrow {
                                right: 10px;
                            }


                        }
                    }
                    .description {
                        p {
                            font-family: var(--font-notojp);
                            font-size: 14px;
                            line-height: 1.6;
                            color: #000;
                            font-weight: 400;
                        }
                    }
                }
                .information-section {
                    border-top: 1px solid #e0e0e0;
                    padding-top: 20px;
                    margin-top: 15px;
                    .information-title {
                        font-weight: bold;
                        font-size: 13px;
                        font-family: var(--font-notojp);
                        margin-bottom: 10px;
                        background-color: #000;
                        border-radius: 30px;
                        text-align: center;
                        padding: 10px 0px;
                        color: #fff;
                        line-height: 17.26px;
                    }
                    .info-item {
                        display: flex;
                        flex-wrap: wrap;
                        margin-bottom: 8px;
                        font-family: var(--font-notojp);
                        font-size: 14px;
                        line-height: 24px;
                        color: #000;
                        .label {
                            width: 90px;
                        }
                        .value {
                            flex-grow: 1;
                            width: calc(100% - 90px);
                        }

                    }
                }
                .footer {
                    width: 100%;
                    margin-top: 15px;
                }

            .footer .details-button {
                margin-inline: auto;
                bottom: 0;
                display: flex;
                align-items: center;
                background-color: #eec646;
                padding: 10px 20px;
                border-radius: 25px;
                cursor: pointer;
                width: 173px;
                justify-content: center;
                position: relative;
                box-sizing: border-box;
                border: 2px solid #edc545;
                &:hover{
                    transition: 0.3s;
                    border: 2px solid #edc545;
                    background: #fff;
                }
                .button-text {
                    font-weight: bold;
                    color: #000;
                    font-family: var(--font-notojp);
                    font-size: 12px;
                    text-align: center;
                    flex: 1;
                }
                .arrow-right {
                    position: absolute;
                    right: 15px;
                    font-size: 18px;
                    margin-left: 0;
                }
            }
                .pagination {
                    display: flex;
                    justify-content: center;
                    margin-top: 10px;
                }
            }
        }
        .modal-nav {
            width: 100%;
            position: absolute;
            top: 31.5%;
            transform: translateY(-50%);
            display: flex;
            justify-content: space-between;
            padding: 0 2px;
            z-index: 10;
            .arrow.prev,
            .arrow.next {
                position: static;
                cursor: pointer;
                user-select: none;
                width: 45px;
                height: 44px;
                display: flex;
                justify-content: center;
                align-items: center;
                background: #fff;
                border-radius: 40px;
                border: 1px solid;

            }
            .arrow svg {
                width: 27px;
                height: 18px;
                stroke: #010101;
                stroke-width: 5;
                stroke-linecap: round;
                stroke-linejoin: round;
            }
        }
    }
}
@keyframes slideIn {
  from {
    transform: translateY(20px);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}
/* .no-scroll {
  position: fixed;
  width: 100%;
  overflow: hidden;
} */

.sizen-miyagi-fadein {
  opacity: 0;
  transform: translateY(20px) scale(1.2);
  filter: blur(1px);
  transition: opacity 0.5s ease, transform 0.5s ease, filter 0.5s ease;
}

.sizen-miyagi-fadein.animate {
  opacity: 1;
  transform: translateY(0) scale(1);
  filter: blur(0);
}

 .fade-in-text {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 1s ease, transform 1s ease;
  }

  .fade-in-text.active {
    opacity: 1;
    transform: translateY(0);
  }

/* #top {
    position: relative;
    .arrow {
        position: absolute;
        left: -20px;
        top: 50%;
        transform: translateY(-50%);
        opacity: 0;
        transition: opacity 0.3s ease;
        filter: drop-shadow(0.5px 0 0 black) drop-shadow(0 1px 0 black);
    }
        &.active {
            .arrow {
                opacity: 1;
            }
        }
    } */
.accordion {
  &.open {
    .accordion-content {
      button.active {
        .arrow {
          opacity: 1;
        }
      }
    }
  }
}

.what-nature-miyagi .arrow {
  opacity: 0;
  transition: opacity 0.3s ease;
  filter: drop-shadow(0.5px 0 0 black) drop-shadow(0 1px 0 black);
}

#what-nature-miyagi.active + .arrow,
.what-nature-miyagi .top-button.active ~ .arrow {
  opacity: 1;
}

/* SP Menu Button */
#sizen-miyagi {
    main{
        position: relative;
    }
    .sp-btn-wrapper {
        display: none;
        position: fixed;
        z-index: 10000;
        top: 1%;
        right: 5%;
        background-color: #000;
        border-radius: 50%;
        max-width: 100%;
        justify-content: center;
        align-items: center;
        aspect-ratio: 1 / 1;
        height: 36px;
        width: 36px;
        padding: 6px;
        
          /* 初期状態では非表示（透明で見えない、操作もできない） */
        opacity: 0;
        visibility: hidden;

        /* フワッと表示させるためのアニメーション設定 */
        transition: opacity 0.4s ease, visibility 0.4s ease;

        .btn-trigger {
            width: 18px;
            position: relative;
            cursor: pointer;
            display: flex;
            flex-direction: column;
            justify-content: space-evenly;
            aspect-ratio: 1 / 1;
        }
        .btn-trigger span {
            position: absolute;
            left: 0;
            width: 100%;
            height: 1px;
            background-color: #fff;
        }
        .btn-trigger, .btn-trigger span {
            transition: all .5s;
            box-sizing: border-box;
        }
        .btn-trigger span:nth-of-type(1) {
            top: 4px;
        }
        .btn-trigger span:nth-of-type(2) {
            top: 9px;
        }
        .btn-trigger span:nth-of-type(3) {
            bottom: 3px;
        }
        
        #sp-btn.active span:nth-of-type(1) {
        -webkit-transform: translateY(12px) rotate(45deg);
        transform: translateY(4px) rotate(45deg);
        }
        #sp-btn.active span:nth-of-type(2) {
        opacity: 0;
        }
        #sp-btn.active span:nth-of-type(3) {
        -webkit-transform: translateY(-12px) rotate(-45deg);
        transform: translateY(-6px) rotate(-45deg);
        }
    }
    /* 表示用のクラスが付与された時のスタイル */
    .sp-btn-wrapper.is-visible {
    /* 表示（不透明で見える、操作もできる） */
    opacity: 1;
    visibility: visible;
    }
}

#sizen-miyagi.no-scroll {
    overflow: hidden;
}
#sizen-miyagi.no-scroll .sp-btn-wrapper {
    opacity: 1;
    visibility: visible;
}

/* Adjust the detail layouts */
h2.mizoletbokutoh{
    font-family: "mizoletbokutoh", sans-serif;
}

/* Safari */
_::-webkit-full-page-media, _:future, :root #sizen-miyagi{
    /* ボタン自体はスワイプ操作を受け付けないようにする */
    .check-plus{
    pointer-events: none;
    }

    /* ボタンの中にあるリンク(aタグ)だけはクリックできるようにする */
    .check-plus a {
    pointer-events: auto;
    }
    #sp-menu{
        button{
            color: #000;
        }
        .what-nature-miyagi{
            button{
                color: #FFF;
            }
        }
    }
    .main-miyagi-cuisine{
        .block-things{
            .card{
                .card-body{
                    .cuisine-ingredient{
                        .card.vegetable{
                            img{
                                margin-left: 56px;
                            }
                            .fresh-vegetables {
                                left: 221px;
                            }
                        }
                    }
                }
            }
        }
        .block-content{
            .miyagi-outdoor, .miyagi-rest-area{
                .card{
                    img{
                        object-fit: scale-down;
                        width: initial;
                    }
                    .modal-content img{
                        object-fit: contain;
                        width: 100%;
                    }
                }
            }

        }
    }
    .sidebar{
        .aside-right{
            .menu{
                h2 {
                    font-size: 15px;
                    font-weight: 600;
                    padding-bottom: 16px;
                }
            }
        }
    }
    .main-content-wrapper{
        .container{
            .nature-miyagi-vertical-tag{
                .vertical-tag{
                    .tag-item{
                        p{
                            span {
                                text-orientation: sideways;
                            }
                        }
                    }
                }
            }
            .content-text{
                .scroll-down{
                    .scroll-text {
                        font-weight: 700;
                        font-size: 10px;
                    }
                }
            }
        }
    }
    .gourmet-matsushima{
        z-index: auto;
    }
    @media (max-width: 499px){
        .modal{
            .modal-content {
                width: 94%;
            }
        }
    }
}
/* =============================================== */
/* 横スクロール解消のための追加CSS                 */
/* =============================================== */
html, body {
    overflow-x: hidden;
}

#sizen-miyagi {
    width: 100%;
    overflow: hidden;
}