@charset "utf-8";
/*上部ショップ詳細*/
.content__shop-detail{
    background-color: var(--color-secondarybg);
    padding: 20px var(--space-large);
    display: flex;
    align-items:flex-start;
    margin: 0 0 30px;
}

.img-logo{
    border: 1px solid var(--color-border);
    width: 100%;
    max-width: 85px;
    margin-right: 25px;
    background-color: #fff;
}

.img-logo img{
    aspect-ratio: 4 / 3;
    object-fit: contain;
}

.shop-detail-txt{
    line-height: 1;
    display: grid;
    grid-template-columns: min-content auto 1fr;
    grid-template-rows: auto auto auto;
}

.txt--floor, .txt--date, .txt--dutyfree{
    grid-row: 1 / 2;
}

.txt--floor{
    grid-column: 1 / 2;
    padding: 2px 4px;
    background-color: var(--color-key);
    white-space: nowrap;
    font-size: .75rem;
    font-weight: var(--font-bold);
    min-height: 21px;
    line-height: 1.5;
    margin-right: 10px;
}

.txt--dutyfree{
    grid-column: 2 / 3;
    font-size: .563rem;
    border: 1px solid var(--color-border);
    margin-right: 10px;
    align-self: center;
    height: 16px;
    line-height: 16px;
    padding: 0 3px;
    color: var(--color-secondarytext);
}

.txt--date{
    grid-column: 3 / 4;
    font-size: .75rem;
    line-height: .75rem;
    align-self: center;
}

.txt--new{
    color: var(--color-attention);
    font-weight: var(--font-bold);
    letter-spacing: .06em;
    margin-right: 10px;
}

.txt--date time{
    color: var(--color-teritiarytext);
    letter-spacing: .04em;
}

.txt--date time::after{
    content: "OPEN";
    margin-left: .1rem;
}

.txt--shopname, .txt--ruby{
    grid-column: 1 / 4;
}

.txt--shopname{
    grid-row: 2 / 3;
    font-size: .875rem;
    font-weight: var(--font-bold);
    line-height: 1.2;
    margin: 5px 0 10px;
}

.txt--ruby{
    grid-row: 3 / 4;
    font-size: .625rem;
    line-height: 1.2;
}

/*スライド画像*/
.content__main-img{
    margin: 0 var(--space-large);
}

.content__slide img{
    width: 100%;
    height: 100%;
    aspect-ratio: 4 / 3;
    object-fit: contain;
}

.shopdetail .slide-navigation{
    margin: 10px 0 60px;
}

/*テキスト*/
.shop-description{
    margin: 40px 0 0;
    padding: 0 var(--space-large);
}

.description-ttl{
    font-size: 1.188rem;
    font-weight: var(--font-medium);
    line-height: 1.6;
    padding: 0 0 26px;
    border-bottom: 1px solid var(--color-border);
}

.description-txt{
    font-size: .938rem;
    line-height: 1.8;
    margin: 27px 0 40px;
}

.shop-profile{
    background-color: var(--color-secondarybg);
    padding: 25px var(--space-large) 35px;
    display: grid;
    gap: 30px 20px;
    font-size: .813rem;
    margin: 0 0 80px;
}

.shop-profile dt{
    grid-column: 1 / 2;
    font-weight: var(--font-bold);
}

.term--center{
    align-self: center;
}

.shop-profile dd{
    grid-column: 2 / 3;
}

.link--map{
    display: flex;
    align-items: center;
}

.link--map span{
    margin-right: 16px;
}

.link--map a{
    font-size: .625rem;
    letter-spacing: .09em;
    font-weight: var(--font-bold);
    text-align: center;
    display: block;
    clip-path: var(--shape-button);
    padding: 7px 16px;
    background-color: var(--color-key);
    transition: background-color var(--hover-animation), color var(--hover-animation);
}

.link--map a:hover{
    background-color: var(--color-primarytext);
    color: #fff;
}

.link--site a{
    text-decoration: underline;
    position: relative;
}

.link--site a::after{
    content: "";
    display: inline-block;
    background-repeat: no-repeat;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="18,14"><path stroke="%23000" fill="none" d="M4.3,7h13.2l-5-3.2" /><polyline points="9.9 4.3 9.9 .7 .5 .7 .5 13.3 9.9 13.3 9.9 9.7" stroke="%23000" fill="none"/></svg>');
    width: 18px;
    height: 14px;
    vertical-align: middle;
}

.link--site span{
    margin-right: .5em;
}

.list-shop-sns{
    display: flex;
}

.list-shop-sns li{
    width: 26px;
    height: 26px;
}

.list-shop-sns li:not(:last-of-type){
    margin-right: 20px;
}

.link--site a, .list-shop-sns a{
    transition: opacity var(--hover-animation);
}

.link--site a:hover, .list-shop-sns a:hover{
    opacity: var(--hover-opacity);
}

.other-shopnews{
    padding: 0 var(--space-large);
}

.other-shopnews .card__date{
    margin: 0 0 10px;
}

.other-shopnews .card__img{
    position: relative;
    overflow: hidden;
}

.other-shopnews .card__img img{
    position: absolute;
    top: 0;
    left: 0;
    aspect-ratio: 1 / 1;
    width: 100%;
}

.other-shopnews .card__img img:first-of-type{
    object-fit: cover;
    -ms-filter: blur(2px) brightness(1.2);
    filter: blur(2px) brightness(1.2);
    z-index: 0;
    transform: scale(1.1);
}

.other-shopnews .card__img img:last-of-type{
    object-fit: contain;
    height: inherit;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.content__btn--center{
    margin: 80px 0 0;
}