.hotel-reservation {
    display: block;
    width: 100%;
    margin: 3em auto;
    overflow: hidden;
    border-radius: 5px;
}

.hotel-reservation img {
    width: 100%;
    height: auto;
}

/* slide-gallery */
.gallery-slide-wrp {}

.wp-block-gallery.gallery-slide {
    width: 100%;
    margin-bottom: 0;
}

.wp-block-gallery.gallery-slide figure.wp-block-image {
    width: 100%;
    min-width: 300px;
}

.wp-block-gallery .wp-block-image figcaption {
    margin: 0 !important;
}

.wp-block-gallery.gallery-slide .slick-dots {
    position: static;
    display: flex !important;
    flex-wrap: wrap;
    gap: 8px;
    margin: 12px 0 0;
    padding: 0;
}

.wp-block-gallery.gallery-slide .slick-dots li {
    width: 64px;
    height: 64px;
    margin: 0;
}

.wp-block-gallery.gallery-slide .slick-dots button {
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    overflow: hidden;
    /* border-radius: 4px; */
}

.wp-block-gallery.gallery-slide .slick-dots button::before {
    content: none;
}

.wp-block-gallery.gallery-slide .slick-dots button img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: .5;
    transition: opacity .2s ease;
}

.wp-block-gallery.gallery-slide .slick-dots .slick-active button img {
    opacity: 1;
}

/* list with background */
ol.post-list,
ul.post-list {
    background-color: #f9f9f9;
    padding: 1em;
    border-radius: 5px;
}

ol.post-list li,
ul.post-list li {
    margin-left: 1.5em;
}

/* shop info */
.shop-info {
    width: 100%;
    padding: 1em;
    background-color: #f9f9f9;
    margin: 2em auto;
}

.shop-info .shop-info-title {
    font-size: min(1.1em, 4vw);
    line-height: 1.4;
    margin-top: 0;
    margin-bottom: 1em;
}

p.shop-info-list,
.shop-info-holiday,
.shop-info-tel,
.shop-info-time,
.shop-info-homepage,
.shop-info-address {
    line-height: 1.6;
    margin: 0 auto .5em;
    display: block;
    width: 100%;
    margin-bottom: .5em;
    padding-left: 1.5em;
    position: relative;
    font-size: min(1em, 3.5vw) !important;
}

.shop-info-holiday::before,
.shop-info-tel::before,
.shop-info-time::before,
.shop-info-homepage::before,
.shop-info-address::before {
    content: '';
    width: .3em;
    height: .3em;
    border: 4px solid #ccc;
    border-radius: 100%;
    position: absolute;
    top: .35em;
    left: 0;
}

.shop-info-tel:before {
    width: 14px;
    height: 14px;
    border: unset;
    border-radius: unset;

    display: inline-block;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23000' d='M11 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1zM5 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2z'/%3E%3Cpath fill='%23000' d='M8 14a1 1 0 1 0 0-2 1 1 0 0 0 0 2'/%3E%3C/svg%3E");
}

.shop-info-address:before {
    width: 14px;
    height: 14px;
    border: unset;
    border-radius: unset;

    display: inline-block;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23000' d='M12.166 8.94c-.524 1.062-1.234 2.12-1.96 3.07A32 32 0 0 1 8 14.58a32 32 0 0 1-2.206-2.57c-.726-.95-1.436-2.008-1.96-3.07C3.304 7.867 3 6.862 3 6a5 5 0 0 1 10 0c0 .862-.305 1.867-.834 2.94M8 16s6-5.686 6-10A6 6 0 0 0 2 6c0 4.314 6 10 6 10'/%3E%3Cpath fill='%23000' d='M8 8a2 2 0 1 1 0-4 2 2 0 0 1 0 4m0 1a3 3 0 1 0 0-6 3 3 0 0 0 0 6'/%3E%3C/svg%3E");
}

.shop-info-address.gmap-btn a {
    width: fit-content;
    display: inline-block;
    position: relative;
}

.shop-info-address.gmap-btn a:after {
    content: 'MAP';
    display: inline-block;
    width: fit-content;
    padding: .25em .5em;
    font-size: .8em;
    font-family: var(--en);
    font-weight: 600;
    border-radius: 3px;
    background-color: #fff;
    border: 1px solid;
    text-box: trim-both cap alphabetic;
    position: relative;
    right: -1em;
}

.shop-info-time:before {
    width: 14px;
    height: 14px;
    border: unset;
    border-radius: unset;

    display: inline-block;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='%23000' d='M8 3.5a.5.5 0 0 0-1 0V9a.5.5 0 0 0 .252.434l3.5 2a.5.5 0 0 0 .496-.868L8 8.71z'/%3E%3Cpath fill='%23000' d='M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16m7-8A7 7 0 1 1 1 8a7 7 0 0 1 14 0'/%3E%3C/svg%3E");
}

.shop-info-homepage:before {
    width: 14px;
    height: 14px;
    border: unset;
    border-radius: unset;

    display: inline-block;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23000' d='M13.5 3a.5.5 0 0 1 .5.5V11H2V3.5a.5.5 0 0 1 .5-.5zm-11-1A1.5 1.5 0 0 0 1 3.5V12h14V3.5A1.5 1.5 0 0 0 13.5 2zM0 12.5h16a1.5 1.5 0 0 1-1.5 1.5h-13A1.5 1.5 0 0 1 0 12.5'/%3E%3C/svg%3E");

}

.shop-info-holiday:before {
    width: 14px;
    height: 14px;
    border: unset;
    border-radius: unset;

    display: inline-block;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23000' d='M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5M2 2a1 1 0 0 0-1 1v1h14V3a1 1 0 0 0-1-1zm13 3H1v9a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1z'/%3E%3Cpath fill='%23000' d='M11 7.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5z'/%3E%3C/svg%3E");

}

.shop-info .icon {
    display: inline-flex;
    display: none;
    width: 1.1em !important;
    height: 1.1em !important;
    vertical-align: middle;
    margin-right: .5em;
}

.shop-info .icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.shop-info .shop-content,
.shop-info .content {
    float: unset !important;
    width: 100%;
}

.shop-info .shop-info-remark {
    font-size: min(.8em, 3vw);
}

.shop-info-address span {
    display: inline-block;
    color: #fff !important;
    background-color: #666;
    border-radius: 3px;
    padding: .2em .5em;
    font-size: .8em;
}

/* table outside link banner */
.single-article-inner table {
    width: 100% !important;
}

.single-article-inner table p {
    margin: 0 !important;
}

.single-article-inner table+img {
    height: 0;
}


/* list */
ul.single-text.has-background {
    padding: 1em 1em 1em 2.5em;
    border-radius: 5px;
}

.wp-embed {
    padding: 15px;
    background: #eee;
    max-width: 640px;
}

/* wp embed */
iframe.wp-embedded-content {
    width: fit-content !important;
}

.wp-embed-featured-image img {
    object-fit: cover;
    width: 120px;
    height: 120px;
}

p.wp-embed-heading {
    font-size: 18px;
    margin: 0 0 10px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

.wp-embed-site-icon {
    width: 15px;
    height: 15px;
}

.wp-embed-site-title a {
    padding-left: 20px;
    font-size: 12px;
}

.wp-embed-excerpt {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

.wp-embed-featured-image {
    margin-bottom: 10px;
}

.wp-embed-footer {
    margin-top: 10px;
}

/* rakuten card */
.rakuten-card,
.rakuten-card>table {
    width: 100%;
    border: 1px solid #ccc;
    max-width: 580px;
    margin: 4em auto 2em;
}

.rakuten-card+img[width="1"][height="1"]+.rakuten-card {
    margin-top: 0;
}

.rakuten-card a,
.rakuten-card p {
    font-size: min(14px, 3.5vw);
    line-height: 1.6;
}