@media (max-width: 600px) {
    body {
        font-size: 14px;
    }
}

@media (max-width: 540px) {
    body {
        font-size: 12px;
    }
}

@media (max-width: 480px) {
    body {
        font-size: 10px;
    }
}



@media (max-width: 768px) {
    .header-swiper {
        display: flex;
        padding-top: 20vw;
    }

    .header-swiper .swiper-pagination {
        display: flex;
        top: unset;
        bottom: unset;
        flex-direction: column;
        align-items: center;
        justify-content: end;
        position: unset;
        width: 10vw !important;
        gap: 1.5vw;
    }

    .header-swiper .swiper-pagination-bullet {
        width: 2.5vw !important;
        height: 2.5vw !important;
        border: 2px solid #749562 !important;
        background-color: transparent !important;
    }

    .header-swiper .swiper-pagination-bullet-active {
        background-color: #749562 !important;
    }

    .page-header__swiper {
        width: 80%;
        margin-right: 10% !important;
        height: 80dvh;
        border-radius: 16px;
    }

    .page-header {
        display: none;
    }


    .page-header-sp__top {
        background-color: black;
        width: 100%;
        height: 12px;
    }

    .page-header-sp {
        display: block;
        position: fixed;
        z-index: 1000000;
        width: 100vw;
    }

    .page-header-sp__container {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        padding: 0 16px;
    }

    .page-header-sp__logo {
        display: flex;
        flex-direction: row;
        justify-content: center;
        flex-grow: 1;
    }

    .page-header-sp__left-dummy {
        width: 12vw;
    }

    .page-header-sp__rightbutton {
        width: 12vw;
        padding: 2vw 1vw;
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: 16px;
    }

    .page-header-sp__rightbutton-white {
        width: 100%;
        height: 1.5vw;
        border-radius: 4px;
        background-color: white;
    }

    .page-header-sp__logo-link {
        display: block;
        width: 70%;
    }

    .page-header-sp__logo-image {
        background: black;
        border-radius: 0 0 12px 12px;
        padding: 0 24px 12px 24px;
    }

    .page-header-sp__logo-side {
        height: 32px;
    }

    .page-header-sp__left-white {
        width: 24px;
        height: 32px;
        background-color: #f4f0eb;
        margin-right: -24px;
        border-radius: 0 12px 0 0;
        z-index: 1900;
    }

    .page-header-sp__left-black {
        width: 24px;
        height: 32px;
        background-color: black;
    }

    .page-header-sp__right-white {
        width: 24px;
        height: 32px;
        background-color: #f4f0eb;
        margin-left: -24px;
        border-radius: 12px 0 0 0;
        z-index: 1000;
    }

    .page-header-sp__right-black {
        width: 24px;
        height: 32px;
        background-color: black;
    }

    .page-header__branding {
        display: none;
    }

    .page-header__hero {
        right: 10%;
        top: unset;
        padding-top: 20vw;
    }

    .page-header__hero-vertical-text>span {
        font-size: 1.2em;
    }

    .page-header__hero-vertical-text-2 {
        margin-top: 10em;
    }


    .news-section {
        display: none;
    }

    .news-sp-section {
        display: block;
    }

    .news-sp-section__item {
        display: flex;
        margin-bottom: 32px;
    }

    .news-sp-section__item-image {
        width: 30%;
        border-radius: 8px;
        aspect-ratio: 4 / 3;
        position: relative;
        overflow: hidden;
    }

    .news-sp-section__item-image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .news-sp-section__item-title-container {
        margin-left: 12px;
    }

    .news-sp-section__item-title {
        font-size: 1.2em;
        line-height: 1.8;
        font-weight: 100;
    }

    .news-sp-section__item-text {
        margin: 0 12px;
        font-size: 0.8em;
        line-height: 1.5;
    }

    .news-sp-section__item-more {
        width: fit-content;
        margin-left: auto;
        margin-right: 3em;
        display: block;
        margin-top: auto;
    }

    .news-sp-section__item-more p {
        width: fit-content;
        margin-right: 1em;
    }

    .news-sp-section__item-more img {
        margin-top: -0.5em;
        margin-left: -2%;
        display: block;
    }

    .news-sp-section__item-content {
        display: flex;
        flex-direction: column;
        width: 70%;
    }

    .about-section {
        margin-top: 24px;
    }

    .about-section__content-right {
        display: none;
    }

    .about-section__content-lr {
        display: block;
    }

    .about-section__icons {
        margin: 0 4%;
        margin-top: 16px;
        gap: 3%
    }

    .about-section__go-detail {
        display: none;
    }

    .about-section__go-detail-sp {
        display: block;
        margin-top: 48px;
        font-size: 1.5em;
        text-decoration: none;
        margin-left: auto;
        margin-right: 3em;
        width: fit-content;
    }

    .about-section__go-detail-sp p {
        width: fit-content;
        margin-right: 1em;
    }

    .about-section__go-detail-sp img {
        margin-top: -0.5em;
        margin-left: -2%;
        display: block;
    }

    .hr {
        display: none;
    }

    .limit-width {
        padding-left: 10% !important;
        padding-right: 10% !important;
    }

    .bottom-menu {
        position: absolute;
        top: 8vh;
        bottom: unset;
        top: 65vh;
    }

    .bottom-menu__status-bar {
        visibility: hidden;
    }

    .about-section__header {
        display: none !important;
    }

    .section-header {
        display: flex;
        align-items: center;
    }

    .section-header-english {
        letter-spacing: normal;
        font-size: 1.7em;
        font-weight: 600;
        margin-right: 32px;
    }

    .section-header-japanese {
        font-size: 1.2em;
    }

    .section-description {
        text-align: left;
    }

    .activity-section__item-more {
        width: fit-content;
        margin-left: auto;
        margin-right: 3em;
        display: block;
        margin-top: auto;
    }

    .activity-section__item-more p {
        width: fit-content;
        margin-right: 1em;
    }

    .activity-section__item-more img {
        margin-top: -0.5em;
        margin-left: -2%;
        display: block;
    }

    .activity-section__filter {
        gap: 4%;
    }

    .activity-section__filter-button {
        gap: 4px;
    }

    .information-section__buttons {
        gap: 2%;
    }

    .information-section__button {
        padding: 4px;
        padding-top: 16px;
        padding-bottom: 8px;
    }

    .information-section__button-english {
        font-size: 1.2em;
    }

    .information-section__button-japanese {
        font-size: 0.6em;
    }

    .modelcourse-section__buttons {
        flex-wrap: wrap;
        gap: 4%
    }

    .modelcourse-section__button {
        width: 48%;
        margin-bottom: 4%;
    }

    .footer-section__decoration {
        display: none;
    }

    .footer-section {
        margin-top: 48px;
    }

    .footer-section__color-block {
        margin-top: 0;
    }

    .contact-section__form-container {
        padding: 6%;
    }

    .contact-section__selector {
        gap: 1.5em;
        font-size: 0.9em;
    }

    .sp-news-section {
        display: block;
        margin-bottom: 4em;
    }

    .sp-news-section__container {
        display: block;
    }

    .sp-news-section__item {
        display: flex;
        margin-bottom: 32px;
    }

    .sp-news-section__item-image {
        width: 30%;
        border-radius: 0;
    }

    .sp-news-section__item-image img {
        object-fit: cover;
        width: 100%;
        height: 100%;
        border-radius: 8px;
    }

    .sp-news-section__item-content {
        width: 70%;
        display: flex;
        flex-direction: column;
    }


    .sp-news-section__item-title-container {
        display: flex;
        align-items: center;
        gap: 8px;
    }

    .sp-news-section__item-title {
        font-size: 1.2em;
        line-height: 1.8;
        margin-left: 12px;
    }

    .sp-news-section__item-text {
        font-size: 0.8em;
        line-height: 1.5;
        margin: 0 12px;
    }

    .sp-news-section__item-more {
        width: fit-content;
        margin-left: auto;
        margin-right: 3em;
        display: block;
        margin-top: auto;
    }

    .sp-news-section__item-more a {
        width: fit-content;
        margin-right: 1em;
    }

    .sp-news-section__item-more img {
        margin-top: -0.5em;
        margin-left: -2%;
        display: block;
    }

    .activity-section__container {
        display: block;
    }

    .activity-section__item {
        display: flex;
        margin-bottom: 32px;
    }

    .activity-section__item-image {
        width: 30%;
        border-radius: 0;
    }

    .activity-section__item-image img {
        border-radius: 8px;
    }

    .activity-section__item-category {
        display: none;
    }

    .activity-section__item-content {
        width: 70%;
    }

    .activity-section__item-content hr {
        display: none;
    }

    .activity-section__item-title {
        font-size: 1.2em;
        line-height: 1.8;
    }

    .activity-section__item-text {
        font-size: 0.8em;
        line-height: 1.5;
    }

    .activity-section__item-title-category {
        display: block;
    }

    .activity-section__item-title-container {
        display: flex;
        align-items: center;
        gap: 8px;
    }

    .map-section__image-item-title-category {
        display: block;
        font-size: 0.8em;
        padding: 2px 8px;
        font-weight: 300;
        aspect-ratio: 1 / 1;
        align-content: center;
    }

    .map-section__image-item-title-location {
        font-size: 0.8em;
    }

    .map-section__images-container {
        display: block;
    }

    .map-section__image-item {
        display: flex;
        margin-bottom: 32px;
    }

    .map-section__image-item-image {
        width: 30%;
        border-radius: 0;
    }

    .map-section__image-item-content {
        width: 70%;
    }

    .map-section__image-item-content hr {
        display: none;
    }

    .map-section__image-item-title {
        font-size: 1.2em;
        line-height: 1.5;
    }

    .map-section__image-item-text {
        font-size: 0.8em;
        line-height: 1.5;
    }

    .map-section__image-item-more {
        display: block;
        margin-top: 16px;
        margin-left: auto;
        margin-right: 3em;
        display: block;
        width: fit-content;
    }

    .map-section__image-item-more a {
        width: fit-content;
        margin-right: 1em;
    }

    .map-section__image-item-more img {
        margin-top: -0.5em;
        margin-left: -2%;
        display: block;
    }

    .map-section__selector-container {
        display: none;
    }

    .map-section__selector-container-sp {
        display: flex;
        gap: 16px;
        justify-content: center;
    }


    .map-section__selector-item-sp-inner {
        display: block;
        height: 0.6em;
        width: 0.6em;
        border-radius: 50%;
        margin: 0.15em;
    }

    .map-section__selector-item-sp {
        display: flex;
        align-items: center;
        gap: 0.5em;
        cursor: pointer;
    }

    .map-section__selector-item-sp-outer {
        border-radius: 50%;
        border: #000 1.5px solid;
    }

    .map-section__selector-item-selected {
        opacity: 1;
    }


    .footer-section__logo {
        grid-column: 1 / 3;
    }

    .footer-section__info {
        grid-row: 3;
    }

    .footer-section__calendar {
        grid-row: 3;
        grid-column: 1;
    }

    .footer-section__links {
        grid-row: 2;
        grid-column: 1 / 3;
        justify-content: center;
    }

    .access-page-choices {
        display: flex;
        flex-direction: column !important;
        justify-content: center;
        align-items: center;
        gap: 1em !important;
    }

    .access-page-button {
        background-color: #2f4e3d;
        color: #fff;
        padding: 0.7rem 1.4rem;
        border-radius: 3.125rem;
        text-decoration: none;
        font-size: 1.8em;
        display: inline-flex;
        justify-content: center;
        align-items: center;
        column-gap: 2dvh;
        width: 30vw;
        min-width: min(300px, 80vw);

        .icon {
            width: 1.5em;
            height: 1.5em;
            margin-left: 8px;
        }
    }

    .access-page-title--car-catch {
        width: 10rem;
    }

    .access-page-section {
        overflow-x: hidden;
    }

    .access-page-title--car::after {
        content: url("img/access_car_illust_1.svg");
        position: absolute;
        right: 0;
        bottom: 0;
        width: min(35vw, 80px);
        transform: translate(6vw, -1vw);
    }

    .access-page-title--car::before {
        content: url("img/access_car_illust_2.svg");
        position: absolute;
        left: 0;
        bottom: 0;
        width: min(35vw, 70px);
        transform: translate(1vw, -1vw);
    }

    .access_details summary {
        display: flex;
        justify-content: space-between;
        align-items: center;
        position: relative;
        padding: 1em 2em;
        color: #333333;
        font-weight: 600;
        font-size: 1rem;
        cursor: pointer;
    }

    .menu-container {
        display: flex;
    }
}

@media (max-width: 768px) {
    .access-page-title--car::after {
        content: "";
    }

    .access-page-title--car::before {
        content: "";
    }

    .schedule-detail {
        display: flex;
        flex-direction: column;
        gap: 0;
    }

    .schedule-page-title{
        font-size: 7em;
    }

    .faq-answer {
        font-size: 2em;
  }
    .access-page-title--train::after {
        content: "";
    }

    .access-page-title--train::before {
        content: "";
    }
}