﻿@charset 'utf-8';
/* =============================================================================
    top
============================================================================= */
/* override */
.page-top .l-main-head {
    margin-bottom: var(--gutter3);
}

.page-top .l-main-head__inner {
    padding: 0;
    max-width: 100%;
}

@media (min-width: 768px) {
    .page-top .l-main-head {
        margin-bottom: 60px;
    }

    .page-top .c-dialog__reset {
        display: none;
    }
}

/* MV */
.p-top-mv {
    padding: var(--gutter3) 15px;
    background: url(/leisure/wroot/img/kokunai-opt_mv.png) no-repeat 50% 50%;
    background-size: cover;
}

.p-top-mv.-leisure {
    background-image: url(/leisure/wroot/img/leisure_mv.png);
}

.p-top-mv__topicpath {
    margin-bottom: var(--gutter2);
    color: #fff;
}

.p-top-mv__topicpath-list {
    display: flex;
    flex-wrap: wrap;
}

.p-top-mv__topicpath-item {
    position: relative;
    font-size: 1.2rem;
    line-height: 1;
    text-shadow: 0 4px 6px rgba(0, 0, 0, .4);
}

.p-top-mv__topicpath-item::after {
    content: "";
    margin: 0 8px 2px 3px;
    vertical-align: middle;
    transform: rotate(45deg);
    display: inline-block;
    width: 5px;
    height: 5px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
}

.p-top-mv__topicpath-item:last-child::after {
    display: none;
}

.p-top-mv__topicpath-link {
    color: #fff;
}

.p-top-mv__heading {
    margin-bottom: var(--gutter1);
}

.p-top-mv__title {
    font-size: 2.6rem;
    font-weight: 700;
    color: #fff;
    text-shadow: 0 4px 6px rgba(0, 0, 0, .4);
}

.p-top-mv__lead {
    margin-bottom: var(--gutter2);
    font-weight: 700;
    font-size: 1.4rem;
    color: #fff;
    text-shadow: 0 4px 6px rgba(0, 0, 0, .4);
}

.p-top-mv__form {
    padding: var(--gutter4) var(--gutter2);
    border-radius: 4px;
    background-color: #fff;
}

.p-top-mv__form-inner {
    display: flex;
    flex-direction: column;
    gap: var(--gutter2);
}

.p-top-mv__form-content {
    position: relative;
    padding-top: 4px;
    padding-bottom: 2px;
    border: 1px solid var(--grayColor1);
    line-height: 1;
}

.p-top-mv__form-content.-submit {
    padding-top: 0;
    border: 0;
}

.p-top-mv__form-input {
    width: 100%;
    padding-left: 48px;
    padding-bottom: 2px;
    border-radius: 0;
    font-size: 1.4rem;
    border: 0;
}

.p-top-mv__form-icon {
    color: var(--secondaryColor);
    position: absolute;
    top: 50%;
    left: 16px;
    transform: translateY(-50%);
}

.p-top-mv__form-sub {
    margin-bottom: 2px;
    padding-left: 48px;
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--grayColor2);
}

@media (max-width: 767px) {
    .p-top-mv {
        padding: var(--gutter3) 15px;
        height: 553px;
    }
    
    .p-top-mv__topicpath-item {
        flex-shrink: 0;
    }

    .p-top-mv__form-content.-submit {
        margin-top: var(--gutter3);
    }
}

@media (min-width: 768px) {
    .p-top-mv {
        padding-block: var(--gutter1);
        height: 570px;
    }

    .p-top-mv__inner {
        margin: auto;
        max-width: 1280px;
    }

    .p-top-mv__topicpath {
        margin-bottom: var(--gutter3);
    }

    .p-top-mv__title {
        font-size: 3.2rem;
    }

    .p-top-mv__lead {
        margin-bottom: var(--gutter3);
        font-size: 1.6rem;
    }

    .p-top-mv__form {
        padding: var(--gutter3) var(--gutter2);
    }

    .p-top-mv__form-inner {
        flex-direction: row;
    }

    .p-top-mv__form-content {
        width: 25%;
        flex-grow: 1;
    }

    .p-top-mv__form-content.-submit {
        max-width: 196px;
        flex-shrink: 0;
    }
}

/* 現在地から探す */
.p-top-location {
    margin-bottom: var(--gutter3);
}

.p-top-location__button {
    margin: auto;
    width: 100%;
    max-width: 308px;
}

.p-top-location__button .c-button-icon {
    font-size: 1.6rem;
    line-height: 1;
}

@media (min-width: 768px) {
    .p-top-location {
        display: none;
    }
}

/* ～から探す */
.p-top-search {
    margin-bottom: var(--gutter3);
}

.p-top-search__heading {
    margin-bottom: var(--gutter2);
}

.p-top-search__content {
    margin-bottom: var(--gutter4);
}

.p-top-search__list {
    display: flex;
    flex-wrap: wrap;
    gap: var(--gutter1);
}

.p-top-search__item {
    max-width: calc(100% / 2 - 4px);
}

.p-top-search__item:nth-child(n+7) {
    display: none;
}

.p-top-search__thumbs.is-show .p-top-search__item:nth-child(n+7) {
    display: block;
}

.p-top-search__thumbs.is-show .p-top-search__more-link::after {
    transform: rotate(-90deg);
}

.p-top-search__link {
    display: block;
}

.p-top-search__thumb {
    line-height: 1;
}

.p-top-search__name {
    color: var(--baseColor);
    margin-bottom: 4px;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.p-top-search__sub {
    font-size: 1.4rem;
    color: var(--secondaryColor);
}

.p-top-search__more {
    display: none;
    margin-top: var(--gutter3);
    text-align: center;
}

.p-top-search__more-link {
    font-size: 1.6rem;
    color: var(--linkColor);
    font-weight: 700;
}

.p-top-search__inner > :last-child,
.p-top-search__thumbs > :last-child,
.p-top-search__link > :last-child {
    margin-bottom: 0;
}

@media (max-width: 767px) {
    .p-top-search__list.-type2 {
        gap: var(--gutter2) var(--gutter1);
    }
}

@media (min-width: 768px) {
    .p-top-search {
        margin-bottom: var(--gutter5);
    }

    .p-top-search__content {
        margin-bottom: 56px;
    }

    .p-top-search__list {
        gap: var(--gutter2);
    }

    .p-top-search__item {
        max-width: calc(100% / 6 - 13.333px);
    }

    .p-top-search__link {
        transition: var(--transition);
    }

    .p-top-search__link:is(:hover, :focus, :active) {
        opacity: var(--opacity);
        text-decoration: none;
    }

    .p-top-search__thumb {
        margin-bottom: 4px;
    }

    .p-top-search__name {
        font-weight: 700;
    }

    .p-top-search__thumbs.-block-pc .p-top-search__item:nth-child(n+7) {
        display: block;
    }

    .p-top-search__thumbs.-block-pc .p-top-search__more {
        display: none !important;
    }
}

/* 特集一覧 */
.p-top-pickup {
    margin-bottom: var(--gutter3);
}

.p-top-pickup__heading {
    margin-bottom: var(--gutter2);
}

.p-top-pickup__heading2 {
    margin-bottom: var(--gutter1);
}

.p-top-pickup__content {
    margin-bottom: var(--gutter3);
}

.p-top-pickup__heading > :last-child,
.p-top-pickup__heading2 > :last-child,
.p-top-pickup > :last-child {
    margin-bottom: 0;
}

@media (min-width: 768px) {
    .p-top-pickup {
        margin-bottom: 88px;
    }

    .p-top-pickup__heading {
        margin-bottom: 32px;
    }
    
    .p-top-pickup__heading2 {
        margin-bottom: var(--gutter3);
    }
}

/* 特集一覧スライダー内カード */
.p-top-pickup-card__title {
    font-size: 1.4rem;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

@media (min-width: 768px) {
    .p-top-pickup-card__title {
        -webkit-line-clamp: 2;
    }
}

/* ご利用ガイド */
.p-top-guide__heading {
    margin-bottom: var(--gutter3);
}

.p-top-guide__content {
    margin-bottom: var(--gutter3);
}

.p-top-guide__content {
    margin-bottom: var(--gutter3);
}

.p-top-guide__link {
    text-align: center;
    font-weight: 700;
}

.p-top-guide > :last-child,
.p-top-guide__inner > :last-child,
.p-top-guide__content > :last-child {
    margin-bottom: 0;
}

@media (max-width: 767px) {
    .p-top-guide__heading {
        text-align: center;
    }

    .p-top-guide__content {
        width: 80%;
        margin-inline: auto;
    }
}

@media (min-width: 768px) {
    .p-top-guide__content {
        margin-bottom: 52px;
    }
    
}


/* =============================================================================
    customer page login
============================================================================= */
/* override
---------------------------------------- */
.page-customer-guest-login .c-form-label {
    margin-bottom: 4px;
}

@media (min-width: 768px) {
    .page-customer-guest-login .l-heading-lv1 {
        margin-bottom: var(--gutter3);
    }
}

/* contents
---------------------------------------- */
.p-customer-login {
    margin-bottom: 56px;
}

.p-customer-login__lead {
    margin-bottom: var(--gutter3);
}

.p-customer-login__lead-text {
    margin-bottom: var(--gutter1);
}

.p-customer-login__lead.-type2 {
    font-size: 1.4rem;
}

.p-customer-login__inner {
    display: flex;
    flex-direction: column;
    gap: var(--gutter3);
}

.p-customer-login__inner.-col1 {
    justify-content: center;
}

.p-customer-login__content {
    padding: var(--gutter3) var(--gutter2);
    border-radius: 4px;
    border: 1px solid var(--grayColor1);
    box-shadow: var(--buttonShadow);
}

.p-customer-login__content > :last-child {
    margin-bottom: 0;
}

.p-customer-login__heading {
    margin-bottom: var(--gutter2);
}

.p-customer-login__title {
    font-size: 2.1rem;
}

.p-customer-login__text {
    margin-bottom: var(--gutter2);
}

.p-customer-login__button {
    margin-bottom: var(--gutter2);
}

.p-customer-login > :last-child,
.p-customer-login__lead > :last-child,
.p-customer-login__inner > :last-child {
    margin-bottom: 0;
}

@media (min-width: 768px) {
    .p-customer-login__lead {
        margin-bottom: var(--gutter4);
    }

    .p-customer-login__inner {
        flex-direction: row;
        flex-wrap: wrap;
        gap: var(--gutter2);
    }
    
    .p-customer-login__content {
        padding: var(--gutter3) var(--gutter4);
        width: calc(50% - 8px);
    }

    .p-customer-login__title {
        font-size: 2.6rem;
    }

    .p-customer-login__button {
        width: 100%;
        max-width: 552px;
        margin-inline: auto;
    }

    .p-customer-login__button > .c-button,
    .p-customer-login__button > .c-button-cta {
        width: 100%;
    }

    /* ゲスト購入 */
    .p-customer-login__content.-guest {
        width: 100%;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    .p-customer-login__content.-guest .p-customer-login__heading {
        margin-bottom: 0;
    }

    .p-customer-login__content.-guest .p-customer-login__button {
        margin: 0;
    }
}

/* ログインして予約・購入 */
.p-customer-login__form {
    display: flex;
    flex-direction: column;
    gap: var(--gutter1);
    margin-bottom: var(--gutter2);
}

.p-customer-login__list {
    display: flex;
    flex-direction: column;
    gap: var(--gutter1);
    margin-bottom: var(--gutter2);
}

@media (min-width: 768px) {
    .p-customer-login__list {
        margin-bottom: var(--gutter1);
        gap: var(--gutter1);
    }
}


/* 登録して予約・購入 */
.p-customer-login__feature {
    margin-bottom: var(--gutter2);
}

.p-customer-login__feature-list {
    display: flex;
    flex-direction: column;
    gap: var(--gutter1);
}

.p-customer-login__feature-item {
    display: flex;
    align-items: center;
    gap: var(--gutter1);
}

.p-customer-login__feature-icon {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: 100% auto;
}

.p-customer-login__feature-icon.-point {
    background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M13.0526%209.5925C12.8513%209.5925%2012.65%209.5925%2012.4487%209.5925C11.679%209.5925%2011.3443%209.5945%2011.0315%209.5946C10.7729%209.5947%2010.3971%209.5945%209.9367%209.5929C9.8848%209.5946%209.7151%209.6065%209.5623%209.7364C9.3831%209.8886%209.3567%2010.0928%209.352%2010.1376C9.3484%2012.6699%209.3447%2015.2022%209.3411%2017.7345C9.3645%2017.792%209.4084%2017.8778%209.4903%2017.958C9.6435%2018.1081%209.8265%2018.1373%209.8922%2018.1446C10.3796%2018.1446%2010.8671%2018.1446%2011.3545%2018.1446C11.3881%2018.142%2011.5842%2018.1238%2011.7099%2017.9572C11.7777%2017.8673%2011.795%2017.7739%2011.8003%2017.7255C11.8005%2016.9223%2011.8007%2016.119%2011.8008%2015.3157H12.4487C13.0566%2015.3157%2013.5683%2015.2346%2013.9843%2015.0706C14.4003%2014.9066%2014.7343%2014.6819%2014.9863%2014.3977C15.2383%2014.1145%2015.4199%2013.7942%2015.5312%2013.4377C15.6445%2013.0822%2015.6992%2012.7082%2015.6992%2012.3161C15.6992%2012.0231%2015.6662%2011.0377%2014.8906%2010.3005C14.173%209.6185%2013.2798%209.5924%2013.0526%209.5925ZM13.0479%2013.1985C12.8248%2013.3538%2012.5606%2013.4319%2012.2564%2013.4319H11.8008V11.4646H12.4004C12.7368%2011.4646%2012.9849%2011.5486%2013.1445%2011.7166C13.3047%2011.8846%2013.3847%2012.1048%2013.3847%2012.3763C13.3848%2012.7683%2013.2715%2013.0422%2013.0479%2013.1985ZM20%206H17V4C17%202.89%2016.11%202%2015%202H9C7.89%202%207%202.89%207%204V6H4C2.89%206%202%206.89%202%208V19C2%2020.11%202.89%2021%204%2021H20C21.11%2021%2022%2020.11%2022%2019V8C22%206.89%2021.11%206%2020%206ZM9%204H15V6H9V4ZM20%2014C20%2015%2020%2016%2020%2017V19H4V17C4%2016%204%2015%204%2014C4%2012.3333%204%2010.6667%204%209C4%208.45%204.45%208%205%208H7V9C7%209.55%207.45%2010%208%2010C8.55%2010%209%209.55%209%209V8H15V9C15%209.55%2015.45%2010%2016%2010C16.55%2010%2017%209.55%2017%209V8H19C19.55%208%2020%208.45%2020%209V14Z%22%20fill%3D%22%23323743%22%2F%3E%3C%2Fsvg%3E');
}

.p-customer-login__feature-icon.-schedule {
    background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M11.2514%2019.1383C11.5538%2019.8578%2011.9966%2020.503%2012.5441%2021.0426H4.90426C3.8474%2021.0426%203%2020.1857%203%2019.1383L3.00952%205.80852C3.00952%204.76118%203.8474%203.90426%204.90426%203.90426H5.85639V2.95213C5.85639%202.42846%206.28485%202%206.80852%202C7.33219%202%207.76065%202.42846%207.76065%202.95213V3.90426H15.3777V2.95213C15.3777%202.42846%2015.8061%202%2016.3298%202C16.8535%202%2017.2819%202.42846%2017.2819%202.95213V3.90426H18.2341C19.2814%203.90426%2020.1383%204.76118%2020.1383%205.80852V12.1611C19.5725%2011.742%2018.9304%2011.4226%2018.2341%2011.2281V9.61704H4.90426V19.1383H11.2514ZM21.6279%2016.8687C21.6279%2019.6129%2019.4008%2021.84%2016.6517%2021.84C13.9076%2021.84%2011.6855%2019.6129%2011.6855%2016.8687C11.6855%2014.1246%2013.9077%2011.8975%2016.6517%2011.8975C19.4008%2011.8975%2021.6279%2014.1246%2021.6279%2016.8687ZM18.6452%2018.1563L17.1538%2016.665V14.8803C17.1538%2014.6069%2016.9301%2014.3831%2016.6567%2014.3831C16.3832%2014.3831%2016.1596%2014.6069%2016.1596%2014.8803V16.8687C16.1596%2017.003%2016.2142%2017.1272%2016.3087%2017.2217L17.9442%2018.8573C18.1381%2019.0511%2018.4513%2019.0511%2018.6452%2018.8573C18.8391%2018.6634%2018.8391%2018.3502%2018.6452%2018.1563Z%22%20fill%3D%22%23323743%22%2F%3E%3C%2Fsvg%3E');
}

.p-customer-login__feature-icon.-coupon {
    background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M6.66862%2016.4849C6.63413%2016.464%206.59622%2016.4484%206.55574%2016.4393C6.52864%2016.4332%206.50056%2016.4297%206.47162%2016.4297C6.26077%2016.4297%206.08984%2016.6006%206.08984%2016.8115V17.575C6.08984%2017.7858%206.26077%2017.9568%206.47162%2017.9568C6.68247%2017.9568%206.85339%2017.7858%206.85339%2017.575V16.8115C6.85339%2016.6728%206.77921%2016.5518%206.66862%2016.4849Z%22%20fill%3D%22%23323743%22%2F%3E%3Cpath%20d%3D%22M6.49155%2014.294C6.4849%2014.2936%206.47834%2014.293%206.47162%2014.293C6.26077%2014.293%206.08984%2014.4639%206.08984%2014.6747V15.4383C6.08984%2015.6491%206.26077%2015.8201%206.47162%2015.8201C6.68247%2015.8201%206.85339%2015.6491%206.85339%2015.4383V14.6747C6.85339%2014.4706%206.69307%2014.3044%206.49155%2014.294Z%22%20fill%3D%22%23323743%22%2F%3E%3Cpath%20d%3D%22M6.61938%2010.0531C6.57392%2010.034%206.52402%2010.0234%206.47162%2010.0234C6.26077%2010.0234%206.08984%2010.1944%206.08984%2010.4052V11.1688C6.08984%2011.3796%206.26077%2011.5505%206.47162%2011.5505C6.68247%2011.5505%206.85339%2011.3796%206.85339%2011.1688V10.4052C6.85339%2010.2468%206.75684%2010.1109%206.61938%2010.0531Z%22%20fill%3D%22%23323743%22%2F%3E%3Cpath%20d%3D%22M6.79694%2012.3351C6.72983%2012.2256%206.60943%2012.1523%206.47162%2012.1523C6.26077%2012.1523%206.08984%2012.3233%206.08984%2012.5341V13.2977C6.08984%2013.5085%206.26077%2013.6794%206.47162%2013.6794C6.51573%2013.6794%206.55792%2013.6716%206.59734%2013.6578C6.74633%2013.6058%206.85339%2013.4644%206.85339%2013.2977V12.5341C6.85339%2012.4611%206.83251%2012.3931%206.79694%2012.3351Z%22%20fill%3D%22%23323743%22%2F%3E%3Cpath%20d%3D%22M20.6025%208.24606C20.2882%207.90391%2019.8375%207.68902%2019.3374%207.68902H19.2237L7.9277%203.12513C7.04939%202.77027%206.04611%203.19613%205.69125%204.07445L4.68035%206.57651L4.47782%207.06929L4.95645%207.30385C4.95952%207.3054%205.22035%207.43917%205.46654%207.68902H3.72117C2.77387%207.68902%202.00319%208.45971%202.00319%209.407V12.1056L2%2012.6383L2.2247%2012.6545L2.53165%2012.6765C2.5357%2012.6768%202.94168%2012.7128%203.32452%2012.9292C3.33129%2012.9331%203.3375%2012.9372%203.34416%2012.9411C3.78001%2013.1954%203.99248%2013.5809%203.99248%2014.1195C3.99248%2014.1368%203.9916%2014.1534%203.99117%2014.1704C3.97988%2014.6122%203.82146%2014.955%203.50915%2015.2109C3.44884%2015.2604%203.38347%2015.3069%203.31162%2015.35C2.92506%2015.5816%202.5165%2015.6317%202.51553%2015.6318L2.00319%2015.6861V18.832C2.00319%2019.7793%202.77388%2020.55%203.72117%2020.55H19.3374C19.365%2020.55%2019.3923%2020.5492%2019.4195%2020.5479C20.3289%2020.5049%2021.0554%2019.7518%2021.0554%2018.832V9.407C21.0554%208.95977%2020.8835%208.55204%2020.6025%208.24606ZM6.75318%204.50349C6.87147%204.21072%207.20589%204.06876%207.49866%204.18705L9.69346%205.0738L9.62195%205.25079C9.54297%205.44629%209.63741%205.66879%209.83291%205.74778C10.0284%205.82676%2010.2509%205.73232%2010.3299%205.53682L10.4014%205.35983L16.1663%207.68901H9.39335C9.45211%207.6481%209.50019%207.59042%209.52901%207.51907L9.81504%206.81113C9.89403%206.61563%209.79958%206.39312%209.60408%206.31414C9.40858%206.23515%209.18608%206.3296%209.10709%206.5251L8.82106%207.23304C8.75306%207.40138%208.81385%207.5895%208.95681%207.68901H6.8376C6.74457%207.47721%206.61904%207.27388%206.4608%207.08218C6.28243%206.8661%206.08878%206.69477%205.91965%206.56652L6.75318%204.50349ZM19.9101%2018.832C19.9101%2019.1478%2019.6532%2019.4047%2019.3374%2019.4047H6.85188V18.9513C6.85188%2018.7405%206.68095%2018.5695%206.4701%2018.5695C6.25925%2018.5695%206.08833%2018.7405%206.08833%2018.9513V19.4047H3.72117C3.4054%2019.4047%203.14851%2019.1478%203.14851%2018.832V16.6606C3.35574%2016.5985%203.60477%2016.5032%203.85639%2016.3582C4.18076%2016.1713%204.44567%2015.9406%204.64892%2015.6714C4.87867%2015.3671%205.02926%2015.0134%205.09672%2014.6171C5.12381%2014.4579%205.1378%2014.292%205.1378%2014.1195C5.1378%2013.1455%204.6781%2012.3599%203.84342%2011.9074C3.82088%2011.8952%203.79842%2011.8838%203.77595%2011.8724C3.55287%2011.7588%203.33461%2011.6825%203.14851%2011.632V9.40699C3.14851%209.09122%203.4054%208.83433%203.72117%208.83433H6.08833V9.02522C6.08833%209.23607%206.25925%209.40699%206.4701%209.40699C6.68095%209.40699%206.85188%209.23607%206.85188%209.02522V8.83433H19.3374C19.5738%208.83433%2019.7771%208.97831%2019.8644%209.18314C19.8938%209.25194%2019.9101%209.32759%2019.9101%209.40699V18.832Z%22%20fill%3D%22%23323743%22%2F%3E%3Cpath%20d%3D%22M13.4716%2016.1533L11.4661%2017.2077L11.8491%2014.9744L10.2266%2013.3928L12.4689%2013.067L13.4716%2011.0352L14.4744%2013.067L16.7167%2013.3928L15.0942%2014.9744L15.4772%2017.2077L13.4716%2016.1533Z%22%20fill%3D%22%23323743%22%2F%3E%3C%2Fsvg%3E')
}

@media (min-width: 768px) {
    .p-customer-login__feature {
        min-height: 102px;
    }
}

/* 再ログイン */
.p-customer-login__id {
    margin-bottom: var(--gutter1);
    font-weight: 700;
    font-size: 1.8rem;
}

.p-customer-login__otherid {
    font-weight: 700;
}

@media (min-width: 768px) {
    .p-customer-login__id {
        font-size: 2.1rem;
    }
}


/* メールアドレスの確認 */
.p-customer-login__unit {
    margin-bottom: var(--gutter3);
}

.p-customer-login__submit {
    display: flex;
    justify-content: center;
    margin-top: 32px;
}

/* 認証キーの確認 */
.p-customer-login__resend {
    color: var(--linkColor);
    font-weight: 700;
    font-size: 1.6rem;
}

.p-customer-login__information {
    margin-bottom: var(--gutter3);
}


/* チケットゲストログイン
---------------------------------------- */
.p-customer-guest__heading {
    margin-bottom: var(--gutter2);
}

.p-customer-guest__lead {
    margin-bottom: var(--gutter2);
    font-size: 1.4rem;
}

.p-customer-guest__unit {
    margin-bottom: var(--gutter5);
}

.p-customer-guest__input {
    margin-bottom: var(--gutter2);
}

.p-customer-guest > :last-child {
    margin-bottom: 0;
}


/* =============================================================================
    page-order
============================================================================= */
/* orverride
---------------------------------------- */
@media (max-width: 767px) {
    .page-order-cancel .l-heading-lv1__title {
        text-align: left;
    }
    
}

@media (min-width: 768px) {
    .page-order-input .p-order-information + .l-heading-lv1 {
        margin-top: var(--gutter3);
    }

    .page-order-qrdetail .l-heading-lv1 {
        margin-top: var(--gutter3);
        margin-bottom: var(--gutter3);
    }
}

/* お客様情報入力
---------------------------------------- */
.p-order-step {
    padding-top: 30px;
}

@media (min-width: 768px) {
    .p-order-step {
        margin-bottom: var(--gutter4);
        display: block;
        padding-top: var(--gutter3);
    }
}

.p-order-input {
    margin-bottom: var(--gutter5);
}

.p-order-input > :last-child {
    margin-bottom: 0;
}

.p-order-input__unit {
    margin-bottom: var(--gutter4);
    padding-bottom: var(--gutter3);
    border-bottom: 1px solid var(--grayColor1);
}

.p-order-input__unit.-noborder {
    padding-bottom: 0;
    border-bottom: 0;
}

.p-order-input__unit-content {
    margin-bottom: var(--gutter3);
}

.p-order-input__unit.-border .p-order-input__unit-content:not(:last-child) {
    margin-bottom: var(--gutter2);
    padding-bottom: var(--gutter2);
    border-bottom: 1px solid var(--grayColor1);
}

.p-order-input__unit > :last-child,
.p-order-input__unit-content > :last-child {
    margin-bottom: 0;
}

.p-order-input__submit {
    margin-bottom: var(--gutter4);
}


/* 戻るリンク */
.p-order-back {
    margin-bottom: var(--gutter4);
}

/* 支払い情報入力
---------------------------------------- */
/* リード */
.p-order-input-lead {
    margin-bottom: var(--gutter4);
}

.p-order-input-lead__information {
    margin-bottom: var(--gutter3);
}

.p-order-input-lead__text {
    margin-bottom: var(--gutter3);
    font-size: 1.6rem;
}

.p-order-input-lead > :last-child {
    margin-bottom: 0;
}

/* 注意文エリア */
.p-order-input__attention {
    margin-bottom: var(--gutter4);
}


/* 完了
---------------------------------------- */
.p-order-complete {
    margin-bottom: var(--gutter4);
}

.p-order-complete__heading {
    margin-bottom: var(--gutter3);
}

.p-order-complete__title {
    font-size: 2.1rem;
}

.p-order-complete > :last-child {
    margin-bottom: 0;
}

.p-order-complete__submit {
    margin-bottom: var(--gutter3);
}

/* Utility */
.p-order-complete-util {
    text-align: right;
    margin-bottom: var(--gutter4);
}

.p-order-complete-util__list {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: var(--gutter2);
}

.p-order-complete-util__link {
    font-size: 1.6rem;
}

.p-order-complete-util__text {
    font-size: 1.4rem;
}

/* 内容確認
---------------------------------------- */
/* 概要 */
.p-order-outline {
    margin-bottom: var(--gutter4);
}

/* 印刷ボタン */
.p-order-print {
    display: none;
}

@media (min-width: 768px) {
    .p-order-print {
        display: block;
        margin-bottom: var(--gutter4);
    }

    .p-order-print .c-button-icon__icon {
        height: 24px;
    }
}

/* 支払い総額 */
.p-order-payment {
    margin-bottom: var(--gutter4);
    padding-bottom: var(--gutter3);
    border-bottom: 1px solid var(--grayColor1);
}

.p-order-payment__unit {
    margin-bottom: var(--gutter3);
}

.p-order-payment__heading {
    margin-bottom: var(--gutter3);
}

.p-order-payment__title {
    font-size: 2.1rem;
    font-weight: 700;
}

.p-order-payment > :last-child,
.p-order-payment__unit > :last-child {
    margin-bottom: 0;
}

.p-order-payment__total {
    text-align: right;
    font-size: 1.8rem;
}

.p-order-payment__total-main {
    margin-bottom: 4px;
}

.p-order-payment__total-text {
    display: inline-block;
    padding-right: var(--gutter1);
}

.p-order-payment__total-num {
    font-size: 3.2rem;
    font-weight: 700;
    line-height: 1;
}

.p-order-payment__total-button {
    color: var(--linkColor);
    font-size: 1.3rem;
    transition: var(--transition);
    line-height: 1;
}

.p-order-payment__total-buttonText {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding-inline: var(--gutter1);
    font-weight: 700;
}

.p-order-payment__total-buttonText::after {
    display: block;
    content: "\e148";
    font-family: "Material Icons";
    font-size: 1.6rem;
    color: var(--linkColor);
    font-weight: 500;
}

.p-order-payment__total-sub {
    margin-bottom: var(--gutter2);
    font-size: 1.6rem;
    font-weight: 700;
}

.p-order-payment__total-sub-title {
    padding-right: var(--gutter2);
}

.p-order-payment__total > :last-child {
    margin-bottom: 0;
}

@media (min-width: 768px) {
    .p-order-payment__title {
        font-size: 2.6rem;
    }

    .p-order-payment__total-button:is(:hover, :focus) {
        opacity: var(--opacity);
    }
}

/* Utility */
.p-order-confirm-util {
    text-align: right;
    margin-bottom: var(--gutter4);
}

.p-order-confirm-util__list {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 4px;
}

.p-order-confirm-util__link {
    font-size: 1.6rem;
}

.p-order-confirm-util__text {
    font-size: 1.4rem;
}

/* サブミットエリア */
.p-order-confirm {
    margin-bottom: var(--gutter4);
}

.p-order-confirm__submit {
    margin-bottom: var(--gutter3);
}

.p-order-confirm__submit.-primary {
    margin-bottom: var(--gutter4);
}

.p-order-confirm__attention {
    margin-bottom: var(--gutter4);
    font-size: 1.4rem;
}

.p-order-confirm__attention-heading {
    margin-bottom: var(--gutter2);
}

.p-order-confirm__attention-title {
    font-size: 2.1rem;
}

.p-order-confirm > :last-child {
    margin-bottom: 0;
}

@media (min-width: 768px) {
    .p-order-confirm__submit {
        margin-bottom: 32px;
    }

    .p-order-confirm__attention-title {
        font-size: 2.6rem;
    }
}

/* お問い合わせ先モーダル */
.p-order-contact__inner {
    display: flex;
    flex-direction: column;
    gap: var(--gutter2);
}

.p-order-contact__contact {
    flex: 1;
}

.p-order-contact__address {
    text-align: center;
    font-size: 1.4rem;
    font-weight: 700;
}

.p-order-contact__close {
    text-align: center;
    margin-top: var(--gutter4);
}

.p-order-contact__closeButton {
    color: var(--linkColor);
    font-weight: 700;
}

@media (min-width: 768px) {
    .p-order-contact__address {
        text-align: left;
    }
}


/* 入場用QRコード一覧
---------------------------------------- */
.p-order-qr {
    margin-bottom: var(--gutter4);
}

.p-order-qr__all {
    margin-bottom: var(--gutter4);
    padding-bottom: var(--gutter4);
    border-bottom: 1px solid var(--grayColor1);
}

.p-order-qr__heading {
    margin-bottom: var(--gutter2);
}

.p-order-qr__all-lead {
    margin-bottom: var(--gutter4);
}

.p-order-qr__list-unit {
    margin-bottom: var(--gutter3);
    padding-bottom: var(--gutter2);
    border-bottom: 1px dashed var(--grayColor1);
}

.p-order-qr__list-heading {
    margin-bottom: var(--gutter2);
}

.p-order-qr__list-title {
    display: flex;
    align-items: center;
    gap: var(--gutter1);
    font-size: 1.8rem;
}

.p-order-qr__list-title::before {
    display: block;
    content: "\e638";
    color: var(--secondaryColor);
    font-family: "Material Icons";
    font-size: 2.4rem;
    line-height: 1;
}

.p-order-qr__list-detail {
    margin-bottom: var(--gutter2);
    font-weight: 700;
}

.p-order-qr__list-name {
    margin-bottom: var(--gutter1);
}

.p-order-qr__list-price {
    text-align: right;
}

.p-order-qr__heading > :last-child {
    margin-bottom: 0;
}

/* チケット詳細 */
.p-order-qr-details {
    margin-bottom: var(--gutter5);
}

.p-order-qr-details__heading {
    margin-bottom: var(--gutter2);
}

.p-order-qr-details__title {
    font-size: 2.1rem;
}

.p-order-qr-details__unit {
    margin-bottom: var(--gutter2);
}

.p-order-qr-details__unit-heading {
    margin-bottom: var(--gutter1);
}

.p-order-qr-details__unit-title {
    font-size: 1.6rem;
}


.p-order-qr-details > :last-child,
.p-order-qr-details__heading > :last-child {
    margin-bottom: 0;
}

@media (min-width: 768px) {
    .p-order-qr__all-button {
        display: flex;
        justify-content: center;
    }

    .p-order-qr__list-title {
        font-size: 2.1rem;
    }

    .p-order-qr__list-detail {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding-left: var(--gutter1);
    }

    .p-order-qr__list-button {
        display: flex;
        justify-content: flex-end;
    }

    .p-order-qr-details__title {
        font-size: 2.6rem;
    }

    .p-order-qr-details__unit-title {
        font-size: 2.1rem;
    }

    .p-order-qr-details.-qr-detail .p-order-qr-details__unit-title {
        font-size: 1.6rem;
    }

    .p-order-qr-details__unit-text a[href*="tel:"] {
        pointer-events: none;
        color: var(--baseColor);
    }
}


/* 入場用QR表示
---------------------------------------- */
.p-order-qr-detail__print {
    display: none;
}

@page {
	size: A4 portrait;
	margin: var(--gutter4) var(--gutter3);
}

@media print {
    .page-order-qrdetail .l-heading-lv1,
    .l-main-content__inner .l-heading-lv1,
    .p-order-qr-print,
    .l-pagetop,
    .p-order-back,
    .-no-print,
    .page-order-qrlist #page_header-pc,
    .page-order-qrlist #page_header-sp,
    .page-order-qrdetail #page_header-pc,
    .page-order-qrdetail #page_header-sp {
        display: none;
    }

    .p-order-qr-detail__print {
        display: block;
        break-inside: avoid;
    }

    .p-order-qr-detail {
        break-inside: avoid;
    }
}

.p-order-qr-print {
    margin-bottom: var(--gutter3);
}

.p-order-qr-detail {
    margin-bottom: var(--gutter4);
}

.p-order-qr-detail__unit {
    display: flex;
    flex-direction: column;
    padding: var(--gutter1);
    border: 1px solid var(--grayColor1);
    border-radius: 4px;
    margin-bottom: var(--gutter4);
    page-break-before: always;
}

.p-order-qr-detail__unit:first-child {
    page-break-before: auto;
}

.p-order-qr-detail__heading {
    margin-bottom: var(--gutter3);
}

.p-order-qr-detail__title {
    display: flex;
    align-items: center;
    gap: var(--gutter1);
    font-size: 2.1rem;
}

.p-order-qr-detail__title::before {
    display: block;
    content: "\e638";
    color: var(--secondaryColor);
    font-family: "Material Icons";
    font-size: 2.4rem;
    line-height: 1;
}

.p-order-qr-detail__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-self: center;
    margin-bottom: var(--gutter3);
}

.p-order-qr-detail__content-row {}

.p-order-qr-detail__content-row-qty {
    margin-bottom: var(--gutter2);
}

.p-order-qr-detail__image {
    width: 200px;
    height: 200px;
    border: 4px solid var(--redColor3);
    box-sizing: content-box;
    align-self: center;
    background-repeat: no-repeat;
    background-position: 0 0;
}

.p-order-qr-detail__name {
    margin-bottom: var(--gutter1);
    font-weight: 700;
}

.p-order-qr-detail__price {
    /* margin-bottom: var(--gutter3); */
    font-weight: 700;
    text-align: right;
}

.p-order-qr-detail__desc {
    align-self: center;
}

.p-order-qr-detail__desc-row {
    margin-bottom: var(--gutter1);
}

.p-order-qr-detail__desc-title {
    font-weight: 700;
}

.p-order-qr-detail > :last-child,
.p-order-qr-detail__desc > :last-child {
    margin-bottom: 0;
}

@media (max-width: 767px) {
    .p-order-qr-print {
        display: none;
    }

    .p-order-qr-detail__content {
        width: 100%;
    }

    .p-order-qr-detail__content-row {
        margin-bottom: var(--gutter3);
    }

    .p-order-qr-detail__desc {
        width: 100%;
    }

    .p-order-qr-detail__desc-title {
        font-size: 1.4rem;
    }
    
    .p-order-qr-detail__desc-text {
        font-size: 1.4rem;
    }
}

@media (min-width: 768px) {
    .p-order-qr-detail {
        margin-bottom: var(--gutter5);
    }

    .p-order-qr-detail__unit {
        padding: var(--gutter2);
    }

    .p-order-qr-detail__heading {
        margin-bottom: var(--gutter4);
    }

    .p-order-qr-detail__title {
        font-size: 2.6rem;
    }

    .p-order-qr-detail__title::before {
        font-size: 2.1rem;
    }
}

@media print, (min-width: 768px) {
    .p-order-qr-detail__content {
        min-width: 416px;
    }

    .p-order-qr-detail__content-row:has(.p-order-qr-detail__name) {
        order: 2;
    }

    .p-order-qr-detail__image {
        order: 1;
        margin-bottom: var(--gutter4);
    }

    .p-order-qr-detail__name {
        margin-bottom: var(--gutter1);
        font-size: 1.8rem;
    }

    .p-order-qr-detail__price {
        font-size: 1.8rem;
    }

    .p-order-qr-detail__desc {
        min-width: 416px;
    }

    .p-order-qr-detail__desc-row {
        display: flex;
        align-items: flex-start;
        gap: var(--gutter1);
    }

    .p-order-qr-detail__desc-title {
        flex-shrink: 0;
    }
}

@media print {
    .p-order-qr-detail__image {
        width: 3.7cm;
        height: 3.7cm;
        background-repeat: round;
        print-color-adjust: exact;
        -webkit-print-color-adjust: exact;
    }
}


/* その他各ページ共通
---------------------------------------- */
/* エラーなどのメッセージ */
.p-order-information {
    margin-bottom: var(--gutter4);
}

/* 予約・購入内容 */
.p-order-details {
    margin-bottom: var(--gutter4);
    padding-bottom: var(--gutter2);
    border-bottom: 1px solid var(--grayColor1);
}

.p-order-details__heading {
    margin-bottom: var(--gutter3);
}

.p-order-details__title {
    font-size: 2.1rem;
}

.p-order-details__unit {
    margin-bottom: var(--gutter2);
}

.p-order-details__unit-heading {
    margin-bottom: 4px;
}

.p-order-details__unit-title {
    font-size: 1.8rem;
}

.p-order-details__unit-text {
    margin-bottom: var(--gutter1);
    font-size: 1.6rem;
}

.p-order-details__unit.-border {
    padding-top: var(--gutter1);
    border-top: 1px solid var(--grayColor1);
}

.p-order-details > :last-child,
.p-order-details__unit > :last-child {
    margin-bottom: 0;
}

.p-order-details.-cancel-complete {
    border-bottom: 0;
    padding-bottom: 0;
}

.p-order-details.-cancel-complete .p-order-details__heading {
    margin-bottom: var(--gutter2);
}

.p-order-details.-cancel-error {
    margin-bottom: 80px;
    border-bottom: 0;
}

@media (min-width: 768px) {
    .p-order-details__title {
        font-size: 2.6rem;
    }

    .p-order-details__unit-title {
        font-size: 2.1rem;
    }

    .p-order-details__unit.-border {
        padding-top: var(--gutter2);
    }

    .p-order-details.-cancel-error {
        margin-bottom: 120px;
    }
}

/* モーダル内 内訳 */
.p-order-total__heading {
    margin-bottom: var(--gutter3);
}

.p-order-total__title {
    font-size: 1.8rem;
    font-weight: 700;
}

.p-order-total__content {
    margin-bottom: var(--gutter3);
}

.p-order-total__unit {
    margin-bottom: var(--gutter3);
}

.p-order-total__unit-heading {
    margin-bottom: var(--gutter1);
}

.p-order-total__unit-title {
    font-size: 1.6rem;
    font-weight: 700;
}

.p-order-total__table {
    text-align: right;
}

.p-order-total__table-col1 {
    width: 37%;
}

.p-order-total__table-col2 {
    width: 26%;
}

.p-order-total__price {
    padding-top: var(--gutter2);
    border-top: 1px solid var(--grayColor1);
    text-align: right;
    font-size: 1.4rem;
}

.p-order-total__num {
    font-size: 2.1rem;
    font-weight: 700;
}

@media (min-width: 768px) {
    .p-order-total__title {
        font-size: 2.1rem;
    }

    .p-order-total__unit-title {
        font-size: 1.8rem;
    }

    .p-order-total__table-col1 {
        width: 43%;
    }
    
    .p-order-total__table-col2 {
        width: 16%;
    }
}


/* 取消前確認、完了
---------------------------------------- */
.p-order-cancel-lead {
    margin-bottom: var(--gutter3);
    color: var(--redColor3);
    font-size: 1.4rem;
}

/* 代金合計 */
.p-order-cancel-price {
    margin-bottom: var(--gutter4);
    padding-bottom: var(--gutter3);
    border-bottom: 1px solid var(--grayColor1);
}

.p-order-cancel-price__heading-lv2 {
    margin-bottom: var(--gutter2);
}

.p-order-cancel-price__heading-lv2Title {
    font-size: 2.1rem;
}

.p-order-cancel-price__heading-lv3 {
    margin-bottom: var(--gutter2);
}

.p-order-cancel-price__total {
    margin-bottom: var(--gutter3);
    display: flex;
    justify-content: flex-end;
    gap: var(--gutter1);
    width: 100%;
}

.p-order-cancel-price__use {
    margin-bottom: var(--gutter2);
}

.p-order-cancel-price__use-inner {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: var(--gutter2);
    width: 100%;
}

.p-order-cancel-price__heading-total {
    margin-bottom: 4px;
    display: flex;
    gap: var(--gutter1);
    justify-content: flex-end;
}

.p-order-cancel-price__heading-totalTitle {
    font-weight: 700;
}

.p-order-cancel-price__heading-totalNum {
    font-weight: 700;
}

@media (min-width: 768px) {
    .p-order-cancel-price__heading-lv2Title {
        font-size: 2.6rem;
    }

    .p-order-cancel-price__heading-total {
        margin-left: auto;
        gap: var(--gutter1);
        width: 345px;
    }
}

/* 取消内容 */
.p-order-cancel {
    margin-bottom: var(--gutter4);
}

.p-order-cancel > :last-child {
    margin-bottom: 0;
}

.p-order-cancel__heading-lv2 {
    margin-bottom: var(--gutter3);
}

.p-order-cancel__heading-lv3 {
    margin-bottom: var(--gutter2);
}

.p-order-cancel__fee {
    margin-bottom: var(--gutter3);
    text-align: right;
    font-size: 1.8rem;
    line-height: 1;
}

.p-order-cancel__fee-num {
    padding-left: 4px;
    font-weight: 700;
    font-size: 3.2rem;
}

.p-order-cancel__table {
    margin-bottom: var(--gutter1);
    width: 100%;
}

.p-order-cancel__table th {
    text-align: right;
    width: 70%;
    padding: 0 var(--gutter1) var(--gutter1);
}

.p-order-cancel__table td {
    text-align: right;
    width: 30%;
    padding-bottom: var(--gutter1);
}

.p-order-cancel__refund {
    margin-top: -8px;
    padding-top: var(--gutter1);
    border-top: 1px solid var(--grayColor1);
    font-size: 1.6rem;
    text-align: right;
    line-height: 1;
}

.p-order-cancel__refund-label {
    display: inline;
    font-size: 1.8rem;
    font-weight: 700;
}

.p-order-cancel__refund-num {
    font-weight: 700;
    font-size: 3.2rem;
    display: inline-block;
    min-width: 35%;
}

@media (min-width: 768px) {
    .p-order-cancel__fee {
        font-weight: 700;
        font-size: 2.1rem;
    }
    
    .p-order-cancel__fee-num {
        padding-left: var(--gutter1);
    }

    .p-order-cancel__table {
        margin-left: auto;
        width: 50%;
    }

    .p-order-cancel__table th {
        width: 75%;
    }
    
    .p-order-cancel__table td {
        width: 25%;
    }

    .p-order-cancel__refund-label {
        font-size: 2.1rem;
    }

    .p-order-cancel__refund {
        padding-top: var(--gutter2);
    }

    .p-order-cancel__refund-num {
        min-width: 130px;
    }
}

/* ご注意 */
.p-order-cancel-attention {
    margin-bottom: var(--gutter4);
}

.p-order-cancel-attention__heading {
    margin-bottom: var(--gutter2);
}

.p-order-cancel-attention__text {
    margin-bottom: var(--gutter2);
}

.p-order-cancel-attention__link {
    text-align: right;
}

/* 決定 */
.p-order-cancel-submit {
    margin-bottom: 70px;
}

.p-order-cancel-price__heading-lv2 > :last-child,
.p-order-cancel-price__heading-lv3 > :last-child,
.p-order-cancel__heading-lv2 > :last-child,
.p-order-cancel__heading-lv3 > :last-child,
.p-order-cancel-attention__heading > :last-child {
    margin-bottom: 0;
}

/* 取消完了 */
.p-order-cancel-lead2 {
    margin-bottom: var(--gutter2);
}

.p-order-cancel-complete__button {
    margin-bottom: var(--gutter4);
}

.p-order-cancel-complete > :last-child {
    margin-bottom: 0;
}

.p-order-cancel-complete.-cancel-error .p-order-cancel-complete__button {
    margin-bottom: var(--gutter2);
}


/* =============================================================================
    list page
============================================================================= */
/* override
---------------------------------------- */
.page-list-base .l-main-head,
.page-list-genre .l-main-head {
    margin-bottom: var(--gutter3);
}

.page-list-base .l-main-head {
    padding-bottom: var(--gutter3);
    border-bottom: 1px solid var(--grayColor1);
}

.page-list-base .c-text-price,
.page-list-genre .c-text-price {
    font-size: 1.6rem;
}

@media (min-width: 768px) {
    .page-list-base .l-main-head {
        padding-bottom: var(--gutter4);
        border-bottom: 1px solid var(--grayColor1);
    }

    .page-list-genre .l-main-head {
        padding-bottom: var(--gutter5);
        border-bottom: 1px solid var(--grayColor1);
    }
}

/* mainvisual
---------------------------------------- */
.p-list-mainvisual {
    margin-bottom: var(--gutter3);
    padding-bottom: var(--gutter3);
    border-bottom: 1px solid var(--grayColor1);
    line-height: 1;
}

@media (min-width: 768px) {
    .p-list-mainvisual {
        max-width: 1280px;
        margin: auto;
        border-bottom: 0;
    }
}


/* 再検索
---------------------------------------- */
.p-list-research {
    margin-bottom: var(--gutter3);
    background-color: #fff;
}

.p-list-research__title {
    font-weight: 700;
}

.p-list-research__form-content {
    position: relative;
    border: 1px solid var(--grayColor1);
}

.p-list-research__form-content.-submit {
    border: 0;
}

.p-list-research__form-input {
    width: 100%;
    padding: 12px 16px 12px 48px;
    border-radius: 0;
    font-size: 1.4rem;
    border: 0;
}

.p-list-research__form-icon {
    position: absolute;
    top: 50%;
    left: 16px;
    transform: translateY(-50%);
    color: var(--secondaryColor);
}

.p-list-research__form-spContent {
    display: none;
}

@media (max-width: 767px) {
    .p-list-research__form-action {
        position: relative;
        padding: 8px 50px 8px 8px;
        width: 100%;
        border: 1px solid var(--grayColor1);
        appearance: none;
        overflow: hidden;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        font-size: 1.4rem;
        text-align: left;
    }

    .p-list-research__form-action::after {
        display: block;
        position: absolute;
        top: 50%;
        right: 12px;
        content: "\e8b6";
        font-family: "Material Icons";
        color: var(--linkColor);
        font-size: 2.4rem;
        font-weight: 500;
        transform: translateY(-50%);
    }

    .p-list-research__form-action.is-expanded {
        display: none;
    }

    .p-list-research__form-actionText {
        display: block;
        overflow: hidden;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        min-height: 1.6em;
    }

    .p-list-research__form-inner {
        display: none;
    }

    .p-list-research__form-inner.is-expanded {
        display: block;
    }

    .p-list-research__form-content {
        border-bottom: 0;
    }

    .p-list-research__form-content:nth-of-type(3) {
        margin-bottom: var(--gutter2);
        border-bottom: 1px solid var(--grayColor1);
    }

    .p-list-research__form-content.-submit {
        margin-bottom: var(--gutter2);
    }

    .p-list-research__form-close {
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .p-list-research__form-closeButton {
        color: var(--linkColor);
        font-size: 1.6rem;
        font-weight: 700;
    }

    .p-list-research__form-closeButton::after {
        width: 24px;
        height: 24px;
    }

    /* fixed */
    .p-list-research.is-active {
        height: 70px;
    }

    .p-list-research.is-active .p-list-research__inner {
        position: fixed;
        top: 0;
        left: 0;
        background-color: #fff;
        padding: var(--gutter1) 15px;
        min-height: 56px;
        box-shadow: var(--buttonShadow);
        width: 100%;
        z-index: 9999;
    }

    .p-list-research.is-active .p-list-research__form-action {
        padding: 4px 40px 4px 8px;
        margin-right: var(--gutter2);
    }

    .p-list-research.is-active .p-list-research__form-actionText {
        font-size: 1.2rem;
    }

    .p-list-research.is-active .p-list-research__form-spContent {
        display: block;
    }

    .p-list-research__form-sp {
        display: flex;
        align-items: center;
    }

    .p-list-research__form-spButton {
        color: var(--linkColor);
        font-size: 1.2rem;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 2px;
        width: 48px;
        height: 48px;
    }

    .p-list-research__form-spButtonText {
        color: var(--linkColor);
    }

    .p-list-research__form.is-expanded .p-list-research__form-sp {
        display: none;
    }
}

@media (min-width: 768px) {
    .p-list-research__form-action {
        display: none;
    }

    .p-list-research__form-close {
        display: none;
    }

    .p-list-research {
        margin-bottom: var(--gutter4);
    }

    .p-list-research__heading {
        margin-bottom: var(--gutter1);
    }
    
    .p-list-research__title {
        font-size: 2.1rem;
    }
    
    .p-list-research__form-input {
        height: 100%;
    }

    .p-list-research__form-inner {
        display: flex;
        gap: var(--gutter2);
    }

    .p-list-research__form-content {
        position: relative;
        width: 25%;
    }

    .page-list-genre .p-list-research {
        margin-bottom: var(--gutter5);
    }
}


/* リスト概要
---------------------------------------- */
/* 見出し */
.p-list-heading-lv1 {
    margin-bottom: var(--gutter3);
}

.p-list-heading-lv1__title {
    font-size: 2.4rem;
}

.page-list-genre .p-list-heading-lv1 {
    margin-bottom: var(--gutter1);
}

@media (min-width: 768px) {
    .p-list-heading-lv1__title {
        font-size: 3.2rem;
    }

    .p-list-heading-lv2 {
        margin-bottom: var(--gutter1);
    }
    
    .p-list-heading-lv2__title {
        font-size: 2.1rem;
    }

    .page-list-genre .p-list-heading-lv1 {
        margin-bottom: var(--gutter2);
    }
}

/* コメント */
.p-list-comment {
    font-size: 1.4rem;
    margin-bottom: var(--gutter3);
}

@media (min-width: 768px) {
    .p-list-comment {
        font-size: 1.8rem;
        margin-bottom: 32px;
    }
}

/* 詳細エリア絞り込み */
.p-list-filter {
    margin-bottom: var(--gutter3);
}

.p-list-filter__title {
    font-weight: 700;
}

.p-list-filter__title-button {
    position: relative;
    color: var(--linkColor);
    font-size: 1.6rem;
    font-weight: 700;
    display: flex;
    align-items: center;
}

.p-list-filter__title-button::after {
    display: block;
    content: "\e313";
    font-family: "Material Icons";
    color: var(--linkColor);
    font-size: 2.4rem;
    font-weight: 500;
}

.p-list-filter__title-button.is-expanded::after {
    content: "\e316";
}

.p-list-filter__list {
    display: flex;
}

.p-list-filter__item {
    font-size: 1.6rem;
}

.p-list-filter__buttons {
    display: flex;
    flex-wrap: wrap;
    gap: var(--gutter3);
}

.p-list-filter__button {
    display: flex;
    align-items: center;
    gap: 4px;
    color: var(--linkColor);
    font-size: 1.6rem;
    font-weight: 700;
}

@media (max-width: 767px) {
    .p-list-filter__list {
        flex-direction: column;
        gap: var(--gutter2);
    }

    .p-list-filter__content {
        display: none;
    }

    .p-list-filter__content.is-expanded {
        display: block;
        margin-top: var(--gutter2);
    }
}

@media (min-width: 768px) {
    .p-list-filter {
        margin-bottom: 0;
    }

    .p-list-filter__heading {
        margin-bottom: var(--gutter3);
    }
    
    .p-list-filter__title {
        font-size: 2.1rem;
    }

    .p-list-filter__list {
        flex-wrap: wrap;
        gap: var(--gutter3);
    }

    .p-list-filter__item {
        font-size: 1.8rem;
    }
    
    .p-list-filter__item:not(:first-child) {
        position: relative;
        padding-left: var(--gutter3);
    }
    
    .p-list-filter__item:not(:first-child)::before {
        content: "";
        position: absolute;
        top: 50%;
        left: 0;
        transform: translateY(-50%);
        display: block;
        width: 1px;
        height: 16px;
        background-color: var(--grayColor1);
    }
}

/* 検索リスト絞り込みタグリスト */
.p-list-filter-tag__list {
    display: flex;
    flex-wrap: wrap;
    gap: var(--gutter1) var(--gutter2);
}

.p-list-filter-tag__item {
    flex-shrink: 0;
}

.p-list-filter-tag__button {
    position: relative;
    display: flex;
    align-items: center;
    gap: var(--gutter1);
    padding: 6px var(--gutter1);
    background-color: var(--blueBgColor1);
    border-radius: 50vh;
    font-size: 1.4rem;
    line-height: 1;
    text-align: center;
}

.p-list-filter-tag__icon {
    position: relative;
    font-size: 1.7rem;
    color: var(--grayColor2);
    line-height: 1;
}

.p-list-filter-tag__icon::after {
    display: block;
    font-family: "Material Icons";
    content: "\e5c9";

}

.p-list-filter-tag__reset {
    display: inline-flex;
    gap: var(--gutter1);
    border: 1px solid var(--grayColor1);
    border-radius: 50vh;
    padding: 7px var(--gutter1) 6px;
    align-items: center;
    font-size: 1.4rem;
    line-height: 1;
}

/* contentsarea
---------------------------------------- */
.p-list-information {
    margin-bottom: var(--gutter1);
}

.p-list-navi.-top {
    margin-bottom: var(--gutter3);
    padding: var(--gutter1);
}

.p-list-navi.-top .c-list-pager {
    display: none;
}

.p-list-navi.-bottom .c-text-resultNum {
    display: none;
}

@media (min-width: 768px) {
    .p-list-navi.-top {
        margin-bottom: 48px;
        padding-inline: var(--gutter2);
        border: 1px solid var(--grayColor1);
        box-shadow: var(--shadow);
    }

    .p-list-row {
        display: flex;
        flex-direction: row-reverse;
        gap: var(--gutter5);
    }

    .p-list-row__col.-main {
        flex-grow: 1;
    }
    
    .p-list-row__col.-sub {
        width: 308px;
        flex-shrink: 0;
    }
}

/* 検索結果リスト
---------------------------------------- */
.p-list-card {
    margin-bottom: var(--gutter4);
}

.p-list-card > :last-child {
    margin-bottom: 0;
}

.p-list-card__item {
    margin-bottom: var(--gutter3);
    border-radius: 4px;
    border: 1px solid var(--grayColor1);
    overflow: hidden;
    box-shadow: var(--shadow);
}

.p-list-card__head {
    padding: var(--gutter1) var(--gutter1) var(--gutter2);
}

.p-list-card__line {
    border-top: 1px solid var(--grayColor1);
}

.p-list-card__line-item {
    border-bottom: 1px solid var(--grayColor1);
}

.p-list-card__more {
    padding: var(--gutter2) var(--gutter3);
}

.p-list-card__more-link {
    position: relative;
    display: block;
    padding: var(--gutter1) 32px;
    border: 1px solid var(--linkColor);
    background-color: #fff;
    font-size: 1.6rem;
    font-weight: bold;
    text-align: center;
}

.p-list-card__more-link::after {
    position: absolute;
    right: 9px;
    top: 50%;
    transform: translateY(-50%);
}

@media (min-width: 768px) {
    .p-list-card {
        margin-bottom: var(--gutter6);
    }

    .p-list-card__head {
        padding: var(--gutter2);
    }

    .p-list-card__content {
        padding-inline: var(--gutter2);
    }

    .p-list-card__more-link {
        margin: auto;
        display: block;
        width: 308px;
        font-size: 1.8rem;
        overflow: hidden;
        transition: var(--transition);
    }

    .p-list-card__more-link:is(:hover, :focus, :active) {
        border-radius: 50vh;
        text-decoration: none;
    }
}


/* モーダル内シェアコンテンツ
---------------------------------------- */
.p-list-dialog-share {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: var(--gutter5);
    margin-top: var(--gutter4);
}

.p-list-dialog-share__item {
    flex-shrink: 0;
}

.p-list-dialog-share__button {
    padding-block: var(--gutter4);
}


/* 左エリアコンテンツ
---------------------------------------- */
.p-list-sub-filter__map {
    display: none;
}

.p-list-sub-filter .c-list-filter__heading {
    display: none;
}

@media (min-width: 768px) {
    .p-list-sub-filter__map {
        display: block;
        margin-bottom: var(--gutter2);
    }

    .p-list-sub-filter__map .c-button-icon {
        font-size: 1.6rem;
    }

    .p-list-sub-filter .c-list-filter__heading {
        display: block;
    }

    /* dialog override */
    .p-list-sub-filter {
        position: relative;

    }
    
    .p-list-sub-filter .c-dialog {
        display: block;
        position: static;
        height: auto;
        max-height: none;
        border: 1px solid var(--grayColor1);
        border-radius: 0;
        box-shadow: var(--shadow);
    }

    .p-list-sub-filter .c-dialog__head,
    .p-list-sub-filter .c-dialog__result-text {
        display: none;
    }

    .p-list-sub-filter .c-dialog__content {
        height: auto !important;
    }

    .p-list-sub-filter .c-dialog__result-button {
        width: 100%;
    }

    .p-list-sub-filter .c-dialog__result-button .c-button {
        width: 100%;
        min-width: auto;
    }

    .p-list-sub-filter .c-dialog .c-dialog__footer {
        display: none;
    }

    .p-list-sub-filter .c-dialog__footer.is-fixed {
        position: sticky;
        bottom: 0;
        left: 0;
        margin-top: 4px;
        background-color: #fff;
        border: 1px solid var(--grayColor1);
        border-top: 0;
        z-index: 1;
    }
}

/* =============================================================================
    map
============================================================================= */
/* SP */
.map-wrap-sp {
    height: calc(100vh - 80px);
    height: calc(100dvh - 80px);
    width: 100%;
    position: relative;
}

/* PC */
.map-wrap-facility-pc {
    height: calc(100vh - 270px);
    height: calc(100dvh - 270px);
    width: 100%;
    position: relative;
}

.map-wrap-pc {
    height: calc(100vh - 270px);
    height: calc(100dvh - 270px);
    width: 72%;
    position: relative;
    overflow: hidden;
}

.map-wrap-list-pc {
    height: calc(100vh - 270px);
    height: calc(100dvh - 270px);
    overflow-y: scroll;
}

/* =============================================================================
    facility list page
============================================================================= */
/* override
---------------------------------------- */
.page-list-facility .l-main-head {
    margin-bottom: var(--gutter3);
}

@media (max-width: 767px) {
    .page-list-facility .c-text-price__default {
        font-size: 1.3rem;
    }
}

/* 施設詳細
---------------------------------------- */
/* 見出しエリア */
.p-list-facility-heading-lv1 {
    margin-bottom: var(--gutter1);
}

.p-list-facility-heading-lv1__title {
    font-size: 2.1rem;
    margin-bottom: var(--gutter1);
}

.p-list-facility-heading-lv1__sub {
    margin-bottom: var(--gutter1);
    color: var(--secondaryColor);
    font-size: 1.4rem;
}


.p-list-facility-heading-lv1__area-item {
    display: inline;
    position: relative;
    color: var(--secondaryColor);
    font-size: 1.4rem;
    line-height: 1.3;
}

.p-list-facility-heading-lv1__area-item::after {
    content: "";
    margin: 1px 6px 4px 1px;
    vertical-align: middle;
    transform: rotate(45deg);
    display: inline-block;
    width: 5px;
    height: 5px;
    border-top: 1px solid #95999e;
    border-right: 1px solid #95999e;
}

.p-list-facility-heading-lv1__area-item:last-child::after {
    display: none;
}

/* 施設詳細情報エリア */
.p-list-facility-details {
    position: relative;
    display: grid;
    gap: 0;
}

.p-list-facility-details__thumb-image {
    margin-bottom: 4px;
}

.p-list-facility-details__thumb-other {
    text-align: center;
}

.p-list-facility-details__thumb-link {
    font-weight: 700;
    font-size: 1.4rem;
}

.p-list-facility-details__thumb-icon {
    line-height: 1;
}

.p-list-facility-details__thumb-text {
    font-weight: 700;
    font-size: 1.6rem;
    color: var(--grayColor2);
    line-height: 1;
}

.p-list-facility-details__thumb.-noimage {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--gutter1);
    width: 140px;
    height: 105px;
    background-color: var(--grayBgColor1);
    user-select: none;
}

.p-list-facility-details__action {
    display: flex;
    align-items: center;
}

.p-list-facility-details__map-link {
    flex-shrink: 0;
    color: var(--linkColor);
    font-weight: 700;
    font-size: 1.6rem;
    display: flex;
    align-items: center;
    gap: 4px;
    transition: var(--transition);
}

.p-list-facility-details__share-link {
    flex-shrink: 0;
    color: var(--linkColor);
    font-weight: 700;
    font-size: 1.6rem;
    display: flex;
    align-items: center;
    gap: 4px;
    transition: var(--transition);
}

.p-list-facility-details__favorite-link {
    flex-shrink: 0;
    color: var(--linkColor);
    font-weight: 700;
    font-size: 1.6rem;
    display: flex;
    align-items: center;
    gap: 4px;
    transition: var(--transition);
}

.p-list-facility-details__favorite-icon {
   color: var(--grayColor2);
   position: relative;
}


.p-list-facility-details__comment {
    margin-bottom: var(--gutter2);
    font-size: 1.6rem;
    white-space: pre-line;
}

.p-list-facility-details__tags {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--gutter1);
    line-height: 1;
}

@media (max-width: 767px) {
    .p-list-facility-details {
        grid-auto-columns: 1fr;
        grid-template-columns: max-content 1fr;
        grid-template-rows: max-content max-content;
        grid-template-areas: 
            "label label"
            "thumb button"
            "desc desc";
        align-items: flex-start;
        justify-content: space-between;
    }

    .p-list-facility-details__label {
        margin-bottom: var(--gutter2);
        grid-area: label;
    }

    .p-list-facility-details__action {
        gap: 2.4rem;
        grid-area: button;
        justify-self: flex-end;
    }

    .p-list-facility-details__share-text {
        font-size: 0;
    }

    .p-list-facility-details__favorite-text {
        font-size: 0;
    }
    
    .p-list-facility-details__description {
        grid-area: desc;
    }

    .p-list-facility-details__thumb {
        margin-bottom: 20px;
        width: 140px;
        line-height: 1;
        grid-area: thumb;
    }

    .p-list-facility-details__thumb-image {
        height: auto;
        aspect-ratio: 4 / 3;
    }

    .p-list-facility-details__actions {
        display: contents;
    }
    
    .p-list-facility-details__map-pc {
    	display: none;
	}
}

@media (min-width: 768px) {
    .p-list-facility-heading-lv1__title {
        font-size: 3.2rem;
    }

    .p-list-facility-details {
        grid-template-columns: max-content 1fr;
        grid-template-rows: max-content min-content;
        grid-template-areas: 
          "label label"
          "thumb desc";
    }

    .p-list-facility-details__actions {
        display: flex;
        justify-content: space-between;
        align-items: center;
        grid-area: label;
    }

    .p-list-facility-details__label {
        flex-shrink: 0;
    }

    .p-list-facility-details__action {
        gap: 2.4rem;
    }

    .p-list-facility-details__thumb {
        margin-right: var(--gutter3);
        grid-area: thumb;
    }

    .p-list-facility-details__thumb-link {
        font-size: 1.6rem;
    }

    .p-list-facility-details__description {
        grid-area: desc;
    }

    .p-list-facility-details__comment {
        margin-bottom: var(--gutter3);
    }

    .p-list-facility-details__actions {
        display: flex;
        grid-area: label;
        margin-bottom: 32px;
        width: 100%;
    }

    .p-list-facility-details__map-link:is(:hover, :focus, :active),
    .p-list-facility-details__share-link:is(:hover, :focus, :active),
    .p-list-facility-details__favorite-link:is(:hover, :focus, :active) {
        text-decoration: none;
        opacity: var(--opacity);
    }

    .p-list-facility-details__thumb-icon {
        width: 40px;
    }

    .p-list-facility-details__thumb-text {
        font-size: 3.2rem;
    }

    .p-list-facility-details__thumb.-noimage {
        width: 336px;
        height: 252px;
    }
	
	.p-list-facility-details__map-sp {
    	display: none;
	}
}

/* 施設からのお知らせ */
.p-list-facility-information {
    margin-bottom: var(--gutter2);
}

.p-list-facility-information__item:not(:last-child) {
    margin-bottom: var(--gutter1);
}

@media (min-width: 768px) {
    .p-list-facility-information {
        margin-bottom: var(--gutter3);
    }
}


/* タブコンテンツ
---------------------------------------- */
.p-list-facility-tab {
    margin-bottom: var(--gutter4);
}

.p-list-facility-tab__list {
    display: flex;
    box-shadow: 0px 2px 2px -2px rgba(0, 0, 0, 0.3);
}

.p-list-facility-tab__item {
    flex: 1;
}

.p-list-facility-tab__link {
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--linkColor);
    font-weight: 700;
    background-color: #fff;
    min-height: 64px;
}

.p-list-facility-tab__text {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 4px;
    font-size: 1.6rem;
}

.p-list-facility-tab__text::before {
    display: block;
    content: "";
    width: 24px;
    height: 24px;
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: 100% auto;
}

.p-list-facility-tab__link.is-active {
    color: #fff;
    background-image: linear-gradient(135deg, var(--blueColor1), var(--blueColor2));
}

.p-list-facility-tab__item.-product .p-list-facility-tab__text::before {
    background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2232%22%20height%3D%2233%22%20viewBox%3D%220%200%2032%2033%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20clip-path%3D%22url(%23clip0_335_11990)%22%3E%3Cpath%20d%3D%22M26.666%2016.4997C26.666%2015.4863%2027.2393%2014.6063%2028.0793%2014.153C28.8793%2013.713%2029.3327%2012.8063%2029.3327%2011.8863V8.49967C29.3327%207.03301%2028.1327%205.83301%2026.666%205.83301H5.33268C3.86602%205.83301%202.67935%207.01967%202.67935%208.48634V11.8863C2.67935%2012.8063%203.11935%2013.713%203.93268%2014.1397C4.77268%2014.6063%205.33268%2015.4863%205.33268%2016.4997C5.33268%2017.513%204.75935%2018.4063%203.91935%2018.8463C3.11935%2019.2863%202.66602%2020.193%202.66602%2021.113V24.4997C2.66602%2025.9663%203.86602%2027.1663%205.33268%2027.1663H26.666C28.1327%2027.1663%2029.3327%2025.9663%2029.3327%2024.4997V21.113C29.3327%2020.193%2028.8793%2019.2863%2028.0793%2018.8463C27.2393%2018.393%2026.666%2017.513%2026.666%2016.4997ZM19.3327%2021.9663L15.9993%2019.833L12.666%2021.9797C12.1593%2022.2997%2011.506%2021.833%2011.666%2021.2463L12.666%2017.4063L9.59935%2014.8997C9.13268%2014.513%209.37268%2013.753%209.98601%2013.713L13.9327%2013.4863L15.3727%209.81967C15.5993%209.25967%2016.3993%209.25967%2016.6127%209.81967L18.0527%2013.4997L21.9993%2013.7263C22.5993%2013.7663%2022.8527%2014.5263%2022.386%2014.913L19.3193%2017.4197L20.3327%2021.233C20.4927%2021.833%2019.8393%2022.2997%2019.3327%2021.9663Z%22%20fill%3D%22%233498DB%22%2F%3E%3C%2Fg%3E%3Cdefs%3E%3CclipPath%20id%3D%22clip0_335_11990%22%3E%3Crect%20width%3D%2232%22%20height%3D%2232%22%20fill%3D%22white%22%20transform%3D%22translate(0%200.5)%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3C%2Fsvg%3E')
}

.p-list-facility-tab__item.-access .p-list-facility-tab__text::before {
    background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2232%22%20height%3D%2232%22%20viewBox%3D%220%200%2032%2032%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20clip-path%3D%22url(%23clip0_335_11516)%22%3E%3Cpath%20d%3D%22M16.0007%202.66699C10.4007%202.66699%205.33398%206.96032%205.33398%2013.6003C5.33398%2017.8403%208.60065%2022.827%2015.1207%2028.5737C15.6273%2029.0137%2016.3873%2029.0137%2016.894%2028.5737C23.4007%2022.827%2026.6673%2017.8403%2026.6673%2013.6003C26.6673%206.96032%2021.6007%202.66699%2016.0007%202.66699ZM16.0007%2016.0003C14.534%2016.0003%2013.334%2014.8003%2013.334%2013.3337C13.334%2011.867%2014.534%2010.667%2016.0007%2010.667C17.4673%2010.667%2018.6673%2011.867%2018.6673%2013.3337C18.6673%2014.8003%2017.4673%2016.0003%2016.0007%2016.0003Z%22%20fill%3D%22%233498DB%22%2F%3E%3C%2Fg%3E%3Cdefs%3E%3CclipPath%20id%3D%22clip0_335_11516%22%3E%3Crect%20width%3D%2232%22%20height%3D%2232%22%20fill%3D%22white%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3C%2Fsvg%3E');
}

.p-list-facility-tab__item.-photo .p-list-facility-tab__text::before {
    background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2232%22%20height%3D%2232%22%20viewBox%3D%220%200%2032%2032%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20clip-path%3D%22url(%23clip0_335_11524)%22%3E%3Cpath%20d%3D%22M16%2020C18.2091%2020%2020%2018.2091%2020%2016C20%2013.7909%2018.2091%2012%2016%2012C13.7909%2012%2012%2013.7909%2012%2016C12%2018.2091%2013.7909%2020%2016%2020Z%22%20fill%3D%22%233498DB%22%2F%3E%3Cpath%20d%3D%22M26.666%205.33366H22.4393L20.786%203.53366C20.2927%202.98699%2019.5727%202.66699%2018.826%202.66699H13.1727C12.426%202.66699%2011.706%202.98699%2011.1993%203.53366L9.55935%205.33366H5.33268C3.86602%205.33366%202.66602%206.53366%202.66602%208.00033V24.0003C2.66602%2025.467%203.86602%2026.667%205.33268%2026.667H26.666C28.1327%2026.667%2029.3327%2025.467%2029.3327%2024.0003V8.00033C29.3327%206.53366%2028.1327%205.33366%2026.666%205.33366ZM15.9993%2022.667C12.3193%2022.667%209.33268%2019.6803%209.33268%2016.0003C9.33268%2012.3203%2012.3193%209.33366%2015.9993%209.33366C19.6793%209.33366%2022.666%2012.3203%2022.666%2016.0003C22.666%2019.6803%2019.6793%2022.667%2015.9993%2022.667Z%22%20fill%3D%22%233498DB%22%2F%3E%3C%2Fg%3E%3Cdefs%3E%3CclipPath%20id%3D%22clip0_335_11524%22%3E%3Crect%20width%3D%2232%22%20height%3D%2232%22%20fill%3D%22white%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3C%2Fsvg%3E');
}

.p-list-facility-tab__heading {
    margin-top: var(--gutter4);
    margin-bottom: var(--gutter2);
}

.p-list-facility-tab__heading > :last-child {
    margin-bottom: 0;
}

@media (max-width: 767px) {
    .p-list-facility-tab__list {
        width: 100vw;
        position: relative;
        left: -15px;
        box-shadow: 0px 3px 3px -2px rgba(0, 0, 0, .25);
    }

    .p-list-facility-tab__item.-product .p-list-facility-tab__link.is-active .p-list-facility-tab__text::before {
        background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2232%22%20height%3D%2233%22%20viewBox%3D%220%200%2032%2033%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20clip-path%3D%22url(%23clip0_335_11990)%22%3E%3Cpath%20d%3D%22M26.666%2016.4997C26.666%2015.4863%2027.2393%2014.6063%2028.0793%2014.153C28.8793%2013.713%2029.3327%2012.8063%2029.3327%2011.8863V8.49967C29.3327%207.03301%2028.1327%205.83301%2026.666%205.83301H5.33268C3.86602%205.83301%202.67935%207.01967%202.67935%208.48634V11.8863C2.67935%2012.8063%203.11935%2013.713%203.93268%2014.1397C4.77268%2014.6063%205.33268%2015.4863%205.33268%2016.4997C5.33268%2017.513%204.75935%2018.4063%203.91935%2018.8463C3.11935%2019.2863%202.66602%2020.193%202.66602%2021.113V24.4997C2.66602%2025.9663%203.86602%2027.1663%205.33268%2027.1663H26.666C28.1327%2027.1663%2029.3327%2025.9663%2029.3327%2024.4997V21.113C29.3327%2020.193%2028.8793%2019.2863%2028.0793%2018.8463C27.2393%2018.393%2026.666%2017.513%2026.666%2016.4997ZM19.3327%2021.9663L15.9993%2019.833L12.666%2021.9797C12.1593%2022.2997%2011.506%2021.833%2011.666%2021.2463L12.666%2017.4063L9.59935%2014.8997C9.13268%2014.513%209.37268%2013.753%209.98601%2013.713L13.9327%2013.4863L15.3727%209.81967C15.5993%209.25967%2016.3993%209.25967%2016.6127%209.81967L18.0527%2013.4997L21.9993%2013.7263C22.5993%2013.7663%2022.8527%2014.5263%2022.386%2014.913L19.3193%2017.4197L20.3327%2021.233C20.4927%2021.833%2019.8393%2022.2997%2019.3327%2021.9663Z%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fg%3E%3Cdefs%3E%3CclipPath%20id%3D%22clip0_335_11990%22%3E%3Crect%20width%3D%2232%22%20height%3D%2232%22%20fill%3D%22white%22%20transform%3D%22translate(0%200.5)%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3C%2Fsvg%3E');
    }
    
    .p-list-facility-tab__item.-access .p-list-facility-tab__link.is-active .p-list-facility-tab__text::before {
        background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2232%22%20height%3D%2232%22%20viewBox%3D%220%200%2032%2032%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20clip-path%3D%22url(%23clip0_335_11516)%22%3E%3Cpath%20d%3D%22M16.0007%202.66699C10.4007%202.66699%205.33398%206.96032%205.33398%2013.6003C5.33398%2017.8403%208.60065%2022.827%2015.1207%2028.5737C15.6273%2029.0137%2016.3873%2029.0137%2016.894%2028.5737C23.4007%2022.827%2026.6673%2017.8403%2026.6673%2013.6003C26.6673%206.96032%2021.6007%202.66699%2016.0007%202.66699ZM16.0007%2016.0003C14.534%2016.0003%2013.334%2014.8003%2013.334%2013.3337C13.334%2011.867%2014.534%2010.667%2016.0007%2010.667C17.4673%2010.667%2018.6673%2011.867%2018.6673%2013.3337C18.6673%2014.8003%2017.4673%2016.0003%2016.0007%2016.0003Z%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fg%3E%3Cdefs%3E%3CclipPath%20id%3D%22clip0_335_11516%22%3E%3Crect%20width%3D%2232%22%20height%3D%2232%22%20fill%3D%22white%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3C%2Fsvg%3E');
    }
    
    .p-list-facility-tab__item.-photo .p-list-facility-tab__link.is-active .p-list-facility-tab__text::before {
        background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2232%22%20height%3D%2232%22%20viewBox%3D%220%200%2032%2032%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20clip-path%3D%22url(%23clip0_335_11524)%22%3E%3Cpath%20d%3D%22M16%2020C18.2091%2020%2020%2018.2091%2020%2016C20%2013.7909%2018.2091%2012%2016%2012C13.7909%2012%2012%2013.7909%2012%2016C12%2018.2091%2013.7909%2020%2016%2020Z%22%20fill%3D%22%23fff%22%2F%3E%3Cpath%20d%3D%22M26.666%205.33366H22.4393L20.786%203.53366C20.2927%202.98699%2019.5727%202.66699%2018.826%202.66699H13.1727C12.426%202.66699%2011.706%202.98699%2011.1993%203.53366L9.55935%205.33366H5.33268C3.86602%205.33366%202.66602%206.53366%202.66602%208.00033V24.0003C2.66602%2025.467%203.86602%2026.667%205.33268%2026.667H26.666C28.1327%2026.667%2029.3327%2025.467%2029.3327%2024.0003V8.00033C29.3327%206.53366%2028.1327%205.33366%2026.666%205.33366ZM15.9993%2022.667C12.3193%2022.667%209.33268%2019.6803%209.33268%2016.0003C9.33268%2012.3203%2012.3193%209.33366%2015.9993%209.33366C19.6793%209.33366%2022.666%2012.3203%2022.666%2016.0003C22.666%2019.6803%2019.6793%2022.667%2015.9993%2022.667Z%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fg%3E%3Cdefs%3E%3CclipPath%20id%3D%22clip0_335_11524%22%3E%3Crect%20width%3D%2232%22%20height%3D%2232%22%20fill%3D%22white%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3C%2Fsvg%3E');
    }
    
    .p-list-facility-tab__item.-comment .p-list-facility-tab__link.is-active .p-list-facility-tab__text::before {
        background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2232%22%20height%3D%2232%22%20viewBox%3D%220%200%2032%2032%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20clip-path%3D%22url(%23clip0_335_11521)%22%3E%3Cpath%20d%3D%22M29.3193%205.33366C29.3193%203.86699%2028.1327%202.66699%2026.666%202.66699H5.33268C3.86602%202.66699%202.66602%203.86699%202.66602%205.33366V21.3337C2.66602%2022.8003%203.86602%2024.0003%205.33268%2024.0003H23.9993L29.3327%2029.3337L29.3193%205.33366ZM22.666%2018.667H9.33268C8.59935%2018.667%207.99935%2018.067%207.99935%2017.3337C7.99935%2016.6003%208.59935%2016.0003%209.33268%2016.0003H22.666C23.3993%2016.0003%2023.9993%2016.6003%2023.9993%2017.3337C23.9993%2018.067%2023.3993%2018.667%2022.666%2018.667ZM22.666%2014.667H9.33268C8.59935%2014.667%207.99935%2014.067%207.99935%2013.3337C7.99935%2012.6003%208.59935%2012.0003%209.33268%2012.0003H22.666C23.3993%2012.0003%2023.9993%2012.6003%2023.9993%2013.3337C23.9993%2014.067%2023.3993%2014.667%2022.666%2014.667ZM22.666%2010.667H9.33268C8.59935%2010.667%207.99935%2010.067%207.99935%209.33366C7.99935%208.60033%208.59935%208.00033%209.33268%208.00033H22.666C23.3993%208.00033%2023.9993%208.60033%2023.9993%209.33366C23.9993%2010.067%2023.3993%2010.667%2022.666%2010.667Z%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fg%3E%3Cdefs%3E%3CclipPath%20id%3D%22clip0_335_11521%22%3E%3Crect%20width%3D%2232%22%20height%3D%2232%22%20fill%3D%22white%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3C%2Fsvg%3E');
    }
}

@media (min-width: 768px) {
    .p-list-facility-tab {
        margin-bottom: 72px;
    }

    .p-list-facility-tab__list {
        display: flex;
        box-shadow: var(--shadow);
    }

    .p-list-facility-tab__link {
        position: relative;
        transition: var(--transition);
    }

    .p-list-facility-tab__link.is-active {
        background-image: none;
        color: var(--linkColor);
        background-color: var(--blueBgColor1);
    }

    .p-list-facility-tab__link.is-active::after {
        position: absolute;
        bottom: 0;
        left: 0;
        display: block;
        content: "";
        width: 100%;
        height: 4px;
        background-color: var(--linkColor);
    }

    .p-list-facility-tab__link:is(:hover, :focus, :active) {
        text-decoration: none;
        background-color: var(--blueBgColor1);
    }

    .p-list-facility-tab__text {
        flex-direction: row;
        font-size: 1.8rem;
    }

    .p-list-facility-tab__text::before {
        width: 32px;
        height: 32px;
    }

    .p-list-facility-tab__heading {
        margin-bottom: var(--gutter3);
    }

    .p-list-facility-tab__title {
        font-size: 2.6rem;
    }
}

/* タブコンテンツ：商品一覧
---------------------------------------- */
/* プラン一覧 */
.p-list-facility-travelpoint {
    margin-bottom: var(--gutter1);
}

.p-list-facility-plan {
    margin-bottom: var(--gutter4);
}

.p-list-facility-plan__list {
    display: flex;
    flex-direction: column;
    gap: var(--gutter2);
}

.p-list-facility-plan__item {
    border-radius: 4px;
    border: 1px solid var(--grayColor1);
    box-shadow: var(--shadow);
}

@media (min-width: 768px) {
    .p-list-facility-travelpoint {
        margin-bottom: var(--gutter2);
    }

    .p-list-facility-plan__item {
        padding: var(--gutter1) var(--gutter3);
    }

    .p-list-facility-plan {
        margin-bottom: var(--gutter4);
    }
}

/* 商品ナビエリア */
.p-list-facility-navi.-top .c-list-pager {
    display: none;
}

.p-list-facility-navi.-bottom .c-text-resultNum {
    display: none;
}

@media (max-width: 767px) {
    .p-list-facility-navi.-top {
        position: relative;
        margin-bottom: var(--gutter1);
        padding-top: var(--gutter2);
        padding-bottom: var(--gutter1);
    }

    .p-list-facility-navi.-top::after {
        display: block;
        content: "";
        position: absolute;
        bottom: 0;
        left: -15px;
        width: 100vw;
        height: 1px;
        background-color: var(--grayColor1);
    }
}

@media (min-width: 768px) {
    .p-list-facility-navi.-top {
        margin-bottom: 32px;
        padding-top: 56px;
    }

    .p-list-facility-navi__inner {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
    }

    .p-list-facility-navi.-bottom .p-list-facility-navi__inner {
        justify-content: center;
    }
}


/* タブコンテンツ：アクセス情報
---------------------------------------- */
.p-list-facility-access {}

.p-list-facility-access__location {
    margin-bottom: var(--gutter2);
    font-size: 1.8rem;
}

.p-list-facility-access__map {
    font-weight: 700;
    font-size: 1.6rem;
    margin-bottom: var(--gutter3);
}

.p-list-facility-access__map-link {
    display: flex;
    align-items: center;
    gap: 4px;
    line-height: 1;
}

.p-list-facility-access__detail {
    display: flex;
    align-items: flex-start;
    gap: 35px;
}

.p-list-facility-access__share {
    flex-shrink: 0;
}

.p-list-facility-access__share-button {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--gutter1);
    width: 308px;
    padding: 14px 10px;
    background-color: #fff;
    color: var(--linkColor);
    appearance: none;
    border: 1px solid var(--grayColor1);
    font-size: 1.6rem;
    font-weight: 700;
    text-align: center;
    box-shadow: var(--buttonShadow);
    letter-spacing: .1em;
    transition: var(--transition);
}

.p-list-facility-access__share-text,
.p-list-facility-access__share-icon {
    line-height: 1;
}

.p-list-facility-access__share-button:is(:hover, :focus, :active) {
    text-decoration: none;
    border-radius: 50vh;
}

@media (max-width: 767px) {
    .p-list-facility-access__map {
        margin-bottom: var(--gutter2);
    }

    .p-list-facility-access__information .c-table {
        font-size: 1.4rem;
    }

    .p-list-facility-access__share {
        display: none;
    }
}

@media (min-width: 768px) {
    .p-list-facility-access__map-link:is(:hover, :focus, :active),
    .p-list-facility-access__map-link:is(:hover, :focus, :active) .p-list-facility-access__map-icon {
        text-decoration: none;
    }

    .p-list-facility-access__map-link:is(:hover, :focus, :active) > span:not([class]) {
        text-decoration: underline;
    }
}

/* タブコンテンツ：フォトギャラリー
---------------------------------------- */
/* メインスライダー */
.p-list-facility-photo__main {
    position: relative;
    width: 100%;
}

.p-list-facility-photo__main-inner {
    overflow: hidden;
}

.p-list-facility-photo__main-thumb {
    line-height: 1;
}

.p-list-facility-photo__main-list > :last-child {
    margin-bottom: 0;
}

@media (max-width: 767px) {
    .p-list-facility-photo__main-list {
        display: block;
    }

    .p-list-facility-photo__main-item {
        margin-bottom: var(--gutter4);
    }

    .p-list-facility-photo__main-thumb {
        margin-bottom: var(--gutter1);
    }

    .p-list-facility-photo__main-caption {
        padding-inline: 15px;
        text-align: center;
    }

    .p-list-facility-photo__main-prev,
    .p-list-facility-photo__main-next {
        display: none;
    }
    
    .p-list-facility-photo__main-pager {
        display: none;
    }
}

@media (min-width: 768px) {
    .p-list-facility-photo__main {
        width: fit-content;
        max-width: 100%;
        margin: auto;
    }
    
    .p-list-facility-photo__main-inner {
        width: 100%;
        max-width: 632px;
        margin-bottom: var(--gutter5);
    }

    .p-list-facility-photo__main-thumb {
        margin-bottom: 50px;
        line-height: 1;
        width: 632px;
        height: 474px;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .p-list-facility-photo__main-image {
        object-fit: scale-down;
        width: 632px;
        height: 474px;
    }

    .p-list-facility-photo__main-caption {
        font-size: 1.6rem;
        color: var(--secondaryColor);
        text-align: center;
    }
    
    .p-list-facility-photo__main-prev,
    .p-list-facility-photo__main-next {
        position: absolute;
        top: 40%;
        width: 40px;
        height: 40px;
        z-index: 1;
    }

    .p-list-facility-photo__main-prev[aria-disabled="true"],
    .p-list-facility-photo__main-next[aria-disabled="true"] {
        display: none;
    }
    
    .p-list-facility-photo__main-next {
        right: 0;
    }
    
    .p-list-facility-photo__main-prev::before,
    .p-list-facility-photo__main-next::before {
        display: block;
        cursor: pointer;
        color: #fff;
        font-size: 4rem;
        font-family: "Material Icons";
        line-height: 1;
        text-shadow: var(--shadow);
    }

    .p-list-facility-photo__main-prev::before {
        content: "\e5cb";
    }

    .p-list-facility-photo__main-next::before {
        content: "\e5cc";
    }
    
    .p-list-facility-photo__main-pager {
        position: absolute;
        top: 87%;
        left: 50%;
        width: fit-content;
        background-color: rgba(50, 55, 67, .85);
        border-radius: 50vh;
        font-size: 1.2rem;
        color: #fff;
        padding: 0 var(--gutter1);
        transform: translateX(-50%);
    }
}

/* サムネイルリスト */
.p-list-facility-photo__thumbs-list {
    flex-wrap: wrap;
    gap: 4px;
}

.p-list-facility-photo__thumbs-item {
    line-height: 1;
    flex-shrink: 1;
    width: calc(33% - 2px) !important;
}

.p-list-facility-photo__thumbs-item img {
    height: auto;
    aspect-ratio: 4 / 3;
}

.p-list-facility-photo__thumbs-thumb.-noimage {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--gutter1);
    width: 112px;
    height: 84px;
    background-color: var(--grayBgColor1);
    user-select: none;
}

.p-list-facility-photo__thumbs-thumbIcon {
    width: 24px;
    line-height: 1;
}

.p-list-facility-photo__thumbs-thumbIcon img {
    aspect-ratio: unset;
}

.p-list-facility-photo__thumbs-thumbText {
    font-weight: 700;
    color: var(--grayColor2);
    font-size: 1.6rem;
    line-height: 1;
}

@media (min-width: 768px) {
    .p-list-facility-photo__thumbs-list {
        gap: 24px 20px;
    }

    .p-list-facility-photo__thumbs-item {
        width: calc(20% - 16px) !important;
    }

    .p-list-facility-photo__thumbs-thumb.-noimage {
        width: 240px;
        height: 180px;
    }

    .p-list-facility-photo__thumbs-thumbIcon {
        width: 40px;
    }

    .p-list-facility-photo__thumbs-thumbText {
        font-size: 3.2rem;
    }
}

/* シェアエリア
---------------------------------------- */
.p-list-facility-share {
    margin-bottom: var(--gutter4);
}

.p-list-facility-share__copy {
    margin-bottom: var(--gutter4);
}

.p-list-facility-share__sns {
    display: flex;
    justify-content: space-around;
    align-items: center;
}

@media (min-width: 768px) {
    .p-list-facility-share {
        display: none;
    }
}

/* お気に入り
---------------------------------------- */
.p-list-facility-details_checkfavorite {
     display:none;
     position:absolute;
     z-index:0;
     opacity:0"
}

/* 下部コンテンツスライダー
---------------------------------------- */
.p-list-facility-other {
    margin-bottom: var(--gutter4);
}

.p-list-facility-other__heading {
    margin-bottom: var(--gutter2);
}

.p-list-facility-other__heading > :last-child {
    margin-bottom: 0;
}

@media (min-width: 768px) {
    .p-list-facility-other {
        margin-bottom: 32px;
    }

    .p-list-facility-other__heading {
        margin-bottom: var(--gutter3);
    }
}

/* リスト系共通：地図検索のパーツ配置
---------------------------------------- */
@media (max-width: 767px) {
    .p-list-map-facility {
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
    }

    .p-list-map-facility__content {
        display: flex;
        justify-content: center;
    }
}

@media (min-width: 768px) {
    .p-list-map-facility {
        padding-left: var(--gutter2);
        padding-bottom: var(--gutter2);
        padding-top: var(--gutter1);
    }
    
    .p-list-map-facility__inner {
        display: flex;
        align-items: flex-start;
        gap: var(--gutter2);
    }

    .p-list-map-facility__content {
        flex-shrink: 0;
    }
}


/* 気象情報表示エリア
---------------------------------------- */
.p-list-facility-weather {
    margin-bottom: var(--gutter4);
    user-select: none;
}

.p-list-facility-weather__heading {
    margin-bottom: var(--gutter2);
    display: flex;
}

.p-list-facility-weather__info {
    text-align: right;
    margin-top: var(--gutter1);
}

.p-list-facility-weather__area {
    margin: var(--gutter1) 0;
    font-weight: 700;
}

.p-list-facility-weather__card {
    width: 100%;
    display: flex;
    overflow-x: auto;
}

.p-list-facility-weather-card__unit {
    border: 1px solid #bcbdc2;
    min-width: 160px;
    width: 160px;
    height: auto;
    position: relative;
    align-content: center;
    pointer-events:none;
    padding: 0 var(--gutter1);
}

.p-list-facility-weather-card__unit:not(:last-child) {
    border-right: 0;
}

.p-list-facility-weather-card__title {
    text-align: center;
    font-weight: 700;
    padding-top: var(--gutter1);
}

.p-list-facility-weather-card__text {
    text-align: center;
}

.p-list-facility-weather-card__text:last-child {
    padding-bottom: var(--gutter1);
}

.p-list-facility-weather-card__text.-min-temp {
    color: var(--blueColor1);
}
.p-list-facility-weather-card__text.-max-temp {
    color: var(--redColor1);
}

.p-list-facility-weather-card__img {
    text-align: center;
}

.p-list-facility-weather__help-icon {
    content: "";
    vertical-align: middle;
    display: inline-block;
    font-size: 2rem;
    line-height: 1;
    color: var(--secondaryColor);
    padding-left: 4px;
}

@media (max-width: 767px) {
    .p-list-facility-weather__card {
        width: 100%;
        display: flex;
        overflow-x: auto;
    }

    .p-list-facility-weather-card__unit {
        min-width: 120px;
        width: 120px;
        margin-bottom: var(--gutter2);
    }
}

/* =============================================================================
    product page
============================================================================= */
/* override
---------------------------------------- */
.page-product .l-main-head {
    margin-bottom: var(--gutter3);
    border-bottom: 1px solid var(--grayColor1);
    padding-bottom: var(--gutter2);
}

@media (min-width: 768px) {
    .page-product .l-main-head {
        border-bottom: 0;
        padding-bottom: 0;
    }

    .page-product .l-main-head__inner {
        position: relative;
        border-bottom: 1px solid var(--grayColor1);
        padding-bottom: var(--gutter3);
    }
}

/* 施設詳細
---------------------------------------- */
/* 見出しエリア */
.p-product-heading {
    margin-bottom: var(--gutter2);
}

.p-product-heading__favorite {
    position: absolute;
    right: var(--gutter1);
}

.p-product-heading__favorite-icon {
    color: var(--grayColor2);
}

.p-product-heading__favorite-icon::after {
    font-size: 3.2rem;
}

.p-product-heading__title {
    font-size: 2.1rem;
    margin-bottom: var(--gutter1);
    font-weight: 700;
    width: 95%;
    padding-right: var(--gutter4);
    word-break: break-word;
}

.p-product-heading__sub {
    margin-bottom: var(--gutter1);
    color: var(--secondaryColor);
    font-size: 1.4rem;
    min-height: 1.4rem;
}

.p-product-heading__area {
    margin-bottom: var(--gutter1);
    min-height: 1.4rem;
}

.p-product-heading__area-item {
    display: inline;
    position: relative;
    color: var(--secondaryColor);
    font-size: 1.4rem;
    line-height: 1.3;
}

.p-product-heading__area-item::after {
    content: "";
    margin: 1px 6px 4px 1px;
    vertical-align: middle;
    transform: rotate(45deg);
    display: inline-block;
    width: 5px;
    height: 5px;
    border-top: 1px solid #95999e;
    border-right: 1px solid #95999e;
}

.p-product-heading__area-item:last-child::after {
    display: none;
}

.p-product-facility-link {
    text-align: right;
    font-weight: 700;
}

.p-product-facility__checkfavorite {
    display: none;
    position: fixed;
    z-index: 0;
    opacity: 0
}

.p-product-heading__label {
    min-height: 33px;
}

@media (max-width: 767px) {
    .p-product-heading__favorite {
        margin: 1.5rem;
    }
}

@media (min-width: 768px) {
    .p-product-heading {
        margin-bottom: 0;
    }

    .p-product-heading__title {
        font-size: 2.6rem;
        width: 100%;
        min-height: 2.6rem;
        padding-right: var(--gutter5);
    }

    .p-product-facility-link {
        position: absolute;
        right: 0;
        bottom: var(--gutter3);
    }

    .p-product-facility-link .c-link {
        padding: 7px 20px 6px;
        position: relative;
    }

    .p-product-facility-link .c-link:is(:hover, :focus) {
        text-decoration: none;
    }

    .p-product-facility-link .c-link::before {
        display: block;
        z-index: 1;
        position: absolute;
        bottom: 0;
        left: 1px;
        width: 0;
        height: 2px;
        background: transparent linear-gradient(135deg,#3498db,#52c8ff) 0 0 no-repeat padding-box;
        content: "";
        transition: width .3s;
    }

    .p-product-facility-link .c-link:is(:hover)::before {
        width: 100%;
    }
}

/* 商品概要
---------------------------------------- */
.p-product-plan {
    margin-bottom: var(--gutter4);
}

.p-product-plan > :last-child {
    margin-bottom: 0;
}

.p-product-plan__heading {
    display: flex;
    flex-direction: column;
    gap: var(--gutter2);
    margin-bottom: var(--gutter2);
}

.p-product-plan__heading-title {
    font-size: 2.6rem;
}

.p-product-plan__heading-icon {
    margin-bottom: var(--gutter1);
}

.p-product-plan__heading-share {
    margin-bottom: var(--gutter1);
}

.p-product-plan__heading-shareButton {
    color: var(--linkColor);
    font-weight: 700;
    font-size: 1.6rem;
    display: flex;
    align-items: center;
    gap: 4px;
    transition: var(--transition);
}

.p-product-plan__details {
    margin-bottom: var(--gutter4);
}

.p-product-plan__attention {
    margin-top: -24px;
    margin-bottom: 50px;
    width: 100%;
}

.p-product-plan__attention-link {
    margin-top: var(--gutter2);
    text-align: right;
}

.p-product-plan__heading-lv2 {
    margin-bottom: var(--gutter2);
}

.p-product-plan__heading-lv2 > :last-child {
    margin-bottom: 0;
}

/* スライダー */
.p-product-plan__thumbs {
    position: relative;
}

.p-product-plan__thumb-prev,
.p-product-plan__thumb-next {
    position: absolute;
    top: 25vw;
    width: 40px;
    height: 40px;
    z-index: 1;
}

.p-product-plan__thumb-next {
    right: 0;
}

.p-product-plan__thumb-prev[aria-disabled="true"],
.p-product-plan__thumb-next[aria-disabled="true"] {
    display: none;
}

.p-product-plan__thumb-prev::before,
.p-product-plan__thumb-next::before {
    display: block;
    cursor: pointer;
    color: #fff;
    font-size: 4rem;
    font-family: "Material Icons";
    line-height: 1;
    text-shadow: var(--shadow);
}

.p-product-plan__thumb-prev::before {
    content: "\e5cb";
}

.p-product-plan__thumb-next::before {
    content: "\e5cc";
}

.p-product-plan__thumb-pager {
    position: absolute;
    left: 50%;
    width: fit-content;
    background-color: rgba(50, 55, 67, .85);
    border-radius: 50vh;
    font-size: 1.2rem;
    color: #fff;
    padding: 0 var(--gutter1);
    transform: translateX(-50%);
}

.p-product-plan__thumb-caption {
    font-size: 1.3rem;
    color: var(--secondaryColor);
    text-align: center;
}

/* No Image */
.p-product-plan__thumbs-thumb.-noimage {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--gutter1);
    width: 336px;
    height: 252px;
    background-color: var(--grayBgColor1);
    user-select: none;
}

.p-product-plan__thumbs-thumbIcon {
    width: 40px;
    line-height: 1;
}

.p-product-plan__thumbs-thumbIcon img {
    aspect-ratio: unset;
}

.p-product-plan__thumbs-thumbText {
    font-weight: 700;
    color: var(--grayColor2);
    font-size: 3.2rem;
    line-height: 1;
}

@media (max-width: 767px) {
    .p-product-plan__thumbs-thumb.-noimage {
        width: 100%;
        max-width: none;
    }
}

/* 価格エリア */
.p-product-plan__sub {
    font-size: 1.4rem;
}

.p-product-plan__price-list {
    text-align: right;
}

.p-product-plan__price-item:not(:last-child) {
    margin-bottom: var(--gutter2);
}

.p-product-plan__price-sub {
    font-size: 1.2rem;
    display: block;
}

.p-product-plan__prices {
    display: flex;
    flex-direction: column;
    gap: var(--gutter2);
}

.p-product-plan__price-item .c-text-price__unit {
    font-weight: 700;
}

.p-product-plan__button > .c-button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--gutter1);
}

@media (max-width: 767px) {
    .p-product-plan__heading-title {
        order: 1;
    }

    .p-product-plan__heading-icon {
        order: 2;
    }

    .p-product-plan__heading-share {
        order: 4;
    }

    .p-product-plan__heading-warning {
        order: 3;
    }

    .p-product-plan__thumbs {
        width: 100vw;
        left: -15px;
    }

    .p-product-plan__thumb-image {
        width: 100%;
        max-width: none;
        margin-bottom: var(--gutter2);
    }

    .p-product-plan__thumb-pager {
        top: 262px;
    }

    .p-product-plan__thumb-caption {
        padding: 15px;
    }

    .p-product-plan__sub {
        order: 1;
    }

    .p-product-plan__price-list {
        order: 2;
    }

    .p-product-plan__information {
        order: 3;
    }

    .p-product-plan__price-button {
        display: none;
    }

    .p-product-plan__button {
        margin: 0 auto var(--gutter4);
        max-width: 308px;
    }

    .p-product-plan__price-item .c-text-price__num {
        font-size: 2.1rem;
    }
}

@media (min-width: 768px) {
    .p-product-plan__heading {
        flex-wrap: wrap;
        flex-direction: row;
        gap: var(--gutter3);
        margin-bottom: var(--gutter3);
    }

    .p-product-plan__heading-title {
        margin-bottom: 0;
        font-size: 3.2rem;
        width: 100%;
    }

    .p-product-plan__heading-icon {
        margin-bottom: 0;
    }

    .p-product-plan__heading-share {
        margin-left: auto;
        margin-bottom: 0;
    }

    .p-product-plan__heading-warning {
        width: 100%;
    }

    .p-product-plan__heading-shareButton:is(:hover, :focus, :active) {
        opacity: var(--opacity);
    }

    .p-product-plan__thumbs {
        width: 336px;
    }

    .p-product-plan__thumb-photo {
        margin-bottom: var(--gutter3);
    }

    .p-product-plan__thumb-prev,
    .p-product-plan__thumb-next {
        top: 110px;
    }

    .p-product-plan__thumb-pager {
        top: 256px;
    }

    .p-product-plan__details {
        display: flex;
        justify-content: space-between;
        gap: var(--gutter2);
    }
    
    .p-product-plan__details.is-convenience {
        display: flex;
        justify-content: space-between;
        gap: var(--gutter2);
        justify-content: center;
    }

    .p-product-plan__information {
        padding-left: 1em;
    }

    .p-product-plan__attention {
        margin-top: 0;
        margin-bottom: 80px;
    }

    .p-product-plan__attention-link {
        text-align: left;
    }

    .p-product-plan__prices {
        min-width: 345px;
    }

    .p-product-plan__sub {
        text-align: right;
    }

    .p-product-plan__price-item {
        display: flex;
        justify-content: flex-end;
        gap: var(--gutter1);
    }

    .p-product-plan__price-sub {
        font-size: 1.3rem;
    }

    .p-product-plan__price-item .c-text-price__current {
        font-size: 1.6rem;
    }

    .p-product-plan__button {
        display: none;
    }
}

/* 商品詳細テキスト */
.p-product-plan__description {
    margin-bottom: var(--gutter4);
    word-break: break-word;
}

.p-product-plan__description .fn-plan-desc-text p {
    white-space: pre-line;
}

.p-product-plan__description-more {
    margin-top: var(--gutter2);
    text-align: center;
}

.p-product-plan__description-button {
    color: var(--linkColor);
    font-weight: 700;
    font-size: 1.6rem;
}

@media (min-width: 768px) {
    .p-product-plan__description {
        margin-bottom: var(--gutter2);
    }

    .p-product-plan__description-more {
        display: none;
    }
}

/* 動画掲載 */
.p-product-plan__movie {
}

.p-product-plan__movie-list {
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: var(--gutter2);
}

.p-product-plan__movie-item {
    max-width: 76%;
}

.p-product-plan__movie-item iframe {
    width: 100%;
    height: auto;
    vertical-align: bottom;
    aspect-ratio: 16 / 9;
}

@media (min-width: 768px) {
    .p-product-plan__movie-list {
        flex-direction: row;
    }

    .p-product-plan__movie-item {
        max-width: 308px;
        flex-grow: 1;
    }
}

/* タブエリア
---------------------------------------- */
.p-product-tab {
    margin-bottom: 49px;
}

.p-product-tab__heading {
    margin-bottom: var(--gutter2);
}

.p-product-tab__list {
    margin-bottom: var(--gutter3);
    font-size: 1.4rem;
}

.p-product-tab__heading > :last-child,
.p-product-tab__content > :last-child,
.p-product-tab__ticket > :last-child,
.p-product-tab__information > :last-child,
.p-product-tab__facility > :last-child {
    margin-bottom: 0;
}

.p-product-tab__text {
    margin-bottom: var(--gutter3);
}

/* 基本情報 */
.p-product-table {
    margin-bottom: var(--gutter3);
    font-size: 1.4rem;
}

.p-product-table .css_line_break_ {
    white-space: pre-line;
}

.p-product-table__tr {
    width: 31%;
}

.p-product-table__td {
    width: 69%;
}

.p-product-link-map {
    margin-top: var(--gutter1);
    display: inline-flex;
    align-items: center;
    gap: var(--gutter1);
    transition: var(--transition);
    line-height: 1;
}

.p-product-link-map__icon {
    flex-shrink: 0;
}

.p-product-link-map:is(:hover, :focus, :active) {
    text-decoration: none;
    opacity: var(--opacity);
}

/* スケジュール */
.p-product-tab__schedule {
    margin-bottom: -1px;
    padding: var(--gutter2) var(--gutter1);
    border: 1px solid var(--grayColor1);
    font-size: 1.4rem;
}

.p-product-tab__schedule-unit {
    margin-bottom: var(--gutter2);
}

.p-product-tab__schedule > :last-child {
    margin-bottom: 0;
}

/* 施設情報 */
.p-product-list2 {
    margin-top: var(--gutter1);
}

.p-product-tab__grid {
    margin-bottom: var(--gutter3);
}

.p-product-tab__row {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: var(--gutter2);
}

.p-product-tab__col-thumb {
    text-align: center;
    flex-shrink: 0;
}

.p-product-tab__col-text {
    white-space: pre-line;
}

.p-product-tab__col__thumb-icon {
    width: 24px;
    line-height: 1;
}

.p-product-tab__col__thumb-text {
    font-weight: 700;
    font-size: 1.6rem;
    color: var(--grayColor2);
    line-height: 1;
}

.p-product-tab__col__thumb.-noimage {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--gutter1);
    width: 336px;
    height: 252px;
    background-color: var(--grayBgColor1);
    user-select: none;
}

@media (min-width: 768px) {
    .p-product-tab__list {
        margin-bottom: 0;
        font-size: 1.8rem;
    }

    .p-product-tab__heading {
        margin-top: var(--gutter4);
    }

    .p-product-table__tr {
        width: 23%;
    }
    
    .p-product-table__td {
        width: 77%;
    }

    .p-product-tab__text {
        margin-bottom: var(--gutter4);
    }

    .p-product-tab__row {
        flex-direction: row;
        align-items: flex-start;
        gap: var(--gutter2);
    }
    
    .p-product-tab__col__thumb-icon {
        width: 40px;
    }

    .p-product-tab__col__thumb-text {
        font-size: 3.2rem;
    }

    .p-product-tab__col__thumb.-noimage {
        width: 336px;
        height: 252px;
    }
}

/* 施設詳細リンク */
.p-product-facility-link2 {
    margin-top: -34px;
    margin-bottom: 50px;
    text-align: right;
    font-weight: 700;
}

@media (min-width: 768px) {
    .p-product-facility-link2 .c-link {
        padding: 7px 20px 6px;
        position: relative;
    }

    .p-product-facility-link2 .c-link:is(:hover, :focus) {
        text-decoration: none;
    }

    .p-product-facility-link2 .c-link::before {
        display: block;
        z-index: 1;
        position: absolute;
        bottom: 0;
        left: 1px;
        width: 0;
        height: 2px;
        background: transparent linear-gradient(135deg,#3498db,#52c8ff) 0 0 no-repeat padding-box;
        content: "";
        transition: width .3s;
    }

    .p-product-facility-link2 .c-link:is(:hover)::before {
        width: 100%;
    }
}

/* 発行者情報
---------------------------------------- */
.p-product-publisher {
    margin-bottom: var(--gutter5);
}

@media (min-width: 768px) {
    .p-product-publisher {
        margin-block: var(--gutter5);
    }
}


/* 購入ボタン
---------------------------------------- */
.p-product-reserve-button {
    margin-bottom: var(--gutter3);
    display: flex;
    justify-content: center;
}

/* 予約エリア
---------------------------------------- */
.p-product-reserve {
    margin-bottom: 50px;
}

.p-product-reserve__heading {
    margin-bottom: var(--gutter2);
}

.p-product-reserve__heading2 {
    margin-bottom: var(--gutter1);
}

.p-product-reserve__text {
    margin-bottom: var(--gutter2);
}

.p-product-reserve > :last-child,
.p-product-reserve__heading > :last-child {
    margin-bottom: 0;
}

@media (min-width: 768px) {
    .p-product-reserve {
        margin-bottom: var(--gutter6);
    }
}

/* カレンダー */
.p-product-reserve__calendar-area {
    position: relative;
    margin-bottom: var(--gutter4);
}

.p-product-reserve__calendar-inner {
    margin-bottom: var(--gutter2);
}

.cal_prev_,
.cal_next_ {
    position: absolute;
    top: 0;
}

.cal_prev_ {
    left: 0;
}

.cal_next_ {
    right: 0;
}

.cal_link_ {
    color: var(--linkColor);
    font-weight: 700;
    font-size: 1.3rem;
}

.cal_link_ > span::after {
    font-weight: 500;
}

.cal_link_ .c-link-back {
    position: relative;
    display: flex;
    align-items: center;
    transition: var(--transition);
    padding: 0;
}

.cal_link_ .c-link-back::before {
    display: block;
    content: "\e314";
    font-family: "Material Icons";
    color: var(--linkColor);
    font-size: 2.4rem;
    font-weight: 500;
    margin: 0;
    position: static;
    width: auto;
    height: 100%;
    transform: scale(1);
    opacity: 1;
    visibility: visible;
    background: none;
}

.cal_link_ .c-link-back:not(:active)::before {
    animation: none;
    visibility: visible;
}

.cal_link_ .c-link-back::after {
    display: none;
}

.mv_cld {
    width: 100%;
}

.mv_cld th {
    text-align: center;
}

.mv_cld td {
    vertical-align: top;
    border: 1px solid var(--grayColor1);
    width: calc(100% / 7);
}

.mv_month {
    font-size: 1.2rem;
    font-weight: 700;
}

.mv_month_num {
    padding-left: 4px;
    font-size: 1.8rem;
}

.mv_week {
    padding-block: var(--gutter1);
}

.mv_cld_inner {
    font-size: 1.3rem;
}

.mv_date {
    color: var(--secondaryColor);
}

.mv_price {
    display: block;
    text-align: center;
    color: var(--blueColor1);
}

a.modal-syncer,
.day-content {
  text-decoration: none;
  cursor: pointer;
}

.mv_stock {
    display: block;
    text-align: center;
    font-size: 1.4rem;
}

.mv_stock.-instock {
    color: var(--successColor);
}

.mv_stock.-few {
    color: #E18D52;
}

.mv_stcok.-nostock {
    color: var(--secondaryColor);
}

.mv_stock.-nothing {
    color: var(--grayColor2);
}

.mv_sat .mv_date,
.mv_week_sat {
    color: var(--blueColor1);
}

.mv_holiday .mv_date,
.mv_week_sun {
    color: var(--redColor3);
}

.mv_nostock .mv_price {
    color: var(--grayColor2);
}

.mv_noproduct {
    background-color: var(--grayBgColor1);
}

.mv_cld .mv_nodate {
    border: 0;
}

.mv_selected {
    background-image: linear-gradient(135deg, var(--blueColor1), var(--blueColor2));
}

.mv_selected .mv_date {
    color: #fff;
}

.mv_selected .mv_price {
    color: #fff;
}

.mv_selected .mv_stock {
    color: #fff;
}

div:is(.mv_cld_inner):not(.mv_selected):hover {
	background-color: var(--blueColor3);
}

.p-product-reserve__calendar-information {
    margin-bottom: var(--gutter2);
}

.p-product-reserve__calendar-information__item:not(:last-child) {
    margin-bottom: var(--gutter1);
}

.p-product-reserve__calendar-about {
    padding: var(--gutter1) var(--gutter2);
    display: flex;
    flex-wrap: wrap;
    column-gap: var(--gutter2);
    row-gap: var(--gutter1);
    background-color: var(--grayBgColor2);
    line-height: 1;
    font-size: 1.4rem;
    margin-bottom: var(--gutter2);
}

.p-product-reserve__calendar-aboutIcon {
    display: flex;
    align-items: center;
}

.p-product-reserve__calendar-aboutImage {
    flex-shrink: 0;
}

@media (max-width: 767px) {
    .p-product-reserve__calendar2 {
        display: none;
    }

    .mv_cld_inner {
        padding: 4px;
        font-size: 1.3rem;
    }
}

@media (min-width: 768px) {
    .p-product-reserve__calendar-inner {
        display: flex;
        gap: var(--gutter2);
        margin-bottom: var(--gutter2);
    }
    
    .p-product-reserve__calendar1,
    .p-product-reserve__calendar2 {
        width: 50%;
    }

    .cal_link_ > span:is(:hover, :focus) {
        cursor: pointer;
    }

    .cal_link_ .c-link-back:is(:hover, :focus) {
        opacity: var(--opacity);
    }

    .mv_month {
        font-size: 1.4rem;
    }
    
    .mv_month_num {
        font-size: 2.1rem;
    }

    .mv_cld_inner {
        padding: 4px var(--gutter1);
    }

    .mv_selected .mv_price {
        font-weight: 700;
    }
}

/* 時間選択 */
.p-product-reserve__time-area {
    margin-bottom: var(--gutter4);
}

.p-product-reserve__time-list {
    gap: var(--gutter1);
    font-weight: 700;
}

.p-product-reserve__time-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-block: var(--gutter1);
}

.p-product-reserve__time-input {
    font-size: 1.6rem;
}

.p-product-reserve__time-input > .c-form-check-label__item {
    height: 23px;
}

.p-product-reseve__time-detail {
    display: flex;
    align-items: center;
    gap: var(--gutter2);
}

.p-product-reseve__time-icon {
    line-height: 0;
}

.p-product-reseve__time-icon.-instock {
    color: var(--successColor);
}

.p-product-reseve__time-icon.-few {
    color: #E18D52;
}

.p-product-reseve__time-icon.-nostock {
    color: var(--secondaryColor);
}

.p-product-reseve__time-icon.-nothing {
    color: var(--grayColor2);
}

@media (max-width: 767px) {
    .p-product-reserve__time-list {
        display: flex;
        flex-direction: column;
        flex-wrap: wrap;
        gap: var(--gutter1);
        font-weight: 700;
    }
}

@media (min-width: 768px) {
    .p-product-reserve__time-area {
        padding: var(--gutter2) var(--gutter4);
        background-color: #F8F9F9;
    }

    .p-product-reserve__time-list {
        position: relative;
        column-count: 2;
        margin-bottom: -8px;
        margin-left: -80px;
    }

    .p-product-reserve__time-list::after {
        content: "";
        display: block;
        width: 1px;
        height: 100%;
        background-color: var(--grayColor1);
        position: absolute;
        top: 0;
        left: calc(50% + 40px);
    }

    .p-product-reserve__time-item {
        margin-bottom: var(--gutter1);
        margin-left: 80px;
    }
}

/* 人数選択 */
.p-product-reserve__number-area {
    margin-bottom: var(--gutter4);
}

.p-product-reserve__number-unit {
    margin-bottom: var(--gutter3);
    display: flex;
}

.p-product-reserve__number-name {
    width: 100%;
    font-weight: 700;
}

.p-product-reserve__number-action {
    display: flex;
    align-items: center;
    gap: 2px;
    line-height: 1;
}

.p-product-reserve__number-priceTax {
    font-size: 1.4rem;
    padding-right: var(--gutter1);
}

.p-product-reserve__number-priceNum {
    font-size: 1.8rem;
}

.p-product-reserve__number-people {
    font-size: 1.8rem;
    font-weight: 700;
    text-align: center;
    min-width: 3em;
}

.p-product-reserve__number-button {
    width: 30px;
    height: 30px;
    color: var(--linkColor);
    flex-shrink: 0;
}

.p-product-reserve__number-button.is-disabled {
    color: var(--grayBgColor1);
    cursor: default;
}

.p-product-reserve__number-icon {
    position: relative;
    font-size: 3rem;
    line-height: 1;
}

.p-product-reserve__number-icon::after {
    display: block;
    font-family: "Material Icons Round";
}

.p-product-reserve__number-icon.-minus::after {
    content: "\e909";
}

.p-product-reserve__number-icon.-plus::after {
    content: "\e146";
}

.p-product-reserve__number > :last-child {
    margin-bottom: 0;
}

@media (max-width: 767px) {
    .p-product-reserve__number-unit {
        justify-content: flex-end;
        flex-wrap: wrap;
        gap: var(--gutter1) var(--gutter3);
    }
}

@media (min-width: 768px) {
    .p-product-reserve__number-unit {
        margin-bottom: var(--gutter2);
        align-items: center;
        gap: var(--gutter3);
    }

    .p-product-reserve__number-name {
        width: auto;
        min-width: 376px;
    }

    .p-product-reserve__number-price {
        min-width: 120px;
        text-align: right;
    }
}

/* トータルエリア */
.p-product-reserve__total {
    margin-bottom: var(--gutter3);
    padding: var(--gutter1);
    font-size: 1.4rem;
    background-color: var(--grayBgColor2);
}

.p-product-reserve__total-name {
    margin-bottom: var(--gutter1);
}

.p-product-reserve__total-date {
    margin-bottom: var(--gutter1);
}

.p-product-reserve__total-selected {
    margin-bottom: var(--gutter1);
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: var(--gutter2);
}

.p-product-reserve__total-selectedPrice {
    flex-shrink: 0;
}

.p-product-reserve__total-payment {
    margin-bottom: var(--gutter1);
}

.p-product-reserve__total-price {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    font-weight: 700;
}

.p-product-reserve__total-priceNum {
    color: var(--priceColor);
    font-size: 1.8rem;
}

.p-product-reserve__total > :last-child {
    margin-bottom: 0;
}

@media (min-width: 768px) {
    .p-product-reserve__total {
        font-size: 1.6rem;
    }

    .p-product-reserve__total-selected {
        justify-content: flex-start;
        gap: var(--gutter3);
    }

    .p-product-reserve__total-price {
        justify-content: flex-end;
    }

    .p-product-reserve__total-priceNum {
        font-size: 2.1rem;
    }
}

/* 手数料 */
.p-product-reserve__table {
    margin-bottom: var(--gutter3);
    font-size: 1.4rem;
}

.p-product-reserve__table-tr {
    width: 31%;
}

.p-product-reserve__table-td {
    width: 38%;
}

.p-product-reserve__table-price {
    text-align: right;
}

/* インフォメーション */
.p-product-reserve__information {
    margin-bottom: var(--gutter3);
}

.p-product-reserve__help {
    vertical-align: baseline;
    color: var(--secondaryColor);
}

.p-product-reserve__help-icon {
    position: relative;
    display: inline-block;
    font-size: 2rem;
    vertical-align: text-bottom;
    line-height: 1;
}

.p-product-reserve__help-icon::after {
    display: block;
    content: "\e887";
    font-family: "Material Icons";
}

/* 同意エリア */
.p-product-reserve__agree {
    margin-bottom: var(--gutter4);
}

.p-product-reserve-confirm {
    margin-bottom: var(--gutter4);
}

.p-product-reserve-confirm-button {
    display: flex;
    flex-direction: column;
    gap: var(--gutter3);
}

@media (min-width: 768px) {
    .p-product-reserve__agree {
        width: 416px;
        margin: 0 auto 34px;
    }

    .p-product-reserve-confirm {
        margin-bottom: 32px;
    }

    .p-product-reserve-confirm-button {
        display: flex;
        flex-direction: row;
        justify-content: center;
        gap: var(--gutter3);
    }

    .p-product-reserve-confirm-button__content {
        width: 100%;
        max-width: 345px;
    }

    .p-product-reserve-confirm-button .c-button-cta {
        width: 100%;
        max-width: 345px;
    }
}

/* 予約ボタン */
.p-product-reserve__button {
    display: flex;
    justify-content: center;
}


/* 下部シェアリンク
---------------------------------------- */
.p-product-share {
    margin-top: var(--gutter4);
    display: flex;
    justify-content: center;
}

@media (min-width: 768px) {
    .p-product-share {
        display: none;
    }
}

.p-product-share__button {
    color: var(--linkColor);
    font-size: 1.6rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 4px;
}

/* 下部コンテンツスライダー
---------------------------------------- */
.p-product-other {
    margin-bottom: var(--gutter4);
}


/* ヘルプツールチップ
---------------------------------------- */
.p-product-tooltip {
    max-width: 345px;
    width: 100%;
    padding: var(--gutter1) var(--gutter2);
}

.p-product-tooltip__lead {
    font-weight: 700;
}

.p-product-tooltip__text {
    font-weight: 400;
}


/* =============================================================================
    enquete page
============================================================================= */
/* override
---------------------------------------- */
.p-enquete-input .c-form-check-label__input,
.p-enquete-input .c-form-confirm,
.p-enquete-details__unit .c-form-check-label__input,
.p-enquete-details__unit .c-form-confirm {
    font-size: 1.6rem;
}

/* アンケート入力
---------------------------------------- */
.p-enquete-lead {
    margin-bottom: var(--gutter3);
}

.p-enquete-details {
    margin-bottom: var(--gutter4);
    padding-bottom: var(--gutter2);
    border-bottom: 1px solid var(--grayColor1);
}

.p-enquete-details.-outline {
    margin-bottom: var(--gutter2);
    padding-bottom: 0;
    border-bottom: 0;
    margin-top: var(--gutter3);
    padding-top: var(--gutter4);
    border-top: 1px solid var(--grayColor1);
}

.p-enquete-details__heading {
    margin-bottom: var(--gutter3);
}

.p-enquete-details__title {
    font-size: 2.1rem;
}

.p-enquete-details__unit {
    margin-bottom: var(--gutter2);
}

.p-enquete-details__unit-title {
    margin-bottom: 4px;
    font-size: 1.8rem;
    font-weight: 700;
}

.p-enquete-details__unit-text {
    margin-bottom: 1em;
}

.p-enquete-details__unit .c-form-label__text {
    font-size: 1.6rem;
    font-weight: 700;
}

.p-enquete-details > :last-child,
.p-enquete-details__unit > :last-child {
    margin-bottom: 0;
}

.p-enquete-information {
    margin-bottom: var(--gutter3);
}

@media (min-width: 768px) {
    .p-enquete-information {
        margin-bottom: -32px;
    }
}

/* 入力欄エリア */
.p-enquete-input {
    margin-bottom: var(--gutter3);
}

.p-enquete-input__unit + .p-enquete-input__unit {
    margin-top: var(--gutter3);
    padding-top: var(--gutter3);
    border-top: 1px solid var(--grayColor1);
}

.p-enquete-input__unit-heading {
    margin-bottom: var(--gutter3);
}

.p-enquete-input__unit-title {
    font-size: 2.1rem;
}

.p-enquete-input__unit-content {
    margin-bottom: var(--gutter4);
}

.p-enquete-input-submit {
    margin-top: var(--gutter4);
}

.p-enquete-input > :last-child,
.p-enquete-input__unit > :last-child {
    margin-bottom: 0;
}


/* アンケート確認
---------------------------------------- */
.p-enquete-input.-confirm {
    border-bottom: 0;
}

.p-enquete-input.-confirm .p-enquete-input__unit-heading {
    margin-bottom: var(--gutter4);
}


/* アンケート完了
---------------------------------------- */
.p-enquete-complete-lead {
    margin-bottom: var(--gutter5);
}

.p-enquete-complete-icon {
    text-align: center;
    line-height: 1;
}

.p-enquete-complete-button {
    margin-top: var(--gutter5);
}

.p-enquete-complete-button__row {
    display: flex;
    flex-direction: column;
    gap: var(--gutter4);
}

@media (max-width: 767px) {
    .p-enquete-complete-icon > img {
        width: 96px;
    }
}

@media (min-width: 768px) {
    .p-enquete-complete-button {
        margin-top: 113px;
    }

    .p-enquete-complete-button__row {
        display: flex;
        flex-direction: row;
        gap: var(--gutter2);
    }

    .p-enquete-complete-button__column {
        width: calc(50% - 8px);
        flex-grow: 1;
    }
}


/* =============================================================================
    contact page
============================================================================= */
/* override
---------------------------------------- */
.page-contact textarea.c-form-text__input {
    height: 240px;
}

.p-contact-input__unit > .c-form-label {
    margin-bottom: var(--gutter2);
}

.p-contact-input__unit > .c-form-label .c-form-label__text {
    font-size: 2.1rem;
}

.p-contact-input__unit-content .c-form-label {
    margin-bottom: 4px;
}


/* お問い合わせ入力、確認
---------------------------------------- */
.p-contact-input {
    margin-bottom: var(--gutter4);
}

.p-contact-input__unit {
    margin-bottom: var(--gutter4);
    padding-bottom: var(--gutter3);
    border-bottom: 1px solid var(--grayColor1);
}

.p-contact-input__unit:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.p-contact-input__unit-content {
    margin-bottom: var(--gutter3);
}

.p-contact-input > :last-child,
.p-contact-input__unit > :last-child {
    margin-bottom: 0;
}

@media (min-width: 768px) {
    .p-contact-input__unit {
        padding-bottom: var(--gutter4);
    }   
}

/* アンケート完了
---------------------------------------- */
.p-contact-complete-lead {
    margin-bottom: var(--gutter4);
}

.p-contact-complete-button__row {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--gutter4);
}

@media (max-width: 767px) {
    .p-contact-complete-button__column {
        width: 100%;
    }   
}



/* =============================================================================
    tour terms page
============================================================================= */
/* override
---------------------------------------- */
.page-tourterms .l-heading-lv1 {
    margin-block: var(--gutter4)
}

.page-tourterms .l-heading-lv1__title {
    text-align: left;
}

/* 取引条件説明書
---------------------------------------- */
.p-tourterms {
    margin-bottom: var(--gutter4);
}

.p-tourterms__heading {
    margin-bottom: var(--gutter3);
}

.p-tourterms__title {
    font-size: 2.1rem;
}

/* 商品情報 */
.p-tourterms__about {
    margin-bottom: var(--gutter4);
    padding-bottom: var(--gutter2);
    border-bottom: 1px solid var(--grayColor1);    
}

.p-tourterms__about-unit {
    margin-bottom: var(--gutter2);
}

.p-tourterms__about-heading {
    margin-bottom: 4px;
}

.p-tourterms__about-title {
    font-size: 1.8rem;
}

/* 詳細情報 */
.p-tourterms__details {
    margin-bottom: var(--gutter4);
    padding-bottom: var(--gutter3);
    border-bottom: 1px solid var(--grayColor1);
}

.p-tourterms__details:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.p-tourterms__details-heading {
    margin-bottom: 4px;
}

.p-tourterms__details-title {
    font-size: 1.8rem;
}

.p-tourterms__details-content {
    margin-bottom: var(--gutter3);
}

.p-tourterms__other-heading {
    margin-bottom: var(--gutter1);
}

.p-tourterms__other-title {
    font-size: 1.8rem;
}

.p-tourterms__other-content {
    margin-bottom: var(--gutter3);
}

/* document */
.p-tourterms-document__heading {
    margin-bottom: 4px;
}

.p-tourterms-document__title {
    font-size: 2.1rem;
}

.p-tourterms-document__text {
    margin-bottom: var(--gutter1);
}


.p-tourterms > :last-child,
.p-tourterms__about > :last-child,
.p-tourterms__details > :last-child,
.p-tourterms__details-content > :last-child,
.p-tourterms__other > :last-child,
.p-tourterms__other-content > :last-child,
.p-tourterms-document > :last-child {
    margin-bottom: 0;
}


/* =============================================================================
    law page
============================================================================= */
/* override
---------------------------------------- */
.page-law .l-heading-lv1 {
    margin-top: var(--gutter4);
    margin-bottom: var(--gutter3);
}

.page-law .l-heading-lv1__title {
    text-align: left;
}


/* 特定商取引法に基づく表記
---------------------------------------- */
.p-law__unit {
    margin-bottom: var(--gutter2);
}

.p-law__heading {
    margin-bottom: 4px;
}

.p-law > :last-child,
.p-law__heading > :last-child {
    margin-bottom: 0;
}


/* =============================================================================
    privacy page
============================================================================= */
/* override
---------------------------------------- */
.page-privacy .l-heading-lv1 {
    margin-top: var(--gutter4);
    margin-bottom: var(--gutter4);
}

.page-privacy .l-heading-lv1__title {
    text-align: left;
}

@media (min-width: 768px) {
    .page-privacy .l-heading-lv1 {
        margin-bottom: 54px;
    }
}

/* 個人情報保護方針
---------------------------------------- */
.p-privacy-lead {
    margin-bottom: var(--gutter4);
    font-size: 1.8rem;
}

.p-privacy {
    margin-bottom: var(--gutter4);
}

.p-privacy__unit {
    display: flex;
    align-items: flex-start;
    gap: 4px;
    margin-bottom: 4px;
}

.p-privacy__num {
    flex-shrink: 0;
}

.p-privacy__text {
    flex-grow: 1;
}

.p-privacy > :last-child {
    margin-bottom: 0;
}

/* =============================================================================
    error page
============================================================================= */
/* override
---------------------------------------- */
@media (max-width: 767px) {
    .page-error .l-main-content__inner {
        padding: 40px 30px 0;
    }
}

@media (min-width: 768px) {
    .page-error .l-main-content__inner {
        padding-top: 80px;
        width: fit-content;
    }

    .page-error-common .l-main-content__inner {
        padding-top: 40px;
    }
}

/* エラー画面
---------------------------------------- */
.p-error-heading {
    width: fit-content;
    margin: 0 auto 32px;
}

.p-error-heading__title {
    position: relative;
    display: flex;
    justify-content: flex-start;
    gap: 4px;
    width: fit-content;
    margin-bottom: var(--gutter1);
    font-size: 1.8rem;
}

.p-error-heading__title::before {
    display: block;
    top: .05em;
    content: "\f083";
    color: #E18D52;
    font-family: "Material Icons Round";
    font-size: 3rem;
    font-weight: 500;
    line-height: 1;
}

.p-error-heading__sub {
    font-size: 1.4rem;
    color: #000;
    text-align: center;
}

.p-error-heading > :last-child {
    margin-bottom: 0;
}

.p-error-lead {
    margin-bottom: 50px;
    font-size: 1.4rem;
}

.p-error-heading + .p-error-back {
    margin-top: 120px;
}

@media (min-width: 768px) {
    .p-error-heading {
        margin-inline: 0;
    }

    .p-error-heading__title {
        margin-bottom: var(--gutter2);
        font-size: 2.1rem;
    }

    .p-error-heading__sub {
        text-align: left;
    }

    .p-error-lead {
        margin-bottom: 80px;
    }
}

/* 標識・約款
---------------------------------------- */
.p-covenant__unit {
    margin-bottom: var(--gutter2);
}

.p-covenant__heading {
    margin-bottom: 4px;
}

.p-covenant > :last-child,
.p-covenant__heading > :last-child {
    margin-bottom: 0;
}

/* =============================================================================
    transition
============================================================================= */
/* 外部遷移案内
---------------------------------------- */
.page-transition {
    background-color: #f5f5f5;
}

.page-transition #mv_main_os {
    margin: 0px auto;
    padding: 50px 0px;
    text-align: center;
    font-size: 1.4rem;
}

.page-transition #mv_main_os p.mv_close_bt {
    margin: 0px auto;
    padding: 40px 0px 0px 0px;
}

@media (min-width: 768px) {
    .page-transition #mv_wrapper {
        width: 1130px;
        margin: 0 auto;
        padding: 0 0 0 0;
        text-align: left;
        background: #fff;
    }
    
    .page-transition #mv_main_os {
        margin-left: 5px;
        margin-right: 5px;
        margin: 0px auto;
        padding: 50px 0px;
        text-align: center;
    }
}

/* =============================================================================
    favorite
============================================================================= */
/* お気に入り施設一覧
---------------------------------------- */
.p-favorite__favorite-link {
    margin-top: var(--gutter2);
    text-align: right;
}

.p-favorite__favorite-link::before {
    background: -webkit-linear-gradient(300deg, #cc0d21, #ec64a9);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    content: '\E87D';
    padding-right: 3px;
    display: inline-block;
    margin: 0 2px 1.5px 2px;
    font-family: Material Icons;
    line-height: 1;
    vertical-align: middle;
    font-size: 22px;
    font-weight: 500;
}

.p-favorite__favorite-link:last-child {
    margin-bottom: var(--gutter2);
}

.p-favorite__area {
    flex-wrap: revert;
}

.p-favorite__pref {
    white-space: nowrap;
}

.p-favorite__more {
    margin-top: var(--gutter2);
    display: flex;
    justify-content: center;
}

.p-favorite-dialog__text {
    text-align: center;
}

.p-favorite-dialog__button {
    color: var(--linkColor);
    font-weight: 700;
    font-size: 1.6rem;
}

@media (max-width: 767px) {
    .p-favorite__area-pc {
        display: none;
    }

    .p-favorite__area-sp {
        position: absolute;
        top: 0;
        padding-left: 37%;
    }

    .p-favorite__detail {
        position: relative;
    }

    .p-favorite__delete-pc {
        display: none;
    }

    .p-favorite__delete-sp {
        margin-top: var(--gutter2);
        text-align: center;
    }

    .p-favorite__delete-sp button {
        color: var(--linkColor);
        font-weight: 700;
        font-size: 1.6rem;
    }

    .p-favorite-dialog {
        max-height: revert;
        max-width: revert;
        height: revert;
    }

    .p-favorite-dialog__head {
        display: none;
    }

    .p-favorite-dialog__text {
        margin-top: var(--gutter4);
    }

    .p-favorite-dialog__content {
        display: flex;
        justify-content: center;
        height: revert;
    }

    .p-favorite-dialog__content button {
        width: 50%;
        height: fit-content;
    }

    .p-favorite-dialog__link {
        font-size: 1.8rem;
    }
}

@media (min-width: 768px) {
    .p-favorite__inner {
        grid-template-columns: 30% 1fr;
        padding-right: var(--gutter2);
        padding-top: var(--gutter1);
    }

    .p-favorite__area-sp {
        display: none;
    }
    
    .p-favorite__delete-pc {
        display: flex;
        justify-content: right;
    }

    .p-favorite__delete-pc button {
        color: var(--linkColor);
        font-weight: 700;
        font-size: 1.6rem;
    }

    .p-favorite__delete-sp {
        display: none;
    }

    .p-favorite-dialog__content {
        display: flex;
        justify-content: center;
    }

    .p-favorite-dialog__content button {
        width: 30%;
    }

    .p-favorite-dialog__text {
        font-size: 1.8rem;
    }

    .p-favorite-dialog__link {
        font-size: 2.0rem;
    }
}

.f-favorite-btn .f-favorite-icon,
.f-favorite-btn .f-product-facility-favorite-icon,
.f-favorite-btn .f-facility-favorite-icon {
  display: none;
}

.f-favorite-btn.is-checked .f-favorite-icon,
.f-favorite-btn.is-checked .f-product-facility-favorite-icon,
.f-favorite-btn.is-checked .f-facility-favorite-icon {
  display: block;
}

.f-favorite-icon {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 32px;
  height: 32px;
}

.f-map-favorite-icon {
    top: -5px;
    left: -5px;
  }

.f-product-facility-favorite-icon {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 32px;
  height: 32px;
}

.f-facility-favorite-icon {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 24px;
  height: 24px;
}

.f-favorite-icon__circle {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #D94F5D;
  border: 6px solid #D94F5D;
  border-radius: 50%;
  opacity: 0;
  width: 40px;
  height: 40px;
}

.f-product-facility-favorite-icon__circle {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #D94F5D;
  border: 6px solid #D94F5D;
  border-radius: 50%;
  opacity: 0;
  width: 56px;
  height: 56px;
}

.f-facility-favorite-icon__circle {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #D94F5D;
  border: 6px solid #D94F5D;
  border-radius: 50%;
  opacity: 0;
  width: 40px;
  height: 40px;
}

.f-favorite-icon__circle:before,
.f-product-facility-favorite-icon__circle:before,
.f-facility-favorite-icon__circle:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: #fff;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.f-favorite-icon__particle {
  position: absolute;
  top: -4px;
  left: -4px;
  opacity: 0;
  width: 40px;
  height: 40px;
  background: url(https://www.jtb.co.jp/kokunai_air/static/assets/images/common/f-ic-favorite-particle.svg) no-repeat center center;
  background-size: contain;
}

.f-product-facility-favorite-icon__particle {
  position: absolute;
  top: -9px;
  left: -9px;
  opacity: 0;
  width: 48px;
  height: 48px;
  background: url(https://www.jtb.co.jp/kokunai_air/static/assets/images/common/f-ic-favorite-particle.svg) no-repeat center center;
  background-size: contain;
}

.f-facility-favorite-icon__particle {
  position: absolute;
  top: -8px;
  left: -8px;
  opacity: 0;
  width: 40px;
  height: 40px;
  background: url(https://www.jtb.co.jp/kokunai_air/static/assets/images/common/f-ic-favorite-particle.svg) no-repeat center center;
  background-size: contain;
}

.f-favorite-icon__heart,
.f-product-facility-favorite-icon__heart,
.f-facility-favorite-icon__heart {
  font-size: 18px;
  line-height: 1;
  color: #D94F5D;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transform: scale(0);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
}

.f-favorite-btn.is-checked .f-favorite-icon .f-favorite-icon__circle,
.f-favorite-btn.is-checked .f-product-facility-favorite-icon .f-product-facility-favorite-icon__circle,
.f-favorite-btn.is-checked .f-facility-favorite-icon .f-facility-favorite-icon__circle {
  -webkit-animation: circle 0.5s ease-in 0s;
          animation: circle 0.5s ease-in 0s;
}

.f-favorite-btn.is-checked .f-favorite-icon .f-favorite-icon__circle:before,
.f-favorite-btn.is-checked .f-product-facility-favorite-icon .f-product-facility-favorite-icon__circle:before,
.f-favorite-btn.is-checked .f-facility-favorite-icon .f-facility-favorite-icon__circle:before {
  -webkit-animation: circle-in 0.5s ease-in 0s;
          animation: circle-in 0.5s ease-in 0s;
}

.f-favorite-btn.is-checked .f-favorite-icon .f-favorite-icon__particle,
.f-favorite-btn.is-checked .f-product-facility-favorite-icon .f-product-facility-favorite-icon__particle,
.f-favorite-btn.is-checked .f-facility-favorite-icon .f-facility-favorite-icon__particle {
  -webkit-animation: particle 0.5s ease-in 0.2s;
          animation: particle 0.5s ease-in 0.2s;
}
.f-favorite-btn.is-checked .f-favorite-icon .f-favorite-icon__heart,
.f-favorite-btn.is-checked .f-product-facility-favorite-icon .f-product-facility-favorite-icon__heart,
.f-favorite-btn.is-checked .f-facility-favorite-icon .f-facility-favorite-icon__heart {
  -ease-inn: heart 0.5s ease-in 0.2s;
          animation: heart 0.5s ease-in 0.2s;
}

.l-favorite.is-checked .l-favorite__tooltip {
  -webkit-animation: circle 0.5s ease-in 0s;
          animation: circle 0.5s ease-in 0s;
}

@-webkit-keyframes heart {
  0% {
    transform: scale(0.1);
  }
  50% {
    transform: scale(1.2);
  }
  100% {
    transform: scale(1);
  }
}

@keyframes heart {
  0% {
    transform: scale(0.1);
  }
  50% {
    transform: scale(1.2);
  }
  100% {
    transform: scale(1);
  }
}
@-webkit-keyframes particle {
  0% {
    opacity: 0;
    transform: rotate(0deg);
  }
  50% {
    opacity: 1;
    transform: rotate(160deg);
  }
  80% {
    opacity: 1;
    transform: rotate(160deg);
  }
  100% {
    opacity: 0;
    transform: rotate(160deg);
  }
}
@keyframes particle {
  0% {
    opacity: 0;
    transform: rotate(0deg);
  }
  50% {
    opacity: 1;
    transform: rotate(160deg);
  }
  80% {
    opacity: 1;
    transform: rotate(160deg);
  }
  100% {
    opacity: 0;
    transform: rotate(160deg);
  }
}
@-webkit-keyframes circle {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
    width: 100%;
    height: 100%;
    border-width: 6px;
  }
  60% {
    opacity: 1;
    width: 100%;
    height: 100%;
    border-width: 6px;
  }
  100% {
    opacity: 1;
    width: 50%;
    height: 50%;
    border-width: 0px;
  }
}
@keyframes circle {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
    width: 100%;
    height: 100%;
    border-width: 6px;
  }
  60% {
    opacity: 1;
    width: 100%;
    height: 100%;
    border-width: 6px;
  }
  100% {
    opacity: 1;
    width: 50%;
    height: 50%;
    border-width: 0px;
  }
}
@-webkit-keyframes circle-in {
  0% {
    width: 0;
    height: 0;
  }
  50% {
    width: 100%;
    height: 100%;
  }
}
@keyframes circle-in {
  0% {
    width: 0;
    height: 0;
  }
  50% {
    width: 100%;
    height: 100%;
  }
}

@media (max-width: 767px) {
  .f-product-facility-favorite-icon {
    width: 24px;
    height: 24px;
  }
   
  .f-product-facility-favorite-icon__circle {
    width: 48px;
    height: 48px;
  }
  
  .f-product-facility-favorite-icon__particle {
    top: -12px;
    left: -12px;
  }
  
  .f-map-favorite-label {
    position: absolute;
    left: -15px;
    top: -5px;
  }
}