@charset 'UTF-8';
/* ----------------------------------------------
　PC設定
------------------------------------------------*/
.p-loadAnime
{
    position: fixed;
    z-index: 100000;
    top: 0;
    left: 0;

    display: flex;

    width: 100%;
    height: 100%;

    transition: all .5s;
    transform: translateX(0%);

    background: var(--main-black);

    justify-content: center;
    align-items: center;
}
.p-loadAnime::before
{
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;

    display: inline-block;

    width: 100%;
    height: 100%;

    content: '';

    opacity: .7;
    background: url(/images/common/bg02.webp) top center/cover no-repeat;

    mix-blend-mode: color-burn;
}
.p-loadAnime.complate
{
    animation: disnone 1s 0s linear forwards;
}
.p-loadAnime.opacity
{
    background: unset;
}
.p-loadAnime.opacity .load_logo
{
    display: none;
}
.p-loadAnime.reload
{
    z-index: -100 !important;

    display: none !important;

    transform: translateX(-500%) !important;

    opacity: 0 !important;
}
.p-loadAnime__inner
{
    position: relative;

    width: 48.7%;
    max-width: 344px;

    transition: opacity .5s;
    transform: translateY(2px);

    opacity: 0;
}
.p-loadAnime__inner.load
{
    opacity: 1;
}
.p-loadAnime .st0
{
    fill: #fff;
}

@keyframes disnone
{
    0%
    {
        z-index: 100000;

        display: flex;

        transform: translateX(0%);

        opacity: 1;
    }
    99%
    {
        z-index: 100000;

        display: flex;

        transform: translateX(0%);

        opacity: 0;
    }
    100%
    {
        z-index: -100;

        display: none;

        transform: translateX(-500%);

        opacity: 0;
    }
}
.c-flex
{
    display: flex;

    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    grid-gap: var(--m80);
}
.c-flex__right
{
    width: calc(100% - var(--fs18_22) * 1.5 - var(--m80));
}
.c-flex__catch
{
    font-size: var(--fs20_36);
}
.c-flex__sub-catch
{
    font-size: var(--fs18_32);
}
.c-flex__text
{
    font-size: var(--fs16_25);
}

.p-mv
{
    position: relative;
    z-index: 1;

    display: flex;

    background: url(/images/top/main.webp) center/cover no-repeat;

    align-items: center;
    justify-content: center;
}
.p-mv__inner
{
    width: 100%;

    background-color: rgba(0, 0, 0, .4);
}
.p-mv__logo
{
    width: 50%;
    max-width: 350px;
    margin: 0 auto;
}

.p-story
{
    padding: var(--m150) 0 var(--m130);

    background: url(/images/common/bg01.webp) top center/101.875% repeat;
}
.p-story__inner
{
    margin-left: max(5vw, (100vw - 1200px) / 2);
}
.p-story__sub-catch
{
    margin-top: var(--m50);
}
.p-story__text
{
    font-size: var(--fs16_25);

    margin-top: var(--m40);
}
.p-story__image-area
{
    display: flex;

    flex-wrap: wrap;
    grid-gap: 20px 2%;
}
.p-story__image
{
    display: flex;
    overflow: hidden;

    align-items: center;
    justify-content: center;
}
.p-story__image img
{
    max-width: unset;
}
.p-story__image--01
{
    width: 23%;

    aspect-ratio: 337/511;
}
.p-story__image--01 img
{
    width: 137%;

    transform: translateY(5%);
}
.p-story__image--02
{
    width: 75%;

    aspect-ratio: 1099/511;
    justify-content: flex-start;
}
.p-story__image--02 img
{
    width: 116.28%;

    transform: translate(-3%, -9%);
}

.c-loopSlider
{
    overflow: hidden;

    width: 100%;
    margin-top: var(--m150);
}
.c-loopSlider__track
{
    display: flex;

    width: -moz-max-content;

    width: max-content;

    animation: loopSlider 50s linear infinite;

    grid-gap: var(--m16);
}
.c-loopSlider__item
{
    overflow: hidden;

    width: 25vw;

    aspect-ratio: 396/347;
}
.c-loopSlider__item img
{
    height: 100%;

    -o-object-fit: cover;

       object-fit: cover;
}

@keyframes loopSlider
{
    from
    {
        transform: translateX(0);
    }
    to
    {
        transform: translateX(-50%);
    }
}
.p-hopes
{
    position: relative;
    z-index: 1;

    padding: var(--m170) 0;

    background: var(--main-black);
}
.p-hopes::before
{
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;

    display: inline-block;

    width: 100%;
    height: 100%;

    content: '';

    opacity: .7;
    background: url(/images/common/bg02.webp) top center/cover no-repeat;

    mix-blend-mode: color-burn;
}
.p-hopes__inner
{
    position: relative;
    z-index: 1;

    display: flex;

    max-width: 1260px;
    padding: var(--m50) 0;

    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    grid-gap: var(--m60) 7%;
}
.p-hopes__inner::before
{
    position: absolute;
    z-index: -1;
    top: 0;
    left: 50%;

    display: inline-block;

    width: 110vw;
    height: 100%;

    content: '';
    transform: translateX(-50%);

    opacity: .5;
    background: var(--black);
}
.p-hopes__title-en
{
    font-size: var(--fs36_75);

    display: block;

    color: var(--main-white);
}
.p-hopes__title-jp
{
    font-size: var(--fs28_70);

    display: block;

    color: var(--main-white);
}
.p-hopes__text
{
    font-size: var(--fs14_20);

    color: var(--main-white);
}

.p-movie
{
    margin-top: var(--m120);
}
.p-movie__movie
{
    width: 100%;

    aspect-ratio: 16/9;
}
.p-movie__text
{
  margin-top: var(--m40);
  color: var(--main-white);
  font-size: var(--fs14_18);
}
.p-movie__text
{
  margin-top: var(--m40);
}
.p-movie__name
{
  margin-top: 1em;
  display: block;
  text-align: right;
  color: var(--main-white);
  font-size: var(--fs16_20);
}
.p-movie__name-emp
{
  display: block;
  text-align: right;
  color: var(--main-white);
  font-size: var(--fs20_24);
}
.p-movie .c-button
{
  margin-top: var(--m32);
}

.p-bg-area
{
    padding: var(--m50) 0 var(--m110);

    background: url(/images/common/bg01.webp) top center/101.875% repeat;
}

.p-other__inner
{
    display: flex;

    max-width: 1430px;

    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    grid-gap: var(--m60) 0;
}
.p-other__box
{
    width: 47.5%;
}
.p-other__box.food .p-other__title
{
    background-image: url(/images/top/food.webp);
    background-position: center;
    background-size: auto 103.8%;
}
.p-other__box.drink .p-other__title
{
    background-image: url(/images/top/drink.webp);
    background-position: center;
    background-size: auto 114.2%;
}
.p-other__title
{
    font-size: var(--fs32_82);
    font-weight: 400;

    display: flex;

    color: var(--main-white);
    background-repeat: no-repeat;
    text-shadow: 0 0 6px rgba(0, 0, 0, .4);

    aspect-ratio: 680/595;
    align-items: center;
    justify-content: center;
}
.p-other__text
{
    font-size: var(--fs14_22);

    margin-top: var(--m45);
}

.p-commitment
{
    margin-top: var(--m90);
}
.p-commitment__inner
{
    margin-left: max(5vw, (100vw - 1200px) / 2);
}
.p-commitment__catch-area
{
    display: flex;

    flex-wrap: wrap;
    align-items: center;
    grid-gap: 16px min(3.75vw, 50px);
}
.p-commitment__catch
{
    font-size: var(--fs22_42);
}
.p-commitment__sub-catch
{
    font-family: 'source-han-sans-jp-variable', sans-serif;
    font-size: var(--fs14_18);

    font-variation-settings: 'wght' 350;
}
.p-commitment__text-area
{
    display: flex;

    margin-top: var(--m50);

    flex-wrap: wrap;
    grid-gap: min(2.1vw, 28px) 2%;
}
.p-commitment__image
{
    display: flex;
    overflow: hidden;

    width: 49%;

    aspect-ratio: 66/28;
    align-items: center;
    justify-content: center;
}
.p-commitment__image img
{
    max-width: unset;
}
.p-commitment__image--01 img
{
    width: 104.7%;

    transform: translateY(-9%);
}
.p-commitment__image--02
{
    justify-content: flex-start;
}
.p-commitment__image--02 img
{
    width: 154.24%;

    transform: translateY(2%);
}
.p-commitment__text
{
    font-weight: 500;

    margin-top: var(--m60);
}

.p-plan
{
    position: relative;
    z-index: 1;

    display: flex;

    background: url(/images/top/plan.webp) left 40% center/139.1% no-repeat;

    align-items: center;
    justify-content: center;
}
.p-plan::before
{
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;

    display: inline-block;

    width: 100%;
    height: 100%;

    content: '';

    opacity: .3;
    background-color: var(--black);
}
.p-plan__title
{
    width: 43.4375%;
    padding-left: max(5vw, (100vw - 1430px) / 2);
}
.p-plan__title-en
{
    font-size: var(--fs32_82);

    display: block;

    color: var(--main-white);
}
.p-plan__title-jp
{
    font-size: var(--fs24_46);

    display: block;

    color: var(--main-white);
}
.p-plan__title-sub
{
    font-size: var(--fs18_32);

    display: block;

    color: var(--main-white);
}
.p-plan__text
{
    font-size: var(--fs14_20);
    font-weight: 400;

    width: 56.5625%;
    padding: var(--m80) var(--m20_100);

    color: var(--main-white);
    background-color: rgba(0, 0, 0, .3);
    overflow: hidden;
}
.p-plan__text-box
{
  margin-top: var(--m40);
}
.p-plan__text b
{
  display: block;
  font-size: var(--fs16_24);
  font-weight: 500;
  color: var(--main-white);
  border-bottom: 1px solid var(--main-white);
  border-left: 8px solid var(--main-white);
  padding: 2px 0 2px .5em;
}
.p-plan__text-line{
  margin-top: 3px;
  padding-left: .75em;
  font-size: var(--fs14_20);
  color: var(--main-white);
  font-weight: 400;
}

.p-access
{
    padding: var(--m60) 0 var(--m130);

    background: url(/images/common/bg01.webp) top center/101.875% repeat;
}
.p-access__catch
{
    font-size: var(--fs22_42);
}
.p-access__list
{
    margin-top: var(--m50);
}
.p-access__box
{
    display: flex;

    flex-wrap: wrap;
    align-items: center;
    grid-gap: 0 var(--m16);
}
.p-access__box:not(:first-of-type)
{
    margin-top: var(--m40);
}
.p-access__title
{
    font-size: 16px;
    line-height: 1;

    min-width: 105px;
    padding: .5em 1em;

    color: var(--main-white);
    background-color: var(--main-black);
}
.p-access__text
{
    font-size: var(--fs14_20);
}
.p-access__access
{
    width: 100%;
    margin-top: var(--m35);

    background-color: var(--main-white);
}
.p-access__access picture
{
    display: block;

    width: 96.3%;
    margin: 0 auto;
    padding: 16px 0;
}
.p-access__map
{
    width: 100%;
    margin-top: var(--m25);

    aspect-ratio: 108/40;
}
.p-access__map iframe
{
    filter: grayscale(1);
}

.p-contact
{
    position: relative;
    z-index: 1;

    padding: var(--m100) 0 var(--m200);

    background: url(/images/top/contact.webp) center bottom 30%/cover no-repeat;
}
.p-contact::before
{
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;

    display: inline-block;

    width: 100%;
    height: 100%;

    content: '';

    opacity: .5;
    background-color: var(--black);
}
.p-contact__inner
{
    max-width: 1300px;
}
.p-contact__title
{
    font-size: var(--fs42_60);

    text-align: center;

    color: var(--main-white);
}
.p-contact__text
{
    font-size: var(--fs14_20);

    text-align: center;

    color: var(--main-white);
}
.p-contact__list
{
    display: flex;

    margin-top: var(--m55);

    flex-wrap: wrap;
    justify-content: space-between;
    grid-gap: var(--m40) 0;
}
.p-contact__box
{
    width: 48.46%;
    padding: var(--m40) var(--m16) var(--m55);

    background-color: rgba(255, 255, 255, .7);
}
.p-contact__box-text
{
    font-size: var(--fs14_20);

    min-height: 3em;

    text-align: center;
}
.p-contact__box .c-button
{
    width: 90%;
    max-width: 460px;
    margin: var(--m30) auto 0;
}

/* ----------------------------------------------
　PAD以下設定
------------------------------------------------*/
@media all and (max-width: 768px)
{
    .p-plan
    {
        background: url(/images/top/plan.webp) center/cover no-repeat;

        flex-wrap: wrap;
    }
    .p-plan__title
    {
        width: 100%;
        padding: var(--m80) 0;

        text-align: center;
    }
    .p-plan__text
    {
        width: 100%;
    }
    .p-access__map
    {
        aspect-ratio: 3/2;
    }
    .p-contact__box
    {
        width: 100%;
    }
    .p-contact__box-text
    {
        min-height: unset;
    }
}
/* ----------------------------------------------
　SP調整
------------------------------------------------*/
@media all and (max-width: 620px)
{
    .p-loadAnime::before
    {
        opacity: .4;
    }
    .c-flex
    {
        grid-gap: 16px;
    }
    .c-flex__right
    {
        width: calc(100% - var(--fs18_22) * 1.5 - 16px);
        padding-right: 5vw;
    }
    .p-story__image--02
    {
        width: 100%;

        aspect-ratio: 1099/511;
        justify-content: flex-start;
    }
    .p-story__image--02 img
    {
        width: 116.28%;

        transform: translate(-3%, -9%);
    }
    .c-loopSlider__item
    {
        width: 55vw;
    }
    .p-hopes
    {
        padding: 50px 0;
    }
    .p-hopes::before
    {
        opacity: .5;
    }
    .p-other__box
    {
        width: 100%;
    }
    .p-other__title
    {
        aspect-ratio: 68/48;
    }
    .p-other__text
    {
        margin-top: 16px;
    }
    .p-commitment__image
    {
        width: 100%;
    }
    .p-commitment__image img
    {
        max-width: unset;
    }
    .p-commitment__image--01
    {
        order: 1;
    }
    .p-commitment__image--02
    {
        order: 2;
    }
    .p-commitment__image--03
    {
        order: 4;
    }
    .p-commitment__image--04
    {
        order: 5;
    }
    .p-commitment__text
    {
        margin-bottom: var(--m60);

        order: 3;
    }
    .p-access__text
    {
        margin-top: .75em;
    }
    .p-access__map
    {
        aspect-ratio: 1/1.25;
    }
}
