html, body {
    color: #41484D;
    font-family: 游ゴシック体;
    font-size: 16px;
    overflow-x: hidden;
    background-color: #E6E4E1;
    margin: 0;
    line-height: 1;
}

.reveal {
    opacity: 0;
}

.reveal.appear {
    animation: appear 2s;
    opacity: 1;
}

@keyframes appear {
    0% {
        opacity: 0;
        transform: translateY(40px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

* {
    box-sizing: border-box;
    margin: 0;
}

a {
    text-decoration: none;
    color: inherit;
}

img {
    display: block;
    object-fit: cover;
}

.content-area {
    width: 100%;
    max-width: 1230px;
    margin: auto;
    padding: 0 30px;
    position: relative;
}

.inner-area {
    width: 100%;
    max-width: 770px;
    margin: auto;
}

.section {
    padding-bottom: 120px;
}

.h1 {
    /*ページタイトル*/
    font-size: 52px;
    font-family: 'Philosopher';
    letter-spacing: 0.1em;
}

.h2 {
    /*Geo Sento*/
    font-size: 40px;
    font-family: 'Philosopher';
    letter-spacing: 0.1em;
}

.h3 {
    /*section title*/
    font-size: 32px;
    font-family: 'Philosopher';
    font-weight: normal;
    letter-spacing: 0.1em;
    margin-bottom: 20px;
}

.h4 {
    /*地球を感じる*/
    font-size: 24px;
    font-family : YuMincho, 'Yu Mincho', serif;
    font-weight: normal;
    letter-spacing: 0.1em;
    line-height: 1.8;
}

.h5 {
    /*江古田湯*/
    font-size: 24px;
    font-family : YuMincho, 'Yu Mincho', serif;
    font-weight: normal;
    letter-spacing: 0.1em;
}

.h6 {
    /*自然を感じる*/
    font-size: 20px;
}

.h2__mincho {
    font-family : YuMincho, 'Yu Mincho', serif;
    font-weight: 500;
}

.subtitle {
    font-size: 16px;
    font-family : YuMincho, 'Yu Mincho', serif;
    font-weight: 600;
    letter-spacing: 0.1em;
}

.body-text {
    font-size: 14px;
    letter-spacing: 0.1em;
    line-height: 1.8;
}

.body-text_space_none {
    letter-spacing: 0;
}

.br_pc {
    display: block;
}

.br_sp {
    display: none;
}

.copy-right {
    font-size: 12px;
    letter-spacing: 0.1em;
    background-color: #1F3759;
    text-align: center;
    padding: 16px 0;
}

.loading {
    width: 100vw;
    height: 200vh;
    background-color: #E6E4E1;
    display: flex;
    align-items: center;
    justify-content: center;
    position: fixed;
    top: 0;
    z-index: 4;
    pointer-events: none;
    opacity: 0;
    transition: .8s ease-out 1s;
}

.loading__img {
    display: block;
    position: absolute;
    top: 25%;
    transform: translateY(-50%);
}

.loading.show {
    pointer-events: auto;
    opacity: 1;
}

/*header*/
.menu__icon {
    position: fixed;
    top: 72px;
    right: 135px;
    z-index: 2;
}

.menu__line {
    display: block;
    width: 40px;
    height: 2px;
    background-color: #BAA283;
    margin-bottom: 10px;
}

.menu__line-close_1 {
    transform: rotate(45deg);
    transform-origin: left;
}

.menu__line-close_2 {
    transform: translateY(16px) rotate(-45deg);
    transform-origin: left;
}

.menu__body {
    position: fixed;
    width: 100vw;
    height: 100vh;
    z-index: 2;
    background-image: url(../images/Img-MV01.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    opacity: 0;
    pointer-events: none;
    transition: .2s linear;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

.menu__body.open {
    pointer-events: auto;
    opacity: 1;
}

.menu__content-area {
    display: grid;
    grid-template-rows: 1fr 64px;
    height: 100vh;
}

.menu__content-block {
    display: grid;
    grid-template-columns: minmax(45%, 470px) 1fr;
    align-items: center;
    justify-content: space-between;
    gap: 10.7%;
    padding: 160px 6.94vw 0;
}

.menu__image img {
    aspect-ratio: 470 / 290;
    width: 100%;
}

@supports not (aspect-ratio: 470 / 290) {
    .menu__image {
        position: relative;
        padding-top: 63.404%;
    }

    .menu__image img {
        object-fit: cover;
        position: absolute;
        top: 0;
        right: 0;
        width: 100%;
        height: 100%;
    }
}

.menu__list {
    list-style: none;
    padding-left: 0;
    margin-bottom: 60px;
}

.menu__item {
    color: #F2A191;
}

.menu__link {
    display: flex;
    align-items: baseline;
    justify-content: start;
    padding-bottom: 30px;
}

.menu__item:hover {
    color: #5C7599;
}

.menu__item.active {
    color: #5C7599;
}

.menu__text-main {
    font-family: 'Philosopher';
    font-size: 40px;
    line-height: 1;
    margin-bottom: 8px;
}

.menu__num {
    display: inline-block;
    height: 40px;
    font-family: 'Philosopher';
    margin-right: 16px;
}

.menu__sns {
    text-align: right;
    width: 198px;
}

.menu__sns-link {
    display: inline-block;
}

.menu__sns-link:first-child {
    margin-right: 30px;
}

.menu__copy-right {
    color: #F2A191;
    background: none;
    padding: 32px 0 0 0;
}

/*top*/
.top {
    height: 100vh;
}

.top__content-area {
    height: 100vh;
}

.top__content-wrap {
    height: 84.4%;
    display: grid;
    grid-template-columns: 57.98% 1fr;
    gap: 70px;
}

.top__key {
    width: calc(100% + 50vw - 50%);
    margin-left: calc(50% - 50vw);
    height: 100%;
    position: relative;
}

.top__key-img {
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    animation-duration: 24s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    animation-name: fade-in;
    animation-delay: -16s;
}

.top__key-img_2 {
    animation-delay: -8s;
}

.top__key-img_3 {
    animation-delay: unset;
}

@keyframes fade-in {
    0% {
        opacity: 0;
    }
    30% {
        opacity: 0;
    }
    33.3% {
        opacity: 1;
    }
    63.6% {
        opacity: 1;
    }
    66.6% {
        opacity: 0;
    }
    100% {
        opacity: 0;
    }
}

.top__logo {
    position: fixed;
    top: 64px;
    z-index: 3;
}

.top__title-wrap {
    position: relative;
    top: 250px;
}

.top__title {
    margin-bottom: 36px;
}

.top__subtitle {
    letter-spacing: 0.1em;
    font-weight: bold;
}

.top__decorate-img {
    position: absolute;
    top: 250px;
    left: 0;
    right: 0;
    height: 720px;
}

.top__decorate-img_sp {
    display: none;
}

.top__info {
    margin-left: calc(50% - 50vw);
    padding-left: calc(50vw - 50%);
    margin-top: auto;
    margin-bottom: 10px;
    width: fit-content;
}

.info {
    font-family: 'Philosopher';
    font-weight: bold;
    display: flex;
    align-items: center;
    height: 80px;
    background-color: #BAA283;
    letter-spacing: 0.1em;
}

.info__item {
    text-align: center;
    padding: 0 26px;
    margin: auto 0;
}

.info__item-bordered {
    padding-left: 0;
    border-right: 1px dotted rgba(0,0,0,0.3);
}

.info__title {
    line-height: 1;
    margin-bottom: 2px;
    font-size: 14px;
}

.info__content {
    font-size: 18px;
}

.info__content-small {
    display: inline-block;
    margin-left: 4px;
    font-size: 14px;
    vertical-align: middle;
}

.info__sns-wrap {
    display: flex;
    align-items: start;
}

.sns-block {
    width: 80px;
    text-align: center;
    height: 80px;
    background-color: #B3B0AA;
}

.sns-block__icon {
    display: block;
    margin: auto;
    height: 80px;
}

.sns-block_background_light {
    background-color: #BFBCB6;
}

.sns-block__icon {
    width: 40px;
    height: 40px;
    margin: 20px auto;
}

.scroll-lead {
    position: absolute;
    right: 50px;
    bottom: 140px;
    text-align: center;
    text-align: -webkit-center;
}

.scroll-lead__line {
    width: 1px;
    height: 40px;
    background-color: #000;
    margin-right: 2px;
    margin-bottom: 48px;
    animation: sdl 4s cubic-bezier(1, 0, 0, 1) infinite;
}

@keyframes sdl {
    0% {
        transform: scale(1, 0);
        transform-origin: 0 0;
    }
    30% {
        transform: scale(1, 1);
        transform-origin: 0 0;
    }
    70% {
        transform: scale(1, 1);
        transform-origin: 0 100%;
    }
    100% {
        transform: scale(1, 0);
        transform-origin: 0 100%;
    }
}

.scroll-lead__text {
    transform: rotate(90deg);
    font-family: 'Philosopher';
    letter-spacing: 0.1em;
    font-weight: bold;
}

.about {
    background-image: url("../images/Bg-Geo_Top.svg");
    background-size: 100% auto;
    background-repeat: no-repeat;
    background-color: #1F3759;
    margin-top: -240px;
    padding-top: calc(240px + 38px);
    color: #F2A191;
}

.about__title {
    margin-bottom: calc(32px - 0.25em);
}

.about__subtitle {
    font-family: 'Philosopher';
    letter-spacing: 0.1em;
    font-weight: bold;
    font-size: 18px;
}

.about__inner-area {
    padding-top: 80px;
}

.about__lead-text {
    margin-bottom: 44.8px;
}

.about__body-text {
    margin-bottom: 96px;
}

.about__text-block {
    margin-bottom: 12px;
}

.about__img-wrap {
    position: relative;
}

.about__primary-img img {
    width: 74%;
    aspect-ratio: 347 / 195;
    position: relative;
    margin-left: auto;
    z-index: 1;
}

@supports not (aspect-ratio: 347 / 195) {
    .about__primary-img {
        position: relative;
        width: 74%;
        margin-left: auto;
    }

    .about__primary-img::before {
        content: "";
        display: block;
        padding-top: 56.19%;
    }

    .about__primary-img img {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }
}

.about__secondary-img img {
    width: 48%;
    aspect-ratio: 200 / 180;
    position: relative;
    left: -12.9%;
    margin-top: -160px;
}

@supports not (aspect-ratio: 200 / 180) {

    .about__secondary-img {
        width: 48%;
        position: relative;
        left: -12.9%;
        margin-top: -160px;
    }

    .about__secondary-img::before {
        content: "";
        display: block;
        padding-top: 86.486%;
    }

    .about__secondary-img img {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 100%;
        margin-top: unset;
    }
}

.media {
    position: relative;
}

.media__img img {
    min-width: 720px;
    width: 62.84vw;
    max-width: 1005.44px;
    aspect-ratio: 1.6 / 1;
    margin-left: calc(50% - 50vw);
}

@supports not (aspect-ratio: 1.6 / 1) {

    .media__img {
        position: relative;
        min-width: 720px;
        width: 62.84vw;
        max-width: 1005.44px;
        margin-left: calc(50% - 50vw);
    }

    .media__img::before {
        content: "";
        display: block;
        padding-top: 62.5%;
    }

    .media__img img {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 100%;
        margin-left: unset;
    }
}

.media__content-block {
    position: absolute;
    width: 570px;
    padding: 100px 36px 120px 100px;
    background-color: #1F3759;
    right: 20px;
    top: 120px;
}

.media__img_order_reverse img {
    width: 770px;
    aspect-ratio: 5.5 / 4;
    margin-left: auto;
}

@supports not (aspect-ratio: 5.5 / 4) {

    .media__img_order_reverse {
        position: relative;
        width: 770px;
        margin-left: auto;
    }

    .media__img_order_reverse::before {
        content: "";
        display: block;
        padding-top: 72.72727273%;
    }

    .media__img_order_reverse img {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 100%;
        margin-left: unset;
    }
}

.media__content-block_order_reverse {
    top: 120px;
    left: 0;
    padding: 104px 100px 0 30px;
    margin-left: -1px;
}

.facility {
    background-color: #1F3759;
    color: #F2A191;
}

.facility__title {
    position: relative;
}

.facility__title:before {
    content: '';
    width: 160px;
    height: 1px;
    background-color: #F2A191;
    position: absolute;
    right: 105%;
    top: 50%
}

.facility__subtitle {
    margin-bottom: 40px;
}

.facility__lead-text {
    margin-bottom: 24.4px;
}

.facility__text-block {
    margin-bottom: 28px;
}

.facility__body-text {
    margin-bottom: 74px;
}

.link-item {
    display: block;
    color: #BAA283;
    font-family: 'Philosopher';
    height: 32px;
    width: 170px;
    position: relative;
    line-height: 1;
}

.link-item::before {
    content: '';
    height: 1px;
    width: 170px;
    background-color: #BAA283;
    position: absolute;
    left: 0;
    bottom: 0;
}

.link-item::after {
    content: '';
    height: 1px;
    width: 16px;
    background-color: #BAA283;
    transform: rotate(45deg);
    position: absolute;
    left: calc(100% - 12px);
    bottom: 5px;
}

.link-item:hover::before {
    animation: arrowlong1 2s infinite;
    transition: .3s;
}

.link-item:hover::after {
    animation: arrowlong2 2s infinite;
    transition: .3s;
}

@keyframes arrowlong1 {
    0% {
        width: 0;
    }
    90% {
        width: 100%;
    }
    100% {
        width: 100%;
    }
}

@keyframes arrowlong2 {
    0% {
        left: 0;
    }
    90% {
        left: calc(100% - 12px);
    }
    100% {
        left: calc(100% - 12px);
    }
}

.loop-slider {
    display: flex;
    overflow: hidden;
    z-index: 1;
}

.loop-slider__band {
    display: flex;
    align-items: start;
    justify-content: start;
    animation-duration: 50s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    width: calc(100vw + 112px);
    animation-name: loop1!important;
}

.loop-slider__img img {
    width: calc(25vw + 28px);
    aspect-ratio: 252 / 156;
    display: inline;
}

@supports not (aspect-ratio: 252 / 156) {

    .loop-slider__img {
        position: relative;
        width: calc(25vw + 28px);
        display: inline;
    }

    .loop-slider__img::before {
        content: "";
        display: block;
        padding-top: 62.5%;
    }

    .loop-slider__img img {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }
}

.loop-slider__band-after {
    animation-name: loop2!important;
}

@keyframes loop1 {
    0% {transform: translateX(0); }
    49.99999% {transform: translateX(-100%); }
    50% {transform: translateX(100%); }
}

@keyframes loop2 {
    0% {transform: translateX(0); }
    50%{transform: translateX(-100%); }
    100% {transform: translateX(-200%);}
}

.facility__loop-slider {
    margin-top: 200px;
}

.news {
    padding-top: 80px;
    background: #CCC5B8 url("../images/Pat01.png");
    position: relative;
}

.news::before {
    content: '';
    width: 100%;
    height: 16px;
    background-color: #1F3759;
    position: absolute;
    top: -16px;
    z-index: 1;
}

.news__back-img {
    position: absolute;
    top: -8px;
    right: 50%;
    transform: translateX(50%);
    width: calc(100% - 28px);
    max-width: 770px;
}

.news__back-img_sp {
    display: none;
}

.news__explanation-block {
    margin-bottom: 40px;
}

.news__explanation {
    text-align: center;
}

.news__card-wrap {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-column-gap: 30px;
}

.thumbnail-image {
    padding: 24px;
}

.card {
    color: #1F3759;
    background-color: #E6E4E1;
    padding: 52px 40px 50px;
}

.card__title {
    font-size: 24px;
    font-family: 'Philosopher';
    font-weight: bold;
    letter-spacing: 0.1em;
    text-align: center;
    margin-bottom: 30px;
}

.card__body {
    overflow-y: scroll;
    height: 400px;
    margin-bottom: 44px;
}

.card__inner {
    padding: 0 15px;
}

.card__link-item {
    color: #1F3759;
    margin-left: auto;
    width: 100%;
}

.card__link-item::before {
    width: 100%;
    background-color: #1F3759;
}

.card__link-item::after {
    background-color: #1F3759;
}

.title-block_center {
    text-align: center;
    margin-bottom: 40px;
}

.title-block_center h3 {
    margin-bottom: 20px;
    position: relative;
}

.title-block_center h3::before {
    content: '';
    width: 1px;
    height: 160px;
    background-color: #41484D;
    position: absolute;
    bottom: 100%;
    left: calc(50% + 1px);
}

.access {
    padding-top: 80px;
}

.access__table-wrap {
    width: 100%;
}

.access__table {
    width: 100%;
}

.access__table-title {
    margin-bottom: 30px;
}

.table {
    border-top: #D9D6D2 1px solid;
    border-collapse:  collapse;
    font-size: 14px;
}

.table__head, .table__data {
    line-height: 1.8;
    border-bottom: #D9D6D2 1px solid;
    vertical-align: text-top;
    text-align: start;
    padding: 14px 0;
    letter-spacing: 0.1em;
}

.table__head {
    padding-right: 30px;
    width: 32%;
}

.table__data {
    margin: 0;
}

.table__data_font_Philosopher {
    font-family: 'Philosopher';
    letter-spacing: 0.1em;
}

.access__table-text {
    margin: 0;
    line-height: 1.8;
}

.access__content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-column-gap: 30px;
    margin-bottom: 109px;
}

.access__img img {
    width: 100%;
    aspect-ratio: 570 / 400;
    margin-top: 54px;
}

@supports not (aspect-ratio: 570 / 400) {

    .access__img {
        position: relative;
        width: 100%;
        margin-top: 54px;
    }

    .access__img::before {
        content: "";
        display: block;
        padding-top: 70.1754%;
    }

    .access__img img {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 100%;
        margin-top: unset;
    }
}

.map {
    width: 100%;
}

.map__body {
    width: 100%;
}

.gallery {
    position: relative;
    width: 100vw;
    /*height: 520px;*/
    height: 36vw;
    margin: auto;
}

.gallery__loop-slider__band {
    width: calc(100vw + 20px);
}

.gallery__img-1 img {
    position: absolute;
    width: 17.4%;
    aspect-ratio: 190 / 180;
    top: 1.58vw;
    left: 0;
    z-index: 1;
}

@supports not (aspect-ratio: 570 / 400) {

    .gallery__img-1 {
        position: relative;
        width: 17.4%;
        top: 1.58vw;
        left: 0;
        z-index: 1;
    }

    .gallery__img-1::before {
        content: "";
        display: block;
        padding-top: 94.7368%;
    }

    .gallery__img-1 img {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }
}

.gallery__img-2 img {
    position: absolute;
    width: 26.5%;
    aspect-ratio: 280 / 200;
    top: 9.684vw;
    left: 4.1%;
}

@supports not (aspect-ratio: 280 / 200) {

    .gallery__img-2 {
        position: absolute;
        width: 26.5%;
        top: 9.684vw;
        left: 4.1%;
    }

    .gallery__img-2::before {
        content: "";
        display: block;
        padding-top: 71.4285%;
    }

    .gallery__img-2 img {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }
}

.gallery__img-3 img {
    position: absolute;
    width: 27.9%;
    aspect-ratio: 1 / 1;
    top: 0;
    left: 32.1%;
}

@supports not (aspect-ratio: 1 / 1) {

    .gallery__img-3 {
        position: absolute;
        width: 27.9%;
        top: 0;
        left: 32.1%;
    }

    .gallery__img-3::before {
        content: "";
        display: block;
        padding-top: 100%;
    }

    .gallery__img-3 img {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }
}

.gallery__img-4 img {
    position: absolute;
    width: 13.9%;
    aspect-ratio: 1 / 1;
    top: 0;
    left: 61.6%;
}

@supports not (aspect-ratio: 1 / 1) {

    .gallery__img-4 {
        position: absolute;
        width: 13.9%;
        top: 0;
        left: 61.6%;
    }

    .gallery__img-4::before {
        content: "";
        display: block;
        padding-top: 100%;
    }

    .gallery__img-4 img {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }
}

.gallery__img-5 img {
    position: absolute;
    width: 26.5%;
    aspect-ratio: 315 / 223;
    top: 11.41vw;
    left: 68.4%;
}

@supports not (aspect-ratio: 315 / 223) {

    .gallery__img-5 {
        position: absolute;
        width: 26.5%;
        top: 11.41vw;
        left: 68.4%;
    }

    .gallery__img-5::before {
        content: "";
        display: block;
        padding-top: 70.79365079%;
    }

    .gallery__img-5 img {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }
}

.gallery__img-6 img {
    position: absolute;
    width: 17.4%;
    aspect-ratio: 10 / 9;
    top: 3.24vw;
    left: 81.5%;
}

@supports not (aspect-ratio: 10 / 9) {

    .gallery__img-6 {
        position: absolute;
        width: 17.4%;
        top: 3.24vw;
        left: 81.5%;
    }

    .gallery__img-6::before {
        content: "";
        display: block;
        padding-top: 90%;
    }

    .gallery__img-6 img {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }
}

.gallery__loop-slider__band-after {
    animation-name: loop3!important;
    position: absolute;
    top: 0;
}

@keyframes loop3 {
    0% {transform: translateX(100%); }
    50%{transform: translateX(0); }
    100% {transform: translateX(-100%);}
}

.greeting {
    padding-top: 120px;
    background: linear-gradient(to bottom, #E6E4E1 65%, #A6B6CD);
}

.greeting__title-block {
    margin-bottom: 80px;
}

.greeting__text-block {
    text-align: center;
    margin-bottom: 28px;
    font-family : YuMincho, 'Yu Mincho', serif;
    line-height: 1.8;
}

.footer {
    color: #F2A191;
    background-image: url("../images/Img-Footer.jpg");
    background-position: bottom 33.3% center;
    background-repeat: no-repeat;
    background-size: cover;
}

.back-filter {
    width: 100%;
    min-height: 100%;
    height: fit-content;
    background-color: rgba(31, 55, 89, 0.8);
    background-attachment: fixed;
}

.footer__back-filter {
    padding-top: 80px;
}

.footer__logo {
    margin: 0 auto 54px;
    letter-spacing: 0.11em;
    font-family: "Philosopher";
}

.logo__img {
    margin: 0 auto 20px;
}

.footer__link-wrap {
    display: flex;
    justify-content: center;
    margin-bottom: 60px;
}

.footer__link:not(.footer__link:last-child) {
    margin-right: 48px;
}

.footer__address {
    font-size: 14px;
    letter-spacing: 0.1em;
    text-align: center;
    margin-bottom: 20px;
}

.footer__tel {
    font-family: "Philosopher";
    font-size: 18px;
    letter-spacing: 0.1em;
    text-align: center;
    margin-bottom: 30px;
}

.footer__sns-wrap {
    display: flex;
    justify-content: center;
    padding-bottom: 24px;
}

.footer__sns:first-child {
    margin-right: 30px;
}

.facilities-top {
    height: calc(100vh - 40px);
    background-image: url("../images/Bg-Geo_Facilities.svg");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: bottom left;
    position: relative;
}

.facilities-top__key-img {
    width: 83.68%;
    height: 73.33%;
    animation: none;
}

.facilities-top__logo {
    top: 64px;
    margin: 0;
}

.facilities-top__content-area {
    height: 73.33%;
}

.facilities-top__content-wrap {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    height: 100%;
}

.facilities-top__title {
    color: #F2A191;
    text-align: right;
    position: relative;
}

.facilities-top__title::before {
    content: '';
    width: 80px;
    height: 1px;
    background-color: #F2A191;
    position: absolute;
    transform: translateX(-100px);
    bottom: 50%;
}

.facilities {
    color: #F2A191;
    background-color: #1F3759;
    padding-top: 100px;
}

.facilities__lead-block {
    text-align: center;
    margin-bottom: 109.5px;
}

.facilities__title {
    margin-bottom: 40px;
    position: relative;
}

.facilities__title::before {
    content: '';
    width: 1px;
    height: 160px;
    background-color: #F2A191;
    position: absolute;
    bottom: calc(100% + 20px);
    left: calc(50% + 1px);
}

.facilities__subtitle {
    margin-bottom: 53.5px;
}

.facilities__lead-text {
    letter-spacing: 0.1em;
    font-size: 14px;
    line-height: 2.5;
}

.facilities-media__main-text {
    font-size: 32px;
    font-family: YuMincho, 'Yu Mincho', serif;
    font-weight: 600;
    margin-bottom: 40px;
    position: relative;
}

.facilities-media__main-text::after {
    content: '';
    width: 160px;
    height: 1px;
    background-color: #F2A191;
    position: absolute;
    left: 100%;
    top: 50%;
}

.facilities-media__sub-text {
    margin-bottom: 30px;
}

.facilities-media__body-text {
    margin-bottom: 34.4px;
}

.facilities-img-block_1 {
    margin: 155px 0 80px;
    position: relative;
    /*height: 557px;*/
}

.facilities__img-1 img {
    width: 31.6%;
    aspect-ratio: 1 / 1;
}

@supports not (aspect-ratio: 1 / 1) {

    .facilities__img-1 {
        position: relative;
        width: 31.6%;
    }

    .facilities__img-1::before {
        content: "";
        display: block;
        padding-top: 100%;
    }

    .facilities__img-1 img {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }
}

.facilities__img-2 img {
    position: absolute;
    width: 48.7%;
    aspect-ratio: 7 / 5;
    top: 21.5%;
    left: 16.2%;
}

@supports not (aspect-ratio: 7 / 5) {

    .facilities__img-2 {
        position: absolute;
        width: 48.7%;
        top: 21.5%;
        left: 16.2%;
    }

    .facilities__img-2::before {
        content: "";
        display: block;
        padding-top: 71.42857143%;
    }

    .facilities__img-2 img {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }
}

.facilities-img-block__content {
    padding: 40px 30px;
    background-color: #1F3759;
    position: absolute;
    width: 470px;
}

.facilities-img-block__content_1{
    bottom: 0;
    right: 0;
}

.facilities-img-block__main-text{
    margin-bottom: 30px;
}

.facilities-img-block_2 {
    display: flex;
    align-items: start;
    justify-content: space-between;
    margin-bottom: 120px;
}

.facilities__img-3 {
    width: 51.2%;
    align-self: flex-end;
}

.facilities__img-3 img {
    aspect-ratio: 331 / 205;
    width: 100%;
    height: 100%;
}

@supports not (aspect-ratio: 7 / 5) {

    .facilities__img-3 {
        position: relative;
        width: 48.7%;
    }

    .facilities__img-3::before {
        content: "";
        display: block;
        padding-top: 61.93353474%;
    }

    .facilities__img-3 img {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }
}

.facilities__img-4 {
    width: 42.7%;
    object-position: left 0 bottom 20%;
}

.facilities__img-4 img {
    width: 100%;
    height: 100%;
    aspect-ratio: 283 / 212;
}

@supports not (aspect-ratio: 7 / 5) {

    .facilities__img-4 {
        position: relative;
        width: 42.7%
    }

    .facilities__img-4::before {
        content: "";
        display: block;
        padding-top: 74.91166078%;
    }

    .facilities__img-4 img {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }
}


.facilities-img-block_3 {
    display: flex;
    align-items: start;
    justify-content: space-between;
    padding: 0 50px 0 100px;
    margin-bottom: 170px;
    position: relative;
}

.facilities__img-5 {
    width: 58.8%;
}

.facilities__img-5 img {
    width: 100%;
    height: 100%;
    aspect-ratio: 7 / 5
}

@supports not (aspect-ratio: 7 / 5) {

    .facilities__img-5 {
        position: relative;
        width: 58.8%;
    }

    .facilities__img-5::before {
        content: "";
        display: block;
        padding-top: 71.42857143%;
    }

    .facilities__img-5 img {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }
}

.facilities__img-6 {
    width: 31.3%;
    align-self: flex-end;
}

.facilities__img-6 img {
    width: 100%;
    height: 100%;
    aspect-ratio: 1 / 1;
}

@supports not (aspect-ratio: 1 / 1) {

    .facilities__img-6 {
        position: relative;
        width: 31.3%;
    }

    .facilities__img-6::before {
        content: "";
        display: block;
        padding-top: 100%;
    }

    .facilities__img-6 img {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }
}

.facilities-img-block__content_2 {
    bottom: -40px;
    right: 20.3%;
}

.facilities__img-7 {
    width: 100vw;
    height: 640px;
    margin-left: calc(50% - 50vw);
}

.guide {
    padding-top: 80px;

    background: #CCC5B8 url("../images/Pat01.png");
    padding-bottom: 160px;
}

.guide__title-block {
    margin-bottom: 94px;
}

.guide__content {
    display: flex;
    align-items: start;
    justify-content: start;
    column-gap: 29.5px;
}

.guide__table {
    width: 50%;
}

.guide__table, .guide__table * {
    border-color: #B3B0AA;
}

.guide__fee-wrap {
    display: grid;
    grid-template-rows: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
    column-gap: 30px;
}

.guide__fee {
    display: flex;
    align-items: start;
    justify-content: space-between;
    margin-bottom: 4.8px;
}

.guide__fee-note {
    margin-bottom: 20.8px;
}

.fixed-item {
    position: fixed;
    right: 1rem;
    bottom: 1rem;
    z-index: 1;
}

.fixed-item__item {
    display: block;
    width: 100%;
    color: white;
    background-color: black;
    border-radius: 4px;
    padding: 1rem 0.25rem;
    transition: .2s ease-out;
}

.fixed-item__item:hover {
    opacity: 0.6;
}

.fixed-item__text {
    writing-mode: vertical-lr;
    letter-spacing: 0.2em;
}

@media (min-width: 1600px) {
    .media__img img {
        margin-left: unset;
    }

    @supports not (aspect-ratio: 1.6 / 1) {
        .media__img {
            margin-left: unset;
        }
    }

    .media__img_order_reverse img {
        margin-left: auto;
    }

    @supports not (aspect-ratio: 1.6 / 1) {
        .media__img_order_reverse {
            margin-left: auto;
        }
    }
}

@media (max-width: 575.98px) {

}

@media (max-width: 767.98px) {
    .h2 {
        font-size: 36px;
    }

    .br_pc {
        display: none;
    }

    .br_sp {
        display: block;
    }

    .menu__icon {
        top: 72px;
        right: 30px;
    }

    .menu__image {
        display: none;
    }

    .menu__content-block {
        display: grid;
        grid-template-columns: 1fr;
        gap: unset;
        padding: 128px 0 0;
    }

    .menu__link {
        flex-direction: column;
        align-items: center;
        padding-bottom: 30px;
    }

    .menu__num {
        height: unset;
        margin: 0;
    }

    .menu__text-main {
        font-size: 36px;
        margin-bottom: 4px;
    }

    .menu__text-sub {
        text-align: center;
    }

    .menu__sns {
        width: unset;
        text-align: center;
    }

    .top {
        height: 114.2vh;
    }

    .top__content-area {
        height: 100%;
    }

    .top__content-wrap {
        height: 100%;
        grid-template-columns: unset;
        grid-template-rows: 322px 1fr;
        gap: unset;
    }

    .top__key-wrap {
        grid-row: 2/3;
        grid-column: 1/2;
    }

    .top__key {
        width: 100vw;
    }

    .top__key-img {
        left: -30px;
    }

    .top__title-content {
        grid-column: 1/2;
        grid-row: 1/2;
    }

    .top__logo {
        top: 40px
    }

    .top__title-wrap {
        margin-left: unset;
        position: absolute;
        top: 180px;
        padding-right: 0;
        width: unset;
    }

    .top__title {
        margin-bottom: 24px;
        font-size: 40px;
    }

    .top__decorate-img {
        display: none;
    }

    .top__decorate-img_sp {
        display: block;
        width: 71.2%;
        min-width: 267px;
        aspect-ratio: 267 / 189;
        position: absolute;
        right: 0;
        transform: translateY(200px);
    }

    .top__info {
        margin-left: -30px;
        padding: 0 calc(50vw - 50%);
        width: fit-content;
    }

    .info {
        display: grid;
        grid-template-rows: 80px 80px;
        width: 100vw;
    }

    .info__item {
        margin: auto 0;
        padding: 0;
    }

    .info__item-last {
        padding-right: 0;
    }

    .info__sns-wrap {
        grid-row: 2 / 3;
        grid-column: 1 / 3;
    }

    .scroll-lead {
        display: none;
    }

    .about {
        background-image: url(../images/Bg-Geo_Top_sp.svg);
        margin-top: 0;
        padding-top: 480px;
        padding-bottom: 80px;
    }

    .about__title {
        margin-bottom: 20px;
    }

    .about__subtitle {
        font-size: 16px;
        line-height: 1.5;
    }

    .about__body-text {
        margin-bottom: 80px;
    }

    .about__primary-img img {
        width: 92.53%;
        margin-right: -30px;
    }

    @supports not (aspect-ratio: 347 / 195) {
        .about__primary-img {
            width: 92.53%;
            margin-right: -30px;
        }

        .about__primary-img img {
            width: 100%;
            margin-right: unset;
        }
    }

    .about__secondary-img img {
        width: 53.3%;
        left: -30px;
        margin-top: -40px;
    }

    @supports not (aspect-ratio: 200 / 180) {

        .about__secondary-img {
            position: relative;
            width: 53.3%;
            left: -30px;
            margin-top: -40px;
        }

        .about__secondary-img img {
            left: 0;
            width: 100%;
        }
    }

    .media__img img {
        aspect-ratio: 375 / 265;
        width: 100vw;
        min-width: unset;
        margin-left: calc(50% - 50vw);
    }

    @supports not (aspect-ratio: 1.6 / 1) {

        .media__img {
            position: relative;
            width: 100vw;
            min-width: unset;
            margin-left: calc(50% - 50vw);
        }

        .media__img::before {
            content: "";
            display: block;
            padding-top: 70.66%;
        }

        .media__img img {
            width: 100%;
            margin-left: unset;
        }
    }

    .media__content-block {
        position: static;
        width: unset;
        padding: 60px 0 0 30px;
    }

    .body-text {
        line-height: 1.8;
    }

    .facility__body-text {
        margin-bottom: 34.4px;
    }

    .facility__loop-slider {
        margin-top: 120px;
    }

    .loop-slider__band {
        width: calc(200vw + 256px);
    }

    .loop-slider__img img {
        width: calc(50vw + 64px);
    }

    @supports not (aspect-ratio: 252 / 156) {

        .loop-slider__img {
            width: calc(50vw + 64px);
        }

        .loop-slider__img img {
            width: 100%;
        }
    }

    .news__back-img {
        top: -14px;
    }

    .news__back-img_sp {
        display: block;
    }

    .news__back-img_pc {
        display: none;
    }

    .news__card-wrap {
        display: flex;
        flex-direction: column;
        align-items: start;
        justify-content: start;
    }

    .card {
        width: calc(100% + 32px);
        margin-left: -16px;
        padding: 52px 28px 50px;
    }

    .card:first-child {
        margin-bottom: 40px;
    }

    .card__inner {
        padding: 0 16px;
    }

    .title-block_center {
        margin-bottom: 40px;
    }

    .access {
        padding-bottom: 80px;
    }

    .access__title-block {
        margin-bottom: 60px;
    }

    .access__content {
        display: flex;
        flex-direction: column-reverse;
        align-items: start;
        justify-content: start;
        margin-bottom: 40px;
    }

    .access__img img {
        width: 100vw;
        aspect-ratio: 375 / 265;
        margin-left: -30px;
        margin-top: 0;
        margin-bottom: 60px;
    }

    @supports not (aspect-ratio: 1.6 / 1) {

        .access__img {
            position: relative;
            width: 100vw;
            margin-left: -30px;
            margin-top: 0;
            margin-bottom: 60px;
        }

        .access__img::before {
            padding-top: 70.66%;
        }

        .access__img img {
            width: 100%;
            margin: unset;
        }
    }

    .map__body {
        height: 223px;
    }

    .gallery {
        width: unset;
        height: unset;
    }

    .gallery__loop-slider__band-before {
        animation: none;
        width: 100vw;
        height: 358vw;
        position: relative;
    }

    .gallery__loop-slider__band-after {
        display: none;
    }

    .gallery__img-1 img {
        width: 50.6%;
        top: 0;
        left: 30px;
    }

    @supports not (aspect-ratio: 570 / 400) {

        .gallery__img-1 {
            width: 50.6%;
            top: 0;
            left: 30px;
        }

        .gallery__img-1 img {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
        }
    }


    .gallery__img-2 img {
        width: 74.6%;
        top: 10.4%;
        left: unset;
        right: 0;
    }

    @supports not (aspect-ratio: 280 / 200) {

        .gallery__img-2 {
            width: 74.6%;
            top: 10.4%;
            left: unset;
            right: 0;
        }

        .gallery__img-2 img {
            top: 0;
            right: 0;
            left: 0;
            width: 100%;
        }
    }

    .gallery__img-3 img {
        width: 85.3%;
        top: 29.7%;
        left: 0;
    }

    @supports not (aspect-ratio: 1 / 1) {

        .gallery__img-3 {
            width: 85.3%;
            top: 29.7%;
            left: 0;
        }

        .gallery__img-3 img {
            top: 0;
            left: 0;
            width: 100%;
        }
    }

    .gallery__img-4 img {
        width: 42.6%;
        top: 58.07%;
        right: 0;
        left: unset;
    }

    @supports not (aspect-ratio: 1 / 1) {

        .gallery__img-4 {
            width: 42.6%;
            top: 58.07%;
            right: 0;
            left: unset;
        }

        .gallery__img-4 img {
            top: 0;
            right: 0;
            left: 0;
            width: 100%;
        }
    }

    .gallery__img-5 img {
        width: 84%;
        top: 67%;
        left: 30px;
    }


    @supports not (aspect-ratio: 315 / 223) {

        .gallery__img-5 {
            width: 84%;
            top: 67%;
            left: 30px;
        }

        .gallery__img-5 img {
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
        }
    }

    .gallery__img-6 img {
        width: 53.3%;
        top: unset;
        bottom: 0;
        left: 0;
    }

    @supports not (aspect-ratio: 10 / 9) {

        .gallery__img-6 {
            width: 53.3%;
            top: unset;
            bottom: 0;
            left: 0;
        }

        .gallery__img-6 img {
            top: 0;
            bottom: 0;
            left: 0;
            width: 100%;
        }
    }

    .greeting {
        background: linear-gradient(to bottom, #E6E4E1 87.5%, #A6B6CD);
        padding-bottom: 52px;
    }

    .greeting__title-block {
        margin-bottom: 80px;
    }

    .greeting__text-block {
        font-size: 15px;
    }

    .footer__logo {
        margin: 0 auto 40px;
    }

    .footer__link-wrap {
        flex-direction: column;
        align-items: center;
        margin-bottom: 60px;
    }

    .footer__link:not(.footer__link:last-child) {
        margin-right: 0;
        margin-bottom: 30px;
    }

    .facilities-top {
        height: calc(100vh - 32px);
    }

    .facilities-top__key-img {
        object-fit: cover;
        width: 78.93%;
        height: 84.61%;
        position: absolute;
        top: 0;
        left: 0;
    }

    .facilities-top__content-area {
        height: 84.61%;
    }

    .facilities-top__content-wrap {
        height: 100%;
    }

    .facilities-top__logo {
        top: 40px;
        margin: 0;
    }

    .facilities-top__title::before {
        width: 40px;
        transform: translateX(-60px);
        bottom: 50%;
    }

    .facilities-media__main-text {
        font-size: 28px;
        margin-bottom: 64px;
    }

    .facilities-media__main-text::after {
        right: calc(100% + 30px);
        left: unset;
    }

    .facilities-media__body-text {
        margin-bottom: 36.8px;
    }

    .facilities__subtitle {
        font-size: 20px;
        line-height: 1.5;
        margin-bottom: 48.5px;
    }

    .facilities__lead-block {
        text-align: center;
        margin-bottom: 69.5px;
    }

    .facilities__lead-text {
        letter-spacing: 0;
    }

    .media__content-block_order_reverse {
        padding-top: 64px;
    }

    .facilities-img-block_1 {
        margin: 80px 0 40px;
        position: relative;
        height: unset;
    }

    .facilities__img-1 img {
        width: 50%;
        margin-left: -16px;
    }

    @supports not (aspect-ratio: 1 / 1) {

        .facilities__img-1 {
            width: 50%;
            margin-left: -16px;
        }

        .facilities__img-1 img {
            width: 100%;
            margin-left: unset;
        }
    }

    .facilities__img-2 img {
        aspect-ratio: 315 / 223;
        width: 100%;
        position: relative;
        top: -80px;
        left: unset;
        right: 0;
    }

    @supports not (aspect-ratio: 315 / 223) {

        .facilities__img-2 {
            width: 100%;
            position: relative;
            top: -80px;
            left: unset;
            right: 0;
        }

        .facilities__img-2::before {
            padding-top: 70.79365079%;
        }

        .facilities__img-2 img {
            position: absolute;
            top: 0;
            right: 0;
            left: 0;
            width: 100%;
        }
    }

    .facilities-img-block__content {
        padding: 40px 20px;
        background-color: #1F3759;
         position: static;
         width: unset;
    }

    .facilities-img-block__content_1 {
        margin-top: -80px;
    }

    .facilities-img-block_2 {
        height: unset;
        flex-direction: column-reverse;
        margin-bottom: 64px;
    }

    .facilities__img-3 {
        width: calc(100% + 16px);
        align-self: unset;
        margin-left: -16px;
    }

    .facilities__img-4 {
        width: 89.8%;
        align-self: flex-end;
        margin-bottom: 48px;
    }

    .facilities-img-block_3 {
        height: unset;
        flex-direction: column;
        padding: 0;
        margin-bottom: 72px;
    }

    .facilities__img-5 {
        width: calc(100% + 16px);
        position: relative;
        left: 0;
        margin-bottom: 48px;
    }

    .facilities__img-5 img {
        aspect-ratio: 331 / 205;
    }

    @supports not (aspect-ratio: 331 / 205) {

        .facilities__img-5 {
            width: calc(100% + 16px);
            left: 0;
            margin-bottom: 48px;
        }

        .facilities__img-5::before {
            padding-top: 61.93353474%;
        }

        .facilities__img-5 img {
            left: 0;
            width: 100%;
            margin-bottom: unset;
        }
    }

    .facilities__img-6 {
        width: 74.9%;
        align-self: unset;
    }

    .facilities__img-6 img {
        width: 100%;
        height: 100%;
        aspect-ratio: 236 / 212;
    }

    @supports not (aspect-ratio: 236 / 212) {

        .facilities__img-6::before {
            padding-top: 89.83050847%;
        }
    }

    .facilities__img-7 {
        height: 360px;
    }

    .guide {
        padding-bottom: 120px;
    }

    .guide__title-block {
        margin-bottom: 60px;
    }

    .guide__content {
        display: block;
    }

    .guide__table {
        width: 100%;
    }

    .guide__table_right {
        margin-top: -1px;
    }

    .table__head {
        width: 120px;
        padding-right: 0;
    }

}

@media (max-width: 991.98px) {
    :root {
        --content-margin: 5vw;
    }

    .fixed-item {
        display: flex;
        width: 100vw;
        top: unset;
        bottom: 0;
        left: 0;
        right: 0;
        transition: .3s ease-out;
    }

    .fixed-item {
        transform: translateY(0);
    }

    .fixed-item__item {
        padding: 0.75em 0.25rem 0.5rem;
    }

    .fixed-item__text {
        writing-mode: horizontal-tb;
        text-align: center;
        letter-spacing: 0.1em;
        font-size: 0.875rem;
    }

    .footer {
        padding-bottom: 2rem
    }
}

@media (max-width: 1199.98px) {
    .menu__icon {
        right: 30px;
    }
}

@media (max-width: 1399.98px) {

}