@charset "utf-8";

:root {
    --color-default: #0a0000;
    --main-keycolor: #000;
    --background-keycolor: #efefef;
    --header-height: 120px;
    --container-width: 900px;
    --container-padding: 30px;
    --font-size-base: 17px;
    --font-gothic: "Noto Sans JP", "Yu Gothic", "Meiryo", "Helvetica Neue", "Hiragino Kaku Gothic ProN", "Arial", sans-serif;
    --wave-size: 36px;
}

body {
    min-height: 100svh;
    color: var(--color-default);
    font-family: var(--font-gothic);
    font-size: var(--font-size-base);
    font-weight: 400;
    background: #fff;
    line-height: 1.7;
    overflow-wrap: anywhere;
    word-break: normal;
    line-break: strict;
    -webkit-text-size-adjust: 100%;
}

.main-wrapper {
    position: relative;
    overflow: hidden;
}


img {
    max-width: 100%;
    width: auto;
    height: auto;
    /*image-rendering: -webkit-optimize-contrast;*/
}

img[src$=".svg"] {
    width: 100%;
}

a[href^="tel:"]:hover {
    opacity: 1;
}

@media (min-width:1024px) {

    a[href*="tel:"] {
        pointer-events: none;
        cursor: default;
        text-decoration: none;
    }

}

@media (hover: hover) {

    a:any-link:hover,
    button:enabled:hover {
        opacity: .6;
    }

}


/* グローバルヘッダー
--------------------------------------------------------------- */

#g-header {
    box-sizing: border-box;
    position: relative;
    height: var(--header-height);
    background: #FFF;
    z-index: 3;

    .inner {
        box-sizing: border-box;
        display: grid;
        align-items: center;
        max-width: 1400px;
        height: 100%;
        padding: 0 50px;
        margin: auto;
    }
}


/* グローバルロゴ
--------------------------------------------------------------- */

.g-logo {
    display: block;
    width: 230px;
}


/* スライダー - メインビジュアル
--------------------------------------------------------------- */

.slider-wrapper {
    position: relative;
    line-height: 1;
    z-index: 1;
    overflow: hidden;

    .slider-container {
        opacity: 0;
        /*transition: opacity .3s linear;*/

        &.slick-initialized {
            opacity: 1;
        }

    }

    /*
    &::after {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        display: block;
        height: 36px;
        background: url(../img/obj-mainview.svg) center bottom / contain repeat-x;
        margin: auto;
    }
*/

    & img {
        width: 100%;
    }

    .slick-slide {
        height: auto !important;
        -webkit-backface-visibility: hidden;
        -webkit-transform-style: preserve-3d;
    }
}


/* 固定表示Ver. - メインビジュアル
--------------------------------------------------------------- */

.mv-wrapper {
    position: relative;
    z-index: 1;
    line-height: 1;

    & img {
        width: 100%;
        height: auto;
    }
}



/* コンテンツ - 共通コンテナー
--------------------------------------------------------------- */

.content-block {
    position: relative;
    z-index: 2;

    .content-inner {
        position: relative;
        max-width: var(--container-width);
        margin: 0 auto;
    }
}

.mask-wave {
    mask-image: url(../img/obj-mainview.svg), linear-gradient(to bottom, transparent 0%, transparent var(--wave-size), #000 var(--wave-size), #000 100%);
    mask-size: 278px;
    margin-top: calc(-1 * var(--wave-size));
    padding-top: var(--wave-size);
}


/* ※mask-imageの影響によるトリミング対策用　*/

.content-wrapper {
    position: relative;
}

.sub-section {
    position: relative;
}

.sub-section:not(:last-child) {
    margin-bottom: 70px;
}


/* コンテンツ - 仙台空港祭 - 導入
--------------------------------------------------------------- */

.style-festival-introduction {
    --main-keycolor: #003894;
    background: #fff;

    .content-inner {
        padding-block: 30px calc(70px + var(--wave-size));
    }
}

.festival-introduction-text {
    font-size: 26px;
    font-weight: 900;
    text-align: center;
    line-height: 1.9;

    .marker {
        color: var(--main-keycolor);
        font-size: 1.33em;
        font-feature-settings: "palt";
        padding-inline: .2em;
        background: linear-gradient(transparent 60%, #ffff00 60%);
        letter-spacing: .05em;
    }
}


.comingsoon-section {
    text-align: center;
    margin-top: 85px;

    & h2 img {
        width: 486px;
    }

    & p {
        font-size: .94em;
        line-height: 1.75;
        margin-top: 1.5em;
    }
}


/* フッター - SNSリスト
--------------------------------------------------------------- */

.l-footer-sns__icons {
    display: grid;
    grid-template-columns: repeat(4, 48px);
    gap: 13px;
    width: fit-content;
    line-height: 1;
    margin: 50px auto 0;

    & a {
        display: block;
    }
}

.l-footer-sns__icon {
    width: 100%;
    min-width: 0;
    aspect-ratio: 1/1;

    .white {
        fill: #fff;
    }

    &.is_twitter .main {
        fill: #040000;
    }

    &.is_facebook .main {
        fill: #2a6db6;
    }

    &.is_instagram .main {
        fill: #de156f;
    }

    &.is_line .main {
        fill: #27ad37;
    }

    &:hover {
        opacity: .7;
    }
}


/* コンテンツ - 仙台空港へのアクセス
--------------------------------------------------------------- */

.content-wrapper {

    .access-title {
        position: absolute;
        top: calc(-1 * var(--wave-size));
        left: 0;
        right: 0;
        width: 320px;
        margin: auto;
        z-index: 3;
    }
}

.style-access {
    color: #fff;
    background: #002b70;

    .content-inner {
        padding-block: 105px 60px;
    }

    .access-means {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 45px;
        margin-bottom: 95px;

        & a {
            display: grid;
            place-content: center;
            width: 100%;
            height: 136px;
            background: #fff;
            border-radius: 20px;

            & img {
                width: auto;
                height: 100px;
            }
        }
    }

    .company-list {
        display: grid;
        grid-template-columns: repeat(5, 1fr);
        gap: 10px 20px;
        margin-bottom: 65px;

        & a {
            display: block;
            width: 100%;
            height: 45px;
            /*background: #fff;*/
            line-height: 1;
            overflow: hidden;

            & img {
                width: 100%;
                height: 100%;
                object-fit: contain;
                object-position: center center;
            }
        }
    }

    .button-flight {
        display: grid;
        grid-template-columns: 124px auto;
        justify-content: center;
        align-items: center;
        gap: 18px;
        width: 600px;
        height: 80px;
        text-decoration: none;
        color: #000;
        font-size: 30px;
        font-weight: 900;
        background: #FFF000;
        border: 2px solid #002b70;
        border-radius: 100vmax;
        box-shadow: 4px 4px 0px 0px rgba(0, 0, 0, 1);
        letter-spacing: .2em;
        margin: 0 auto;

        &::before {
            content: "";
            display: block;
            width: 100%;
            aspect-ratio: 1/.323;
            background: url(../img/pictogram_plane.svg) center center / contain no-repeat;
        }

    }

}


/* 各種コンポーネント
--------------------------------------------------------------- */

/* - タイトル 吹き出しキャプション */
.title-balloon-caption {
    display: grid;
    grid-template-columns: 31px minmax(0, 1fr) 31px;
    justify-content: center;
    align-items: center;
    gap: 18px;
    width: fit-content;
    font-size: 34px;
    font-weight: 900;
    letter-spacing: .05em;
    line-height: 1.4;
    margin: 0 auto 15px;

    &::before,
    &::after {
        content: "";
        display: block;
        aspect-ratio: 1/1;
        background: var(--color-default);
        clip-path: polygon(0 0, 19% 0, 100% 100%, 81% 100%);
    }

    &::after {
        transform: scale(1, -1);
    }
}

/* - タイトル */
.title-block-1 {
    --title-width: 470px;
    --title-height: 110px;
    width: fit-content;
    margin: 0 auto 30px;

    &::before,
    &::after {
        content: "";
        display: block;
        height: 2px;
        border-radius: 100vmax;
        background: #000;
    }

    .title-container {

        margin: 5px 0;

        &::before,
        &::after {
            content: "";
            display: block;
            height: 4px;
            border-radius: 100vmax;
            background: #000;
        }
    }

    & h2 {

        display: grid;
        place-content: center;
        width: var(--title-width);
        height: var(--title-height);
        text-align: center;
        color: var(--main-keycolor);
        font-size: 57px;
        font-weight: 900;
        line-height: 1.4;
    }

    /* -- スタイル - コラボメニュー */

    &.is-colabo {
        --title-width: auto;
        --title-height: 200px;
        margin-bottom: 65px;

        & h2 {
            color: #009FE6;
            padding-inline: 1em;
        }
    }
}


/* - タイトル ※画像版 */

.text-image-title {
    text-align: center;
    margin: 0 auto 30px;

    & img {
        width: auto;
        height: 136px;
    }
}

.text-subtitle {
    max-width: 740px;
    color: var(--main-keycolor);
    font-size: 41px;
    font-weight: 900;
    text-align: center;
    padding-bottom: 20px;
    border-bottom: 4px dotted var(--main-keycolor);
    margin: 0 auto 25px;
    line-height: 1;
}

.text-image-caption {
    text-align: center;
    margin: 0 auto 20px;

    & img {
        width: auto;
        height: 32px;
    }
}


/* - ディスクリプション・概要 */
.content-description {
    max-width: 490px;
    text-align: justify;
    margin: 0 auto 30px;
}


/* - 写真 */
.content-photo {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
    max-width: 740px;
    margin: 0 auto 50px;

    & img {
        border-radius: 50px;
        overflow: hidden;
    }

    &.is-single {
        grid-template-columns: minmax(0, 1fr);
        max-width: 490px;
    }

}



/* - 装飾イラスト用 - 包括要素 */
.illust-position-wrapper {
    position: relative;
}


/* - テーブル */
.table-1 {
    width: 100%;
    border: 5px solid var(--main-keycolor);
    table-layout: fixed;

    & th,
    & td {
        text-align: center;
        vertical-align: middle;
        font-size: 22px;
        font-weight: 500;
        padding: .2em;
        border: 2px solid var(--main-keycolor);
        line-height: 1.33;
    }

    & th {
        font-size: 27px;
        background: var(--background-keycolor);
    }

    & td {
        background: #fff;
        height: 150px;
    }

    .none {
        position: relative;
        box-sizing: border-box;
        padding: 0;
        overflow: hidden;

        & img {
            width: 100%;
            height: 100%;
        }

        &.is-heading {
            width: 134px;
        }

        &::after {
            content: "";
            position: absolute;
            top: 0;
            bottom: 0;
            width: 2px;
            height: 200%;
            background: var(--main-keycolor);
            margin: auto;
            transform: rotate(54.5deg);
        }

        &.is-cell::after {
            height: 260%;
            transform: rotate(63.5deg);
        }

    }

    .time {
        width: fit-content;
        text-align: left;
        margin: auto;
    }

    .tour-caption {
        font-size: .72em;
    }

    &+.table-1 {
        margin-top: 40px;
    }
}

.table-2 {
    width: 100%;
    max-width: 740px;
    border: 5px solid var(--main-keycolor);
    border-collapse: separate;
    border-radius: 30px;
    margin-inline: auto;
    overflow: hidden;

    & th,
    & td {
        text-align: center;
        vertical-align: middle;
        font-size: 22px;
        font-weight: 500;
        padding: 20px 25px;
        line-height: 1;
    }

    & tr:first-child th,
    & tr:first-child td {
        border-bottom: 2px solid var(--main-keycolor);
    }

    & th {
        box-sizing: border-box;
        width: 165px;
        background: var(--background-keycolor);
        border-right: 2px solid var(--main-keycolor);
    }

    & td {
        text-align: left;
        padding: 20px;
        background: #fff;
        letter-spacing: .1em;
    }

    .c-separate {
        border-bottom: 2px solid var(--main-keycolor);
    }

    /*
    .c-text-title {
        text-indent: .5em;
        letter-spacing: .5em;
    }
*/
    .c-text-date {
        font-size: 26px;
        margin-bottom: 10px;

        & span {
            font-size: 38px;
            font-weight: 700;
        }

    }

    .c-text-time {
        font-size: 24px;

        & span {
            font-size: 19px;
        }

        &.is-caption {
            font-size: .9em;
            margin-top: .5em;
        }

    }

    .c-text-venue {
        font-size: 28px;
    }

}


/* - 商品グリッドブロック */

.item-grid-block {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px 60px;
    line-height: 1.4;

    & figure {
        position: relative;
        width: 100%;
        aspect-ratio: 1/1;
        overflow: hidden;
        margin-bottom: 10px;

        & img {
            box-sizing: border-box;
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center center;
            border: 8px solid #fff;
        }

        .popup-caption {
            position: absolute;
            top: 0;
            left: 0;
            color: #fff;
            font-size: 13px;
            background: #E60013;
            padding: 6px 8px 7px 8px;
            line-height: 1;
            font-weight: bold;
        }

    }

    &+.item-grid-block {
        margin-top: 60px;
    }

    .item-prefecture {
        font-size: 17px;
        font-weight: 600;
        border-bottom: 1px solid #ca492e;
        padding-bottom: .3em;
        margin-bottom: .4em;
    }

    .item-property {
        font-size: 16px;
        margin-bottom: .3em;
    }

    .item-name {
        font-size: 22px;
        font-weight: 700;
        margin-bottom: .2em;
    }

    .item-price {
        font-weight: 600;
    }

    .item-price:not(:last-child) {
        margin-bottom: 0.3em;
    }

    .item-description {
        font-size: .9em;
        line-height: 1.5;
        margin-top: .6em;
    }

    .item-txt {
        font-size: 14px;
    }


    .item-floor {
        display: block;
        font-weight: 700;
        margin-bottom: .2em;
    }

    &.is-fare-margin {
        margin-top: 60px;
    }

    &.is-company-grid {

        & figure {
            aspect-ratio: 1/.692;
        }

        & a {
            display: block;
            text-decoration: none;
        }

        .item-property {
            line-height: 1.14;
            margin-top: 10px;
        }

    }

}

.price-caption {
    text-align: right;
    margin-top: 35px;

    @media print,
    screen and (min-width: 1024px) {

        &.is-pc-left {
            text-align: left;
        }
    }
}


/* - 各種ボタン */

.button-reserve {
    width: fit-content;
    margin: 10px auto 0;

    & a {
        box-sizing: border-box;
        display: grid;
        place-content: center;
        color: #fff;
        font-size: 13px;
        font-weight: 600;
        text-decoration: none;
        padding: 5px 10px;
        background: #63C4F0;
        border-radius: 9px;
        border: 1px solid #000;
        line-height: 1;
    }

}

/* - PICK UP バナー */

.pick-up-banner {
    text-align: center;
    margin: 65px auto;
}


/* グローバルフッター
--------------------------------------------------------------- */

#g-footer {
    display: grid;
    place-content: center;
    height: 150px;
    background: #fff;
}


/* 追加 - イベント終了
--------------------------------------------------------------- */

.event-end-wrapper {
    position: fixed;
    inset: 0;
    display: grid;
    place-content: center;
    margin: auto;
    background: rgba(255, 255, 255, .3);
    z-index: 5;

    .event-end-message {
        width: fit-content;
        color: #fff;
        font-size: 1.3em;
        font-weight: 700;
        text-align: center;
        background: #e60013;
        padding: 1em;
        margin: auto;
    }

}


/* その他、汎用ライブラリ
--------------------------------------------------------------- */

.bd {
    font-weight: bold;
}

.mb0 {
    margin-bottom: 0 !important;
}

.pc-only-block {
    display: block;
}

.pc-only-inline {
    display: inline;
}

.sp-only-block {
    display: none;
}

.sp-only-inline {
    display: none;
}

.nowrap {
    white-space: nowrap;
}

@media screen and (max-width:1023px) {
    .pc-only-block {
        display: none;
    }

    .pc-only-inline {
        display: none;
    }

    .sp-only-block {
        display: block;
    }

    .sp-only-inline {
        display: inline;
    }
}


/* 固定メニュー用 アンカー位置調整
--------------------------------------------------------------- */

.anchor-block {
    scroll-margin-top: 130px;
    /*
    margin-top:-10px;
    padding-top:10px;
	*/
}


/* 以下、SP ※917pxベース
--------------------------------------------------------------- */

@media screen and (max-width:1023px) {

    :root {
        scrollbar-width: none;

        --header-height: 23.86vw;
        --container-width: 65.91vw;
        --container-padding: 0;
        --font-size-base: 3.64vw;
        --wave-size: 5.33vw;

    }

    :root::-webkit-scrollbar {
        display: none;
    }


    img {
        max-width: 100%;
        width: auto;
        height: auto;
    }


    /* SP グローバルヘッダー
    --------------------------------------------------------------- */

    #g-header {

        .inner {
            max-width: none;
            padding: 0;
        }
    }



    /* SP グローバルロゴ
    --------------------------------------------------------------- */

    .g-logo {
        width: 40.45vw;
        margin-inline: auto;
    }


    /* SP スライダー - メインビジュアル
    --------------------------------------------------------------- */

    .slider-wrapper {
        min-width: 0;
        aspect-ratio: 1/1.36;

        .slide-image {
            width: 100%;
            aspect-ratio: 1/1.365;
            min-width: 0;
            object-fit: cover;
            object-position: center center;
        }
    }


    /* SP コンテンツ - 共通コンテナー
    --------------------------------------------------------------- */

    .content-inner .sp-over-wrapper {
        margin-inline: -11.36vw;
    }

    .mask-wave {
        mask-image: url(../img/sp/obj-mainview.svg), linear-gradient(to bottom, transparent 0%, transparent var(--wave-size), #000 var(--wave-size), #000 100%);
        mask-size: 100vw;
    }

    .sub-section:not(:last-child) {
        margin-bottom: 11.36vw;
    }


    /* SP コンテンツ - 仙台空港祭 - 導入
    --------------------------------------------------------------- */

    .style-festival-introduction {
        .content-inner {
            max-width: 90%;
            padding-block: 11.36vw 22.72vw;
        }
    }

    .festival-introduction-text {
        font-size: 4.53vw;

        .marker {
            font-size: 1.33em;
        }
    }


    .comingsoon-section {
        margin-top: 16vw;

        & h2 img {
            width: 100%;
            max-width: 129.6vw;
            height: auto;
        }

        & p {
            font-size: .94em;
            margin-top: 1.5em;
        }
    }


    /* SP フッター - SNSリスト
        --------------------------------------------------------------- */

    .l-footer-sns__icons {
        grid-template-columns: repeat(4, 10.67vw);
        gap: 2.67vw;
        margin: 13.33vw auto 0;
    }


    /* SP コンテンツ - 仙台空港へのアクセス
    --------------------------------------------------------------- */

    .content-wrapper {

        .access-title {
            width: 53.18vw;
        }
    }

    .style-access {

        .content-inner {
            padding-block: 17.05vw 9.09vw;
        }

        .access-means {
            grid-template-columns: repeat(2, 1fr);
            gap: 2.27vw 2.73vw;
            margin-bottom: 9.09vw;

            & a {
                height: 21.36vw;
                border-radius: 3.18vw;

                & img {
                    height: 15.91vw;
                }

            }

        }

        .company-list {
            grid-template-columns: repeat(3, 1fr);
            gap: 1.59vw 2.27vw;
            margin-bottom: 10.23vw;

            & a {
                height: 5.91vw;
            }
        }

        .button-flight {
            grid-template-columns: 13.18vw auto;
            gap: 1.82vw;
            width: auto;
            height: 8.64vw;
            font-size: 3.18vw;
            border: 1px solid #002b70;
            box-shadow: .45vw .45vw 0px 0px rgba(0, 0, 0, 1);
            letter-spacing: .2em;

            &::before {
                aspect-ratio: 1/.323;
            }

        }

    }


    /* SP 各種コンポーネント
    --------------------------------------------------------------- */

    /* - SP タイトル 吹き出しキャプション */
    .title-balloon-caption {
        grid-template-columns: 3.62vw minmax(0, 1fr) 3.62vw;
        gap: 1.93vw;
        font-size: 3.86vw;
        margin: 0 auto 2.42vw;
    }


    /* - SP タイトル */
    .title-block-1 {
        --title-width: auto;
        --title-height: 16.91vw;
        width: auto;
        margin: 0 auto 5.68vw;

        &::before,
        &::after {
            height: .24vw;
        }

        .title-container {

            margin: .97vw 0;

            &::before,
            &::after {
                height: .48vw;
            }
        }

        & h2 {
            font-size: 7.95vw;
        }

        /* -- SP スタイル - コラボメニュー */
        &.is-colabo {
            --title-height: auto;
            margin-bottom: 13.64vw;

            & h2 {
                margin-block: .2em;
            }

        }

    }


    /* - SP タイトル ※画像版 */

    .text-image-title {
        margin: 0 auto 5.68vw;

        & img {
            height: 18.64vw;

            &.is-sp-2row {
                height: 29.09vw;
            }
        }
    }

    .text-subtitle {
        font-size: 5.23vw;
        padding-bottom: 1.82vw;
        border-width: .68vw;
        margin-bottom: 4.55vw;
        line-height: 1.4;
    }

    .text-image-caption {
        margin: 0 auto 1.82vw;

        & img {
            height: 3.64vw;
        }
    }


    /* - SP ディスクリプション・概要 */
    .content-description {
        max-width: none;
        margin: 0 auto 6.82vw;
    }


    /* - SP 写真 */
    .content-photo {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 4.55vw;
        max-width: none;
        margin: 0 auto 6.82vw;

        & img {
            width: 53.18vw;
            border-radius: 7.5vw;
            overflow: hidden;
        }

        &.is-single {
            grid-template-columns: minmax(0, 1fr);
            max-width: none;

            & img {
                width: 100%;
            }

        }

        &>figure:nth-of-type(2n) {
            margin-left: auto;
        }

    }


    /* - SP テーブル */

    .table-1 {
        border-width: .68vw;

        & th,
        & td {
            font-size: 3.18vw;
            padding: .3em;
            border-width: .23vw;
        }

        & td {
            padding: .6em;

            &.none.is-cell::after {
                /*
                left: 0;
                right: 0;
                width: 20%;
                height: 1px;
                transform: rotate(0deg);
                */

                transform: rotate(39deg);
            }

        }

        .none {
            width: 20.45vw;

            & img {
                max-width: none;
                width: 100%;
                height: 100%;
            }

            &.is-heading {
                width: 18.18vw;
            }

            &::after {
                width: .34vw;
                transform: rotate(55deg);
            }

        }

        &+.table-1 {
            margin-top: 6.82vw;
        }

    }

    .table-2 {
        max-width: none;
        border-width: .68vw;
        border-radius: 3.64vw;

        & th,
        & td {
            font-size: 2.73vw;
            padding: 2.27vw 3.41vw;
        }

        & tr:first-child th,
        & tr:first-child td {
            border-width: .23vw;
        }

        & th {
            width: 12.73vw;
            border-width: .23vw;
            padding-inline: 0;
        }

        & td {
            padding: 2.27vw 2.73vw;
            letter-spacing: normal;
            line-height: 1.2;
        }

        .c-separate {
            border-width: .23vw;
        }

        .c-text-date {
            font-size: 3.41vw;
            margin-bottom: 1.14vw;

            & span {
                font-size: 4.77vw;
            }

        }

        .c-text-time {
            font-size: 3.18vw;

            & span {
                font-size: 2.5vw;
            }

        }

        .c-text-venue {
            font-size: 3.64vw;
        }

    }


    /* - SP 商品グリッドブロック */

    .item-grid-block {
        grid-template-columns: repeat(2, 1fr);
        gap: 5.68vw 6.82vw;

        & figure {
            margin-bottom: 1.14vw;

            & img {
                border-width: 1.21vw;
            }

            .popup-caption {
                top: 0;
                left: 0;
                font-size: 2.27vw;
                padding: 1.14vw;
            }

        }

        .item-prefecture {
            font-size: 3.14vw;
        }

        .item-property {
            font-size: 3.14vw;
        }

        .item-name {
            font-size: 3.49vw;
        }

        .item-price {
            font-size: 3.14vw;
        }

        .item-description {
            font-size: 2.86vw;
        }

        .item-txt {
            font-size: 2.27vw;
        }

        &.is-fare-margin {
            margin-top: 9.09vw;
        }

    }

    .price-caption {
        font-size: 2.5vw;
        margin-top: 2em;
    }


    /* - SP 各種ボタン */

    .button-reserve {
        margin: 1.14vw auto 0;

        & a {
            font-size: 2.95vw;
            padding: 1.14vw 2.27vw;
            border-radius: 2.05vw;
            border-width: .23vw;
        }

    }

    /* - SP PICK UP バナー */

    .pick-up-banner {
        max-width: none;
        margin: 7.95vw -11.36vw;
    }


    /* SP グローバルフッター
    --------------------------------------------------------------- */

    #g-footer {
        height: 27.27vw;
    }


    /* SP 追加 - イベント終了
    --------------------------------------------------------------- */

    .event-end-wrapper {
        z-index: 5;

        .event-end-message {
            width: auto;
            font-size: 4.87vw;
            padding: 1em;
        }
    }


    /* SP 固定メニュー用 アンカー位置調整
	--------------------------------------------------------------- */

    .anchor-block {
        scroll-margin-top: 130px;
    }

}