@charset "UTF-8";

.gallery {
    position: relative;
}

.gallery_slider .splide__slide > img {
    width: 100%;
    height: auto;
    vertical-align: middle;
}

.gallery_slider .splide__pagination {
    display: flex;
    align-items: center;
    gap: 0;
    position: absolute;
    top: calc(100% + var(--px18));
    right: var(--px15);
    z-index: 10;
}

.gallery_slider .splide__pagination__page {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: var(--px24);
    height: var(--px24);
    cursor: pointer;
}

.gallery_slider .splide__pagination__page::before {
    content: "";
    display: block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--color-primary);
}

.gallery_slider .splide__pagination__page::after {
    content: "";
    position: absolute;
    inset: 4px;
    border: 1px solid transparent;
    border-radius: 50%;
    transition: border 0.3s;
}

.gallery_slider .splide__pagination__page.is-active::after {
    border-color: var(--color-primary);
}

.tour {
    padding: var(--px72) var(--inner-padding) var(--px90);
}

.tour_hd {
    display: grid;
    gap: var(--px12);
}

.tour_hd_num {
    font-size: var(--px20);
    line-height: 1.3;
}

.tour_hd_ttl {
    font-size: var(--px24);
    line-height: 1.7;
    letter-spacing: 0;
}

.tour_body {
    margin-top: var(--px54);
    font-size: var(--px16);
}

.tour_back {
    margin-top: var(--px60);
    text-align: center;
}

.u-btn.-back {
    border-color: var(--color-primary);
    color: var(--color-primary);
}

.u-btn.-back:hover {
    background: color-mix(in srgb, var(--color-primary) 10%, transparent);
}

.reserve {
    position: sticky;
    bottom: 0;
    z-index: 100;
    height: 0;
}

.reserve_inner {
    display: flex;
    justify-content: center;
    position: absolute;
    right: 0;
    bottom: var(--px32);
    left: 0;
}

.u-btn.-reserve {
    border-color: var(--color-white);
    box-shadow: 0 0.25rem 1rem rgba(0, 0, 0, 0.3);
    background: var(--color-primary);
    color: var(--color-white);
}

.u-btn.-reserve::before {
    content: "\e901";
    font-size: var(--px18);
    font-family: icomoon;
}

.u-btn.-reserve:hover {
    background: color-mix(in srgb, var(--color-primary) 85%, white);
}

.-tour .footer {
    padding-bottom: calc(var(--px60) + var(--px50) + var(--px24));
}
