@charset "UTF-8";
/*-------------
vars
-------------*/
:root{
    --inner-width: 1200px;
    --inner-width_sp: 90.625vw;
    --inner-sides: 40px;
    --inner-sides_sp: 4.6875vw;
    --min-width: var(--inner-width);

    --base-col-black: #333;
    --main-col-orange: #ff9000;
    --main-col-red: #eb3b26;
    --main-col-blue: #009be8;
    --acc-col-black: #1a1a1a;
    --acc-col-gray: #ccc;
    --border-col-gray: #e6e6e6;
    --bg-col-gray: #fafafa;
    --text-col-gray: #999;
    --text-col-red: #e60012;

    --icon-floormap: url(../images/icon_floormap.svg) no-repeat center / contain;
    --icon-floormap_white: url(../images/icon_floormap_white.svg) no-repeat center / contain;
    --icon-search: url(../images/icon_search.svg) no-repeat center / contain;
    --icon-search_white-url: url(../images/icon_search_white.svg);
    --icon-search_white: var(--icon-search_white-url) no-repeat center / contain;

    --icon-event-url: url(../images/icon_event.svg);
    --icon-info-url: url(../images/icon_info.svg);
    --icon-shop-url: url(../images/icon_shop.svg);
    --icon-feature-url: url(../images/icon_feature.svg);
    --icon-circle-url: url(../images/icon_circle.svg);

    --arrow_12: url(../images/arrow_12.svg) no-repeat center / auto;
    --arrow_12_black: url(../images/arrow_12_black.svg) no-repeat center / auto;
    --arrow_10: url(../images/arrow_10.svg) no-repeat center / auto;
    --arrow_10_gray: url(../images/arrow_10_gray.svg) no-repeat center / auto;

    --shop-eat-url: url(../images/shop-icon_eat.svg);
    --shop-eat_white-url: url(../images/shop-icon_eat_white.svg);
    --shop-eat_orange-url: url(../images/shop-icon_eat_orange.svg);

    --shop-buy-url: url(../images/shop-icon_buy.svg);
    --shop-buy_white-url: url(../images/shop-icon_buy_white.svg);
    --shop-buy_orange-url: url(../images/shop-icon_buy_orange.svg);

    --shop-facility-url: url(../images/shop-icon_facility.svg);
    --shop-facility_white-url: url(../images/shop-icon_facility_white.svg);
    --shop-facility_orange-url: url(../images/shop-icon_facility_orange.svg);

    --shop-service-url: url(../images/shop-icon_service.svg);
    --shop-service_white-url: url(../images/shop-icon_service_white.svg);
    --shop-service_orange-url: url(../images/shop-icon_service_orange.svg);

    --font-sans: "Noto Sans JP", sans-serif;
    --font-en: "Inter", var(--font-sans);
    --fontsize-base: 1.6rem;
    --lineheight-base: calc(1em + 12px);

    --linear: .3s linear;
    --ease: .3s ease;
}
@media screen and (max-width:768px){
    :root{
        --inner-width: var(--inner-width_sp);
        --inner-sides: var(--inner-sides_sp);
        --min-width: 320px;

        --fontsize-base: 1.4rem;
        --lineheight-base: calc(1em + 11px);
    }
}

/*-------------
base
-------------*/
html{
    font-size: 62.5%;
}
body{
    width: 100%;
    min-width: var(--inner-width);
    background: #fff;
    color: var(--base-col-black);
    font-family: var(--font-sans);
    font-optical-sizing: auto;
    font-size: var(--fontsize-base);
    line-height: normal;
    text-align: left;
    overflow-wrap: anywhere;
    word-break: normal;
    line-break: strict;
}
img{
    max-width: 100%;
    height: auto;
}

/* common */
@media screen and (min-width:769px){
    .sp{
        display: none!important;
    }
}
@media screen and (max-width:768px){
    .pc{
        display: none!important;
    }
}
.clearfix::after,
.cf::after{
    content: "";
    display: block;
    clear: both;
}
.preload *,
.preload *::before,
.preload *::after{
    transition: none!important;
}
.floatL, .l{
    float: left;
}
.floatR, .r{
    float: right;
}
.clearBoth, .c_b{
	clear:both;
}
.dispIB{
    display: inline-block;
}
img.dispIB{
    width: revert-layer;
    height: revert-layer;
}
.container{
    container-type: inline-size;
}
.container *{
    --container-sides: calc(50cqw - (var(--inner-width) / 2));
}

/* margin */
.mRkern{
    margin-right: -.4em;
}
.mLkern{
    margin-left: -.4em;
}
.mLRkern{
    margin-right: -.4em;
    margin-left: -.4em;
}
.mB5{
	margin-bottom: 5px!important;
}
.mB10{
	margin-bottom: 10px!important;
}
.mB15{
	margin-bottom: 15px!important;
}
.mB20{
	margin-bottom: 20px!important;
}
.mB30{
	margin-bottom: 30px!important;
}
.mR10{
	margin-right: 10px!important;
}

/* text */
.textInd, .txt_ind {
    text-indent: -1.02em;
    padding-left: 1.02em;
}
.ffsPalt{
	font-feature-settings: "palt" 1;
}
.ffSans{
    font-family: var(--font-sans)!important;
}
.txtRed{
    color: var(--text-col-red)!important;
}
.textSmall{
    font-size: .7em;
}
.textCenter, .txt_c{
    text-align: center;
}
.textRight, .txt_r{
    text-align: right;
}
.wsNowrap{
    white-space: nowrap;
}
@media screen and (min-width:769px){
    *:has(> wbr:not(.sp)){
        word-break: keep-all;
        overflow-wrap: break-word;
    }
}
@media screen and (max-width:768px){
    *:has(> wbr.sp){
        word-break: keep-all;
        overflow-wrap: break-word;
    }
}
.notMsg{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: min(var(--inner-width), 100%);
    margin: min(40px, 3em) auto;
    padding: min(30px, 2em);
    border-radius: 5px;
    background: var(--bg-col-gray);
}
.endMsg{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(80, 80, 80, .8);
    color: #fff;
    font-size: 1.8rem;
    font-weight: bold;
}
@media screen and (max-width:768px){
    .endMsg{
        font-size: 1.6rem;
    }
}

/* a */
@media (any-hover: hover){
    :where(a:hover){
        text-decoration: none;
    }
}
.textLink:not(:hover){
    text-decoration: underline;
}
@media screen and (min-width:769px){
    body:not(.viewing_mobile) a[href^="tel:"]{
        text-decoration: none!important;
        pointer-events: none;
    }
}
.fadeHover{
    transition: opacity var(--ease);
}
@media (any-hover: hover){
    .fadeHover:hover{
        opacity: .7;
    }
    .undrHover:not(:hover){
        text-decoration: underline;
    }
}
:where(a:has(> img:only-child)),
:where(a:has(> picture:only-child)){
    transition: opacity var(--ease);
}
@media (any-hover: hover){
    :where(a:has(> img:only-child)):hover,
    :where(a:has(> picture:only-child)):hover{
        opacity: .7;
    }
}

/* button */
.btnBasic a{
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    height: 50px;
    padding: 0 15px 2px 49px;
    border: solid 1px var(--border-col-gray);
    border-radius: 99px;
    background: #fff;
    font-size: 1.4rem;
    font-weight: bold;
    line-height: calc(1em + 4px);
    text-align: center;
    transition: color var(--ease);
}
@media (any-hover: hover){
    .btnBasic a:hover{
        color: var(--main-col-orange);
    }
}
@media screen and (max-width:768px){
    .top-sect-btn a{
        width: 100%;
        padding-right: 24px;
    }
}
.btnBasic a::before{
    position: absolute;
    top: calc(50% - 16px);
    left: 8px;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--main-col-orange) var(--arrow_12);
    content: "";
}
.viewmoreBtn{
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 800px;
    height: 50px;
    margin: 0 auto;
    padding-bottom: 2px;
    border: solid 1px var(--acc-col-gray);
    border-radius: 99px;
    background: #fff;
    font-size: 1.4rem;
    font-weight: bold;
    cursor: pointer;
    transition: color var(--ease);
}
@media (any-hover: hover){
    .viewmoreBtn:hover{
        color: var(--main-col-orange);
    }
}
@media screen and (max-width:768px){
    .viewmoreBtn{
        width: 100%;
        padding-bottom: 0;
    }
}
.viewmoreBtn::before{
    position: absolute;
    top: calc(50% - 16px);
    left: 11px;
    transform: rotate(90deg);
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--main-col-orange) var(--arrow_12);
    content: "";
}
@media screen and (max-width:768px){
    .viewmoreBtn::before{
        left: 8px;
    }
}

/*-------------
accordion
-------------*/
.accordion-btn:not(.is--ready){
    pointer-events: none;
}
.accordion-btn.is--ready{
    cursor: pointer;
}
@media screen and (max-width:768px){
    .accordion-btn_sp:not(.is--ready){
        pointer-events: none;
    }
    .accordion-btn_sp.is--ready{
        cursor: pointer;
    }
}
.accordion-btn:not(._active):not([data-target-class]) + *:not(.accordion-container),
.accordion-content{
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
@media screen and (max-width:768px){
    .accordion-btn_sp:not(._active):not([data-target-class]) + *:not(.accordion-container),
    .accordion-content_sp{
        position: absolute;
        opacity: 0;
        pointer-events: none;
    }
}
.accordion-container{
    overflow: hidden;
    transition: height .3s ease;
}
.accordion-container.is--hit_low{
    transition: height .2s ease;
}
.accordion-container:not(.is--open){
    height: 0!important;
}
@media screen and (min-width:769px){
    .accordion-container.is--limit_sp{
        height: auto!important;
    }
}

/*-------------
loading
-------------*/
.loading{
    --dotSize: 20px;
    --dotColor: var(--acc-col-gray);
    position: relative;
}
@media screen and (max-width:768px){
    .loading{
        --dotSize: 14px;
    }
}
.loading,
.loading::before,
.loading::after{
    width: var(--dotSize);
    height: var(--dotSize);
    border-radius: 50%;
    animation-fill-mode: both;
    animation: loading 1.8s infinite ease-in-out;
}
.loading{
    transform: translate(calc(var(--dotSize) / -2), calc(var(--dotSize) * -1.5));
    font-size: 0;
    animation-delay: -0.16s;
}
.loading::before,
.loading::after{
    position: absolute;
    top: 0;
    z-index: 1;
    content: '';
}
.loading::before{
    left: calc((var(--dotSize) + 10px) * -1);
    animation-delay: -0.32s;
}
.loading::after{
    left: calc(var(--dotSize) + 10px);
}
@keyframes loading{
    0%,
    80%,
    100%{
        box-shadow: 0 var(--dotSize) 0 calc(var(--dotSize) * -.75) var(--dotColor);
    }
    40%{
        box-shadow: 0 var(--dotSize) 0 0 var(--dotColor);
    }
}

/*-------------
header
-------------*/
.header{
    z-index: 99;
    width: 100%;
    height: 147px;
    min-width: var(--min-width);
    border-bottom: solid 1px var(--acc-col-black);
}
.header-inner{
    display: flex;
    flex-direction: column;
    position: relative;
    z-index: 99;
    width: 100%;
    height: 100%;
    padding: 14px 40px 0;
    background: #fff;
}
.header-inner:not(._fix){
    transition: opacity var(--ease);
}
.header-inner::after{
    opacity: 0;
    position: absolute;
    bottom: -10px;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 10px;
    background: linear-gradient(to bottom, rgba(0,0,0,.1), rgba(0,0,0,0));
    content: "";
    pointer-events: none;
    transition: opacity var(--ease);
}
.header-logo{
    width: 168px;
    margin: 0 auto;
}
@media screen and (min-width:769px){
    .header-inner._fix{
        opacity: 0;
        transform: translateY(-40px);
        flex-direction: row;
        align-items: center;
        position: fixed;
        top: 0;
        left: 0;
        height: auto;
        padding: 0 var(--container-sides);
    }
    .header-inner._fix._down{
        opacity: 1;
        transform: translateY(0);
        transition: opacity .1s ease, transform .1s ease;
    }
    .header-inner._fix._up{
        opacity: 0;
        transform: translateY(-40px);
    }
    .header-inner._fix::after{
        opacity: 1;
    }
    .header-inner._fix .header-logo{
        flex: 0 0 auto;
        width: 120px;
        margin-left: 0;
    }
}
@media screen and (max-width:768px){
    .header{
        --header-hit: 50px;
        height: calc(var(--header-hit) + 1px);
        min-width: 0;
    }
    .header-inner{
        display: block;
        position: fixed;
        top: 0;
        left: 0;
        height: var(--header-hit);
        padding: 8px 0 0;
    }
    .header-inner.is--low::after{
        opacity: 1;
    }
    .header-logo{
        width: auto;
        height: calc(var(--header-hit) - 16px);
        aspect-ratio: 3 / 1;
        margin: 0 auto;
        /* transition: width var(--ease); */
    }
}

/* header-menu */
.header-menu{
    margin-top: auto;
}
@media screen and (max-width:768px){
    .header-menu{
        position: absolute;
        top: 0;
        left: 0;
        z-index: 1;
        width: 100%;
        height: 100dvh;
        padding: calc(96px + var(--header-hit)) var(--inner-sides) 0;
        background: var(--bg-col-gray);
        transition: opacity var(--ease);
    }
    .header-menu:not(._active),
    .header-menu:not(._active) *{
        z-index: -999;
        pointer-events: none;
    }
    .header-menu:not(._show){
        opacity: 0;
    }
    .header-menu::before{
        position: absolute;
        top: 50px;
        left: 0;
        z-index: 1;
        width: 100%;
        height: 1px;
        background: var(--border-col-gray);
        content: "";
    }
}

/* header-menu-nav */
.header-menu-nav-list{
    display: flex;
    justify-content: center;
    gap: 0 1px;
}
.header-menu-nav-list-item{
    position: relative;
}
.header-menu-nav-list-item:not(:last-child)::after{
    position: absolute;
    top: 20px;
    right: 0;
    width: 1px;
    height: calc(100% - 40px);
    background: var(--border-col-gray);
    content: "";
}
.header-menu-nav-list-item a{
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    min-height: 64px;
    padding: 5px 30px 7px;
    color: var(--acc-col-black);
    font-size: 1.6rem;
    font-weight: bold;
    line-height: calc(1em + 4px);
    transition: color var(--ease);
}
@media (any-hover: hover){
    .header-menu-nav-list-item a:hover{
        color: var(--main-col-orange);
    }
}
@media screen and (min-width:769px){
    .header-inner._fix .header-menu-nav{
        display: flex;
        align-items: center;
    }
    .header-inner._fix .header-menu-nav-list{
        gap: 0;
    }
    .header-inner._fix .header-menu-nav-list-item:not(:last-child)::after{
        content: none;
    }
    .header-inner._fix .header-menu-nav-list-item a{
        min-height: 70px;
        padding: 5px 12px 7px;
        font-size: 1.4rem;
    }
}
@media screen and (max-width:768px){
    .header-menu-nav-list{
        flex-direction: column;
        gap: 15px 0;
    }
    .header-menu-nav-list-item:not(:last-child)::after{
        content: none;
    }
    .header-menu-nav-list-item a{
        justify-content: flex-start;
        position: relative;
        height: auto;
        min-height: 24px;
        padding: 0 0 0 30px;
    }
    .header-menu-nav-list-item a::before{
        position: absolute;
        top: 0;
        left: 0;
        width: 24px;
        height: 24px;
        border-radius: 50%;
        background: var(--main-col-orange) var(--arrow_10);
        content: "";
    }
}

/* header-menu-nav-links */
.header-menu-nav-links{
    display: none;
}
@media screen and (max-width:768px){
    .header-menu-nav-links{
        display: flex;
        flex-wrap: wrap;
        gap: 12px 20px;
        margin-top: 20px;
    }
    .header-menu-nav-link a{
        display: block;
        padding-left: 18px;
        background: var(--arrow_10_gray);
        background-position: center left;
        color: var(--acc-col-black);
        line-height: calc(1em + 8px);
    }
}

/* header-menu-map */
.header-menu-map{
    position: absolute;
    top: 17px;
    right: 100px;
}
.header-menu-map a{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0 8px;
    width: 162px;
    height: 50px;
    padding-bottom: 2px;
    border: solid 2px var(--acc-col-black);
    border-radius: 99px;
    background: #fff;
    color: var(--acc-col-black);
    font-size: 1.4rem;
    font-weight: bold;
    transition: background var(--ease);
}
.header-menu-map a::before{
    flex: 0 0 auto;
    width: 24px;
    height: 24px;
    margin-top: 1px;
    background: var(--icon-floormap);
    content: "";
}
@media (any-hover: hover){
    .header-menu-map a:hover{
        border-color: var(--main-col-orange);
        background: var(--main-col-orange);
        color: #fff;
    }
    .header-menu-map a:hover::before{
        background: var(--icon-floormap_white);
    }
}
@media screen and (min-width:769px){
    .header-inner._fix .header-menu-map{
        flex: 0 0 auto;
        position: static;
        margin-left: 18px;
    }
    .header-inner._fix .header-menu-map a{
        width: 154px;
        height: 42px;
    }
    .header-inner._fix .header-menu-map a::before{
        width: 20px;
        height: 20px;
        margin-top: 1px;
    }
}
@media screen and (max-width:768px){
    .header-menu-map{
        position: static;
        margin-top: 20px;
    }
    .header-menu-map a{
        position: relative;
        width: 100%;
        padding-bottom: 0;
    }
    .header-menu-map a::before{
        position: absolute;
        top: calc(50% - 10px);
        left: 15px;
        width: 20px;
        height: 20px;
        margin-top: 0;
    }
}

/* header-search */
.header-search{
    position: absolute;
    top: 17px;
    right: 40px;
    z-index: 1;
}
.header-search-menu{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 50px;
    height: 50px;
    position: relative;
    z-index: 1;
    overflow: hidden;
    border: solid 2px var(--acc-col-black);
    border-radius: 50%;
    color: rgba(255,255,255,0);
    font-size: 0;
    cursor: pointer;
    transition: background var(--ease);
}
.header-search-menu::after{
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    background: var(--icon-search);
    content: "";
}
@media (any-hover: hover){
    .header-search:hover .header-search-menu{
        border-color: var(--main-col-orange);
        background: var(--main-col-orange);
    }
    .header-search:hover .header-search-menu::after{
        background: var(--icon-search_white);
    }
}
.header-search-menu._active{
    border-color: var(--main-col-orange);
    background: var(--main-col-orange);
}
.header-search-menu._active::after{
    background: var(--icon-search_white);
}
@media screen and (min-width:769px){
    .header-inner._fix .header-search{
        flex: 0 0 auto;
        position: relative;
        top: auto;
        right: auto;
        margin-left: 8px;
    }
    .header-inner._fix .header-search-menu{
        width: 42px;
        height: 42px;
    }
    .header-inner._fix .header-search-menu::after{
        width: 16px;
        height: 16px;
    }
}
@media screen and (max-width:768px){
    .header-search{
        top: calc(50% - 17px);
        right: auto;
        left: calc(var(--inner-sides_sp) - 7px);
    }
    .header-search-menu{
        width: 34px;
        height: 34px;
        border: none;
    }
    .header-search-menu::after{
        width: 16px;
        height: 16px;
    }
}
.header-search-window{
    transition: opacity var(--ease);
}
@media screen and (min-width:769px){
    .header-search-window{
        position: absolute;
        right: -20px;
        bottom: 0;
        transform: translateY(calc(100% + 10px));
        padding: 20px;
        border-radius: 10px;
        box-shadow: 0 3px 8px rgba(0,0,0,.2);
        background: #fff0db;
        transition: opacity var(--ease);
    }
    @media (any-hover: hover){
        .header-search:hover .header-search-window::after{
            clip-path: polygon(calc(100% - 45px) 0, calc(100% - 30px) 0, 100% 60px, 100% 100%, 0 100%);
            position: absolute;
            right: 0;
            bottom: 0;
            z-index: -1;
            width: 100%;
            height: calc(100% + 60px);
            content: "";
        }
    }
}
.header-search-window:not(._active){
    display: none;
}
.header-search-window:not(._show){
    opacity: 0;
    opacity: 1;
}
.header-search-window::before{
    clip-path: polygon(50% 0, 100% 100%, 0 100%);
    position: absolute;
    top: -10px;
    right: 40px;
    width: 10px;
    height: 10px;
    background: inherit;
    content: "";
}
@media screen and (min-width:769px){
    .header-inner._fix .header-search-window::before{
        right: 36px;
    }
}
.header-search-inner{
    position: relative;
}
.header-search-input{
    width: 400px;
    height: 42px;
    border: solid 1px var(--acc-col-gray);
    border-radius: 99px;
    background: #fff;
    padding: 0 40px 2px 20px;
    font-size: max(1.6rem, 16px);
}
.header-search-input::placeholder{
    color: var(-text-col-gray);
    font-size: 1.4rem;
    user-select: none;
}
.header-search-btn{
    position: absolute;
    top: 0;
    right: 0;
    width: 42px;
    height: 100%;
}
.header-search-btn-inner{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    color: rgba(255,255,255,0);
    font-size: 0;
}
.header-search-btn-inner::after{
    flex: 0 0 auto;
    width: 16px;
    height: 16px;
    background: var(--icon-search);
    content: "";
}
@media screen and (max-width:768px){
    .header-search-window{
        position: fixed;
        top: calc(var(--header-hit) + 1px);
        left: 0;
        width: 100%;
        padding: 20px var(--inner-sides_sp);
    }
    .header-search-window::before{
        content: none;
    }
    .header-search-window._out{
        box-shadow: 0 -1px 0 var(--acc-col-black);
        background: #fff0db;
    }
    .header-search-window._out::after{
        position: absolute;
        bottom: -10px;
        left: 0;
        width: 100%;
        height: 10px;
        background: linear-gradient(to bottom, rgba(0,0,0,.2), rgba(0,0,0,0));
        content: "";
        pointer-events: none;
    }
    .header-menu._show ~ .header-search .header-search-window{
        opacity: 1;
        display: block;
        z-index: 2;
        padding-bottom: 15px;
    }
    .header-menu._show ~ .header-search .header-search-window::after{
        position: absolute;
        bottom: 0;
        left: var(--inner-sides_sp);
        width: var(--inner-width_sp);
        height: 1px;
        background: var(--border-col-gray);
        content: "";
    }
    .header-search-input{
        width: 100%;
        height: 40px;
        padding: 0 35px 0px 15px;
    }
    .header-search-input::placeholder{
        font-size: 1.2rem;
    }
    .header-search-btn{
        width: 40px;
    }
    .header-search-btn-inner::after{
        width: 12px;
        height: 12px;
    }
}

/* header-lang */
.header-lang{
    position: absolute;
    top: 24px;
    left: 40px;
    width: 140px;
    overflow: hidden;
    border: solid 1px #999;
    border-radius: 18px;
    background: #fff;
    transition: box-shadow var(--ease);
}
@media screen and (min-width:769px){
    .header-inner._fix .header-lang{
        display: none;
    }
}
.header-lang._open{
    box-shadow: 0 3px 8px -4px rgba(0,0,0,.2);
}
.header-lang-head{
    display: flex;
    align-items: center;
    position: relative;
    height: 34px;
    padding: 0 0 3px 33px;
    background: url(../images/icon_lang.svg) no-repeat top 9px left 12px / auto 15px;
    cursor: pointer;
    font-size: 1.3rem;
    line-height: 1;
    user-select: none;
}
.header-lang-head::after{
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    position: absolute;
    top: 14px;
    right: 14px;
    width: 10px;
    height: 5px;
    background: var(--base-col-black);
    content: "";
    transition: transform var(--ease);
}
.header-lang._open .header-lang-head::after{
    transform: rotate(180deg);
}
.header-lang-body{
    height: 0;
    overflow: hidden;
    transition: height var(--ease);
}
a.header-lang-link{
    display: block;
    position: relative;
    padding: 8px 0 8px 33px;
    font-size: 1.3rem;
    line-height: 1;
    transition: color var(--ease);
}
@media (any-hover: hover){
    a.header-lang-link:hover{
        color: var(--main-col-orange);
    }
}
a.header-lang-link:last-child{
    padding-bottom: 15px;
}
a.header-lang-link::before{
    position: absolute;
    top: calc(.5em + 8px);
    left: 17px;
    width: 5px;
    height: 2px;
    background: var(--acc-col-gray);
    content: "";
}
@media screen and (max-width:768px){
    .header-lang{
        position: fixed;
        top: 7px;
        left: var(--inner-sides_sp);
        z-index: 2;
        width: 125px;
        border-radius: 18px;
        transition: opacity var(--ease);
    }
    .header-menu:not(._show) ~ .header-lang{
        z-index: -999;
        pointer-events: none;
        opacity: 0;
        transition: none;
    }
    .header-lang-head{
        height: 34px;
        background-position: top 9px left 11px;
    }
    .header-lang-head::after{
        top: 14px;
        right: 9px;
    }
}

/* header-menu-btn */
.header-menu-btn{
    display: none;
}
@media screen and (max-width:768px){
    .header-menu-btn{
        display: block;
        position: absolute;
        top: 0;
        right: calc(var(--inner-sides_sp) - 15px);
        z-index: 2;
        width: 50px;
        height: 100%;
        background: linear-gradient(to top, var(--acc-col-black) 0 2px, rgba(255,255,255,0) 2px 12px, var(--acc-col-black) 12px 14px) no-repeat top 50% left 15px / 20px 14px;
        cursor: pointer;
        user-select: none;
    }
    .header-menu-btn._open{
        background: none;
    }
    .header-menu-btn::before,
    .header-menu-btn::after{
        position: absolute;
        top: calc(50% - 1px);
        left: 15px;
        width: 20px;
        height: 2px;
        background: var(--acc-col-black);
        content: "";
        transition: transform var(--ease);
    }
    .header-menu-btn._open::before{
        transform: rotate(-45deg);
    }
    .header-menu-btn._open::after{
        transform: rotate(45deg);
    }
}

/*-------------
footer
-------------*/
.footer{
    position: relative;
    z-index: 1;
    margin-top: 100px;
    border-top: solid 1px var(--base-col-black);
}
.footer__pagetop{
    position: absolute;
    top: -80px;
    right: 0;
    z-index: 98;
    width: 80px;
    height: 80px;
}
.footer__pagetop .pagetop{
    display: block;
    position: absolute;
    right: 20px;
    bottom: 20px;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: url(../images/arrow_pagetop.svg) no-repeat center / 12px auto,
    var(--base-col-black);
    user-select: none;
    transition: opacity var(--ease), transform var(--ease);
}
@media (any-hover: hover){
    .footer__pagetop .pagetop:hover{
        transform: translateY(-5px);
    }
}
.footer__pagetop .pagetop.is--fixed{
    position: fixed;
    z-index: 99;
}
.footer__pagetop .pagetop:not(.is--show){
    opacity: 0;
    pointer-events: none;
}
@media screen and (max-width:768px){
    .footer{
        margin-top: 80px;
    }
    .footer__pagetop{
        top: auto;
        bottom: 0;
        width: calc(46px + 3.125vw);
        height: calc(61px + env(safe-area-inset-bottom));
    }
    .footer__pagetop .pagetop{
        right: 3.125vw;
        bottom: calc(15px + env(safe-area-inset-bottom));
        width: 46px;
        height: 46px;
    }
}

/* footer-inner */
.footer-inner{
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-rows: auto 1fr;
    position: relative;
    z-index: 0;
    width: var(--inner-width);
    margin: 0 auto;
    padding: 20px 300px 24px 0;
}
.footer-inner::after{
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: -1;
    width: 289px;
    height: 221px;
    background: url(../images/footer-bg.webp) no-repeat right bottom / contain;
    content: "";
}
@media screen and (max-width:768px){
    .footer-inner{
        display: block;
        width: 100%;
        padding: 23px var(--inner-sides_sp) calc(20px + env(safe-area-inset-bottom));
    }
    .footer-inner::after{
        width: 170px;
        height: 130px;
    }
}

/* footer-nav */
.footer-nav{
    grid-column: 2 / 3;
    grid-row: 1 / 2;
    margin: 26px -1px 13px 0;
    overflow: hidden;
    font-size: 0;
}
.footer-nav-item{
    display: inline-block;
    margin-left: -1px;
}
.footer-nav-item a{
    display: block;
    position: relative;
    padding: 3px 21px 4px 20px;
    color: #000;
    font-size: 1.4rem;
    line-height: calc(1em + 7px);
}
@media (any-hover: hover){
    .footer-nav-item a:hover{
        text-decoration: underline;
    }
}
.footer-nav-item a::before{
    position: absolute;
    top: 7px;
    left: -1px;
    width: 1px;
    height: calc(100% - 14px);
    background: var(--acc-col-gray);
    content: "";
}
@media screen and (max-width:768px){
    .footer-nav{
        display: flex;
        flex-wrap: wrap;
        gap: 1px 10px;
        margin: 0 0 23px;
    }
    .footer-nav-item{
        flex: 0 0 auto;
        width: calc(50% - 5px);
        margin-left: 0;
    }
    .footer-nav-item a{
        padding: 3px 0 4px 18px;
    }
    .footer-nav-item a::before{
        top: 0;
        left: 0;
        width: 10px;
        height: 100%;
        background: var(--arrow_10_gray);
    }
}

/* footer-info */
.footer-info{
    grid-column: 1 / 2;
    grid-row: 1 / 3;
}
.footer-logo{
    min-width: 225px;
}
.footer-address{
    margin-top: 6px;
    font-size: 1.4rem;
    line-height: calc(1em + 7px);
}
a.footer-address-map{
    display: inline-block;
    position: relative;
    min-width: 28px;
    margin: 0 0 3px 5px;
    padding: 2px;
    border-radius: 2px;
    background: var(--main-col-orange);
    color: #fff;
    font-family: var(--font-en);
    font-size: 1rem;
    line-height: 1;
    text-align: center;
}
a.footer-address-map::before{
    position: absolute;
    top: -5px;
    left: -5px;
    width: calc(100% + 10px);
    height: calc(100% + 10px);
    content: "";
}
@media screen and (max-width:768px){
    .footer-info{
        margin-bottom: 23px;
    }
    .footer-logo{
        width: 120px;
        min-width: 0;
    }
    .footer-address{
        margin-top: 7px;
        font-size: 1.3rem;
        line-height: calc(1em + 5px);
    }
    a.footer-address-map{
        margin-bottom: 2px;
    }
}

/* footer-copy */
.footer-copy{
    grid-column: 2 / 3;
    grid-row: 2 / 3;
    padding-right: 20px;
    color: var(--text-col-gray);
    font-size: 1.2rem;
    line-height: 1;
    text-align: right;
}

/*-------------
top
-------------*/
body.toppage .footer{
    margin-top: 0;
}
.top-hero-area{
    position: relative;
    z-index: 1;
    padding-top: 10px;
}
.top-hero-area:not(:has(.keen-slider-dots)){
    padding-bottom: 20px;
}
.top-hero-slider:not(.keen-slider),
.top-hero-area .keen-slider-track{
    width: var(--inner-width);
    margin: 0 auto;
    overflow: hidden;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 3px 8px rgba(0,0,0,.12);
}
.top-hero-slider.keen-slider{
    width: var(--inner-width)!important;
}
.top-hero-slider:not(.keen-slider) .top-hero-slide:nth-child(n+2){
    display: none;
}
.top-hero-slide-inner{
    display: flex;
    flex-direction: column;
    height: 100%;
}
.top-hero-slide__bnr{
    flex: 0 0 auto;
    position: relative;
    width: 100%;
    height: 600px;
    background: var(--bg-col-gray);
}
.top-hero-slide__bnr img{
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.top-hero-slide__end{
    position: absolute;
    top: 20px;
    left: 20px;
    min-width: 150px;
    padding: 4px 20px 5px;
    border-radius: 99px;
    background: rgba(51,51,51,.8);
    color: #fff;
    line-height: calc(1em + 3px);
    text-align: center;
    text-shadow: 0 0 5px rgba(0,0,0,.8);
}
@media screen and (max-width:768px){
    .top-hero-slide__end{
        top: min(20px, calc(var(--inner-sides_sp) - 5px));
        left: calc(var(--inner-sides_sp) - 5px);
        min-width: 120px;
        padding: 3px 14px 4px;
    }
}
.top-hero-slide__body{
    display: flex;
    align-items: center;
    flex: 1 1 auto;
    gap: 0 15px;
    padding: 18px 20px;
}
@media screen and (max-width:768px){
    .top-hero-area{
        padding: 0 0 12px;
    }
    .top-hero-area:not(:has(.keen-slider-dots)){
        padding-bottom: 33px;
    }
    .top-hero-slider:not(.keen-slider),
    .top-hero-area .keen-slider-track{
        width: 100%;
        border-radius: 0;
        box-shadow: none;
    }
    .top-hero-slider.keen-slider{
        width: 100%!important;
    }
    .top-hero-slide__bnr{
        height: 50dvw;
    }
    .top-hero-slide__body{
        flex-direction: column;
        align-items: flex-start;
        padding: 15px var(--inner-sides_sp) 13px;
    }
}
.top-hero-slide-sche{
    display: flex;
    flex: 0 0 auto;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 5px;
}
@media screen and (max-width:768px){
    .top-hero-slide-sche{
        margin-bottom: 10px;
    }
}
.top-hero-slide-sche-item{
    display: flex;
    align-items: center;
    gap: 0 3px;
    position: relative;
}
.top-hero-slide-sche-item:has(+ .top-hero-slide-sche-item){
    padding-right: 25px;
}
.top-hero-slide-sche-item:has(+ .top-hero-slide-sche-item)::after{
    position: absolute;
    top: calc(50% - 1px);
    right: 0;
    width: 20px;
    height: 1px;
    background: var(--base-col-black);
    content: "";
}
.top-hero-slide-sche__date{
    font-family: var(--font-en);
    font-size: 1.4rem;
    font-weight: bold;
    line-height: 1;
    letter-spacing: -.02em;
}
@media screen and (max-width:768px){
    .top-hero-slide-sche__date{
        font-size: 1.2rem;
    }
}
.top-hero-slide-sche__week{
    display: flex;
    justify-content: center;
    align-items: center;
    flex: 0 0 auto;
    aspect-ratio: 1 / 1;
    padding: 3px;
    border-radius: 50%;
    background: var(--base-col-black);
    color: #fff;
    font-size: 1rem;
    font-weight: bold;
    line-height: 1;
    letter-spacing: 0;
}
.top-hero-slide-sche__week._Sat{
    background: var(--main-col-blue);
}
.top-hero-slide-sche__week._Sun{
    background: var(--main-col-red);
}
.top-hero-slide-cate{
    flex: 0 0 auto;
    min-width: 60px;
    padding: 2px 11px 5px;
    border: solid 1px var(--border-col-gray);
    border-radius: 12px;
    font-size: 1.2rem;
    line-height: calc(1em + 3px);
    transition: border var(--ease), color var(--ease);
}
@media (any-hover: hover){
    a:hover .top-hero-slide-cate{
        border-color: currentColor;
        color: var(--main-col-orange);
    }
}
.top-hero-slide-title{
    flex: 1 1 auto;
    overflow: hidden;
    margin-bottom: 1px;
    color: var(--acc-col-black);
    font-size: 1.8rem;
    font-weight: bold;
    line-height: calc(1em + 5px);
    white-space: nowrap;
    text-overflow: ellipsis;
    transition: color var(--ease);
}
@media (any-hover: hover){
    a:hover .top-hero-slide-title{
        color: var(--main-col-orange);
    }
}
@media screen and (max-width:768px){
    .top-hero-slide-title{
        margin: 7px 0 0;
        font-size: 1.6rem;
        white-space: wrap;
    }
}
.top-hero-area .keen-slider-arrow{
    display: none;
}
.top-hero-area .keen-slider-dots{
    transform: translateY(10px);
    width: var(--inner-width);
    margin: 0 auto;
    padding: 10px 0 0;
}
.top-hero-area .keen-slider-dot{
    background: var(--acc-col-gray);
}
.top-hero-area .keen-slider-dot--active{
    background: var(--main-col-orange);
}
@media screen and (max-width:768px){
    .top-hero-area .keen-slider-dots{
        gap: 8px;
        transform: none;
        padding-top: 13px;
    }
    .top-hero-area .keen-slider-dot{
        width: 8px;
        height: 8px;
    }
}

/* top-sect-title */
.top-sect-title{
    display: flex;
    align-items: center;
    gap: 0 20px;
    min-height: 50px;
    width: var(--inner-width);
    margin: 0 auto 40px;
    color: var(--acc-col-black);
    font-size: 42px;
    font-weight: bold;
    line-height: calc(1em + 5px);
}
.top-sect-title::before{
    flex: 0 0 auto;
    order: 1;
    margin-top: 1px;
    padding-left: 24px;
    background: no-repeat center left / 20px auto;
    font-family: var(--font-en);
    font-size: 2rem;
    font-weight: bold;
    line-height: max(1em, 20px);
    content: attr(data-en);
}
.top-sect-title[data-en="Events"]::before{
    background-image: var(--icon-event-url);
}
.top-sect-title[data-en="Information"]::before{
    background-image: var(--icon-info-url);
}
.top-sect-title[data-en="Shop"]::before{
    background-image: var(--icon-shop-url);
}
.top-sect-title[data-en="Feature"]::before{
    background-image: var(--icon-feature-url);
}
.top-sect-title::after{
    flex: 0 0 auto;
    width: 1px;
    height: 1em;
    margin-top: 3px;
    background: var(--acc-col-gray);
    content: "";
}
@media screen and (max-width:768px){
    .top-sect-title{
        gap: 0 10px;
        min-height: 0;
        margin-bottom: 23px;
        font-size: 2.2rem;
    }
    .top-sect-title::before{
        font-size: 1.4rem;
    }
}

/* top-sect-btn */
.container:has(> .top-sect-btn){
    position: relative;
}
.top-sect-btn{
    position: absolute;
    top: 0;
    right: var(--container-sides);
    min-width: 240px;
}
@media screen and (max-width:768px){
    .top-sect-btn{
        position: static;
        width: var(--inner-width_sp);
        min-width: 0;
        margin: 30px auto 0;
    }
}

/* top-event */
.top-event{
    position: relative;
    z-index: 0;
    margin-bottom: 80px;
    padding: 115px 0 68px;
    background: var(--bg-col-gray);
}
@media screen and (min-width:769px){
    .top-event:not(:has(.keen-slider-dots)){
        padding-bottom: 116px;
    }
}
.top-event::before,
.top-event::after{
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    transform: translateY(calc(60px - 100%));
    width: 100%;
    min-height: 60px;
    aspect-ratio: 24 / 1;
    background: inherit;
    content: "";
    pointer-events: none;
}
.top-event::after{
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="1920" height="80" data-name="svg"><path d="M0 0c312.2 52.381 632.914 80 960 80s647.8-27.619 960-80H0Z" style="fill:%23fff"/></svg>') no-repeat bottom center / cover;
}
.top-event-inner{
    position: relative;
}
.top-event-inner .notMsg{
    margin: 0;
    padding: min(30px, 2em) 0;
}
.top-event .top-sect-btn{
    top: 115px;
}
@media screen and (max-width:768px){
    .top-event{
        margin-bottom: 47px;
        padding: 57px 0 60px;
    }
    .top-event::before,
    .top-event::after{
        transform: translateY(calc(26px - 100%));
        min-height: 26px;
        aspect-ratio: 160 / 13;
    }
    .top-event::after{
        background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="320" height="26" data-name="svg"><path d="M0 0c50.235 16.86 104.044 26 160 26s109.765-9.14 160-26H0Z" style="fill:%23fff"/></svg>') no-repeat bottom center / cover;
    }
    .top-event-inner{
        margin-bottom: 30px;
    }
    .top-event-inner:not(:has(.keen-slider-dots)):not(:has(.notMsg)){
        margin-bottom: 85px;
    }
}

/* top-event-lists */
.top-event-lists:not(.keen-slider){
    display: flex;
    gap: 0 24px;
    width: var(--inner-width);
    margin: 0 auto;
    overflow: hidden;
}
.top-event-lists.keen-slider{
    width: 2040px!important;
}
.top-event-lists.keen-slider:not(._ready){
    opacity: 0;
}
.top-event-list-item:not(.keen-slider__slide){
    flex: 0 0 auto;
    width: min(100%, 384px);
}
.top-event-list-item.keen-slider__slide{
    padding: 0 12px;
}
@media screen and (max-width:768px){
    .top-event-lists.keen-slider{
        width: 243.75vw!important;
    }
    .top-event-list-item.keen-slider__slide{
        padding: 0 5px;
    }
}
.top-event-list-item a{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}
.top-event-list-sche{
    display: flex;
    align-items: flex-end;
    gap: 0 40px;
    margin-bottom: 14px;
}
.top-event-list-date{
    display: grid;
    align-items: center;
    gap: 1px 3px;
    position: relative;
    font-size: 2.4rem;
}
.top-event-list-date:not(:last-child)::after{
    position: absolute;
    right: -32px;
    bottom: calc(.5em - 1px);
    width: 24px;
    height: 1px;
    background: var(--base-col-black);
    content: "";
}
.top-event-list-date__year{
    grid-column: 1 / 3;
    font-family: var(--font-en);
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 1;
    letter-spacing: -.02em;
}
.top-event-list-date__day{
    font-family: var(--font-en);
    font-weight: 600;
    line-height: 1;
}
.top-event-list-date__week{
    display: flex;
    justify-content: center;
    align-items: center;
    flex: 0 0 auto;
    height: calc(1em + 8px);
    aspect-ratio: 1 / 1;
    padding: 0 0 2px .5px;
    border-radius: 50%;
    background: var(--base-col-black);
    color: #fff;
    font-size: 1.2rem;
    font-weight: bold;
    line-height: 1;
    letter-spacing: 0;
    text-align: center;
}
.top-event-list-date__week._Sat{
    background: var(--main-col-blue);
}
.top-event-list-date__week._Sun{
    background: var(--main-col-red);
}
@media screen and (max-width:768px){
    .top-event-list-sche{
        gap: 0 34px;
        margin-bottom: 12px;
    }
    .top-event-list-date{
        font-size: 1.8rem;
    }
    .top-event-list-date:not(:last-child)::after{
        right: -29px;
    }
    .top-event-list-date__year{
        font-size: 1rem;
    }
    .top-event-list-date__week{
        padding: 0;
        font-size: 1rem;
    }
}
.top-event-list-pic{
    position: relative;
    width: 100%;
    margin-bottom: 15px;
    overflow: hidden;
    border-radius: 8px;
    background: #fff;
}
.top-event-list-pic img{
    width: 100%;
    height: 100%;
    aspect-ratio: 3 / 2;
    object-fit: contain;
    object-position: top center;
}
.top-event-list-cate{
    min-width: 90px;
    margin: 5px 0 7px;
    padding: 5px 13px 6px;
    border: solid 1px var(--border-col-gray);
    border-radius: 99px;
    background: #fff;
    font-size: 1.4rem;
    line-height: calc(1em + 3px);
    text-align: center;
    transition: border var(--ease), color var(--ease);
}
@media (any-hover: hover){
    a:hover .top-event-list-cate{
        border-color: currentColor;
        color: var(--main-col-orange);
    }
}
@media screen and (max-width:768px){
    .top-event-list-cate{
        min-width: 73px;
        margin: 0 0 5px;
        padding: 3px 11px 4px;
        font-size: 1.2rem;
    }
}
.top-event-list-title{
    font-size: 1.8rem;
    font-weight: bold;
    line-height: calc(1em + 9px);
    transition: color var(--ease);
}
@media (any-hover: hover){
    a:hover .top-event-list-title{
        color: var(--main-col-orange);
        text-decoration: underline;
    }
}
@media screen and (max-width:768px){
    .top-event-list-title{
        font-size: 1.6rem;
        line-height: calc(1em + 8px);
    }
}
.top-event-inner .keen-slider-dots{
    position: relative;
    z-index: 1;
    width: var(--inner-width);
    margin: 26px auto 0;
    padding: 20px 0 0;
    border-top: solid 1px var(--border-col-gray);
}
.top-event-inner .keen-slider-dot{
    background: var(--acc-col-gray);
}
.top-event-inner .keen-slider-dot--active{
    background: var(--main-col-orange);
}
@media screen and (max-width:768px){
    .top-event-inner .keen-slider-dots{
        gap: 8px;
        margin-top: 26px;
    }
    .top-event-inner .keen-slider-dot{
        width: 8px;
        height: 8px;
    }
}
.top-event-inner .keen-slider-arrow{
    position: absolute;
    top: 0;
    left: 0;
    transform: none;
    width: 120px;
    height: 100%;
    background: linear-gradient(to right, var(--bg-col-gray), rgba(250,250,250,0));
    cursor: auto;
    transition: opacity var(--ease);
}
@media screen and (max-width:1440px) and (min-width:769px){
    .top-event-inner:not(:has(.keen-slider-arrow:hover)) .keen-slider-arrow{
        opacity: 0;
    }
}
@media screen and (max-width:768px){
    .top-event-inner .keen-slider-arrow{
        width: 10.9375vw;
        pointer-events: none;
    }
}
.top-event-inner .keen-slider-arrow--right{
    transform: rotateY(180deg);
    right: 0;
    left: auto;
}
@media screen and (min-width:769px){
    .top-event-inner .keen-slider-arrow::after{
        position: absolute;
        top: 151px;
        left: 20px;
        width: 56px;
        height: 56px;
        border-radius: 50%;
        background: var(--base-col-black) url(../images/arrow_slider.svg) no-repeat center / auto;
        content: "";
        cursor: pointer;
    }
}

/* top-info */
.top-info{
    margin-bottom: 96px;
}
.top-info-list{
    width: var(--inner-width);
    margin: 0 auto;
}
@media screen and (max-width:768px){
    .top-info{
        margin-bottom: 47px;
    }
}

/* top-shop */
.top-shop{
    margin-bottom: 80px;
}
.top-shop:has(.top-shop-list:not(.keen-slider)){
    overflow: hidden;
}
.top-shop .keen-slider-track{
    margin-top: -19px;
}
.top-shop-list:not(.keen-slider){
    display: flex;
    gap: 0 10px;
    width: var(--inner-width);
    margin: 0 auto;
}
.top-shop-list.keen-slider{
    width: 2480px!important;
}
.top-shop-list.keen-slider:not(._ready){
    opacity: 0;
}
@media screen and (max-width:768px){
    .top-shop{
        margin-bottom: 50px;
    }
    .top-shop .keen-slider-track{
        margin-top: -12px;
    }
    .top-shop-list:not(.keen-slider){
        gap: 0 5px;
    }
    .top-shop-list.keen-slider{
        width: calc((43.75vw + 5px) * 4)!important;
    }
}
.top-shop-list-item:not(.keen-slider__slide){
    flex: 0 0 auto;
    width: 300px;
}
.top-shop-list-item.keen-slider__slide{
    padding: 19px 5px 0;
    will-change: transform;
}
@media screen and (max-width:768px){
    .top-shop-list-item:not(.keen-slider__slide){
        width: 43.75vw;
    }
    .top-shop-list-item.keen-slider__slide{
        padding: 12px 5px 0 0;
    }
}
.top-shop-list-item a{
    display: block;
    position: relative;
}
.top-shop-list-item a::before{
    --main-col-orange: rgba(255,255,255,1);
    position: absolute;
    top: -19px;
    left: 15px;
    z-index: 1;
    width: 38px;
    height: 38px;
    border: solid 4px #fff;
    border-radius: 50%;
    background: var(--acc-col-black) no-repeat center / 20px auto;
    content: "";
}
.top-shop-list-item._eat a::before{
    background-image: var(--shop-eat_white-url);
}
.top-shop-list-item._buy a::before{
    background-image: var(--shop-buy_white-url);
}
.top-shop-list-item._service a::before{
    background-image: var(--shop-service_white-url);
}
.top-shop-list-item._facility a::before{
    background-image: var(--shop-facility_white-url);
}
@media screen and (max-width:768px){
    .top-shop-list-item a::before{
        top: -12px;
        left: 6px;
        width: 24px;
        height: 24px;
        border-width: 2px;
        background-size: 12px auto;
    }
}
.top-shop-list-pic{
    width: 100%;
    overflow: hidden;
    border-radius: 12px;
    background: var(--bg-col-gray);
    transition: background var(--ease);
}
.top-shop-list-pic img{
    width: 100%;
    aspect-ratio: 3 / 2;
    object-fit: cover;
    transition: opacity var(--ease);
}
@media (any-hover: hover){
    a:hover .top-shop-list-pic{
        background: var(--acc-col-gray);
    }
    a:hover .top-shop-list-pic img{
        opacity: .7;
    }
}
@media screen and (max-width:768px){
    .top-shop-list-pic{
        border-radius: 4px;
    }
}
.top-shop-list-name{
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 19px 15px 13px;
    overflow: hidden;
    border-radius: 0 0 12px 12px;
    background: linear-gradient(to top, rgba(0,0,0,.6), rgba(0,0,0,0));
    color: #fff;
    font-size: 1.4rem;
    font-weight: bold;
    line-height: calc(1em + 2px);
    white-space: nowrap;
    text-overflow: ellipsis;
}
@media screen and (max-width:768px){
    .top-shop-list-name{
        display: flex;
        align-items: center;
        min-height: 30px;
        padding: 3px 8px;
        border-radius: 0 0 4px 4px;
        font-size: 1rem;
        white-space: wrap;
        text-overflow: unset;
    }
}
.top-shop-links{
    display: flex;
    justify-content: center;
    gap: 0 20px;
    width: var(--inner-width);
    margin: 33px auto 0;
    padding: 20px;
    border-radius: 8px;
    background: var(--bg-col-gray);
}
.top-shop-links-btn{
    flex: 0 0 auto;
    min-width: 360px;
}
@media screen and (min-width:769px){
    .top-shop-links-btn a{
        height: 60px;
        padding: 0 30px 2px 56px;
        font-size: 1.6rem;
    }
    .top-shop-links-btn a::before{
        top: calc(50% - 18px);
        left: 10px;
        width: 36px;
        height: 36px;
    }
}
@media screen and (max-width:768px){
    .top-shop-links{
        flex-direction: column;
        gap: 10px 0;
        width: var(--inner-width);
        margin-top: 15px;
        padding: 15px 20px;
        border-radius: 4px;
    }
    .top-shop-links-btn{
        min-width: 0;
    }
}

/* top-feat */
.top-feat{
    padding: 75px 0 100px;
    background: var(--bg-col-gray);
}
.top-feat .top-sect-btn{
    top: 75px;
}
.top-feat-list{
    width: var(--inner-width);
    margin: 0 auto;
}
@media screen and (max-width:768px){
    .top-feat{
        padding: 47px 0 80px;
    }
}

/*-------------
info-list ※トップ・お知らせ一覧・ショップガイド詳細
-------------*/
.info-list{
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0 20px;
}
.info-list:not(._loading){
    transition: opacity var(--linear);
}
.info-list._loading{
    opacity: 0;
}
.info-list-item,
.info-list-item-inner,
.info-list-item a{
    display: grid;
    grid-template-columns: subgrid;
    grid-column: span 2;
    align-items: center;
}
.info-list-item{
    padding: 7px 0;
    border-top: solid 1px var(--border-col-gray);
}
.info-list-item:last-child{
    border-bottom: solid 1px var(--border-col-gray);
}
.info-list-item a{
    min-height: 60px;
    padding: 10px 20px;
    border-radius: 4px;
    transition: background var(--ease);
}
@media (any-hover: hover){
    .info-list-item a:hover{
        background: #fff6eb;
    }
}
@media screen and (max-width:768px){
    .info-list{
        display: block;
    }
    .info-list-item,
    .info-list-item-inner,
    .info-list-item a{
        display: block;
    }
    .info-list-item a{
        min-height: 0;
        padding: 13px 0;
    }
}
.info-list-head{
    display: flex;
    align-items: center;
    gap: 0 10px;
}
.info-list-date{
    flex: 0 0 auto;
    min-width: 80px;
    font-family: var(--font-en);
    font-size: 1.4rem;
    line-height: 1;
    letter-spacing: -.02em;
}
.info-list-cate{
    flex: 1 1 auto;
    min-width: 120px;
    padding: 4px 10px 5px;
    border-radius: 99px;
    background: #f2f2f2;
    color: var(--acc-col-black);
    font-size: 1.2rem;
    line-height: calc(1em + 3px);
    text-align: center;
    transition: background var(--ease), color var(--ease);
}
@media (any-hover: hover){
    a:hover .info-list-cate{
        background: #fff;
        color: var(--main-col-orange);
    }
}
@media screen and (max-width:768px){
    .info-list-head{
        gap: 0 6px;
        margin-bottom: 8px;
    }
    .info-list-date{
        min-width: 70px;
        font-size: 1.3rem;
    }
    .info-list-cate{
        flex: 0 0 auto;
    }
}
.info-list-title{
    padding-bottom: 1px;
    line-height: calc(1em + 7px);
    transition: color var(--ease);
}
@media (any-hover: hover){
    a:hover .info-list-title{
        color: var(--main-col-orange);
        text-decoration: underline;
    }
}

/*-------------
feat-pickup ※トップ・ショップガイド詳細
-------------*/
.feat-pickup-list{
    display: flex;
    flex-wrap: wrap;
    gap: 0 8px;
}
@media screen and (max-width:768px){
    .feat-pickup-list{
        flex-direction: column;
        gap: 8px 0;
    }
}
.feat-pickup-list-item{
    flex: 0 0 auto;
    width: 294px;
}
.feat-pickup-list-item-inner{
    height: 100%;
}
.feat-pickup-list-item a{
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 15px;
    border-radius: 8px;
    box-shadow: 0 1px 4px rgba(0,0,0,.1);
    background: #fff;
}
@media screen and (max-width:768px){
    .feat-pickup-list-item{
        width: 100%;
    }
    .feat-pickup-list-item a{
        display: grid;
        grid-template-columns: auto 1fr;
        align-items: flex-start;
        gap: 0 10px;
        padding: 12px 10px 15px;
        border-radius: 4px;
    }
}
.feat-pickup-list-pic{
    width: 100%;
    margin-bottom: 11px;
    overflow: hidden;
    background: var(--bg-col-gray);
}
.feat-pickup-list-pic img{
    width: 100%;
    aspect-ratio: 12 / 7;
    object-fit: cover;
}
@media screen and (max-width:768px){
    .feat-pickup-list-pic{
        grid-column: 1 / 2;
        grid-row: 1 / 3;
        width: min(360px, 27.5vw);
        margin: 3px 0 0;
    }
}
.feat-pickup-list-title{
    display: block;
    display: -webkit-box;
    margin-bottom: 22px;
    overflow: hidden;
    font-size: 1.5rem;
    line-height: calc(1em + 7px);
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    transition: color var(--ease);
}
@media (any-hover: hover){
    a:hover .feat-pickup-list-title{
        color: var(--main-col-orange);
        text-decoration: underline;
    }
}
@media screen and (max-width:768px){
    .feat-pickup-list-title{
        margin-bottom: 9px;
        font-size: 1.3rem;
        line-height: calc(1em + 6px);
    }
}
.feat-pickup-list-more{
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 120px;
    height: 24px;
    margin-top: auto;
    padding: 0 11px 0 20px;
    border: solid 1px var(--border-col-gray);
    border-radius: 99px;
    font-family: var(--font-en);
    font-size: min(16px, 1.2rem);
    line-height: 1;
    transition: border var(--ease), background var(--ease), color var(--ease);
}
.feat-pickup-list-more::before{
    position: absolute;
    top: calc(50% - 5px);
    left: 6px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--main-col-orange);
    content: "";
    transition: background var(--ease);
}
@media (any-hover: hover){
    a:hover .feat-pickup-list-more{
        border-color: var(--main-col-orange);
        background: var(--main-col-orange);
        color: #fff;
    }
    a:hover .feat-pickup-list-more::before{
        background: #fff;
    }
}
@media screen and (max-width:768px){
    .feat-pickup-list-more{
        width: 100px;
        height: 22px;
        font-size: min(14px, 1rem);
    }
    .feat-pickup-list-more::before{
        top: calc(50% - 4px);
        width: 8px;
        height: 8px;
    }
}

/*-------------
breadcrumbs
-------------*/
.breadcrumbs-nav{
    padding: 11px 0;
    background: #f2f2f2;
}
@media screen and (max-width:768px){
    .breadcrumbs-nav{
        padding: 2px 0;
    }
}
.breadcrumbs{
    display: flex;
    align-items: center;
    width: var(--inner-width);
    margin: 0 auto;
}
.breadcrumbs-item{
    flex: 0 0 auto;
    position: relative;
    min-width: 0;
    color: var(--acc-col-black);
}
.breadcrumbs-item:not(:last-child){
    margin-right: 19px;
}
.breadcrumbs-item:not(:last-child)::after{
    position: absolute;
    top: calc(50% - 4px);
    right: -12px;
    width: 4px;
    height: 6px;
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="4" height="6" data-name="svg"><path d="M.501 6a.5.5 0 0 1-.321-.885L2.719 3 .18.884A.5.5 0 1 1 .82.116l3 2.5a.5.5 0 0 1 0 .768l-3 2.5A.499.499 0 0 1 .5 6Z" style="fill:%23999"/></svg>') no-repeat center / contain;
    content: "";
}
.breadcrumbs-item:last-child{
    flex: 1 1 auto;
}
.breadcrumbs-item a{
    display: block;
    color: var(--text-col-gray);
}
@media (any-hover: hover){
    .breadcrumbs-item a:hover{
        text-decoration: underline 1px;
    }
}
.breadcrumbs-item__name{
    display: block;
    padding: 8px 0 9px;
    overflow: hidden;
    font-size: 1.3rem;
    line-height: calc(1em + 3px);
    letter-spacing: .02em;
    white-space: nowrap;
    text-overflow: ellipsis;
}
@media screen and (max-width:768px){
    .breadcrumbs-item__name{
        font-size: 1.2rem;
    }
}

/*-------------
page
-------------*/
.page-header{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    min-height: 161px;
    margin-bottom: 80px;
    padding: 24px 0 26px;
    background: var(--bg-col-gray);
    border-bottom: solid 1px var(--acc-col-gray);
}
@media screen and (max-width:768px){
    .page-header{
        min-height: 111px;
        margin-bottom: 40px;
        padding: 8px 0 11px;
    }
}
.page-header-title{
    display: flex;
    align-items: center;
    gap: 0 24px;
    width: var(--inner-width);
    margin: 0 auto;
    color: var(--acc-col-black);
    font-size: 50px;
    font-weight: bold;
    line-height: calc(1em + 5px);
}
.page-header-title-inner{
    padding-bottom: 3px;
}
.page-header-title::before{
    flex: 0 0 auto;
    order: 1;
    width: 1px;
    height: 1em;
    background: var(--acc-col-gray);
    content: "";
}
.page-header-title::after{
    flex: 0 0 auto;
    order: 1;
    padding-left: 30px;
    background: var(--icon-circle-url) no-repeat center left / 24px auto;
    font-family: var(--font-en);
    font-size: 2.4rem;
    font-weight: bold;
    line-height: 1;
    content: attr(data-en);
}
@media screen and (max-width:768px){
    .page-header-title{
        flex-direction: column;
        align-items: flex-start;
        gap: 10px 0;
        font-size: min(30px, 2.8rem);
    }
    .page-header-title-inner{
        padding-bottom: 0;
    }
    .page-header-title::before{
        content: none;
    }
    .page-header-title::after{
        padding-left: 18px;
        background-size: 14px;
        font-size: 1.4rem;
    }
}
.page-header-title[data-en="Events"]::after{
    background-image: var(--icon-event-url);
}
.page-header-title[data-en="Information"]::after{
    background-image: var(--icon-info-url);
}
.page-header-title[data-en="Shop Guide"]::after{
    background-image: var(--icon-shop-url);
}
.page-header-title[data-en="Feature"]::after{
    background-image: var(--icon-feature-url);
}
.page-header-title__text{
    flex: 0 0 auto;
}
.page-body.editor-styles{
    width: var(--inner-width);
    margin: 0 auto;
}

/* page-sect-title */
.page-sect-title{
    position: relative;
    margin-bottom: 38px;
    padding-left: 48px;
    color: var(--acc-col-black);
    font-size: 32px;
    font-weight: bold;
    line-height: calc(1em + 5px);
}
.page-sect-title::before{
    position: absolute;
    top: calc(.5em - 12px);
    left: 0;
    width: 30px;
    height: 30px;
    border: solid 8px var(--main-col-orange);
    border-radius: 50%;
    content: "";
}
@media screen and (max-width:768px){
    .page-sect-title{
        margin-bottom: 18px;
        padding-left: 30px;
        font-size: 2rem;
    }
    .page-sect-title::before{
        top: calc(.5em - 7px);
        width: 20px;
        height: 20px;
        border-width: 5px;
    }
}

/*-------------
article
-------------*/
.article-dtl{
    width: min(860px, var(--inner-width));
    margin: 0 auto;
}
.article-head{
    position: relative;
    margin: 80px 0 40px;
    padding-bottom: 31px;
    border-bottom: solid 1px var(--acc-col-black);
}
.article-head::before,
.article-head::after{
    position: absolute;
    bottom: -5px;
    left: 0;
    width: 9px;
    height: 9px;
    border: solid 2px var(--main-col-orange);
    border-radius: 50%;
    box-shadow: 0 0 0 3px #fff;
    background: #fff;
    content: "";
}
.article-head::after{
    right: 0;
    left: auto;
}
.article-head-title{
    color: var(--acc-col-black);
    font-size: 32px;
    font-weight: bold;
    line-height: calc(1em + 8px);
    letter-spacing: .02em;
}
@media screen and (max-width:768px){
    .article-head{
        margin: 30px 0 40px;
        padding-bottom: 20px;
    }
    .article-head-title{
        font-size: 2.4rem;
    }
}
.article__back{
    display: flex;
    flex-direction: column;
    align-items: center;
    width: min(var(--inner-width), 100%);
    margin: 40px auto 0;
    padding: 25px;
    border-radius: 8px;
    background: var(--bg-col-gray);
}
.article__back-btn{
    min-width: 240px;
}
.article__back-btn a::before{
    transform: rotate(-180deg);
}
@media screen and (max-width:768px){
    .article__back{
        margin-top: 40px;
        padding: 15px 20px 20px;
        border-radius: 4px;
    }
    .article__back-btn{
        width: 100%;
        min-width: 0;
    }
}

/*-------------
info
-------------*/
.info-main{
    width: var(--inner-width);
    margin: 0 auto;
}
.info-pager{
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 56px;
    margin-top: 40px;
}
.info-pager-list{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0 10px;
}
.info-pager-list-item{
    flex: 0 0 auto;
    width: 56px;
}
@media screen and (max-width:768px){
    .info-pager{
        min-height: min(56px, 15vw);
    }
    .info-pager-list{
        gap: 0 min(10px, 2.1875vw);
    }
    .info-pager-list-item{
        width: min(56px, 15vw);
    }
}
.info-pager-list-item a{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 0;
    height: 56px;
    border: solid 1px #fff;
    border-radius: 50%;
    font-family: var(--font-en);
    font-size: 1.6rem;
    transition: border var(--ease), color var(--ease);
}
.info-pager-list-item a._current{
    background: var(--main-col-orange);
    color: #fff;
    pointer-events: none;
}
@media (any-hover: hover){
    .info-pager-list-item a:hover{
        border-color: var(--main-col-orange);
        color: var(--main-col-orange);
    }
}
@media screen and (max-width:768px){
    .info-pager-list-item a{
        height: min(56px, 15vw);
    }
}
.info-pager-list._last::before,
.info-pager-list._middle::before,
.info-pager-list._first::after,
.info-pager-list._middle::after{
    display: block;
    flex: 0 0 auto;
    width: 12px;
    height: 2px;
    background: url(../images/icon_dots.svg) no-repeat center / contain;
    content: "";
}
.info-pager-list._last .info-pager-list-item:first-child,
.info-pager-list._middle .info-pager-list-item:first-child{
    order: -1;
}
.info-pager-list._first .info-pager-list-item:last-child,
.info-pager-list._middle .info-pager-list-item:last-child{
    order: 1;
}

/*-------------
info-dtl
-------------*/
.info-dtl-info{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 11px;
    margin-bottom: 11px;
}
.info-dtl-info__date{
    flex: 0 0 auto;
    font-family: var(--font-en);
    font-size: 1.6rem;
    line-height: 1;
    letter-spacing: -.02em;
}
.info-dtl-info__cate{
    flex: 0 0 auto;
    min-width: 126px;
    padding: 3px 14px 4px;
    border: solid 1px var(--border-col-gray);
    border-radius: 99px;
    font-size: 1.4rem;
    line-height: calc(1em + 3px);
    text-align: center;
}
@media screen and (max-width:768px){
    .info-dtl-info{
        gap: 6px;
    }
    .info-dtl-info__date{
        font-size: 1.3rem;
    }
    .info-dtl-info__cate{
        min-width: 110px;
        padding: 4px 12px 5px;
        font-size: 1.2rem;
    }
}

/*-------------
event-pickup ※イベント一覧・ショップガイド詳細
-------------*/
.event-pickup{
    width: var(--inner-width);
    margin: 0 auto 60px;
}
.event-pickup-list{
    display: flex;
    flex-wrap: wrap;
    gap: 34px 28px;
}
.event-pickup-list-item{
    flex: 0 0 auto;
    width: 279px;
}
@media screen and (max-width:768px){
    .event-pickup{
        margin-bottom: 40px;
    }
    .event-pickup-list{
        gap: 24px 18px;
    }
    .event-pickup-list-item{
        width: calc(50% - 9px);
    }
}
.event-pickup-list-pic{
    position: relative;
    width: 100%;
    margin-bottom: 17px;
    overflow: hidden;
    border-radius: 4px;
    box-shadow: 0 2px 6px rgba(0,0,0,.1);
    background: var(--bg-col-gray);
}
@media screen and (max-width:768px){
    .event-pickup-list-pic{
        margin-bottom: 9px;
        box-shadow: none;
    }
}
.event-pickup-list-pic img{
    width: 100%;
    aspect-ratio: 3 / 2;
    object-fit: contain;
}
.event-pickup-list-date{
    margin-bottom: 3px;
    font-family: var(--font-en);
    font-size: 1.2rem;
    line-height: calc(1em + 5px);
    letter-spacing: -.02em;
}
@media screen and (max-width:768px){
    .event-pickup-list-date{
        margin-bottom: 4px;
        font-size: 1.1rem;
    }
}
.event-pickup-list-title{
    color: var(--acc-col-black);
    font-size: 1.6rem;
    font-weight: bold;
    line-height: calc(1em + 4px);
    transition: color var(--ease);
}
@media (any-hover: hover){
    a:hover .event-pickup-list-title{
        color: var(--main-col-orange);
        text-decoration: underline;
    }
}
@media screen and (max-width:768px){
    .event-pickup-list-title{
        font-size: 1.4rem;
    }
}
.event-pickup-list-cate{
    display: inline-block;
    min-width: 74px;
    margin-top: 11px;
    padding: 3px 11px 4px;
    border: solid 1px var(--border-col-gray);
    border-radius: 99px;
    font-size: 1.2rem;
    line-height: calc(1em + 3px);
    text-align: center;
    transition: border var(--ease), color var(--ease);
}
@media (any-hover: hover){
    a:hover .event-pickup-list-cate{
        border-color: currentColor;
        color: var(--main-col-orange);
    }
}
@media screen and (max-width:768px){
    .event-pickup-list-cate{
        margin-top: 10px;
    }
}

/*-------------
event
-------------*/
.event-index .footer{
    margin-top: 0;
}
.event-loading{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px 0;
    position: fixed;
    top: 50%;
    left: 50%;
    z-index: 99;
    transform: translate(-50%, -50%);
    transition: opacity var(--ease);
    pointer-events: none;
}
.event-loading:not(._show){
    opacity: 0;
}
.event-loading-text{
    padding-right: 10px;
    white-space: nowrap;
    animation-fill-mode: both;
    animation: event-loading 1.8s infinite ease-in-out;
}
@media screen and (max-width:768px){
    .event-loading-text{
        padding-right: 7px;
    }
}
@keyframes event-loading{
    0%,
    80%,
    100%{
        color: var(--text-col-gray);
    }
    50%{
        color: var(--base-col-black);
    }
}
.event-sect._inactive{
    display: none;
}
.event-sect:not(._ready){
    opacity: 0;
}

/* event-cal */
.event-cal{
    width: var(--inner-width);
    margin: 0 auto 74px;
}
@media screen and (max-width:768px){
    .event-cal{
        margin-bottom: 40px;
    }
}
.event-cal-head{
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px 15px 15px;
    border-radius: 8px 8px 0 0;
    background: var(--bg-col-gray);
}
@media screen and (max-width:768px){
    .event-cal-head{
        align-items: stretch;
        padding: 27px 0 13px;
    }
}
.event-cal-pager{
    display: flex;
    flex: 0 0 auto;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 180px;
    height: 38px;
    padding: 0 31px 2px 19px;
    border: solid 1px var(--border-col-gray);
    border-radius: 99px;
    background: #fff;
    font-size: 1.4rem;
    line-height: 1;
    text-align: center;
    cursor: pointer;
    user-select: none;
}
.event-cal-pager::after{
    position: absolute;
    top: calc(50% - 6px);
    right: 19px;
    width: 12px;
    height: 12px;
    background: var(--arrow_12_black);
    content: "";
}
@media screen and (min-width:769px){
    .event-cal-pager._prev{
        padding: 0 19px 2px 31px;
    }
    .event-cal-pager._prev::after{
        right: auto;
        left: 19px;
    }
}
.event-cal-pager._prev::after{
    transform: rotate(180deg);
}
@media screen and (max-width:768px){
    .event-cal-pager{
        width: 38px;
        padding: 0;
        overflow: hidden;
        border-radius: 50%;
        color: rgba(250,250,250,0);
        font-size: 0;
    }
    .event-cal-pager::after{
        right: calc(50% - 6px);
    }
}
.event-cal-current{
    display: flex;
    flex-direction: column;
    align-items: center;
    flex: 0 0 auto;
    margin: 0 auto;
    font-family: var(--font-en);
    font-weight: 500;
    line-height: 1;
    text-align: center;
}
.event-cal-year{
    margin-bottom: 2px;
    font-size: 1.8rem;
    letter-spacing: -.02em;
}
.event-cal-month{
    font-size: 48px;
}
@media screen and (max-width:768px){
    .event-cal-current{
        justify-content: center;
        position: relative;
        width: max(25vw, 80px);
        margin: 0;
    }
    .event-cal-year{
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        transform: translateY(-100%);
        font-size: max(1.4rem, 14px);
    }
    .event-cal-month{
        font-size: 34px;
    }
}

/* event-calendar */
.event-cal-container{
    overflow: hidden;
}
.event-calendar{
    display: grid;
    grid-template-columns: repeat(7, 1fr);
}
.event-cal-body,
.event-cal-row{
    display: grid;
    grid-template-columns: subgrid;
    grid-column: span 7;
}
.event-calendar ._sat,
.event-calendar ._Sat{
    color: var(--main-col-blue);
}
.event-calendar ._sun,
.event-calendar ._Sun{
    color: var(--main-col-red);
}
.event-cal-week{
    border-top: solid 1px var(--base-col-black);
    border-bottom: solid 1px var(--base-col-black);
}
.event-cal-week-colm{
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 42px;
    padding: 9px 0 11px;
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1;
    text-align: center;
}
@media screen and (max-width:768px){
    .event-cal-week-colm{
        min-height: 32px;
        padding: 6px 0;
        font-size: 1.2rem;
    }
}
.event-cal-dates{
    grid-template-rows: auto 1fr;
    min-height: 101px;
    border-bottom: solid 1px var(--acc-col-gray);
}
@media screen and (max-width:768px){
    .event-cal-dates{
        min-height: 62px;
    }
}
.event-cal-date,
.event-cal-date-empty,
.event-cal-date-inner{
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 2;
}
.event-cal-date:not(:last-child){
    border-right: solid 1px var(--acc-col-gray);
}
.event-cal-date-inner{
    position: relative;
    padding: 15px;
    transition: background var(--ease);
    cursor: pointer;
}
.event-cal-date-inner._noevent{
    pointer-events: none;
}
.event-cal-date-inner._select{
    background: #FFF4E5;
}
@media (any-hover: hover){
    .event-cal-date-inner:hover{
        background: #FFF4E5;
    }
}
.event-cal-date-inner._today::before{
    clip-path: polygon(0 0, 100% 0, 0 100%);
    position: absolute;
    top: 0;
    left: 0;
    width: 15px;
    height: 15px;
    background: var(--main-col-orange);
    content: "";
}
@media screen and (max-width:768px){
    .event-cal-date-inner{
        padding: 5px;
    }
    .event-cal-date-inner._today::before{
        width: 6px;
        height: 6px;
    }
}
.event-cal-day{
    margin-bottom: 15px;
    font-family: var(--font-en);
    font-size: 2.2rem;
    font-weight: 500;
    line-height: 1;
}
@media screen and (max-width:768px){
    .event-cal-day{
        margin-bottom: 5px;
        font-size: min(6.25vw, 1.6rem);
    }
}
.event-cal-date-inner._today .event-cal-day{
    color: var(--main-col-orange);
}
.event-cal-icons{
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 2px;
}
.event-cal-icon{
    flex: 0 0 auto;
    width: 26px;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border-radius: 50%;
    background: url(../images/event-icon_other.svg) no-repeat center / cover;
    line-height: 1;
}
@media screen and (max-width:768px){
    .event-cal-icons{
        gap: 1px;
    }
    .event-cal-icon{
        width: min(15px, calc(50% - .5px));
    }
}
.event-cal-icon._welcom{
    background-image: url(../images/event-icon_welcom.svg);
}
.event-cal-icon._terrace{
    background-image: url(../images/event-icon_terrace.svg);
}
.event-cal-icon._mall{
    background-image: url(../images/event-icon_mall.svg);
}
.event-cal-icon._fuku{
    background-image: url(../images/event-icon_fuku.svg);
}
.event-cal-icon._nobi{
    background-image: url(../images/event-icon_nobi.svg);
}
.event-cal-icon._hole{
    background-image: url(../images/event-icon_hole.svg);
}
.event-cal-icon._volu{
    background-image: url(../images/event-icon_volu.svg);
}
.event-cal-icon._seiren{
    background-image: url(../images/event-icon_seiren.svg);
}
.event-cal-icon._area{
    background-image: url(../images/event-icon_area.svg);
}
.event-cal-icon._info{
    background-image: url(../images/event-icon_info.svg);
}
.event-cal-icon._whole{
    background-image: url(../images/event-icon_whole.svg);
}
.event-cal-iconlist{
    display: flex;
    flex-wrap: wrap;
    gap: 12px 14px;
    margin-top: 20px;
    padding: 20px;
    border: solid 1px var(--border-col-gray);
    border-radius: 4px;
}
.event-cal-iconlist-item{
    display: flex;
    align-items: center;
    gap: 0 6px;
}
.event-cal-iconlist-item img{
    flex: 0 0 auto;
}
.event-cal-iconlist__text{
    padding-bottom: 1px;
    color: var(--acc-col-black);
    font-size: 1.4rem;
    line-height: calc(1em + 3px);
}
@media screen and (max-width:768px){
    .event-cal-iconlist{
        gap: 6px 10px;
        padding: 13px 10px;
    }
    .event-cal-iconlist-item{
        width: calc(50% - 5px);
        gap: 0 5px;
    }
    .event-cal-iconlist-item:nth-child(odd):last-child{
        width: 100%;
    }
    .event-cal-iconlist-item img{
        width: 21px;
        height: auto;
        margin: 2px 0;
    }
    .event-cal-iconlist__text{
        font-size: 1.3rem;
    }
}

/* event-result */
.event-result{
    padding: 54px 0 100px;
    overflow: hidden;
    background: var(--bg-col-gray);
}
@media screen and (max-width:768px){
    .event-result{
        padding: 37px 0 80px;
    }
}
.event-result-head{
    display: flex;
    align-items: center;
    width: var(--inner-width);
    margin: 0 auto 33px;
}
.event-result-title{
    flex: 0 0 auto;
    transform: translateY(-1px);
    margin: 0 12px 0 0;
}
@media screen and (max-width:768px){
    .event-result-head{
        flex-direction: column;
        align-items: flex-start;
        margin-bottom: 20px;
    }
    .event-result-title{
        transform: none;
        margin: 0 0 13px 0;
    }
}
.event-result-clear{
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 0 6px;
    min-width: 118px;
    min-height: 34px;
    padding: 8px 12px 10px;
    border-radius: 99px;
    background: var(--base-col-black);
    color: #fff;
    font-size: 1.4rem;
    font-weight: bold;
    line-height: 1;
    cursor: pointer;
}
.event-result-clear:not(._active){
    display: none;
}
.event-result-clear::before{
    flex: 0 0 auto;
    transform: rotate(45deg);
    width: 16px;
    height: 16px;
    margin-bottom: -1px;
    border-radius: 50%;
    background: linear-gradient(to top, var(--base-col-black), var(--base-col-black)) no-repeat center / 8px 2px,
    linear-gradient(to right, var(--base-col-black), var(--base-col-black)) no-repeat center / 2px 8px,
    #fff;
    content: "";
}
@media screen and (max-width:768px){
    .event-result-clear{
        justify-content: center;
        order: 1;
        gap: 0 4px;
        width: 100%;
        min-width: 0;
        min-height: 0;
        margin-top: 10px;
        padding: 12px 0;
    }
    .event-result-clear::before{
        margin-bottom: 0;
    }
}
.event-result-select{
    display: flex;
    align-items: center;
    gap: 0 10px;
    margin-left: auto;
}
@media screen and (max-width:768px){
    .event-result-select{
        gap: 0 5px;
        margin: 0 auto 0 0;
    }
}
.event-result-select-head{
    color: #000;
    padding-bottom: 1px;
    line-height: calc(1em + 3px);
}
.event-result-select-body{
    flex: 0 0 auto;
    position: relative;
}
.event-result-select-inner{
    display: flex;
    align-items: center;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 0 12px 2px;
    border: solid 1px var(--border-col-gray);
    border-radius: 4px;
    background: #fff;
    pointer-events: none;
}
.event-result-select-inner::after{
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    position: absolute;
    top: calc(50% - 4px);
    right: 12px;
    width: 8px;
    height: 8px;
    background: var(--acc-col-black);
    content: "";
}
.event-result-select-input{
    opacity: 0;
    position: relative;
    width: 210px;
    height: 44px;
}
@media screen and (max-width:768px){
    .event-result-select-input{
        width: min(240px, 53.125vw);
        height: 40px;
    }
}
.event-result-select-input::-webkit-calendar-picker-indicator {
    position: absolute;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
}
.event-result-select-input::-webkit-inner-spin-button{
    -webkit-appearance: none;
}
.event-result-select-input::-webkit-clear-button{
    -webkit-appearance: none;
}
.event-result-msg{
    min-height: 200px;
    margin: 0 auto;
    padding: 0;
    background: none;
}
.event-result-msg:not(._active){
    display: none!important;
}
@media screen and (max-width:768px){
    .event-result-msg{
        min-height: 100px;
    }
}

/* event-list */
.event-list{
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    width: var(--inner-width);
    margin: 0 auto;
}
@media screen and (max-width:768px){
    .event-list{
        flex-direction: column;
    }
}
.event-list-item{
    flex: 0 0 auto;
    width: calc(50% - 5px);
}
.event-list-item:not(._active),
.event-list-item._inactive{
    display: none;
}
.event-list-item a{
    display: flex;
    align-items: flex-start;
    gap: 0 20px;
    height: 100%;
    padding: 10px 20px 10px 10px;
    border-radius: 8px;
    box-shadow: 0 1px 4px rgba(0,0,0,.1);
    background: #fff;
}
@media screen and (max-width:768px){
    .event-list-item{
        width: 100%;
    }
    .event-list-item a{
        display: block;
        padding: 15px;
        border-radius: 6px;
    }
}
.event-list-pic{
    flex: 0 0 auto;
    position: relative;
    width: 270px;
    overflow: hidden;
    border-radius: 4px;
    background: var(--bg-col-gray);
}
.event-list-pic:not(:has(img)){
    aspect-ratio: 3 / 2;
}
@media screen and (max-width:768px){
    .event-list-pic{
        width: 100%;
    }
}
.event-list-pic img{
    width: 100%;
    aspect-ratio: 3 / 2;
    object-fit: contain;
}
.event-list-pic .loading{
    --dotSize: 16px;
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 1;
}
@media screen and (max-width:768px){
    .event-list-pic .loading{
        --dotSize: 12px;
    }
}
.event-list-pic._loaded .loading{
    display: none;
}
.event-list-pic:has(.loading) .endMsg{
    color: rgba(250,250,250,0);
}
.event-list-body{
    flex: 1 1 auto;
    align-self: center;
    min-height: 160px;
    padding: 5px 0;
}
@media screen and (max-width:768px){
    .event-list-body{
        min-height: 0;
        padding: 15px 0 5px;
    }
}
.event-list-sche{
    display: flex;
    align-items: flex-end;
    gap: 0 34px;
    margin-bottom: 15px;
}
@media screen and (max-width:768px){
    .event-list-sche{
        gap: 0 34px;
        margin-bottom: 12px;
    }
}
.event-list-date{
    display: grid;
    align-items: center;
    gap: 1px 3px;
    position: relative;
    font-size: 2rem;
}
@media screen and (max-width:768px){
    .event-list-date{
        font-size: 1.8rem;
    }
}
.event-list-date:not(:last-child)::after{
    position: absolute;
    right: -29px;
    bottom: calc(.5em - 1px);
    width: 24px;
    height: 1px;
    background: var(--base-col-black);
    content: "";
}
.event-list-date__year{
    grid-column: 1 / 3;
    font-family: var(--font-en);
    font-size: 1rem;
    font-weight: 500;
    line-height: 1;
    letter-spacing: -.02em;
}
.event-list-date__day{
    font-family: var(--font-en);
    font-weight: 600;
    line-height: 1;
}
.event-list-date__week{
    display: flex;
    flex: 0 0 auto;
    justify-content: center;
    align-items: center;
    height: calc(1em + 8px);
    aspect-ratio: 1 / 1;
    padding-bottom: 2px;
    border-radius: 50%;
    background: var(--base-col-black);
    color: #fff;
    font-size: 1.2rem;
    font-weight: bold;
    line-height: 1;
    letter-spacing: 0;
    text-align: center;
}
@media screen and (max-width:768px){
    .event-list-date__week{
        padding-bottom: 0;
        font-size: 1rem;
    }
}
.event-list-date__week._Sat{
    background: var(--main-col-blue);
}
.event-list-date__week._Sun{
    background: var(--main-col-red);
}
.event-list-title{
    color: var(--acc-col-black);
    font-size: 1.6rem;
    font-weight: bold;
    line-height: calc(1em + 8px);
    transition: color var(--ease);
}
@media (any-hover: hover){
    a:hover .event-list-title{
        color: var(--main-col-orange);
        text-decoration: underline;
    }
}
.event-list-cate{
    display: inline-block;
    min-width: 74px;
    margin-top: 7px;
    padding: 3px 11px 4px;
    border: solid 1px var(--border-col-gray);
    border-radius: 99px;
    font-size: 1.2rem;
    line-height: calc(1em + 3px);
    text-align: center;
    transition: border var(--ease), color var(--ease);
}
@media (any-hover: hover){
    a:hover .event-list-cate{
        border-color: currentColor;
        color: var(--main-col-orange);
    }
}

/* event-viewmore */
.event-viewmore{
    -webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,0), #000 100px);
    mask-image: linear-gradient(to bottom, rgba(0,0,0,0), #000 100px);
    position: relative;
    z-index: 1;
    margin: -210px 0 -100px;
    padding: 100px 0;
    background: var(--bg-col-gray);
}
.event-viewmore:has(.event-viewmore-btn:not(._active)){
    display: none;
}
@media screen and (max-width:768px){
    .event-viewmore{
        -webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,0), #000 50px);
        mask-image: linear-gradient(to bottom, rgba(0,0,0,0), #000 50px);
        margin: max(calc(-62.5vw - 50px), -300px) 0 -80px;
        padding: 50px var(--inner-sides_sp) 80px;
    }
}

/*-------------
event-dtl
-------------*/
.event-dtl-header{
    display: flex;
    align-items: flex-start;
    gap: 0 32px;
}
@media screen and (max-width:768px){
    .event-dtl-header{
        display: block;
        padding-bottom: 24px;
    }
}
.event-dtl-thumb{
    flex: 0 0 auto;
    overflow: hidden;
    border-radius: 4px;
    background: var(--bg-col-gray);
}
.event-dtl-thumb img{
    display: block;
    width: auto;
    max-width: 414px;
    height: auto;
    max-height: 414px;
    margin: 0 auto;
}
@media screen and (max-width:768px){
    .event-dtl-thumb{
        width: 100%;
        border-radius: 5px;
    }
    .event-dtl-thumb img{
        max-width: 100%;
        max-height: var(--inner-width_sp);
    }
}
.event-dtl-info{
    flex: 1 1 auto;
}
.event-dtl-thumb + .event-dtl-info{
    padding-top: 12px;
}
@media screen and (max-width:768px){
    .event-dtl-thumb + .event-dtl-info{
        padding-top: 20px;
    }
}
.event-dtl-sche{
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 15px;
    margin-bottom: 19px;
}
.event-dtl-sche__end{
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    min-height: 2.8rem;
    padding: 2px 15px 3px;
    border-radius: 99px;
    background: var(--base-col-black);
    color: #fff;
    line-height: calc(1em + 3px);
}
@media screen and (max-width:768px){
    .event-dtl-sche{
        gap: 10px 15px;
        margin-bottom: 11px;
    }
    .event-dtl-sche__end{
        min-height: 2.6rem;
        padding: 2px 14px 3px;
    }
}
.event-dtl-date{
    display: flex;
    flex: 0 0 auto;
    align-items: flex-end;
    gap: 0 10px;
}
.event-dtl-date-item{
    display: grid;
    align-items: center;
    gap: 2px 3px;
    position: relative;
    font-size: 2.8rem;
}
.event-dtl-date-item:has(+ .event-dtl-date-item){
    padding-right: 40px;
}
.event-dtl-date-item:has(+ .event-dtl-date-item)::after{
    position: absolute;
    right: 0;
    bottom: calc(.5em - 1px);
    width: 30px;
    height: 2px;
    border-radius: 1px;
    background: var(--base-col-black);
    content: "";
}
@media screen and (max-width:768px){
    .event-dtl-date{
        gap: 0 5px;
    }
    .event-dtl-date-item{
        gap: 1px 3px;
        font-size: 1.8rem;
    }
    .event-dtl-date-item:has(+ .event-dtl-date-item){
        padding-right: 29px;
    }
    .event-dtl-date-item:has(+ .event-dtl-date-item)::after{
        width: 24px;
        height: 1px;
        border-radius: 0;
    }
}
.event-dtl-date__year{
    grid-column: 1 / 3;
    font-family: var(--font-en);
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1;
    letter-spacing: -.02em;
}
@media screen and (max-width:768px){
    .event-dtl-date__year{
        font-size: 1rem;
    }
}
.event-dtl-date__day{
    font-family: var(--font-en);
    font-weight: 600;
    line-height: 1;
}
.event-dtl-date__week{
    display: flex;
    flex: 0 0 auto;
    justify-content: center;
    align-items: center;
    height: calc(1em + 10px);
    aspect-ratio: 1 / 1;
    padding-bottom: 2px;
    border-radius: 50%;
    background: var(--base-col-black);
    color: #fff;
    font-size: 1.4rem;
    font-weight: bold;
    line-height: 1;
    letter-spacing: 0;
    text-align: center;
}
@media screen and (max-width:768px){
    .event-dtl-date__week{
        height: calc(1em + 8px);
        padding-bottom: 0;
        font-size: 1rem;
    }
}
.event-dtl-date__week._Sat{
    background: var(--main-col-blue);
}
.event-dtl-date__week._Sun{
    background: var(--main-col-red);
}
.event-dtl-cate{
    display: inline-block;
    min-width: 96px;
    margin-top: 17px;
    padding: 3px 12px 4px;
    border: solid 1px var(--border-col-gray);
    border-radius: 99px;
    font-size: 1.4rem;
    line-height: calc(1em + 3px);
    text-align: center;
}
@media screen and (max-width:768px){
    .event-dtl-cate{
        min-width: 74px;
        margin-top: 14px;
        padding: 4px 12px 5px;
        font-size: 1.2rem;
    }
}

/*-------------
feature
-------------*/
.feat-container{
    width: var(--inner-width);
    margin: 0 auto;
}
.feat-list{
    display: flex;
    flex-wrap: wrap;
    gap: 38px 42px;
}
.feat-list-item{
    flex: 0 0 auto;
    width: 372px;
}
.feat-list-item:not(._show){
    display: none;
}
@media screen and (max-width:768px){
    .feature .page-header{
        margin-bottom: 20px;
    }
    .feat-list{
        flex-direction: column;
        gap: 10px 0;
    }
    .feat-list-item{
        width: 100%;
    }
    .feat-list-item a{
        display: block;
        padding: 15px 15px 17px;
        border: solid 1px var(--border-col-gray);
        border-radius: 5px;
    }
}
.feat-list-pic{
    position: relative;
    width: 100%;
    aspect-ratio: 12 / 7;
    margin-bottom: 15px;
    overflow: hidden;
    border-radius: 8px;
    background: var(--bg-col-gray);
}
@media screen and (max-width:768px){
    .feat-list-pic{
        margin-bottom: 11px;
        border-radius: 4px;
    }
}
.feat-list-pic img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.feat-list-pic .loading{
    position: absolute;
    top: 50%;
    left: 50%;
}
.feat-list-pic._loaded .loading{
    display: none;
}
.feat-list-title{
    font-size: 1.8rem;
    font-weight: bold;
    line-height: calc(1em + 9px);
    transition: color var(--ease);
}
@media (any-hover: hover){
    a:hover .feat-list-title{
        color: var(--main-col-orange);
        text-decoration: underline;
    }
}
@media screen and (max-width:768px){
    .feat-list-title{
        font-size: 1.4rem;
        line-height: calc(1em + 7px);
    }
}
.feat-viewmore{
    margin-top: 38px;
}
@media screen and (max-width:768px){
    .feat-viewmore{
        margin-top: 30px;
    }
}

/*-------------
shop
-------------*/
.shop-map{
    width: var(--inner-width);
    margin: 0 auto 40px;
}
.shop-map-tab-container {
    width: 1000px;
    margin: 0 auto;
}
.shop-map-tabs {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-bottom: 20px;
}
.shop-map-tab {
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: bold;
    letter-spacing: 0.2rem;
    font-family: var(--font-en);
    width: 100px;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--acc-col-gray);
    background: #eee;
    cursor: pointer;
    border-radius: 5px;
    transition: background 0.3s, color 0.3s;
}
.shop-map-tab.active {
    background: var(--main-col-orange);
    color: #fff;
    font-weight: bold;
}
.shop-map-tab-wrapper{
    position: relative;
    width: 1000px;
    height: 800px;
    margin: 0 auto;
}
.shop-map-tab-content {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.4s ease;
}
.shop-map-tab-content-title{
    width: 80px;
    height: 80px;
    position: absolute;
    top: 0;
    left: 0;
    color: #fff;
    font-family: var(--font-en);
    font-size: 32px;
    font-size: 3.2rem;
    letter-spacing: 0.2rem;
    font-weight: 700;
    border: solid 2px var(--main-col-orange);
    border-radius: 50%;
    background: var(--main-col-orange);
    display: flex;
    justify-content: center;
    align-items: center;
}
.shop-map-tab-content.active {
    opacity: 1;
    visibility: visible;
    position: relative;
    z-index: 1;
}
@media screen and (max-width:768px){
    .shop-map {
        margin: 0 auto 20px;
    }
    .shop-map-tab-container {
        width: 100%;
        margin: 0 auto;
    }
    .shop-map-tab-wrapper {
        position: relative;
        width: 100%;
        height: auto;
        aspect-ratio: 1 / 1;
        margin: 0 auto;
    }
    .shop-map-tab{
        height: 40px;
        font-size: 16px;
        font-size: 1.6rem;
        width: calc((100% - 40px) / 5);
    }
    .shop-map-tab-content-title {
        width: 50px;
        height: 50px;
        font-size: 24px;
        font-size: 2.4rem;
    }
}

/* shop-nav */
.shop-nav{
    width: var(--inner-width);
    margin: 0 auto 60px;
}
.shop-filter{
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
}
.shop-filter-title{
    position: relative;
    margin-bottom: 9px;
    padding-left: 18px;
    color: var(--acc-col-black);
    font-size: 1.6rem;
    font-weight: bold;
    line-height: calc(1em + 3px);
}
.shop-filter-title::before{
    position: absolute;
    top: calc(.5em - 3px);
    left: 0;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--main-col-orange);
    content: "";
}
@media screen and (max-width:768px){
    .shop-nav{
        margin-bottom: 44px;
    }
    .shop-filter{
        display: block;
    }
}
.shop-filter-cate{
    display: flex;
    height: 100%;
    border-left: solid 1px var(--border-col-gray);
}
.shop-filter-cate-item{
    flex: 0 0 auto;
    width: 141px;
    height: 100%;
    border-right: solid 1px var(--border-col-gray);
}
.shop-filter-cate-item a{
    display: block;
    position: relative;
    height: 100%;
    min-height: 92px;
    padding: 64px 10px 9px;
    font-size: 1.6rem;
    line-height: calc(1em + 3px);
    text-align: center;
    transition: opacity var(--ease);
}
.shop-filter-cate-item a._active{
    color: var(--main-col-orange);
}
@media (any-hover: hover){
    .shop-filter-cate-item a:not(._active):hover{
        opacity: .7;
    }
}
.shop-filter-cate-item a::before{
    position: absolute;
    top: 10px;
    left: calc(50% - 24px);
    width: 48px;
    height: 48px;
    background: no-repeat center / contain;
    content: "";
}
@media screen and (max-width:768px){
    .shop-filter-cate{
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 1px;
        overflow: hidden;
        border-left: none;
    }
    .shop-filter-cate-item{
        width: auto;
        border-right: none;
        box-shadow: 0 1px 0 var(--border-col-gray), 1px 1px 0 var(--border-col-gray), 1px 0 0 var(--border-col-gray);
    }
    .shop-filter-cate-item a{
        min-height: 70px;
        padding: 42px 5px 13px;
        font-size: 1.2rem;
    }
    .shop-filter-cate-item a::before{
        left: calc(50% - 15px);
        width: 30px;
        height: 30px;
    }
}
.shop-filter-cate-item._all a::before{
    background-image: url(../images/shop-icon_all.svg);
}
.shop-filter-cate-item._all a._active::before{
    background-image: url(../images/shop-icon_all_orange.svg);
}
.shop-filter-cate-item._eat a::before{
    background-image: var(--shop-eat-url);
}
.shop-filter-cate-item._eat a._active::before{
    background-image: var(--shop-eat_orange-url);
}
.shop-filter-cate-item._buy a::before{
    background-image: var(--shop-buy-url);
}
.shop-filter-cate-item._buy a._active::before{
    background-image: var(--shop-buy_orange-url);
}
.shop-filter-cate-item._service a::before{
    background-image: var(--shop-service-url);
}
.shop-filter-cate-item._service a._active::before{
    background-image: var(--shop-service_orange-url);
}
.shop-filter-cate-item._facility a::before{
    background-image: var(--shop-facility-url);
}
.shop-filter-cate-item._facility a._active::before{
    background-image: var(--shop-facility_orange-url);
}
.shop-filter-item._search{
    padding: 0 44px 0 40px;
}
.shop-filter-search{
    position: relative;
}
.shop-filter-search-input{
    width: 100%;
    height: 42px;
    border: solid 1px var(--acc-col-gray);
    border-radius: 99px;
    background: #fff;
    padding: 0 40px 2px 20px;
    font-size: max(1.6rem, 16px);
}
.shop-filter-search-input::placeholder{
    color: var(-text-col-gray);
    font-size: 1.4rem;
    user-select: none;
}
.shop-filter-search-btn{
    position: absolute;
    top: 0;
    right: 0;
    width: 42px;
    height: 100%;
}
.shop-filter-search-btn-inner{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    color: rgba(255,255,255,0);
    font-size: 0;
}
.shop-filter-search-btn-inner::after{
    flex: 0 0 auto;
    width: 16px;
    height: 16px;
    background: var(--icon-search);
    content: "";
}
@media screen and (max-width:768px){
    .shop-filter-item._search{
        padding: 23px 0 0;
    }
    .shop-filter-search-input{
        height: 46px;
        padding-bottom: 0;
    }
    .shop-filter-search-btn{
        width: 48px;
    }
}
.shop-nav-map{
    margin-top: 32px;
    padding: 20px 0;
    border-radius: 8px;
    background: var(--bg-col-gray);
}
.shop-nav-map-btn{
    width: 600px;
    margin: 0 auto;
}
@media screen and (min-width:769px){
    .shop-nav-map-btn a{
        height: 60px;
        font-size: 1.6rem;
    }
    .shop-nav-map-btn a::before{
        top: calc(50% - 18px);
        left: 10px;
        width: 36px;
        height: 36px;
    }
}
.shop-nav-map-btn a::before{
    background: var(--main-col-orange) var(--icon-floormap_white);
    background-size: 18px auto;
}
@media screen and (max-width:768px){
    .shop-nav-map{
        margin-top: 20px;
        padding: 15px 20px;
        border-radius: 6px;
    }
    .shop-nav-map-btn{
        width: 100%;
        font-feature-settings: "palt" 1;
    }
    .shop-nav-map-btn a::before{
        background-size: 14px auto;
    }
}

/* shop-list */
.shop-list-container{
    width: var(--inner-width);
    margin: 0 auto;
}
.shop-sect._inactive{
    display: none;
}
.shop-sect:not(._last):not(._active){
    margin-bottom: 60px;
    padding-bottom: 58px;
    border-bottom: solid 1px var(--border-col-gray);
}
.shop-sect-title{
    display: flex;
    align-items: center;
    position: relative;
    margin-bottom: 40px;
    padding: 0 0 2px 50px;
    color: var(--acc-col-black);
    font-size: 32px;
    font-weight: bold;
    line-height: calc(1em + 8px);
}
.shop-sect-title::before{
    position: absolute;
    top: 0;
    left: 0;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: var(--main-col-orange) no-repeat center / 24px auto;
    content: "";
}
@media screen and (max-width:768px){
    .shop-sect:not(._last):not(._active){
        margin-bottom: 40px;
        padding-bottom: 37px;
    }
    .shop-sect-title{
        min-height: 34px;
        margin-bottom: 25px;
        padding: 0 0 0 46px;
        font-size: 2.4rem;
    }
    .shop-sect-title::before{
        width: 34px;
        height: 34px;
        background-size: 20px auto;
    }
}
.shop-sect-title._eat::before{
    background-image: var(--shop-eat_white-url);
}
.shop-sect-title._buy::before{
    background-image: var(--shop-buy_white-url);
}
.shop-sect-title._service::before{
    background-image: var(--shop-service_white-url);
}
.shop-sect-title._facility::before{
    background-image: var(--shop-facility_white-url);
}
.shop-sect-title._search::before{
    background-image: var(--icon-search_white-url);
}
.shop-list{
    display: flex;
    flex-wrap: wrap;
    gap: 34px 32px;
}
.shop-list-item{
    flex: 0 0 auto;
    width: 276px;
}
@media screen and (max-width:768px){
    .shop-list{
        gap: 22px 10px;
    }
    .shop-list-item{
        width: calc(50% - 5px);
    }
}
.shop-list-item a{
    display: block;
    position: relative;
}
.shop-list-item-pic{
    position: relative;
    width: 100%;
    margin-bottom: 16px;
    border-radius: 4px;
    background: #fff;
}
@media screen and (max-width:768px){
    .shop-list-item-pic{
        margin-bottom: 9px;
    }
}
.shop-list-item-pic img{
    width: 100%;
    aspect-ratio: 3 / 2;
    object-fit: contain;
}
.shop-list-item-pic::after{
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    border: solid 1px var(--border-col-gray);
    border-radius: inherit;
    content: "";
    pointer-events: none;
    transition: border var(--ease), background var(--ease);
}
@media (any-hover: hover){
    a:hover .shop-list-item-pic::after{
        background: rgba(255,200,128,.2);
        border-color: var(--main-col-orange);
    }
}
.shop-list-item-floor{
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 6px;
    left: 6px;
    width: 36px;
    height: 36px;
    border: solid 2px currentColor;
    border-radius: 50%;
    background: #fff;
    color: var(--acc-col-black);
    font-family: var(--font-en);
    font-size: 16px;
    font-weight: 500;
    line-height: 1;
    text-align: center;
}
@media screen and (max-width:768px){
    .shop-list-item-floor{
        top: 5px;
        left: 5px;
        width: min(24px, 6.25vw);
        height: min(24px, 6.25vw);
        border-width: 1px;
        font-size: min(14px, 3.125vw);
    }
}
.shop-list-item-service{
    display: block;
    margin-bottom: 5px;
    color: #666;
    font-size: 1.3rem;
    line-height: calc(1em + 3px);
}
@media screen and (max-width:768px){
    .shop-list-item-service{
        margin-bottom: 2px;
        font-size: 1.2rem;
    }
}
.shop-list-item-name{
    color: var(--acc-col-black);
    font-size: 1.8rem;
    font-weight: bold;
    line-height: calc(1em + 6px);
}
@media (any-hover: hover){
    a:hover .shop-list-item-name{
        text-decoration: underline;
    }
}
@media screen and (max-width:768px){
    .shop-list-item-name{
        font-size: 1.4rem;
    }
}
.shop-searching{
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 0 10px;
    margin-top: 20px;
}
.shop-searching .__gauge{
    position: relative;
    height: 20px;
    overflow: hidden;
    border-radius: 2px;
    background: #d8d8d8;
}
.shop-searching .__progress{
    position: absolute;
    top: 0;
    left: 0;
    transform: scaleX(0);
    transform-origin: left;
    width: 100%;
    height: 100%;
    background: var(--main-col-orange);
}

/*-------------
shop-dtl
-------------*/
.shop-dtl-cate{
    display: flex;
    align-items: center;
    position: relative;
    margin-bottom: 10px;
    padding: 0 0 2px 38px;
    min-height: 30px;
    color: var(--acc-col-black);
    font-size: 1.8rem;
    line-height: calc(1em + 4px);
}
.shop-dtl-cate::before{
    position: absolute;
    top: 0;
    left: 0;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: var(--main-col-orange) no-repeat center / 18px auto;
    content: "";
}
@media screen and (max-width:768px){
    .shop-dtl-header{
        margin-bottom: 18px;
    }
    .shop-dtl-cate{
        margin-bottom: 6px;
        padding: 0 0 0 29px;
        min-height: 24px;
        font-size: 1.4rem;
    }
    .shop-dtl-cate::before{
        width: 24px;
        height: 24px;
        background-size: 14px auto;
    }
}
.shop-dtl-cate._eat::before{
    background-image: var(--shop-eat_white-url);
}
.shop-dtl-cate._buy::before{
    background-image: var(--shop-buy_white-url);
}
.shop-dtl-cate._service::before{
    background-image: var(--shop-service_white-url);
}
.shop-dtl-cate._facility::before{
    background-image: var(--shop-facility_white-url);
}
.shop-dtl-visual{
    position: relative;
    margin-bottom: 40px;
}
@media screen and (max-width:768px){
    .shop-dtl-visual{
        margin-bottom: 20px;
    }
    .shop-dtl-visual:not(:has(.keen-slider-dots)){
        margin-bottom: 38px;
    }
}
.shop-dtl-slider:not(.keen-slider){
    display: flex;
    justify-content: center;
}
@media screen and (min-width:769px){
    .shop-dtl-slider.keen-slider{
        width: 1860px!important;
    }
    .shop-dtl-slide.keen-slider__slide{
        padding: 0 10px;
    }
}
@media screen and (max-width:768px){
    .shop-dtl-slider{
        overflow: hidden;
        border-radius: 8px;
    }
}
.shop-dtl-slide-pic{
    flex: 0 0 auto;
    width: 600px;
    overflow: hidden;
    border-radius: 8px;
}
@media screen and (max-width:768px){
    .shop-dtl-slide-pic{
        width: 100%;
        border-radius: 0;
    }
}
.shop-dtl-slide-pic img{
    width: 100%;
    aspect-ratio: 3 / 2;
    object-fit: cover;
}
.shop-dtl-visual .keen-slider-dots{
    position: relative;
    z-index: 1;
    width: 100%;
    padding: 10px 0 0;
}
.shop-dtl-visual .keen-slider-dot{
    background: var(--acc-col-gray);
}
.shop-dtl-visual .keen-slider-dot--active{
    background: var(--main-col-orange);
}
@media screen and (max-width:768px){
    .shop-dtl-visual .keen-slider-dots{
        gap: 8px;
    }
    .shop-dtl-visual .keen-slider-dot{
        width: 8px;
        height: 8px;
    }
}
.shop-dtl-visual .keen-slider-arrow{
    position: absolute;
    top: 0;
    left: 0;
    transform: none;
    width: 130px;
    height: 100%;
    background: linear-gradient(to right, #fff, rgba(250,250,250,0));
    cursor: auto;
    transition: opacity var(--ease);
}
@media screen and (max-width:768px){
    .shop-dtl-visual .keen-slider-arrow{
        display: none;
    }
}
.shop-dtl-visual .keen-slider-arrow--right{
    transform: rotateY(180deg);
    right: 0;
    left: auto;
}
@media screen and (min-width:769px){
    .shop-dtl-visual .keen-slider-arrow::after{
        position: absolute;
        top: calc(50% - 28px);
        left: 20px;
        width: 56px;
        height: 56px;
        border-radius: 50%;
        background: var(--base-col-black) url(../images/arrow_slider.svg) no-repeat center / auto;
        content: "";
        cursor: pointer;
    }
}
.shop-dtl-body{
    display: flex;
    align-items: flex-start;
    gap: 0 25px;
}
@media screen and (max-width:768px){
    .shop-dtl-body{
        flex-direction: column;
        gap: 17px 0;
    }
}
.shop-dtl-board{
    flex: 0 0 auto;
    position: relative;
    width: 285px;
    overflow: hidden;
    border-radius: 4px;
}
@media screen and (max-width:768px){
    .shop-dtl-board{
        width: min(240px, 62.5vw);
        margin: 0 auto;
    }
}
.shop-dtl-board::before{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: solid 1px var(--border-col-gray);
    border-radius: inherit;
    content: "";
    pointer-events: none;
}
.shop-dtl-board img{
    width: 100%;
    aspect-ratio: 3 / 2;
    object-fit: contain;
}
.shop-dtl-besc__service{
    display: block;
    margin-bottom: 3px;
    padding-top: 3px;
    color: var(--text-col-gray);
    font-size: 1.4rem;
    line-height: calc(1em + 3px);
}
.shop-dtl-besc__name{
    color: var(--acc-col-black);
    font-size: 2.2rem;
    font-weight: bold;
    line-height: calc(1em + 6px);
    letter-spacing: .02em;
}
@media screen and (max-width:768px){
    .shop-dtl-besc__service{
        margin-bottom: 4px;
        padding-top: 1px;
        font-size: 1.3rem;
    }
    .shop-dtl-besc__name{
        font-size: 2rem;
    }
}
.shop-dtl-besc-comment{
    margin-top: 11px;
    line-height: var(--lineheight-base);
    letter-spacing: .02em;
}
.shop-dtl-besc-comment > p:empty{
    height: 1em;
}
.shop-dtl-besc-comment a:not(:hover){
    text-decoration: underline;
}
.shop-dtl-about{
    display: grid;
    grid-template-columns: auto 1fr;
    margin-top: 40px;
    padding: 25px 30px 27px;
    border-radius: 4px;
    background: var(--bg-col-gray);
}
.shop-dtl-about:not(:has(.shop-dtl-about-row)){
    display: none;
}
@media screen and (max-width:768px){
    .shop-dtl-about{
        display: block;
        margin-top: 31px;
        padding: 16px 15px 17px;
    }
}
.shop-dtl-about-row{
    display: grid;
    grid-template-columns: subgrid;
    grid-column: span 2;
    gap: 0 10px;
    line-height: calc(1em + 8px);
}
.shop-dtl-about-row:not(:last-child){
    margin-bottom: 19px;
    padding-bottom: 21px;
    border-bottom: solid 1px var(--acc-col-gray);
}
@media screen and (max-width:768px){
    .shop-dtl-about-row{
        display: block;
        line-height: calc(1em + 7px);
    }
    .shop-dtl-about-row:not(:last-child){
        margin-bottom: 16px;
        padding-bottom: 17px;
    }
}
.shop-dtl-about__term{
    min-width: 130px;
    padding-left: 10px;
    font-weight: bold;
}
@media screen and (max-width:768px){
    .shop-dtl-about__term{
        min-width: 0;
        margin-bottom: 4px;
        padding-left: 0;
    }
}
.shop-dtl-about__desc a:not(:hover){
    text-decoration: underline;
}
a.shop-dtl-about-url{
    display: inline-block;
}
a.shop-dtl-about-url::after{
    display: inline-block;
    width: 16px;
    height: 16px;
    margin-left: 6px;
    background: url(../images/icon_blank.svg) no-repeat center / contain;
    vertical-align: middle;
    content: "";
}
@media screen and (max-width:768px){
    a.shop-dtl-about-url::after{
        width: 14px;
        height: 14px;
        margin-left: 4px;
    }
}

/* shop-dtl-sect */
.shop-dtl-sect{
    margin: 58px 0 40px;
}
@media screen and (min-width:769px){
    .shop-dtl-sect._event:not(:last-child){
        padding-bottom: 40px;
        border-bottom: solid 1px var(--acc-col-gray);
    }
    .shop-dtl-sect._event + .shop-dtl-sect{
        margin-top: 37px;
    }
}
@media screen and (max-width:768px){
    .shop-dtl-sect{
        margin: 38px 0 25px;
    }
}
.shop-dtl-sect-title{
    display: flex;
    align-items: center;
    position: relative;
    margin-bottom: 24px;
    padding-left: 45px;
    color: var(--acc-col-black);
    font-size: 2.4rem;
    font-weight: bold;
    line-height: calc(1em + 3px);
}
.shop-dtl-sect-title::before{
    position: absolute;
    top: 2px;
    left: 0;
    width: 35px;
    height: calc(100% - 3px);
    padding-right: 10px;
    border-right: solid 1px var(--acc-col-gray);
    background: no-repeat left center / 24px auto;
    content: "";
}
@media screen and (max-width:768px){
    .shop-dtl-sect-title{
        margin-bottom: 14px;
        padding-left: 39px;
        font-size: 2rem;
    }
    .shop-dtl-sect-title::before{
        width: 29px;
        background-size: 20px;
    }
}
.shop-dtl-sect-title._info::before{
    background-image: var(--icon-info-url);
}
.shop-dtl-sect-title._feature::before{
    background-image: var(--icon-feature-url);
}
.shop-dtl-sect-title._event::before{
    background-image: var(--icon-event-url);
}

/* shop-dtl-info */
.shop-dtl-info-list .info-list-item:nth-child(n+6):not(._show){
    display: none;
}
.shop-dtl-info-list .info-list-item a{
    min-height: 54px;
    padding: 8px 20px;
}
@media screen and (max-width:768px){
    .shop-dtl-info-list .info-list-item a{
        min-height: 0;
        padding: 8px 0;
    }
}
.shop-dtl-viewmore{
    padding-top: 20px;
    border-top: solid 1px var(--border-col-gray);
}
.shop-dtl-viewmore-btn{
    width: 360px;
}
@media screen and (max-width:768px){
    .shop-dtl-viewmore{
        padding-top: 18px;
    }
    .shop-dtl-viewmore-btn{
        width: 100%;
    }
}

/* shop-dtl-event */
@media screen and (min-width:769px){
    .shop-dtl-event-list{
        gap: 31px 25px;
    }   
    .shop-dtl-event-list .event-pickup-list-item{
        width: 270px;
    }   
}

/* shop-dtl-feat */
@media screen and (min-width:769px){
    .shop-dtl-feat{
        gap: 20px;
    }
    .shop-dtl-feat .feat-pickup-list-item{
        flex: 0 0 auto;
        width: 420px;
    }
    .shop-dtl-feat .feat-pickup-list-item a{
        padding: 17px;
        border: solid 1px var(--border-col-gray);
        box-shadow: none;
    }
}

/*-------------
facility ※施設サービスと共通
-------------*/
.facility-container{
    width: var(--inner-width);
    margin: 0 auto;
}
.facility-sect{
    position: relative;
    padding: 5px 100px 0 430px;
}
.facility-sect:not(:last-child){
    margin-bottom: 60px;
    padding-bottom: 60px;
    border-bottom: solid 1px var(--border-col-gray);
}
@media screen and (max-width:768px){
    .facility-sect{
        padding: 0;
    }
    .facility-sect:not(:last-child){
        margin-bottom: 40px;
        padding-bottom: 40px;
    }
}
.fac-sect-head{
    margin-bottom: 20px;
}
.fac-sect-place{
    display: flex;
    align-items: center;
    position: relative;
    min-height: 30px;
    margin: -2px 0 7px;
    padding-left: 38px;
    color: var(--acc-col-black);
    font-size: 1.8rem;
    line-height: calc(1em + 3px);
}
.fac-sect-place::before{
    position: absolute;
    top: calc(50% - 13px);
    left: 0;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: var(--main-col-orange) url(../images/icon_facility-floor.svg) no-repeat center / auto;
    content: "";
}
.fac-sect-title{
    color: var(--acc-col-black);
    font-size: 32px;
    font-weight: bold;
    line-height: calc(1em + 8px);
}
@media screen and (max-width:768px){
    .fac-sect-head{
        margin-bottom: 18px;
    }
    .fac-sect-place{
        min-height: 19px;
        margin: -1px 0 8px;
        padding-left: 24px;
        font-size: 1.3rem;
    }
    .fac-sect-place::before{
        top: calc(50% - 8.5px);
        width: 19px;
        height: 19px;
        background-size: 9px auto
    }
    .fac-sect-title{
        font-size: 2rem;
        line-height: calc(1em + 5px);
    }
}
.fac-sect-pic{
    position: absolute;
    top: 0;
    left: 100px;
    width: 300px;
    overflow: hidden;
    border-radius: 4px;
    background: var(--bg-col-gray);
}
@media screen and (max-width:768px){
    .fac-sect-pic{
        position: relative;
        top: auto;
        left: auto;
        width: min(300px, 62.5vw);
        margin: 0 auto 14px;
    }
}
.fac-sect-pic::after{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: solid 1px var(--border-col-gray);
    border-radius: inherit;
    content: "";
    pointer-events: none;
}
.fac-sect-pic img{
    width: 100%;
    aspect-ratio: 3 / 2;
    object-fit: cover;
}
.fac-sect-desc{
    line-height: var(--lineheight-base);
}
.fac-sect-desc:not(:last-child){
    margin-bottom: 15px;
}
.fac-sect-desc p:empty{
    height: 1em;
}
.fac-sect-desc a:not(:hover){
    text-decoration: underline;
}
.fac-sect-desc__tel{
    margin-top: 1em;
}
.fac-sect-desc__tel-head{
    font-weight: bold;
}
.fac-sect-service{
    margin-top: 17px;
}
.fac-sect-service-title{
    margin-bottom: 15px;
    font-size: 1.8rem;
    font-weight: bold;
    line-height: calc(1em + 3px);
}
@media screen and (max-width:768px){
    .fac-sect-service{
        margin-top: 18px;
    }
    .fac-sect-service-title{
        font-size: 1.6rem;
    }
}
.fac-sect-service-list-item{
    position: relative;
    padding-left: 1em;
    line-height: calc(1em + 7px);
}
.fac-sect-service-list-item:not(:last-child){
    margin-bottom: 3px;
}
.fac-sect-service-list-item::before{
    position: absolute;
    top: calc(.5em - 1px);
    left: calc(.5em - 4px);
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #FFBD66;
    content: "";
}
@media screen and (max-width:768px){
    .fac-sect-service-list-item::before{
        top: .5em;
    }
}
.fac-sect-note-list{
    margin-top: 8px;
}
.fac-sect-note-list-item{
    position: relative;
    padding-left: 1em;
    font-size: 1.4rem;
    line-height: calc(1em + 6px);
}
.fac-sect-note-list-item:not(:last-child){
    margin-bottom: 4px;
}
@media screen and (max-width:768px){
    .fac-sect-note-list{
        margin-top: 9px;
    }
    .fac-sect-note-list-item{
        font-size: 1.3rem;
    }
}
.fac-sect-note-list-item::before{
    position: absolute;
    top: 0;
    left: 0;
    color: var(--text-col-red);
    content: "※";
}
.fac-sect-link{
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 35px;
    padding: 20px;
    border-radius: 8px;
    background: var(--bg-col-gray);
}
@media screen and (max-width:768px){
    .fac-sect-link{
        margin-top: 27px;
        padding: 15px 20px;
        border-radius: 4px;
    }
}
.fac-sect-link-btn{
    min-width: 240px;
}
@media screen and (min-width:769px){
    .fac-sect-link-btn._middle{
        min-width: 440px;
    }
}
@media screen and (max-width:768px){
    .fac-sect-link-btn{
        min-width: min(440px, 100%);
    }
}
.fac-sect-link-btn a[target="_blank"]::before{
    background-image: url(../images/icon_blank_white.svg);
}

/*-------------
access
-------------*/
.access-lead{
    width: var(--inner-width);
    margin: 0 auto 60px;
}
@media screen and (max-width:768px){
    .access-lead{
        margin-bottom: 40px;
    }
}
.access-lead__gmap{
    position: relative;
    z-index: 0;
    margin-bottom: 38px;
    overflow: hidden;
    border-radius: 8px;
    background: var(--bg-col-gray);
}
.access-lead__gmap .loading{
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: -1;
}
body:not(.preload) .access-lead__gmap .loading{
    display: none;
}
@media screen and (max-width:768px){
    .access-lead__gmap{
        margin-bottom: 28px;
        border-radius: 0;
        background-size: 50px auto;
    }
    .access-lead__gmap .loading{
        --dotSize: 12px;
    }
    .access-lead__gmap iframe{
        width: 100%;
        height: unset;
        aspect-ratio: 1 / 1;
    }
}
.access-lead-walk{
    display: flex;
    gap: 0 20px;
}
@media screen and (max-width:768px){
    .access-lead-walk{
        flex-direction: column;
        gap: 23px 0;
    }
}
.access-lead-walk-item{
    flex: 1;
}
.access-lead-walk-title{
    position: relative;
    margin-bottom: 19px;
    padding-left: 49px;
    color: var(--acc-col-black);
    font-size: 2.4rem;
    font-weight: bold;
    line-height: calc(1em + 3px);
}
.access-lead-walk-title::before{
    position: absolute;
    top: 2px;
    left: 0;
    width: 37px;
    height: calc(100% - 3px);
    padding-right: 12px;
    border-right: solid 1px var(--acc-col-gray);
    background: no-repeat center left / 24px auto;
    content: "";
}
@media screen and (max-width:768px){
    .access-lead-walk-title{
        margin-bottom: 9px;
        padding-left: 39px;
        font-size: 1.8rem;
    }
    .access-lead-walk-title::before{
        width: 29px;
        padding-right: 10px;
        background-size: 18px auto;
    }
}
.access-lead-walk-title._train::before{
    background-image: url(../images/access-icon_train.svg);
}
.access-lead-walk-title._bus::before{
    background-image: url(../images/access-icon_bus.svg);
}
.access-lead-walk-times{
    display: grid;
    align-items: center;
    grid-template-columns: auto 1fr;
    padding: 13px 30px;
    border-radius: 4px;
    background: var(--bg-col-gray);
}
@media screen and (max-width:768px){
    .access-lead-walk-times{
        padding: 3px 15px;
    }
}
.access-lead-walk-times-item{
    display: grid;
    grid-template-columns: subgrid;
    grid-column: span 2;
    gap: 0 20px;
    line-height: calc(1em + 3px);
}
.access-lead-walk-times-item:not(:last-child){
    border-bottom: solid 1px var(--acc-col-gray);
}
@media screen and (max-width:768px){
    .access-lead-walk-times-item{
        gap: 0 10px;
    }
}
.access-lead-walk-times-head{
    min-width: 100px;
    color: var(--acc-col-black);
}
@media screen and (max-width:768px){
    .access-lead-walk-times-head{
        min-width: 85px;
    }
}
.access-lead-walk-times-head a:not(:hover){
    text-decoration: underline;
}
.access-lead-walk-times-head a,
.access-lead-walk-times-body{
    display: block;
    padding: 10px 0 11px;
}

/* access-route */
.access-route{
    margin-bottom: 57px;
    padding: 57px 0 60px;
    border-bottom: solid 1px var(--acc-col-gray);
    background: var(--bg-col-gray);
}
@media screen and (max-width:768px){
    .access-route{
        margin-bottom: 37px;
        padding: 37px 0 40px;
    }
}
.access-route-inner{
    width: var(--inner-width);
    margin: 0 auto;
}
.access-route-sect:not(:last-child){
    margin-bottom: 38px;
}
@media screen and (max-width:768px){
    .access-route-sect:not(:last-child){
        margin-bottom: 18px;
    }
}
.access-route-sect-title{
    display: flex;
    align-items: center;
    position: relative;
    min-height: 36px;
    margin-bottom: 22px;
    padding-left: 46px;
    color: var(--acc-col-black);
    font-size: 2.4rem;
    font-weight: bold;
    line-height: calc(1em + 3px);
}
.access-route-sect-title::before{
    position: absolute;
    top: 2px;
    left: 0;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--base-col-black) no-repeat center / 24px auto;
    content: "";
}
@media screen and (max-width:768px){
    .access-route-sect-title{
        min-height: 20px;
        margin-bottom: 12px;
        padding-left: 28px;
        font-size: 1.8rem;
    }
    .access-route-sect-title::before{
        width: 20px;
        height: 20px;
        background-size: 14px auto;
    }
}
.access-route-sect-title._train::before{
    background-image: url(../images/access-icon_train_white.svg);
}
.access-route-sect-title._car::before{
    background-image: url(../images/access-icon_car_white.svg);
}
.access-route-map{
    display: flex;
    flex-direction: column;
    align-items: center;
    overflow: hidden;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,.1);
    background: #fff;
}
@media screen and (max-width:768px){
    .access-route-map{
        border-radius: 4px;
    }
}

/* access-parking */
.access-parking{
    width: var(--inner-width);
    margin: 0 auto;
}
.access-parking-inner{
    display: flex;
    align-items: flex-start;
    gap: 0 20px;
}
@media screen and (max-width:768px){
    .access-parking-inner{
        flex-direction: column;
        gap: 10px 0;
    }
}
.access-parking-body{
    flex: 1 1 auto;
}
.access-parking-lead{
    margin-bottom: 15px;
    line-height: calc(1em + 11px);
}
@media screen and (max-width:768px){
    .access-parking-lead{
        margin-bottom: 21px;
    }
}
.access-parking-info{
    display: grid;
    grid-template-columns: auto 1fr;
    padding: 20px 30px 22px;
    border-radius: 4px;
    background: var(--bg-col-gray);
}
@media screen and (max-width:768px){
    .access-parking-info{
        display: block;
        padding: 16px 15px 17px;
    }
}
.access-parking-info-row{
    display: grid;
    grid-template-columns: subgrid;
    grid-column: span 2;
    gap: 0 20px;
    line-height: calc(1em + 8px);
}
.access-parking-info-row:not(:last-child){
    margin-bottom: 7px;
    padding-bottom: 9px;
    border-bottom: solid 1px var(--acc-col-gray);
}
@media screen and (max-width:768px){
    .access-parking-info-row{
        display: block;
        line-height: calc(1em + 7px);
    }
    .access-parking-info-row:not(:last-child){
        margin-bottom: 16px;
        padding-bottom: 17px;
    }
}
.access-parking-info-term{
    min-width: 120px;
    color: var(--acc-col-black);
    font-weight: bold;
}
@media screen and (max-width:768px){
    .access-parking-info-term{
        min-width: 0;
        margin-bottom: 4px;
    }
}
.access-parking-map{
    flex: 0 0 auto;
}

/*-------------
company
-------------*/
.comp-lead{
    width: min(1000px, var(--inner-width));
    margin: 0 auto 77px;
}
@media screen and (max-width:768px){
    .comp-lead{
        margin-bottom: 37px;
    }
}
.comp-lead-title{
    margin: 0 0 21px 1px;
    line-height: 1;
    text-align: center;
}
@media screen and (max-width:768px){
    .comp-lead-title{
        width: 213px;
        margin: 0 auto 20px;
    }
}
.comp-lead-text{
    line-height: calc(1em + 16px);
    text-align: center;
}
@media screen and (max-width:768px){
    .comp-lead-text{
        line-height: calc(1em + 11px);
    }
    .comp-lead-text-head{
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 5px 0;
        line-height: 1;
    }
    .comp-lead-text .__equal{
        display: block;
        margin: 0 auto -1px;
        line-height: 1;
        writing-mode: vertical-rl;
    }
}
.comp-lead-visual{
    width: 700px;
    margin: 51px auto 0;
    overflow: hidden;
    border-radius: 8px;
}
@media screen and (max-width:768px){
    .comp-lead-visual{
        width: min(700px, 100%);
        margin-top: 19px;
        border-radius: 5px;
    }
}

/* comp-contact */
.comp-contact{
    width: min(1000px, var(--inner-width));
    margin: 0 auto 57px;
}
@media screen and (max-width:768px){
    .comp-contact{
        margin-bottom: 27px;
    }
}
.comp-contact-list{
    display: grid;
    grid-template-columns: 300px 1fr;
    gap: 0 20px;
    border-top: solid 1px var(--border-col-gray);
}
.comp-contact-list-item{
    display: grid;
    grid-template-columns: subgrid;
    grid-column: span 2;
    padding: 21px 0;
    border-bottom: solid 1px var(--border-col-gray);
}
@media screen and (max-width:768px){
    .comp-contact-list{
        display: block;
    }
    .comp-contact-list-item{
        display: block;
        padding: 18px 10px 17px 26px;
    }
}
.comp-contact-list-head{
    position: relative;
    padding-left: 26px;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: calc(1em + 4px);
}
.comp-contact-list-head::before{
    position: absolute;
    top: calc(.5em - 1px);
    left: 10px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--main-col-orange);
    content: "";
}
@media screen and (max-width:768px){
    .comp-contact-list-head{
        margin-bottom: 10px;
        padding-left: 0;
    }
    .comp-contact-list-head::before{
        top: calc(.5em - 2px);
        left: -16px;
    }
}
.comp-contact-list-body{
    display: grid;
    grid-template-columns: auto 1fr;
    grid-column: 2 / 3;
}
.comp-contact-list-body:not(:last-child){
    margin-bottom: 15px;
    padding-bottom: 16px;
    border-bottom: solid 1px var(--border-col-gray);
}
@media screen and (max-width:768px){
    .comp-contact-list-body:not(:last-child){
        margin-bottom: 12px;
        padding-bottom: 12px;
    }
}
.comp-contact-list__term{
    grid-column: 1 / 3;
    margin-bottom: 6px;
    line-height: calc(1em + 4px);
}
@media screen and (max-width:768px){
    .comp-contact-list__term{
        margin-bottom: 2px;
        line-height: calc(1em + 6px);
    }
}
.comp-contact-list__desc{
    display: grid;
    grid-template-columns: subgrid;
    grid-column: span 2;
    gap: 0 5px;
    font-family: var(--font-en);
    font-size: 1.4rem;
    line-height: calc(1em + 6px);
}
.comp-contact-list__desc .__head{
    grid-column: 1 / 2;
    min-width: 31px;
    color: var(--main-col-orange);
}
.comp-contact-list__desc .__body{
    grid-column: 2 / 3;
}
.comp-contact-list__desc a:not([href^="tel:"]):not(:hover){
    text-decoration: underline;
}

/* comp-about */
.comp-about{
    width: min(1000px, var(--inner-width));
    margin: 0 auto;
}
.comp-about-pic{
    margin: 0 auto 33px;
}
@media screen and (max-width:768px){
    .comp-about-pic{
        margin-bottom: 14px;
    }
}
.comp-about-pic img{
    display: block;
    margin: 0 auto;
}
.comp-about-desc{
    line-height: var(--lineheight-base);
}
.comp-about-desc p:not(:last-child){
    margin-bottom: 16px;
}
@media screen and (max-width:768px){
    .comp-about-desc p:not(:last-child){
        margin-bottom: 9px;
    }
}
.comp-about-info{
    margin-top: 35px;
    padding: 6px 30px;
    border-radius: 4px;
    background: var(--bg-col-gray);
}
@media screen and (max-width:768px){
    .comp-about-info{
        margin-top: 15px;
        padding: 0 15px 5px;
    }
}
.comp-about-info-table{
    width: 100%;
}
.comp-about-info-table tr:not(:last-child){
    border-bottom: solid 1px var(--acc-col-gray);
}
.comp-about-info-table th,
.comp-about-info-table td{
    padding: 19px 0 21px 10px;
    line-height: calc(1em + 8px);
}
.comp-about-info-table th{
    width: 130px;
    font-weight: bold;
}
@media screen and (max-width:768px){
    .comp-about-info-table tr{
        display: block;
        padding: 16px 0 17px;
    }
    .comp-about-info-table th,
    .comp-about-info-table td{
        display: block;
        width: 100%;
        padding: 0;
        line-height: calc(1em + 7px);
    }
    .comp-about-info-table th{
        margin-bottom: 4px;
    }
}

/*-------------
404
-------------*/
.err404{
    display: flex;
    flex-direction: column;
    align-items: center;
    width: var(--inner-width);
    margin: 0 auto;
    padding: 50px;
    border-radius: 8px;
    background: var(--bg-col-gray);
}
.err404-title{
    margin-bottom: 21px;
}
.err404-text{
    text-align: center;
    line-height: 2em;
}
.err404-btn{
    width: min(360px, 100%);
    margin: 33px auto 0;
}
@media screen and (max-width:768px){
    .err404{
        padding: 22px 15px 25px;
        border-radius: 4px;
    }
    .err404-title{
        margin-bottom: 19px;
    }
    .err404-text{
        text-align: left;
        line-height: calc(1em + 11px);
    }
    .err404-btn{
        margin-top: 25px;
    }
}
