@charset "UTF-8";
/*
Handheld Device VW Formula
- (1:1 DESIGN-PIXEL/390)*100vw;
- 10 decimal places. (ex : 2.012345679)
 */


/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
    display: block;
}

body {
    line-height: 1;
}

button {
    font-family: inherit;
    line-height: inherit;
}

ol, ul {
    list-style: none;
}

blockquote, q {
    quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
    content: "";
    content: none;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

a:link {
    text-decoration: none;
}

.join-cont {
    width: 100%;
}
.join-cont .desc {
    line-height: 1.43;
}
.join-cont h2 {
    line-height: 1.25;
}
@media (min-width: 1024px) {
    .join-cont {
        max-width: 520px;
    }
    .join-cont .desc {
        line-height: 1.56;
    }
    .join-cont h2 {
        line-height: normal;
    }
}

.terms-info {
    line-height: 1.5;
}
.terms-list > li {
    border-bottom: 1px solid #eee;
}
.terms-list > li:last-child {
    border-bottom: none;
}
.terms-list > li.open {
    border-bottom: none;
}
.terms-list > li.open .terms-arrow {
    transform: rotate(180deg);
}


/*
Font
*/
@font-face {
    font-family: "Pretendard";
    font-weight: 900;
    font-display: swap;
    src: local("Pretendard Black"), url("../font/Pretendard-Black.woff2") format("woff2");
}
@font-face {
    font-family: "Pretendard";
    font-weight: 800;
    font-display: swap;
    src: local("Pretendard ExtraBold"), url("../font/Pretendard-ExtraBold.woff2") format("woff2");
}
@font-face {
    font-family: "Pretendard";
    font-weight: 700;
    font-display: swap;
    src: local("Pretendard ExtraBold"), url("../font/Pretendard-Bold.woff2") format("woff2");
}
@font-face {
    font-family: "Pretendard";
    font-weight: 600;
    font-display: swap;
    src: local("Pretendard ExtraBold"), url("../font/Pretendard-SemiBold.woff2") format("woff2");
}
@font-face {
    font-family: "Pretendard";
    font-weight: 500;
    font-display: swap;
    src: local("Pretendard Bold"), url("../font/Pretendard-Medium.woff2") format("woff2");
}
@font-face {
    font-family: "Pretendard";
    font-weight: 500;
    font-display: swap;
    src: local("Pretendard Medium"), url("../font/Pretendard-Medium.woff2") format("woff2");
}
@font-face {
    font-family: "Pretendard";
    font-weight: 400;
    font-display: swap;
    src: local("Pretendard Regular"), url("../font/Pretendard-Regular.woff2") format("woff2");
}
@font-face {
    font-family: "Pretendard";
    font-weight: 300;
    font-display: swap;
    src: local("Pretendard Light"), url("../font/Pretendard-Light.woff2") format("woff2");
}
@font-face {
    font-family: "Pretendard";
    font-weight: 200;
    font-display: swap;
    src: local("Pretendard ExtraLight"), url("../font/Pretendard-ExtraLight.woff2") format("woff2");
}
@font-face {
    font-family: "Pretendard";
    font-weight: 200;
    font-display: swap;
    src: local("Pretendard ExtraLight"), url("../font/Pretendard-Thin.woff2") format("woff2");
}
/*
kayframe
*/
@keyframes animatedgradient {
    0% {
        background-position: 0 50%;
    }
    50% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0 50%;
    }
}
/*
utility
*/
p.helper {
    font-size: 3.0769230769vw;
    line-height: 4.1025641026vw;
    color: #111;
    display: block;
}
p.helper[data-type=error] {
    display: flex;
    color: #DF0033;
    font-size: 3.0769230769vw;
    gap: 1.0256410256vw;
    align-items: center;
    text-align: left;
}
p.helper[data-type=error]:before {
    content: "";
    display: block;
    width: 3.5897435897vw;
    height: 3.5897435897vw;
    background-image: url("../img/pictogram/picto-xs-helper-error@3x.png");
    background-size: 100%;
}

small.helper {
    font-size: 3.0769230769vw;
    line-height: 4.1025641026vw;
    color: #111;
    display: block;
    list-style: disc;
    margin-left: 3.8461538462vw;
}

hr {
    padding: 0;
    border: 0 none;
    height: 0.2564102564vw;
    background-color: #eee;
    margin: 5.1282051282vw 0;
}

ul.helper {
    font-size: 3.0769230769vw;
    line-height: 4.1025641026vw;
    color: #111;
    margin-top: 2.0512820513vw;
    display: flex;
    flex-flow: column;
    gap: 1.0256410256vw;
}
ul.helper li {
    list-style: disc;
    margin-left: 3.8461538462vw;
}
/*
Swiper
 */
@font-face {
    font-family: "swiper-icons";
    src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA");
    font-weight: 400;
    font-style: normal;
}
:root {
    --swiper-theme-color: #007aff;
}

:host {
    position: relative;
    display: block;
    margin-left: auto;
    margin-right: auto;
    z-index: 1;
}

.swiper {
    margin-left: auto;
    margin-right: auto;
    position: relative;
    overflow: hidden;
    list-style: none;
    padding: 0;
    z-index: 1;
    display: block;
}

.swiper-vertical > .swiper-wrapper {
    flex-direction: column;
}

.swiper-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 1;
    display: flex;
    transition-property: transform;
    transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
    box-sizing: content-box;
}

.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
    transform: translate3d(0px, 0, 0);
}

.swiper-horizontal {
    touch-action: pan-y;
}

.swiper-vertical {
    touch-action: pan-x;
}

.swiper-slide {
    flex-shrink: 0;
    width: 100%;
    height: 100%;
    position: relative;
    transition-property: transform;
    display: block;
}

.swiper-slide-invisible-blank {
    visibility: hidden;
}

.swiper-autoheight,
.swiper-autoheight .swiper-slide {
    height: auto;
}

.swiper-autoheight .swiper-wrapper {
    align-items: flex-start;
    transition-property: transform, height;
}

.swiper-backface-hidden .swiper-slide {
    transform: translateZ(0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

.swiper-3d.swiper-css-mode .swiper-wrapper {
    perspective: 1200px;
}

.swiper-3d .swiper-wrapper {
    transform-style: preserve-3d;
}

.swiper-3d {
    perspective: 1200px;
}

.swiper-3d .swiper-slide,
.swiper-3d .swiper-cube-shadow {
    transform-style: preserve-3d;
}

.swiper-css-mode > .swiper-wrapper {
    overflow: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
    display: none;
}

.swiper-css-mode > .swiper-wrapper > .swiper-slide {
    scroll-snap-align: start start;
}

.swiper-css-mode.swiper-horizontal > .swiper-wrapper {
    scroll-snap-type: x mandatory;
}

.swiper-css-mode.swiper-vertical > .swiper-wrapper {
    scroll-snap-type: y mandatory;
}

.swiper-css-mode.swiper-free-mode > .swiper-wrapper {
    scroll-snap-type: none;
}

.swiper-css-mode.swiper-free-mode > .swiper-wrapper > .swiper-slide {
    scroll-snap-align: none;
}

.swiper-css-mode.swiper-centered > .swiper-wrapper::before {
    content: "";
    flex-shrink: 0;
    order: 9999;
}

.swiper-css-mode.swiper-centered > .swiper-wrapper > .swiper-slide {
    scroll-snap-align: center center;
    scroll-snap-stop: always;
}

.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
    margin-inline-start: var(--swiper-centered-offset-before);
}

.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
    height: 100%;
    min-height: 1px;
    width: var(--swiper-centered-offset-after);
}

.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
    margin-block-start: var(--swiper-centered-offset-before);
}

.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper::before {
    width: 100%;
    min-width: 1px;
    height: var(--swiper-centered-offset-after);
}

.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10;
}

.swiper-3d .swiper-slide-shadow {
    background: rgba(0, 0, 0, 0.15);
}

.swiper-3d .swiper-slide-shadow-left {
    background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-right {
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-top {
    background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-bottom {
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-lazy-preloader {
    width: 42px;
    height: 42px;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -21px;
    margin-top: -21px;
    z-index: 10;
    transform-origin: 50%;
    box-sizing: border-box;
    border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
    border-radius: 50%;
    border-top-color: transparent;
}

.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,
.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader {
    animation: swiper-preloader-spin 1s infinite linear;
}

.swiper-lazy-preloader-white {
    --swiper-preloader-color: #fff;
}

.swiper-lazy-preloader-black {
    --swiper-preloader-color: #000;
}

@keyframes swiper-preloader-spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}
/*
button
*/
button {
    padding: 0;
    margin: 0;
    -webkit-appearance: none;
    appearance: none;
    background-color: transparent;
    border: unset;
    cursor: pointer;
}
button:active {
    opacity: 0.7;
}
button:disabled {
    background-color: #ccc !important;
}

button.dismiss {
    opacity: 0;
    position: fixed;
    top: 0;
    right: 0;
    width: 8.7179487179vw;
    height: 8.7179487179vw;
    margin-right: 4.1025641026vw;
    margin-top: 4.1025641026vw;
    border-radius: 100%;
    z-index: 1000;
    background-color: rgba(0, 0, 0, 0.8);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
}
button.dismiss > .pictogram {
    width: 5.1282051282vw;
    height: 5.1282051282vw;
    background-size: 100%;
    background-image: url(../img/pictogram/picto-md-dismiss@3x.png);
}

a.cta,
button.cta,
button.more {
    box-sizing: border-box;
    display: flex;
    width: 100%;
    height: 12.8205128205vw;
    background-color: #111;
    border-radius: 3.0769230769vw;
    color: #fff;
    font-size: 3.5897435897vw;
    font-weight: 500;
    justify-content: center;
    align-items: center;
    margin: 5.1282051282vw 0 7.1794871795vw;
}
a.cta[data-style=outlined],
button.cta[data-style=outlined],
button.more[data-style=outlined] {
    background-color: transparent;
    border: solid 0.2564102564vw #AAA;
    color: #111;
}

button.flipper {
    box-sizing: border-box;
    position: absolute;
    right: 4.1025641026vw;
    top: 4.1025641026vw;
    width: 8.7179487179vw;
    height: 8.7179487179vw;
    background-color: rgba(0, 0, 0, 0.5);
    border-radius: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
button.flipper > .pictogram {
    display: block;
    width: 5.1282051282vw;
    height: 5.1282051282vw;
    background-size: 5.1282051282vw 5.1282051282vw;
}

[data-type=membership-summary] button.flipper .pictogram {
    background-image: url("../img/pictogram/picto-md-barcode@3x.png");
}

[data-type=membership-cards] button.flipper .pictogram {
    background-image: url("../img/pictogram/picto-md-turn@3x.png");
}
/*
form
*/
.form-group {
    display: flex;
    flex-direction: column;
    gap: 1.0256410256vw;
}

.form .textbox {
    position: relative;
}
.form .textbox > label {
    display: none;
}
.form .radio {
    position: relative;
    height: 15.3846153846vw;
}
.form .radio > label {
    background-color: #f8f8f8;
    border-radius: 3.0769230769vw;
    display: flex;
    justify-content: start;
    padding: 0 4.1025641026vw;
    align-items: center;
    height: 15.3846153846vw;
    gap: 2.0512820513vw;
}
.form .radio > label .label {
    align-content: center;
    font-weight: 500;
    font-size: 3.5897435897vw;
    flex-shrink: 0;
    margin-right: 0;
}
.form .radio > label .label:first-of-type {
    border-right: solid 0.2564102564vw #ccc;
    font-weight: 400;
    padding-right: 2.0512820513vw;
}
.form .radio > label .remain {
    margin-left: auto;
    width: auto;
    flex-shrink: 1;
    font-weight: 500;
    font-size: 3.5897435897vw;
}
.form .radio > label input {
    margin: 0;
    align-content: center;
}
.form .helper {
    margin-top: 2.0512820513vw;
}
.form input[type=text],
.form input[type=tel] {
    width: 100%;
    height: 15.3846153846vw;
    padding-block: unset;
    padding-inline: unset;
    border: solid 0.2564102564vw #ccc;
    border-radius: 3.0769230769vw;
    padding: 4.1025641026vw;
    box-sizing: border-box;
    font-size: 4.6153846154vw;
    appearance: none;
}
.form input[type=text]::placeholder,
.form input[type=tel]::placeholder {
    font-size: 4.1025641026vw;
    color: #aaa;
}
.form input[type=text]:focus,
.form input[type=tel]:focus {
    border-color: #111;
}
.form input[type=text]:focus-visible,
.form input[type=tel]:focus-visible {
    outline: none;
}
.form input[type=text][data-type=rim], .form input[type=text][data-type=stamp] {
    border: 0 none;
    border-bottom: solid 0.2564102564vw #111;
    border-radius: unset;
    font-family: "Pretendard", sans-serif;
    font-size: 7.1794871795vw;
    text-align: center;
    font-weight: 500;
    padding-top: 0;
    padding-bottom: 0vw;
    padding-left: 15.3846153846vw;
    padding-right: 15.3846153846vw;
}
.form span.placeholder {
    display: none;
    position: absolute;
    left: 0;
    top: 0;
    font-size: 3.0769230769vw;
}
/*
tooltip
*/
.tooltip {
    position: relative;
}
.tooltip .label {
    display: flex;
    gap: 1.0256410256vw;
    cursor: pointer;
}
.tooltip .label .pictogram {
    align-self: center;
    width: 4.1025641026vw;
    height: 4.1025641026vw;
    background-image: url("../img/pictogram/picto-sm-help@3x.png");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 100% 100%;
}
.tooltip .window {
    display: none;
    position: absolute;
    z-index: 1;
    background-color: rgba(0, 0, 0, 0.8980392157);
    border-radius: 3.0769230769vw;
    bottom: calc(100% + 2.5641025641vw);
    left: 50%;
    transform: translateX(-50%);
}
.tooltip .window:before {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    bottom: -1.2820512821vw;
    left: calc(50% - 1.2820512821vw);
    border-left: 1.2820512821vw solid transparent;
    border-right: 1.2820512821vw solid transparent;
    border-top: 1.2820512821vw solid rgba(0, 0, 0, 0.7960784314);
}
.tooltip .window p {
    font-size: 2.8205128205vw;
    padding: 2.5641025641vw 3.0769230769vw;
    line-height: 3.3333333333vw;
    width: 45.3846153846vw;
    color: #eee;
}
/*
toggle-switch
*/
.toggle-switch {
    width: 10.2564102564vw;
}
.toggle-switch label {
    display: block;
    cursor: pointer;
    line-height: 0;
}
.toggle-switch input {
    margin: 0;
    padding: 0;
    -webkit-appearance: none;
    appearance: none;
    position: relative;
    border: 0.2564102564vw solid #ccc;
    border-radius: 5.1282051282vw;
    width: 100%;
    height: 5.1282051282vw;
    background-color: #ccc;
    cursor: pointer;
}
.toggle-switch input:checked {
    background-color: #111;
    border-color: #111;
}
.toggle-switch input:checked::before {
    background-color: white;
    left: calc(100% - 4.358974359vw);
}
.toggle-switch input:before {
    content: "";
    position: absolute;
    left: 0.2564102564vw;
    top: 50%;
    width: 4.1025641026vw;
    height: 4.1025641026vw;
    border-radius: 50%;
    transform: scale(1) translateY(-50%);
    background-color: #fff;
    transition: left 200ms cubic-bezier(0.4, 0, 0.6, 1);
}
/*
module-block
*/
.module-block {
    position: relative;
    width: 89.7435897436vw;
    border-radius: 4.1025641026vw;
}
.module-block .backdrop {
    z-index: 0;
    width: 130%;
    height: 130%;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}
.module-block .backdrop img {
    width: 100%;
    height: 100%;
}
.module-block .contents {
    background-color: #fff;
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 100%;
    opacity: 1;
    display: flex;
    flex-flow: column;
    justify-content: flex-start;
    color: #000;
    z-index: 1;
}
.module-block .contents:after {
    content: "";
    mix-blend-mode: difference;
    position: absolute;
    left: -10000px;
    top: -10000px;
}
.module-block .contents[role=default] {
    cursor: pointer;
}
.module-block .contents > .visual {
    width: 100%;
    overflow: hidden;
    margin-bottom: 0;
    flex-shrink: 0;
    aspect-ratio: 350/250;
}
.module-block .contents > .visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.module-block .contents .head {
    padding: 5.1282051282vw 5.1282051282vw 0vw 5.1282051282vw;
    box-sizing: border-box;
    display: flex;
    flex-flow: column;
    gap: 1.5384615385vw;
}
.module-block .contents .head h2 {
    font-size: 5.1282051282vw;
    line-height: 6.1538461538vw;
    font-weight: 500;
    word-break: break-word;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}
.module-block .contents .head p, .module-block .contents .head small {
    line-height: 4.6153846154vw;
    word-break: break-word;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}
.module-block .contents .head p {
    font-size: 3.5897435897vw;
    font-weight: 300;
}
.module-block .contents .head small {
    font-size: 2.5641025641vw;
    display: block;
}
.module-block .contents .body {
    padding: 5.1282051282vw;
}
.module-block .contents .body .hero {
    margin-bottom: 8.2051282051vw;
}
.module-block .contents .body .hero h3 {
    font-size: 5.1282051282vw;
    line-height: 6.6666666667vw;
    font-weight: 500;
}
.module-block .contents .body .hero h3 strong {
    color: #14C3A2;
}
.module-block .contents .body .hero p.helper {
    font-weight: 300;
    font-size: 3.5897435897vw;
    line-height: 4.6153846154vw;
    margin-top: 1.5384615385vw;
}
.module-block .contents .body img {
    display: block;
    width: 100%;
}
.module-block .contents .tail {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin-top: 0;
    background-color: transparent;
    display: flex;
    align-items: center;
    flex-flow: row;
    gap: 2.5641025641vw;
    padding: 0 5.1282051282vw;
}
.module-block .contents .tail .cta[data-type=secondary] {
    background-color: transparent;
    color: #111;
    border: solid 0.2564102564vw #aaa;
}

.module-block[data-size=default] {
    height: 30.7692307692vw;
    margin: 0 auto;
}
.module-block[data-size=default] .contents {
    border-radius: 3.0769230769vw;
}
.module-block[data-size=default] .contents .head p, .module-block[data-size=default] .contents .head small {
    -webkit-line-clamp: 1;
}

.module-block[data-size=medium] {
    margin: 0 auto;
    height: 64.1025641026vw;
}
.module-block[data-size=medium] .contents {
    border-radius: 3.0769230769vw;
}

.module-block[data-size=large] {
    margin: 0 auto;
    height: 97.4358974359vw;
}
.module-block[data-size=large] .contents {
    border-radius: 3.0769230769vw;
}

.module-block[data-size=huge] {
    margin: 0 auto;
    height: 130.7692307692vw;
}
.module-block[data-size=huge] .contents {
    border-radius: 3.0769230769vw;
}

.module-block[data-size=flex] {
    height: unset;
}
.module-block[data-size=flex] .head {
    padding-top: 7.1794871795vw;
}
.module-block[data-size=flex] .contents {
    border-radius: 3.0769230769vw;
}
.module-block[data-size=flex] .contents .tail {
    position: unset;
}

.module-block .contents .body[data-contain=voucher] .hero h3 strong, .module-block .contents .body[data-contain=voucher] .hero h3 .currency {
    font-variant-numeric: tabular-nums;
    color: #14C3A2;
}
.module-block .contents .body[data-contain=voucher] ul:first-of-type {
    display: flex;
    flex-flow: column;
    border-top: solid 0.2564102564vw #111;
    border-bottom: solid 0.2564102564vw #111;
}
.module-block .contents .body[data-contain=voucher] ul:first-of-type li {
    border-top: solid 0.2564102564vw #eee;
    position: relative;
    display: flex;
    flex-flow: column;
    justify-content: space-between;
    box-sizing: border-box;
    padding: 3.0769230769vw 8.2051282051vw 3.0769230769vw 2.0512820513vw;
}
.module-block .contents .body[data-contain=voucher] ul:first-of-type li[data-stamp=redeemed] figure {
    opacity: 0.5;
}
.module-block .contents .body[data-contain=voucher] ul:first-of-type li[data-stamp=redeemed] figure .thumbnail p {
    font-size: 4.1025641026vw;
    margin-bottom: 1.0256410256vw;
}
.module-block .contents .body[data-contain=voucher] ul:first-of-type li[data-stamp=redeemed] figure .thumbnail p:before {
    display: block;
    content: "";
    width: 5.1282051282vw;
    height: 5.1282051282vw;
    margin: 0 auto 1.0256410256vw auto;
    background-image: url("../img/pictogram/picto-md-check@3x.png");
    background-repeat: no-repeat;
    background-size: 100%;
    filter: invert(1);
}
.module-block .contents .body[data-contain=voucher] ul:first-of-type li[data-stamp=redeemed]:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.05);
    z-index: 1;
}
.module-block .contents .body[data-contain=voucher] ul:first-of-type li:first-of-type {
    border: none;
}
.module-block .contents .body[data-contain=voucher] ul:first-of-type li figure {
    display: flex;
    flex-flow: row;
    height: 100%;
    align-items: center;
    box-sizing: border-box;
    gap: 3.0769230769vw;
}
.module-block .contents .body[data-contain=voucher] ul:first-of-type li figure .thumbnail {
    width: 20.5128205128vw;
    height: 15.3846153846vw;
    flex-shrink: 0;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 3.0769230769vw;
    background-color: #f8f8f8;
}
.module-block .contents .body[data-contain=voucher] ul:first-of-type li figure .thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.module-block .contents .body[data-contain=voucher] ul:first-of-type li figure .thumbnail p {
    text-align: center;
    font-weight: 100;
    font-size: 5.1282051282vw;
    color: #111;
    box-sizing: border-box;
    width: 100%;
}
.module-block .contents .body[data-contain=voucher] ul:first-of-type li figure figcaption {
    display: flex;
    flex-flow: column;
    justify-content: space-between;
    height: 100%;
    gap: 1.0256410256vw;
}
.module-block .contents .body[data-contain=voucher] ul:first-of-type li figure figcaption h3 {
    font-size: 3.5897435897vw;
    line-height: 4.6153846154vw;
    font-weight: 500;
    color: #111;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}
.module-block .contents .body[data-contain=voucher] ul:first-of-type li figure figcaption p {
    font-size: 3.0769230769vw;
    line-height: 3.5897435897vw;
    color: #999;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}
.module-block .contents .body[data-contain=voucher] ul:first-of-type li strong {
    position: absolute;
    height: 7.1794871795vw;
    border-radius: 25.641025641vw;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #fff;
    padding: 0vw 3.0769230769vw;
    z-index: 1;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}
.module-block .contents .body[data-contain=voucher] ul:first-of-type li strong .label {
    font-size: 3.5897435897vw;
    text-align: center;
    font-weight: 500;
    color: #111;
}
.module-block .contents .body[data-contain=rank] {
    display: block !important;
}
.module-block .contents .body[data-contain=rank] h5 {
    font-size: 4.1025641026vw;
    font-weight: 500;
    margin-bottom: 3.0769230769vw;
    margin-top: 8.2051282051vw;
}
.module-block .contents .body[data-contain=rank] sstm {
    position: relative;
    display: block;
    width: 89.7435897436vw;
    aspect-ratio: 350/220;
}
.module-block .contents .body[data-contain=rank] .hero h3 strong, .module-block .contents .body[data-contain=rank] .hero h3 .currency {
    font-variant-numeric: tabular-nums;
    color: #14C3A2;
}
.module-block .contents .body[data-contain=rank] dl {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-top: solid 0.2564102564vw #111;
    border-bottom: solid 0.2564102564vw #111;
    font-size: 3.5897435897vw;
    margin-bottom: 8.2051282051vw;
}
.module-block .contents .body[data-contain=rank] dl dt, .module-block .contents .body[data-contain=rank] dl dd {
    align-content: center;
    height: 12.8205128205vw;
    border-top: solid 0.2564102564vw #eee;
    font-weight: 500;
}
.module-block .contents .body[data-contain=rank] dl dt:first-of-type, .module-block .contents .body[data-contain=rank] dl dd:first-of-type {
    border-top: none;
}
.module-block .contents .body[data-contain=rank] dl dt {
    display: flex;
    align-items: center;
    gap: 2.0512820513vw;
    padding-left: 2.0512820513vw;
}
.module-block .contents .body[data-contain=rank] dl dd {
    text-align: right;
    padding-right: 2.0512820513vw;
}
.module-block .contents .body[data-contain=rank] dl dd .color {
    color: #fff;
    height: 7.1794871795vw;
    display: inline-flex;
    gap: 1.0256410256vw;
    padding: 0 3.0769230769vw;
    align-items: center;
    border-radius: 25.641025641vw;
    font-variant-numeric: tabular-nums;
}
.module-block .contents .body[data-contain=eternaljourney] h5 {
    font-size: 4.1025641026vw;
    font-weight: 500;
    margin-bottom: 3.0769230769vw;
    margin-top: 8.2051282051vw;
}
.module-block .contents .body[data-contain=eternaljourney] a.cta {
    margin: 2.5641025641vw 0;
}
.module-block .contents .body[data-contain=eternaljourney] .hero h3 strong, .module-block .contents .body[data-contain=eternaljourney] .hero h3 .currency {
    font-variant-numeric: tabular-nums;
    color: #14C3A2;
}
.module-block .contents .body[data-contain=eternaljourney] dl {
    margin-bottom: 8.2051282051vw;
    display: grid;
    grid-template-columns: 1fr 2.5fr;
    border-top: solid 0.2564102564vw #111;
    border-bottom: solid 0.2564102564vw #111;
    font-size: 3.5897435897vw;
}
.module-block .contents .body[data-contain=eternaljourney] dl dt, .module-block .contents .body[data-contain=eternaljourney] dl dd {
    align-content: center;
    height: 12.8205128205vw;
    border-top: solid 0.2564102564vw #eee;
    font-weight: 500;
}
.module-block .contents .body[data-contain=eternaljourney] dl dt:first-of-type, .module-block .contents .body[data-contain=eternaljourney] dl dd:first-of-type {
    border-top: none;
}
.module-block .contents .body[data-contain=eternaljourney] dl dt {
    display: flex;
    align-items: center;
    gap: 2.0512820513vw;
    padding-left: 2.0512820513vw;
}
.module-block .contents .body[data-contain=eternaljourney] dl dd {
    text-align: right;
    padding-right: 2.0512820513vw;
    display: inline-flex;
    justify-content: right;
    align-items: center;
    gap: 2.0512820513vw;
}
.module-block .contents .body[data-contain=eternaljourney] dl dd .color {
    background-color: #14C3A2;
    color: #fff;
    height: 7.1794871795vw;
    display: inline-flex;
    gap: 1.0256410256vw;
    padding: 0 4.1025641026vw;
    align-items: center;
    border-radius: 25.641025641vw;
    font-variant-numeric: tabular-nums;
}
.module-block .contents .body[data-contain=diff] h5 {
    font-size: 4.1025641026vw;
    font-weight: 500;
    margin-bottom: 3.0769230769vw;
    margin-top: 8.2051282051vw;
}
.module-block .contents .body[data-contain=diff] .message-container {
    display: flex;
    gap: 2.5641025641vw;
    flex-flow: row;
    justify-content: space-between;
}
.module-block .contents .body[data-contain=diff] .messages {
    width: 100%;
    height: 25.641025641vw;
    background-color: #fff;
    border-radius: 3.0769230769vw;
    border: solid 0.2564102564vw #000;
    box-sizing: border-box;
    display: flex;
    flex-flow: row;
    justify-content: center;
    align-items: center;
}
.module-block .contents .body[data-contain=diff] .messages h3, .module-block .contents .body[data-contain=diff] .messages .currency {
    font-size: 5.1282051282vw;
    font-weight: 500;
    display: flex;
    gap: 2.0512820513vw;
    justify-content: center;
    align-items: center;
    margin-top: auto;
    margin-bottom: auto;
    font-variant-numeric: tabular-nums;
}
.module-block .contents .body[data-contain=diff] .messages .currency {
    margin-left: 1.0256410256vw;
}
.module-block .contents .body[data-contain=diff] p {
    font-size: 3.5897435897vw;
    line-height: 5.1282051282vw;
    margin-top: 5.1282051282vw;
    text-align: center;
}
.module-block .contents .body[data-contain=diff] p strong {
    color: #14C3A2;
    font-weight: 500;
}
.module-block .contents .body[data-contain=diff] .chart {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 350/250;
    margin-top: 8.2051282051vw;
    border-bottom: solid 0.2564102564vw #111;
    border-top: solid 0.2564102564vw #111;
    background-size: 100%;
}
@keyframes attention {
    0% {
        scale: 0;
        opacity: 1;
    }
    100% {
        scale: 3;
        opacity: 0;
    }
}
.module-block .contents .body[data-contain=diff] .chart .log-line {
    position: absolute;
    inset: 0;
    background: url(../img/etc/log-line.svg);
    background-size: 100%;
}
.module-block .contents .body[data-contain=diff] .chart .pointer {
    content: "";
    position: absolute;
    width: 3.0769230769vw;
    height: 3.0769230769vw;
    background-color: #14c3a2;
    border-radius: 25.641025641vw;
}
.module-block .contents .body[data-contain=diff] .chart .pointer:after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: #14c3a2;
    border-radius: 25.641025641vw;
    scale: 0;
    transform-origin: center center;
    animation: attention 1s infinite ease-in-out;
}
.module-block .contents .body[data-contain=diff] .chart .balloon {
    color: #fff;
    font-size: 3.5897435897vw;
    box-sizing: border-box;
    position: absolute;
    width: 23.0769230769vw;
    background-color: rgba(0, 0, 0, 0.8);
    text-align: center;
    padding: 3.0769230769vw 4.1025641026vw;
    z-index: 1;
    border-radius: 3.0769230769vw;
}
.module-block .contents .body[data-contain=diff] .chart .balloon:before {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    top: -1.2820512821vw;
    left: calc(50% - 1.2820512821vw);
    border-left: 1.2820512821vw solid transparent;
    border-right: 1.2820512821vw solid transparent;
    border-bottom: 1.2820512821vw solid rgba(0, 0, 0, 0.8);
}
.module-block .contents .body[data-contain=diff] .chart span[class^=top] {
    position: absolute;
    top: 0;
    width: 100%;
    height: 0.2564102564vw;
    background-color: #ccc;
}
.module-block .contents .body[data-contain=diff] .chart span[class^=top].top1 {
    top: 16.6666666667%;
}
.module-block .contents .body[data-contain=diff] .chart span[class^=top].top2 {
    top: 33.3333333333%;
}
.module-block .contents .body[data-contain=diff] .chart span[class^=top].top3 {
    top: 50%;
}
.module-block .contents .body[data-contain=diff] .chart span[class^=top].top4 {
    top: 66.6666666667%;
}
.module-block .contents .body[data-contain=diff] .chart span[class^=top].top5 {
    top: 83.3333333333%;
}
.module-block .contents .body[data-contain=diff] .chart span[class^=axis-] {
    position: absolute;
    bottom: -6.4102564103vw;
    font-weight: 500;
}
.module-block .contents .body[data-contain=diff] .chart span[class^=axis-].axis-x-start {
    left: 0;
}
.module-block .contents .body[data-contain=diff] .chart span[class^=axis-].axis-x-end {
    right: 0;
}
.module-block .contents .body[data-contain=diff] .chart[data-sstmVal="1"] .pointer {
    top: calc(16.6666666667% - 1.5384615385vw);
    left: 91%;
}
.module-block .contents .body[data-contain=diff] .chart[data-sstmVal="1"] .balloon {
    top: calc(16.6666666667% + 4.1025641026vw);
    left: unset;
    right: 0;
}
.module-block .contents .body[data-contain=diff] .chart[data-sstmVal="1"] .balloon:before {
    left: 15.1282051282vw;
}
.module-block .contents .body[data-contain=diff] .chart[data-sstmVal="2"] .pointer {
    top: calc(33.3333333333% - 1.5384615385vw);
    left: 83.3%;
}
.module-block .contents .body[data-contain=diff] .chart[data-sstmVal="2"] .balloon {
    top: calc(33.3333333333% + 4.1025641026vw);
    left: calc(83.3% + 1.5384615385vw - 11.5384615385vw);
}
.module-block .contents .body[data-contain=diff] .chart[data-sstmVal="3"] .pointer {
    top: calc(50% - 1.5384615385vw);
    left: 73.5%;
}
.module-block .contents .body[data-contain=diff] .chart[data-sstmVal="3"] .balloon {
    top: calc(50% + 4.1025641026vw);
    left: calc(73.5% + 1.5384615385vw - 11.5384615385vw);
}
.module-block .contents .body[data-contain=diff] .chart[data-sstmVal="4"] .pointer {
    top: calc(66.6666666667% - 1.5384615385vw);
    left: 60%;
}
.module-block .contents .body[data-contain=diff] .chart[data-sstmVal="4"] .balloon {
    top: calc(66.6666666667% + 4.1025641026vw);
    left: calc(60% + 1.5384615385vw - 11.5384615385vw);
}
.module-block .contents .body[data-contain=diff] .chart[data-sstmVal="5"] .pointer {
    top: calc(83.3333333333% - 1.5384615385vw);
    left: 39%;
}
.module-block .contents .body[data-contain=diff] .chart[data-sstmVal="5"] .balloon {
    top: calc(83.3333333333% + 4.1025641026vw);
    left: calc(39% + 1.5384615385vw - 11.5384615385vw);
}
.module-block .contents .body[data-contain=top3] h5 {
    font-size: 4.1025641026vw;
    font-weight: 500;
    margin-bottom: 3.0769230769vw;
    margin-top: 8.2051282051vw;
}
.module-block .contents .body[data-contain=top3] .room {
    background-color: #2DCCB5;
}
.module-block .contents .body[data-contain=top3] .golf {
    background-color: #7073FF;
}
.module-block .contents .body[data-contain=top3] .eternalJourney {
    background-color: #111;
}
.module-block .contents .body[data-contain=top3] .fnb {
    background-color: #FF928A;
}
.module-block .contents .body[data-contain=top3] .activity {
    background-color: #F4BA6E;
}
.module-block .contents .body[data-contain=top3] .facility {
    background-color: #85cc5f;
}
.module-block .contents .body[data-contain=top3] .gift {
    background-color: #57cde5;
}
.module-block .contents .body[data-contain=top3] .etc {
    background-color: #E4DAC7;
}
.module-block .contents .body[data-contain=top3] ul.label {
    font-size: 3.5897435897vw;
    color: #fff;
    display: flex;
    flex-wrap: wrap;
    gap: 1.0256410256vw;
}
.module-block .contents .body[data-contain=top3] ul.label li {
    display: flex;
    flex: 0 1 auto;
    border-radius: 25.641025641vw;
    height: 6.6666666667vw;
    align-items: center;
    padding: 0vw 2.5641025641vw;
}
.module-block .contents .body[data-contain=top3] ol.top3 {
    display: flex;
    flex-flow: column;
    gap: 7.1794871795vw;
    margin-top: 10.2564102564vw;
}
.module-block .contents .body[data-contain=top3] ol.top3 li h3 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.0256410256vw;
    font-size: 5.1282051282vw;
    font-weight: 500;
    margin: 0 1.0256410256vw;
}
.module-block .contents .body[data-contain=top3] ol.top3 li h3 .emoji {
    font-size: 6.1538461538vw;
    margin-left: -1.0256410256vw;
}
.module-block .contents .body[data-contain=top3] ol.top3 li h3 strong {
    font-size: 3.5897435897vw;
    font-weight: 500;
    margin-left: auto;
    align-self: end;
}
.module-block .contents .body[data-contain=top3] ol.top3 li p {
    position: relative;
    margin-top: 3.0769230769vw;
    background-color: #fff;
}
.module-block .contents .body[data-contain=top3] ol.top3 li p strong.rail {
    display: block;
    border-radius: 25.641025641vw;
    border: dashed 0.2564102564vw #DCCFB7;
    height: 7.1794871795vw;
}
.module-block .contents .body[data-contain=top3] ol.top3 li p strong.max {
    position: absolute;
    inset: 0;
    top: 0;
    left: 0;
    background-color: transparent;
    border-radius: 25.641025641vw;
    display: flex;
}
.module-block .contents .body[data-contain=top3] ol.top3 li p strong.max span {
    box-shadow: 0.7692307692vw 0 0.7692307692vw 0 rgba(0, 0, 0, 0.1);
    opacity: 0;
    border-radius: 3.8461538462vw;
    margin-left: -3.8461538462vw;
    border-bottom-left-radius: 0;
    border-top-left-radius: 0;
    padding-right: 3.8461538462vw;
}
.module-block .contents .body[data-contain=top3] ol.top3 li p strong.max span:first-child {
    opacity: 1;
    z-index: 10;
    margin-left: 0;
    padding-right: unset;
    border-radius: 3.8461538462vw;
}
.module-block .contents .body[data-contain=top3] ol.top3 li p strong.max span:nth-child(2) {
    z-index: 9;
}
.module-block .contents .body[data-contain=top3] ol.top3 li p strong.max span:nth-child(3) {
    z-index: 8;
}
.module-block .contents .body[data-contain=top3] ol.top3 li p strong.max span:nth-child(4) {
    z-index: 7;
}
.module-block .contents .body[data-contain=top3] ol.top3 li p strong.max span:nth-child(5) {
    z-index: 6;
}
.module-block .contents .body[data-contain=top3] ol.top3 li p strong.max span:nth-child(6) {
    z-index: 5;
}
.module-block .contents .body[data-contain=top3] ol.top3 li p strong.max span:nth-child(7) {
    z-index: 4;
}
.module-block .contents .body[data-contain=top3] ol.top3 li p strong.max span:nth-child(8) {
    z-index: 3;
}
.module-block .contents .body[data-contain=top3] ol.top3 li p strong.max span:nth-child(9) {
    z-index: 2;
}
.module-block .contents .body[data-contain=top3] ol.top3 li p strong.max span:nth-child(10) {
    z-index: 1;
}
.module-block .contents .body[data-contain=top3] ol.top3 li p strong.max span:last-of-type {
    box-shadow: none;
}

.module-block[data-visual=backdrop] .contents .body > hr {
    display: none;
}

.module-block[data-type=default] {
    overflow: hidden;
}
.module-block[data-type=default] .contents[onclick] {
    cursor: pointer;
}
.module-block[data-type=default] .contents .body {
    display: none;
}

.module-block[data-type=default][data-size=default] .contents .head p, .module-block[data-type=default][data-size=default] .contents .head small {
    -webkit-line-clamp: 1;
}
.module-block[data-type=default][data-size=default] .contents .tail {
    display: none !important;
}
.module-block[data-type=default][data-size=default][data-visual=default]:after {
    content: "Unsupported DATA attribute combination.";
    position: absolute;
    inset: 0;
    z-index: 1;
    color: red;
    display: flex;
    align-items: center;
    justify-content: center;
}
.module-block[data-type=default][data-size=default][data-visual=default] .contents {
    opacity: 0.2;
}
.module-block[data-type=default][data-size=default][data-visual=default] .contents .visual {
    display: none !important;
}
.module-block[data-type=default][data-size=default][data-visual=none] .contents .visual {
    display: none !important;
}
.module-block[data-type=default][data-size=default][data-visual=backdrop] .contents .visual {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: -1;
}
.module-block[data-type=default][data-size=default][data-visual=backdrop] .contents .head {
    color: #fff;
}
.module-block[data-type=default][data-size=default][data-visual=max]:after {
    content: "Unsupported DATA attribute combination.";
    position: absolute;
    inset: 0;
    z-index: 1;
    color: red;
    display: flex;
    align-items: center;
    justify-content: center;
}
.module-block[data-type=default][data-size=default][data-visual=max] .contents {
    opacity: 0.2;
}
.module-block[data-type=default][data-size=default][data-visual=max] .contents .tail {
    display: none;
}

.module-block[data-type=default][data-size=medium][data-visual=default]:after {
    content: "Unsupported DATA attribute combination.";
    position: absolute;
    inset: 0;
    z-index: 1;
    color: red;
    display: flex;
    align-items: center;
    justify-content: center;
}
.module-block[data-type=default][data-size=medium][data-visual=default] .contents {
    opacity: 0.2;
}
.module-block[data-type=default][data-size=medium][data-visual=default] .contents .visual {
    display: none !important;
}
.module-block[data-type=default][data-size=medium][data-visual=none] .contents .visual {
    display: none !important;
}
.module-block[data-type=default][data-size=medium][data-visual=backdrop] .contents .visual {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: -1;
}
.module-block[data-type=default][data-size=medium][data-visual=backdrop] .contents .head {
    color: #fff;
}
.module-block[data-type=default][data-size=medium][data-visual=max] .contents .visual {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: -1;
}
.module-block[data-type=default][data-size=medium][data-visual=max] .contents .head {
    padding-bottom: 5.1282051282vw;
    color: #fff;
    position: absolute;
    width: 100%;
    bottom: 0;
}
.module-block[data-type=default][data-size=medium][data-visual=max] .contents .tail {
    display: none;
}

.module-block[data-type=default][data-size=large][data-visual=default] .contents .tail {
    display: none !important;
}
.module-block[data-type=default][data-size=large][data-visual=none] .contents .visual {
    display: none !important;
}
.module-block[data-type=default][data-size=large][data-visual=backdrop] .contents .visual {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: -1;
}
.module-block[data-type=default][data-size=large][data-visual=backdrop] .contents .head {
    color: #fff;
}
.module-block[data-type=default][data-size=large][data-visual=max] .contents .visual {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: -1;
}
.module-block[data-type=default][data-size=large][data-visual=max] .contents .head {
    padding-bottom: 5.1282051282vw;
    color: #fff;
    position: absolute;
    width: 100%;
    bottom: 0;
}
.module-block[data-type=default][data-size=large][data-visual=max] .contents .tail {
    display: none;
}

.module-block[data-type=default][data-size=huge][data-visual=none] .contents .visual {
    display: none !important;
}
.module-block[data-type=default][data-size=huge][data-visual=backdrop] .contents .visual {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: -1;
}
.module-block[data-type=default][data-size=huge][data-visual=backdrop] .contents .head {
    color: #fff;
}
.module-block[data-type=default][data-size=huge][data-visual=max] .contents .visual {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: -1;
}
.module-block[data-type=default][data-size=huge][data-visual=max] .contents .head {
    padding-bottom: 5.1282051282vw;
    color: #fff;
    position: absolute;
    width: 100%;
    bottom: 0;
}
.module-block[data-type=default][data-size=huge][data-visual=max] .contents .tail {
    display: none;
}

.module-block[data-type=expand] {
    cursor: pointer;
    overflow: hidden;
}
.module-block[data-type=expand] .contents .body {
    opacity: 0;
    padding-bottom: 25.641025641vw;
}
.module-block[data-type=expand] .contents .tail {
    display: none;
}
.module-block[data-type=expand].active .contents {
    overflow: auto;
}
.module-block[data-type=expand].active .contents .tail {
    display: block;
    position: fixed;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.75) 0%, rgb(255, 255, 255) 100%);
    z-index: 10;
}

.module-block[data-type=expand][data-size=default][data-visual=default]:after {
    content: "Unsupported DATA attribute combination.";
    position: absolute;
    inset: 0;
    z-index: 1;
    color: red;
    display: flex;
    align-items: center;
    justify-content: center;
}
.module-block[data-type=expand][data-size=default][data-visual=default] .contents {
    opacity: 0.2;
}
.module-block[data-type=expand][data-size=default][data-visual=default] .contents .visual {
    display: none !important;
}
.module-block[data-type=expand][data-size=default][data-visual=none] .contents .visual {
    display: none !important;
}
.module-block[data-type=expand][data-size=default][data-visual=none].active .contents .head {
    padding-right: 14.358974359vw;
}
.module-block[data-type=expand][data-size=default][data-visual=backdrop]:after {
    content: "Unsupported DATA attribute combination.";
    position: absolute;
    inset: 0;
    z-index: 1;
    color: red;
    display: flex;
    align-items: center;
    justify-content: center;
}
.module-block[data-type=expand][data-size=default][data-visual=backdrop] .contents {
    opacity: 0.2;
}
.module-block[data-type=expand][data-size=default][data-visual=backdrop] .contents .visual {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: -1;
}
.module-block[data-type=expand][data-size=default][data-visual=backdrop] .contents .head {
    color: #fff;
}
.module-block[data-type=expand][data-size=default][data-visual=backdrop].active .contents .head {
    padding-right: 14.358974359vw;
}
.module-block[data-type=expand][data-size=default][data-visual=max]:after {
    content: "Unsupported DATA attribute combination.";
    position: absolute;
    inset: 0;
    z-index: 1;
    color: red;
    display: flex;
    align-items: center;
    justify-content: center;
}
.module-block[data-type=expand][data-size=default][data-visual=max] .contents {
    opacity: 0.2;
}
.module-block[data-type=expand][data-size=default][data-visual=max] .contents .tail {
    display: none;
}

.module-block[data-type=expand][data-size=medium][data-visual=default]:after {
    content: "Unsupported DATA attribute combination.";
    position: absolute;
    inset: 0;
    z-index: 1;
    color: red;
    display: flex;
    align-items: center;
    justify-content: center;
}
.module-block[data-type=expand][data-size=medium][data-visual=default] .contents {
    opacity: 0.2;
}
.module-block[data-type=expand][data-size=medium][data-visual=default] .contents .visual {
    display: none !important;
}
.module-block[data-type=expand][data-size=medium][data-visual=none] .contents .visual {
    display: none !important;
}
.module-block[data-type=expand][data-size=medium][data-visual=none] .contents .head h2 {
    -webkit-line-clamp: 4;
}
.module-block[data-type=expand][data-size=medium][data-visual=none] .contents .head p {
    -webkit-line-clamp: 6;
}
.module-block[data-type=expand][data-size=medium][data-visual=none].active .contents .head {
    padding-right: 14.358974359vw;
}
.module-block[data-type=expand][data-size=medium][data-visual=backdrop] .contents .head {
    color: #fff;
    position: absolute;
    width: 100%;
    aspect-ratio: 350/250;
}
.module-block[data-type=expand][data-size=medium][data-visual=backdrop].active .contents .head {
    padding-right: 14.358974359vw;
}
.module-block[data-type=expand][data-size=medium][data-visual=max] .contents .head {
    padding-bottom: 5.1282051282vw;
    color: #fff;
    position: absolute;
    width: 100%;
    top: 0;
    aspect-ratio: 350/250;
    display: flex;
    flex-flow: column;
    justify-content: flex-end;
}
.module-block[data-type=expand][data-size=large][data-visual=none] .contents .visual {
    display: none !important;
}
.module-block[data-type=expand][data-size=large][data-visual=none] .contents .head h2 {
    -webkit-line-clamp: 6;
}
.module-block[data-type=expand][data-size=large][data-visual=none] .contents .head p {
    -webkit-line-clamp: 10;
}
.module-block[data-type=expand][data-size=large][data-visual=none].active .contents .head {
    padding-right: 14.358974359vw;
}
.module-block[data-type=expand][data-size=large][data-visual=backdrop]:after {
    content: "Unsupported DATA attribute combination.";
    position: absolute;
    inset: 0;
    z-index: 1;
    color: red;
    display: flex;
    align-items: center;
    justify-content: center;
}
.module-block[data-type=expand][data-size=large][data-visual=backdrop] .contents {
    opacity: 0.2;
}
.module-block[data-type=expand][data-size=large][data-visual=backdrop] .contents .visual {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: -1;
}
.module-block[data-type=expand][data-size=large][data-visual=backdrop] .contents .head {
    color: #fff;
}
.module-block[data-type=expand][data-size=large][data-visual=backdrop].active .contents .head {
    padding-right: 14.358974359vw;
}
.module-block[data-type=expand][data-size=large][data-visual=max]:after {
    content: "Unsupported DATA attribute combination.";
    position: absolute;
    inset: 0;
    z-index: 1;
    color: red;
    display: flex;
    align-items: center;
    justify-content: center;
}
.module-block[data-type=expand][data-size=large][data-visual=max] .contents {
    opacity: 0.2;
}
.module-block[data-type=expand][data-size=large][data-visual=max] .contents .visual {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: -1;
}
.module-block[data-type=expand][data-size=large][data-visual=max] .contents .head {
    padding-bottom: 5.1282051282vw;
    color: #fff;
    position: absolute;
    width: 100%;
    bottom: 0;
}
.module-block[data-type=expand][data-size=huge][data-visual=default] .contents .head h2 {
    -webkit-line-clamp: 4;
}
.module-block[data-type=expand][data-size=huge][data-visual=default] .contents .head p {
    -webkit-line-clamp: 6;
}
.module-block[data-type=expand][data-size=huge][data-visual=none]:after {
    content: "Unsupported DATA attribute combination.";
    position: absolute;
    inset: 0;
    z-index: 1;
    color: red;
    display: flex;
    align-items: center;
    justify-content: center;
}
.module-block[data-type=expand][data-size=huge][data-visual=none] .contents {
    opacity: 0.2;
}
.module-block[data-type=expand][data-size=huge][data-visual=none] .contents .visual {
    display: none !important;
}
.module-block[data-type=expand][data-size=huge][data-visual=none].active .contents .head {
    padding-right: 14.358974359vw;
}
.module-block[data-type=expand][data-size=huge][data-visual=backdrop]:after {
    content: "Unsupported DATA attribute combination.";
    position: absolute;
    inset: 0;
    z-index: 1;
    color: red;
    display: flex;
    align-items: center;
    justify-content: center;
}
.module-block[data-type=expand][data-size=huge][data-visual=backdrop] .contents {
    opacity: 0.2;
}
.module-block[data-type=expand][data-size=huge][data-visual=backdrop] .contents .visual {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: -1;
}
.module-block[data-type=expand][data-size=huge][data-visual=backdrop] .contents .head {
    color: #fff;
}
.module-block[data-type=expand][data-size=huge][data-visual=backdrop].active .contents .head {
    padding-right: 14.358974359vw;
}
.module-block[data-type=expand][data-size=huge][data-visual=max]:after {
    content: "Unsupported DATA attribute combination.";
    position: absolute;
    inset: 0;
    z-index: 1;
    color: red;
    display: flex;
    align-items: center;
    justify-content: center;
}
.module-block[data-type=expand][data-size=huge][data-visual=max] .contents {
    opacity: 0.2;
}
.module-block[data-type=expand][data-size=huge][data-visual=max] .contents .visual {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: -1;
}
.module-block[data-type=expand][data-size=huge][data-visual=max] .contents .head {
    padding-bottom: 5.1282051282vw;
    color: #fff;
    position: absolute;
    width: 100%;
    bottom: 0;
}
.module-block[data-type=footer] {
    margin: 0 auto;
}
.module-block[data-type=footer] .contents {
    background-color: transparent;
    padding-top: 10.2564102564vw;
    padding-bottom: 23.0769230769vw;
    box-sizing: border-box;
    display: block;
}
.module-block[data-type=footer] .contents .head {
    background-color: transparent;
    color: #f8f8f8;
    padding: unset;
    text-align: center;
    font-size: 3.5897435897vw;
}
.module-block[data-type=footer] .contents .body {
    display: none;
}
.module-block[data-type=footer] .contents .tail {
    display: none;
}

.module-block[data-type=welcome],
.module-block[data-type=membership] {
    height: 130.7692307692vw;
    overflow: unset;
    margin: 0 auto;
}
.module-block[data-type=welcome] .backdrop,
.module-block[data-type=membership] .backdrop {
    max-width: 100vw;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 100% 100%;
}
.module-block[data-type=welcome] .contents .head,
.module-block[data-type=membership] .contents .head {
    color: #fff;
}
.module-block[data-type=welcome] .contents .head h2,
.module-block[data-type=membership] .contents .head h2 {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}
.module-block[data-type=welcome] .contents .body,
.module-block[data-type=membership] .contents .body {
    padding: unset;
}
.module-block[data-type=welcome] .contents .tail,
.module-block[data-type=membership] .contents .tail {
    background-color: unset;
    position: unset;
}
.module-block[data-type=welcome] .contents .tail .cta,
.module-block[data-type=membership] .contents .tail .cta {
    margin-top: unset;
}

.module-block[data-type=welcome] {
    overflow: hidden;
}
.module-block[data-type=welcome] .backdrop {
    background-image: url("../img/backdrop/backdrop-welcome@3x.png");
}
.module-block[data-type=welcome] .contents {
    justify-content: space-between;
    background-color: rgba(149, 149, 149, 0.25);
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    box-shadow: 0 2.3076923077vw 5.1282051282vw 0 rgba(0, 0, 0, 0.5);
    box-sizing: border-box;
    color: #fff;
}
.module-block[data-type=welcome] .contents:after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 1;
    border: solid 0.3846153846vw rgba(149, 149, 149, 0.4);
    background-color: transparent;
    pointer-events: none;
    border-radius: 4.1025641026vw;
}
.module-block[data-type=welcome] .contents .body {
    text-align: center;
}
.module-block[data-type=welcome] .contents .body .swiper {
    height: 70.7692307692vw;
}
.module-block[data-type=welcome] .contents .body .swiper .swiper-wrapper {
    transition-timing-function: linear !important;
}
.module-block[data-type=welcome] .contents .body .swiper .swiper-wrapper .swiper-slide {
    width: 44.1025641026vw;
    height: 70.7692307692vw;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 100% 100%;
    margin: 0 1.0256410256vw;
}
.module-block[data-type=welcome] .contents .body .swiper .swiper-wrapper .swiper-slide.slide-1 {
    background-image: url("../img/hero/hero-welcome-1@3x.png");
}
.module-block[data-type=welcome] .contents .body .swiper .swiper-wrapper .swiper-slide.slide-2 {
    background-image: url("../img/hero/hero-welcome-2@3x.png");
}
.module-block[data-type=welcome] .contents .body .swiper .swiper-wrapper .swiper-slide.slide-3 {
    background-image: url("../img/hero/hero-welcome-3@3x.png");
}
.module-block[data-type=welcome] .contents .body .swiper .swiper-wrapper .swiper-slide.slide-4 {
    background-image: url("../img/hero/hero-welcome-4@3x.png");
}
.module-block[data-type=welcome] .contents .body .swiper .swiper-wrapper .swiper-slide.slide-5 {
    background-image: url("../img/hero/hero-welcome-5@3x.png");
}
.module-block[data-type=welcome] .contents .tail .cta {
    border: solid 0.3846153846vw rgba(149, 149, 149, 0.4);
    background: rgba(255, 255, 255, 0.2);
    color: #fff;
}

.module-block[data-type=membership] {
    perspective: 307.6923076923vw;
}
.module-block[data-type=membership] .contents {
    overflow: unset;
    background-color: transparent;
    border-radius: unset;
    will-change: transform;
    transform-style: preserve-3d;
}
.module-block[data-type=membership] .contents .panel {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    z-index: 1;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    box-shadow: 0 2.3076923077vw 5.1282051282vw 0 rgba(0, 0, 0, 0.5);
    box-sizing: border-box;
    color: #fff;
    border-radius: 4.1025641026vw;
}
.module-block[data-type=membership] .contents .panel .head {
    padding-right: 15.3846153846vw;
}
.module-block[data-type=membership] .contents .panel:after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 1;
    border: solid 0.3846153846vw rgba(149, 149, 149, 0.4);
    background-color: transparent;
    pointer-events: none;
    border-radius: 4.1025641026vw;
}
.module-block[data-type=membership] .contents .panel[data-type=membership-summary] {
    background-color: rgba(149, 149, 149, 0.25);
    display: flex;
    flex-flow: column;
    justify-content: space-between;
    overflow: hidden;
}
.module-block[data-type=membership] .contents .panel[data-type=membership-summary] .head {
    padding-bottom: unset;
}
.module-block[data-type=membership] .contents .panel[data-type=membership-summary] .body {
    display: flex;
    justify-content: center;
    perspective: 150vw;
    perspective-origin: 120% 180%;
    margin-top: 0;
    transform: scale(1.13);
}
.module-block[data-type=membership] .contents .panel[data-type=membership-summary] .body .tier {
    width: 44.1025641026vw;
    aspect-ratio: 172/276;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
    display: block;
    transform: rotateX(10deg) rotateY(-10deg) rotateZ(-350deg);
    box-shadow: 5.1282051282vw 5.1282051282vw 5.1282051282vw 0.2564102564vw rgba(0, 0, 0, 0.3);
    border-radius: 3.5897435897vw;
}
.module-block[data-type=membership] .contents .panel[data-type=membership-summary] .tail {
    padding: unset;
    height: 15.3846153846vw;
    background: rgba(255, 255, 255, 0.2);
    border-bottom-left-radius: 4.1025641026vw;
    border-bottom-right-radius: 4.1025641026vw;
    border-top: solid 0.3846153846vw rgba(149, 149, 149, 0.4);
    margin-top: 2.5641025641vw;
}
.module-block[data-type=membership] .contents .panel[data-type=membership-summary] .tail dl {
    width: 100%;
    height: 100%;
    align-items: center;
    display: flex;
    padding: 0 5.1282051282vw;
    justify-content: space-between;
}
.module-block[data-type=membership] .contents .panel[data-type=membership-summary] .tail dl dt {
    font-weight: 500;
    font-size: 3.5897435897vw;
}
.module-block[data-type=membership] .contents .panel[data-type=membership-summary] .tail dl dd {
    color: #fff;
    font-weight: 500;
}
.module-block[data-type=membership] .contents .panel[data-type=membership-summary] .tail dl dd strong {
    font-size: 5.1282051282vw;
    font-variant-numeric: tabular-nums;
}
.module-block[data-type=membership] .contents .panel[data-type=membership-summary] .tail dl dd .currency {
    font-size: 5.1282051282vw;
}
.module-block[data-type=membership] .contents .panel[data-type=membership-cards] {
    background-color: rgba(149, 149, 149, 0.25);
    transform: rotateY(180deg);
    display: flex;
    flex-flow: column;
    justify-content: space-between;
}
.module-block[data-type=membership] .contents .panel[data-type=membership-cards] .head small {
    opacity: 0.5;
    font-weight: 400;
}
.module-block[data-type=membership] .contents .panel[data-type=membership-cards] .body {
    margin-top: auto;
    margin-bottom: auto;
}
.module-block[data-type=membership] .contents .panel[data-type=membership-cards] .body .swiper {
    height: 100%;
}
.module-block[data-type=membership] .contents .panel[data-type=membership-cards] .body .swiper .swiper-pagination-fraction {
    font-size: 2.8205128205vw;
    font-variant-numeric: tabular-nums;
    background-color: rgba(255, 255, 255, 0.3);
    height: 4.8717948718vw;
    padding: 0 2.0512820513vw;
    align-items: center;
    border-radius: 2.5641025641vw;
    gap: 0.2564102564vw;
    display: flex;
    color: rgba(255, 255, 255, 0.6980392157);
    z-index: 1;
}
.module-block[data-type=membership] .contents .panel[data-type=membership-cards] .body .swiper .swiper-pagination {
    position: absolute;
    left: 5.1282051282vw;
    top: 0;
    display: flex;
}
.module-block[data-type=membership] .contents .panel[data-type=membership-cards] .body .swiper .swiper-pagination .swiper-pagination-bullet {
    display: block;
    width: 1.0256410256vw;
    height: 1.0256410256vw;
    background-color: rgba(255, 255, 255, 0.3137254902);
    border-radius: 100%;
}
.module-block[data-type=membership] .contents .panel[data-type=membership-cards] .body .swiper .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background-color: #fff;
}
.module-block[data-type=membership] .contents .panel[data-type=membership-cards] .body .swiper button.next, .module-block[data-type=membership] .contents .panel[data-type=membership-cards] .body .swiper button.prev {
    display: none;
    background-color: rgba(0, 0, 0, 0.5);
    border-radius: 100%;
    position: absolute;
    width: 7.6923076923vw;
    height: 7.6923076923vw;
    top: 50%;
    z-index: 1;
    transform: translateY(-50%);
}
.module-block[data-type=membership] .contents .panel[data-type=membership-cards] .body .swiper button.next.swiper-button-disabled, .module-block[data-type=membership] .contents .panel[data-type=membership-cards] .body .swiper button.prev.swiper-button-disabled {
    display: none;
}
.module-block[data-type=membership] .contents .panel[data-type=membership-cards] .body .swiper button.next {
    right: 4.1025641026vw;
}
.module-block[data-type=membership] .contents .panel[data-type=membership-cards] .body .swiper button.prev {
    left: 4.1025641026vw;
}
.module-block[data-type=membership] .contents .panel[data-type=membership-cards] .body .avatar, .module-block[data-type=membership] .contents .panel[data-type=membership-cards] .body .barcode {
    display: flex;
    flex-flow: column;
    align-items: center;
    gap: 4.1025641026vw;
}
.module-block[data-type=membership] .contents .panel[data-type=membership-cards] .body .avatar .thumbnail, .module-block[data-type=membership] .contents .panel[data-type=membership-cards] .body .barcode .thumbnail {
    position: relative;
    overflow: hidden;
}
.module-block[data-type=membership] .contents .panel[data-type=membership-cards] .body .avatar .thumbnail img, .module-block[data-type=membership] .contents .panel[data-type=membership-cards] .body .barcode .thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.module-block[data-type=membership] .contents .panel[data-type=membership-cards] .body .avatar figcaption strong, .module-block[data-type=membership] .contents .panel[data-type=membership-cards] .body .barcode figcaption strong {
    display: block;
    text-align: center;
    font-weight: 400;
}
.module-block[data-type=membership] .contents .panel[data-type=membership-cards] .body .avatar a{
    font-size: 14px;
    font-weight: 200;
    margin-top: 5px;
    text-decoration: underline;
    color: #FFFFFF;
}
.module-block[data-type=membership] .contents .panel[data-type=membership-cards] .body .avatar .thumbnail {
    width: 30.7692307692vw;
    aspect-ratio: 1/1;
    border-radius: 100%;
}
.module-block[data-type=membership] .contents .panel[data-type=membership-cards] .body .avatar .thumbnail:after {
    content: "";
    border: solid 0.3846153846vw rgba(149, 149, 149, 0.5);
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    border-radius: 100%;
}
.module-block[data-type=membership] .contents .panel[data-type=membership-cards] .body .avatar figcaption strong {
    font-size: 3.5897435897vw;
}
.module-block[data-type=membership] .contents .panel[data-type=membership-cards] .body .barcode {
    position: relative;
    background-color: #fff;
    border-radius: 3.0769230769vw;
    width: 76.9230769231vw;
    margin: 0 auto;
    margin-top: 8.2051282051vw;
    margin-bottom: 5.1282051282vw;
}
.module-block[data-type=membership] .contents .panel[data-type=membership-cards] .body .barcode:after {
    content: "";
    position: absolute;
    top: -0.7692307692vw;
    left: -0.7692307692vw;
    height: calc(100% + 1.5384615385vw);
    width: calc(100% + 1.5384615385vw);
    background: linear-gradient(60deg, #f79533, #f37055, #ef4e7b, #a166ab, #5073b8, #1098ad, #07b39b, #6fba82);
    border-radius: 4.1025641026vw;
    z-index: -1;
    animation: animatedgradient 3s ease alternate infinite;
    background-size: 300% 300%;
}
@keyframes animatedgradient {
    0% {
        background-position: 0 50%;
    }
    50% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0 50%;
    }
}
.module-block[data-type=membership] .contents .panel[data-type=membership-cards] .body .barcode .thumbnail {
    width: 53.8461538462vw;
    height: 11.5384615385vw;
    padding-top: 5.1282051282vw !important;
}
.module-block[data-type=membership] .contents .panel[data-type=membership-cards] .body .barcode figcaption {
    margin-bottom: auto;
}
.module-block[data-type=membership] .contents .panel[data-type=membership-cards] .body .barcode figcaption strong {
    font-size: 2.5641025641vw;
    color: #111;
    padding-bottom: 5.1282051282vw;
}
.module-block[data-type=membership] .contents .panel[data-type=membership-cards] .tail {
    flex-flow: row;
    justify-content: space-between;
    gap: 1.0256410256vw;
    padding-top: 0vw;
    padding-bottom: 5.1282051282vw;
}
.module-block[data-type=membership] .contents .panel[data-type=membership-cards] .tail > p {
    font-size: 3.5897435897vw;
}
.module-block[data-type=membership] .contents .panel[data-type=membership-cards] .tail .tooltip {
    margin-right: auto;
}
.module-block[data-type=membership] .contents .panel[data-type=membership-cards] .tail .toggle-switch {
    margin-left: auto;
}
.module-block[data-type=membership][data-tier=lv1] .backdrop {
    background-image: url("../img/backdrop/backdrop-tier-lv1@3x.png");
}
.module-block[data-type=membership][data-tier=lv1] .panel[data-type=membership-summary] .head strong {
    color: #FF774C;
}
.module-block[data-type=membership][data-tier=lv1] .panel[data-type=membership-summary] .body .tier {
    background-image: url("../img/tier/tier-lv1@3x.png");
}
.module-block[data-type=membership][data-tier=lv1] .panel[data-type=membership-summary] .tail dl dd {
    color: #FF774C;
}
.module-block[data-type=membership][data-tier=lv1] .panel[data-type=membership-cards] .tail .toggle-switch input:checked {
    border-color: #FF774C;
    background-color: #FF774C;
}
.module-block[data-type=membership][data-tier=lv2] .backdrop {
    background-image: url("../img/backdrop/backdrop-tier-lv4@3x.png");
}
.module-block[data-type=membership][data-tier=lv2] .panel[data-type=membership-summary] .head strong {
    color: #EFFF43;
}
.module-block[data-type=membership][data-tier=lv2] .panel[data-type=membership-summary] .body .tier {
    background-image: url("../img/tier/tier-lv2@3x.png");
}
.module-block[data-type=membership][data-tier=lv2] .panel[data-type=membership-summary] .tail dl dd {
    color: #EFFF43;
}
.module-block[data-type=membership][data-tier=lv2] .panel[data-type=membership-cards] .tail .toggle-switch input:checked {
    border-color: #EFFF43;
    background-color: #EFFF43;
}
.module-block[data-type=membership][data-tier=lv3] .backdrop {
    background-image: url("../img/backdrop/backdrop-tier-lv3@3x.png");
}
.module-block[data-type=membership][data-tier=lv3] .panel[data-type=membership-summary] .head strong {
    color: #EFFF43;
}
.module-block[data-type=membership][data-tier=lv3] .panel[data-type=membership-summary] .body .tier {
    background-image: url("../img/tier/tier-lv3@3x.png");
}
.module-block[data-type=membership][data-tier=lv3] .panel[data-type=membership-summary] .tail dl dd {
    color: #14C3A2;
}
.module-block[data-type=membership][data-tier=lv3] .panel[data-type=membership-cards] .tail .toggle-switch input:checked {
    border-color: #1AC485;
    background-color: #1AC485;
}
.module-block[data-type=membership][data-tier=lv4] .backdrop {
    background-image: url("../img/backdrop/backdrop-tier-lv4@3x.png");
}
.module-block[data-type=membership][data-tier=lv4] .panel[data-type=membership-summary] .head strong {
    color: #EFFF43;
}
.module-block[data-type=membership][data-tier=lv4] .panel[data-type=membership-summary] .body .tier {
    background-image: url("../img/tier/tier-lv4@3x.png");
}
.module-block[data-type=membership][data-tier=lv4] .panel[data-type=membership-summary] .tail dl dd {
    color: #00CBBE;
}
.module-block[data-type=membership][data-tier=lv4] .panel[data-type=membership-cards] .tail .toggle-switch input:checked {
    border-color: #00CBBE;
    background-color: #00CBBE;
}
.module-block[data-type=membership][data-tier=lv5] .backdrop {
    background-image: url("../img/backdrop/backdrop-tier-lv5@3x.png");
}
.module-block[data-type=membership][data-tier=lv5] .panel[data-type=membership-summary] .head strong {
    color: #EFFF43;
}
.module-block[data-type=membership][data-tier=lv5] .panel[data-type=membership-summary] .body .tier {
    background-image: url("../img/tier/tier-lv5@3x.png");
}
.module-block[data-type=membership][data-tier=lv5] .panel[data-type=membership-summary] .tail dl dd {
    color: #c59fff;
}
.module-block[data-type=membership][data-tier=lv5] .panel[data-type=membership-cards] .tail .toggle-switch input:checked {
    border-color: #8C79FF;
    background-color: #8C79FF;
}

.module-block[data-type=stick] {
    box-sizing: border-box;
    overflow: unset;
    margin: -5.1282051282vw auto;
}
.module-block[data-type=stick] .contents {
    border-radius: unset;
    background-color: unset;
}
.module-block[data-type=stick] .contents .visual {
    height: 100%;
    aspect-ratio: 390/200;
    object-fit: cover;
}
.module-block[data-type=stick] .contents .head {
    position: absolute;
    width: 100%;
    padding: 7.6923076923vw 5.1282051282vw 0vw 5.1282051282vw;
    color: #fff;
}
.module-block[data-type=stick] .contents .head p {
    color: #1ac485;
}
.module-block[data-type=stick] .contents .head .cta {
    display: flex;
    width: auto;
    color: #ccc;
    height: 7.1794871795vw;
    font-size: 3.0769230769vw;
    margin-top: 3.0769230769vw;
    padding: 0 3.0769230769vw;
    border: solid 0.2564102564vw #ccc;
    border-radius: 100vw;
    align-items: center;
    align-self: flex-start;
}
.module-block[data-type=stick] .contents .body {
    display: none;
}
.module-block[data-type=stick] .contents .tail {
    display: none;
}

.module-block[data-type=hero] {
    height: 45.641025641vw;
    margin-bottom: -4.6153846154vw;
}
.module-block[data-type=hero] .visual {
    height: 100%;
}
.module-block[data-type=hero] .contents {
    border-bottom-left-radius: unset;
    border-bottom-right-radius: unset;
}
.module-block[data-type=hero] .contents .head {
    position: absolute;
    width: 100%;
    color: #fff;
}
.module-block[data-type=hero] .contents .body {
    display: none;
}
.module-block[data-type=hero] .contents .tail {
    display: none;
}

.module-block[data-type=helper] .contents .body .helper {
    margin-top: unset;
}
.module-block[data-type=helper] .contents .tail {
    padding-bottom: 5.1282051282vw;
}
.module-block[data-type=helper] .contents .tail .cta {
    margin: unset;
}

.module-block[data-type=utility] {
    height: 15.3846153846vw;
    border-bottom-width: 0.5128205128vw;
}
.module-block[data-type=utility] .contents {
    flex-flow: row;
    justify-content: space-between;
    border-bottom-left-radius: 4.1025641026vw;
    border-bottom-right-radius: 4.1025641026vw;
}
.module-block[data-type=utility] .contents .head {
    width: 16.9230769231vw;
    margin-right: 0;
    padding: unset;
    display: flex;
    justify-content: center;
    align-items: center;
}
.module-block[data-type=utility] .contents .head a, .module-block[data-type=utility] .contents .head button {
    display: flex;
    border-radius: 100%;
    width: 8.7179487179vw;
    height: 8.7179487179vw;
    background-color: #fff;
    justify-content: center;
    align-items: center;
}
.module-block[data-type=utility] .contents .head a .pictogram, .module-block[data-type=utility] .contents .head button .pictogram {
    width: 5.1282051282vw;
    height: 5.1282051282vw;
    background-size: 100%;
    background-image: url("../img/pictogram/picto-md-back@3x.png");
    opacity: 0.7;
    filter: invert(1);
    -webkit-filter: invert(1);
}
.module-block[data-type=utility] .contents .head a .label, .module-block[data-type=utility] .contents .head button .label {
    display: none;
}
.module-block[data-type=utility] .contents .body {
    display: flex;
    align-items: center;
    margin: 0 auto;
}
.module-block[data-type=utility] .contents .body h1 {
    font-size: 5.1282051282vw;
    font-weight: 500;
}
.module-block[data-type=utility] .contents .tail {
    margin-left: 0;
    position: unset;
    padding: unset;
    width: 16.9230769231vw;
    display: flex;
    justify-content: center;
    align-items: center;
}
.module-block[data-type=utility][data-view=home] .contents .head a .pictogram {
    background-image: url("../img/pictogram/picto-md-home@3x.png");
}

.module-block[data-type=history] .contents .head h2 strong {
    color: #14c3a2;
}
.module-block[data-type=history] .contents .body h5 {
    font-size: 4.1025641026vw;
    font-weight: 500;
    margin-bottom: 3.0769230769vw;
    margin-top: 8.2051282051vw;
}
.module-block[data-type=history] .contents .body .tab-group {
    margin-top: 8.2051282051vw;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    background-color: #111;
    border-radius: 25.641025641vw;
    height: 10.2564102564vw;
    overflow: hidden;
    box-sizing: border-box;
    align-items: center;
}
.module-block[data-type=history] .contents .body .tab-group .tab.active a {
    background-color: #fff;
    color: #111;
}
.module-block[data-type=history] .contents .body .tab-group .tab a {
    width: 100%;
    color: #fff;
    display: flex;
    height: 10.2564102564vw;
    border-style: solid;
    border-width: 0.2564102564vw;
    border-color: #111;
    justify-content: center;
    align-items: center;
    font-size: 3.5897435897vw;
    font-weight: 500;
    box-sizing: border-box;
    border-radius: 25.641025641vw;
}
.module-block[data-type=history] .contents .body .tab-contents {
    display: none;
}
.module-block[data-type=history] .contents .body .tab-contents.active {
    display: block;
}
.module-block[data-type=history] .contents .body .tab-contents button.more {
    margin-top: 0;
    margin-left: 0;
    margin-right: 0;
}
.module-block[data-type=history] .contents .tail {
    padding-top: 0;
}

.module-block[data-type=gift] .contents .body {
    padding: 0 5.1282051282vw;
}
.module-block[data-type=gift] .contents .body h5 {
    font-size: 4.1025641026vw;
    font-weight: 500;
    margin-bottom: 3.0769230769vw;
    margin-top: 8.2051282051vw;
}
.module-block[data-type=gift] .contents .body hr {
    display: none;
}
.module-block[data-type=gift] .contents .body .form-group {
    margin-top: 8.2051282051vw;
    display: flex;
    gap: 2.5641025641vw;
}
.module-block[data-type=gift] .contents .body .form label[for=rim] {
    position: absolute;
    right: 0;
    font-size: 7.1794871795vw;
    font-weight: 500;
    padding-bottom: 0.5128205128vw;
    height: 15.3846153846vw;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
}
.module-block[data-type=gift] .contents .body .form p.helper {
    text-align: right;
    font-size: 3.5897435897vw;
}
.module-block[data-type=gift] .contents .body .form p.helper[data-type=error] {
    display: none;
    font-size: 3.0769230769vw;
}
.module-block[data-type=gift] .contents .body .form .addon {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    margin-top: 5.1282051282vw;
    gap: 1.0256410256vw;
}
.module-block[data-type=gift] .contents .body .form .addon button {
    background-color: #eee;
    width: 100%;
    height: 10.2564102564vw;
    color: #111;
    border-radius: 25.641025641vw;
}
.module-block[data-type=gift] .contents .body .form .addon button .label {
    font-size: 3.5897435897vw;
    font-weight: 500;
}
.module-block[data-type=gift] .contents .tail .cta[data-type=secondary] {
    width: 12.8205128205vw;
    flex-shrink: 0;
    border-color: #111;
}
.module-block[data-type=gift] .contents .tail .cta[data-type=secondary] .label {
    display: none;
}
.module-block[data-type=gift] .contents .tail .cta[data-type=secondary] .pictogram {
    display: block;
    width: 5.641025641vw;
    height: 5.641025641vw;
    background-size: 100%;
    background-image: url(../img/pictogram/picto-lg-reset@3x.png);
    filter: invert(1);
    -webkit-filter: invert(1);
}

.module-block[data-type=stamp] .contents .head p {
    -webkit-line-clamp: 3;
}
.module-block[data-type=stamp] .contents .body {
    padding: 5.1282051282vw 5.1282051282vw 5.1282051282vw 5.1282051282vw;
}
.module-block[data-type=stamp] .contents .body h3 {
    color: #9C042B;
    font-size: 5.1282051282vw;
    font-weight: 500;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 3.0769230769vw;
}
.module-block[data-type=stamp] .contents .body h3 span {
    flex-shrink: 0;
}
.module-block[data-type=stamp] .contents .body h3:after {
    content: "";
    display: flex;
    width: 100%;
    background-image: url(../img/stamp/ornament-title.png);
    background-size: 100%;
    height: 2.0512820513vw;
}
.module-block[data-type=stamp] .contents .body ol {
    font-size: 3.0769230769vw;
    display: flex;
    flex-flow: column;
    gap: 2.0512820513vw;
    margin-top: 5.1282051282vw;
}
.module-block[data-type=stamp] .contents .body ol li {
    counter-increment: item;
}
.module-block[data-type=stamp] .contents .body ol li:before {
    content: counter(item, decimal-leading-zero) ". ";
    font-variant-numeric: tabular-nums;
    font-weight: bold;
    color: #9C042B;
}
.module-block[data-type=stamp] .contents .body .stamp-slot {
    margin-top: 10.2564102564vw;
    position: relative;
    background-image: url(../img/stamp/backdrop.png);
    background-size: cover;
    border-radius: 3.0769230769vw;
    padding: 2.5641025641vw;
}
.module-block[data-type=stamp] .contents .body .stamp-slot h4 {
    font-size: 6.1538461538vw;
    text-align: center;
    font-weight: 500;
    color: #fff;
    padding-top: 17.9487179487vw;
    padding-bottom: 7.6923076923vw;
}
.module-block[data-type=stamp] .contents .body .stamp-slot .swiper {
    padding-top: 7.6923076923vw;
    padding-bottom: 7.6923076923vw;
}
.module-block[data-type=stamp] .contents .body .stamp-slot .swiper button.next, .module-block[data-type=stamp] .contents .body .stamp-slot .swiper button.prev {
    position: absolute;
    width: 7.1794871795vw;
    height: 7.1794871795vw;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1;
    background-size: 100%;
}
.module-block[data-type=stamp] .contents .body .stamp-slot .swiper button.next.swiper-button-disabled, .module-block[data-type=stamp] .contents .body .stamp-slot .swiper button.prev.swiper-button-disabled {
    display: none;
}
.module-block[data-type=stamp] .contents .body .stamp-slot .swiper button.prev {
    left: 1.0256410256vw;
    background-image: url(../img/pictogram/picto-lg-prev@3x.png);
}
.module-block[data-type=stamp] .contents .body .stamp-slot .swiper button.next {
    right: 1.0256410256vw;
    background-image: url(../img/pictogram/picto-lg-next@3x.png);
}
.module-block[data-type=stamp] .contents .body .stamp-slot .swiper .swiper-pagination {
    width: 100%;
    height: 1.0256410256vw;
    position: absolute;
    bottom: 0;
    display: flex;
    gap: 1.0256410256vw;
    justify-content: center;
}
.module-block[data-type=stamp] .contents .body .stamp-slot .swiper .swiper-pagination .swiper-pagination-bullet {
    flex-shrink: 0;
    width: 1.0256410256vw;
    height: 1.0256410256vw;
    background-color: #fff;
    border-radius: 25.641025641vw;
}
.module-block[data-type=stamp] .contents .body .stamp-slot .swiper .swiper-pagination .swiper-pagination-bullet-active {
    width: 3.0769230769vw;
    background-color: #111;
}
.module-block[data-type=stamp] .contents .body .stamp-slot ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 0vw 7.6923076923vw;
    row-gap: 7.6923076923vw;
}
.module-block[data-type=stamp] .contents .body .stamp-slot ul li {
    position: relative;
    flex-shrink: 1;
    width: 19.2307692308vw;
    height: 19.2307692308vw;
    background-image: url(../img/stamp/slot.png);
    background-size: cover;
}
.module-block[data-type=stamp] .contents .body .stamp-slot ul li span {
    position: absolute;
    width: 22.8205128205vw;
    height: 23.0769230769vw;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    background-size: 100%;
    background-image: url(../img/stamp/stamp-on.png);
}
.module-block[data-type=stamp] .contents .body .stamp-slot ul li:nth-child(6) {
    background-image: url(../img/stamp/slot-goal-1.png);
}
.module-block[data-type=stamp] .contents .body .stamp-slot ul li:nth-child(6) span {
    background-image: url(../img/stamp/stamp-goal.png);
}
.module-block[data-type=stamp] .contents .body .stamp-slot ul li:nth-child(12) {
    background-image: url(../img/stamp/slot-goal-2.png);
}
.module-block[data-type=stamp] .contents .body .stamp-slot ul li:nth-child(12) span {
    background-image: url(../img/stamp/stamp-goal.png);
}
.module-block[data-type=stamp] .contents .body .stamp-slot dl.membership {
    margin: 0vw 7.6923076923vw;
    display: flex;
    justify-content: space-between;
    color: #fff;
    font-size: 3.5897435897vw;
    align-items: center;
}
.module-block[data-type=stamp] .contents .body .stamp-slot dl.membership dd select {
    font-size: 3.5897435897vw;
    border-radius: 2.0512820513vw;
    height: 10.2564102564vw;
    width: 46.1538461538vw;
    border-color: transparent;
    padding: 0vw 2.0512820513vw;
    color: #111;
}
.module-block[data-type=stamp] .contents .body .stamp-slot dl.my {
    margin: 5.1282051282vw 7.6923076923vw 15.3846153846vw;
    border-top: solid 0.2564102564vw #fff;
    display: grid;
    grid-template-columns: 2fr 1fr;
    color: #fff;
    font-size: 3.5897435897vw;
    padding-top: 3.0769230769vw;
    gap: 2.5641025641vw;
}
.module-block[data-type=stamp] .contents .body .stamp-slot dl.my dd {
    text-align: right;
}
.module-block[data-type=stamp] .contents .body .stamp-slot dl.my dd strong {
    color: #14c3a2;
    font-weight: 500;
}
.module-block[data-type=stamp] .contents .body .stamp-slot:before {
    content: "";
    position: absolute;
    inset: 0;
    border: solid 0.2564102564vw #fff;
    margin: 2.5641025641vw;
    border-radius: 2.0512820513vw;
    pointer-events: none;
}
.module-block[data-type=stamp] .contents .body .stamp-slot:after {
    content: "";
    position: absolute;
    width: 25.1282051282vw;
    height: 28.2051282051vw;
    right: 8.7179487179vw;
    top: -14.1025641026vw;
    background-image: url(../img/stamp/ornament-stamp.png);
    background-size: 100%;
}
.module-block[data-type=stamp] .contents .body p.helper {
    margin-top: 5.1282051282vw;
}

.module-block[data-view=available] .contents {
    justify-content: space-between;
    gap: 5.1282051282vw;
    background-image: url("../img/inhouse/available.png");
    background-size: 100%;
}
.module-block[data-view=available] .contents .visual {
    display: none;
}
.module-block[data-view=available] .contents .head {
    color: #fff;
}
.module-block[data-view=available] .contents .body {
    display: block;
    padding-top: unset;
    padding-bottom: unset;
    height: 100%;
}
.module-block[data-view=available] .contents .body .summary {
    border-radius: 3.0769230769vw;
    box-sizing: border-box;
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    height: 100%;
    gap: 2.0512820513vw;
    background-color: #3CC190;
}
.module-block[data-view=available] .contents .body .summary h4, .module-block[data-view=available] .contents .body .summary p {
    color: #fff;
}
.module-block[data-view=available] .contents .body .summary p {
    font-size: 3.5897435897vw;
    font-weight: 500;
}
.module-block[data-view=available] .contents .body .summary h4 {
    display: flex;
    font-size: 8.2051282051vw;
    gap: 1.0256410256vw;
    font-weight: 500;
    font-variant-numeric: tabular-nums;
}
.module-block[data-view=available] .tail {
    position: unset;
}
.module-block[data-view=available] .tail .cta {
    margin-top: 0;
}

.module-block[data-view=preview] .contents .body {
    display: block;
    height: 100%;
    flex-shrink: 1;
}
.module-block[data-view=preview] .contents .body .summary {
    overflow: hidden;
    background-color: #fff;
    box-sizing: border-box;
    display: flex;
    flex-flow: column;
    gap: 2.0512820513vw;
    height: 100%;
    border-radius: 0;
}
.module-block[data-view=preview] .contents .body .summary .history-group .history {
    padding-top: 2.0512820513vw;
    padding-bottom: 2.0512820513vw;
}
.module-block[data-view=preview] .contents .body .summary .history-group .history .pictogram {
    height: 13.3333333333vw;
    width: 13.3333333333vw;
}
.module-block[data-view=preview] .contents .body .summary .history-group li:first-of-type {
    border-top: 0.5128205128vw solid #eee;
}
.module-block[data-view=preview] .contents .tail {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) 100%);
}

.module-block[data-view=remain] .contents {
    background-image: url("../img/inhouse/remain.png");
    background-size: 100%;
}
.module-block[data-view=remain] .contents .visual {
    display: none !important;
}
.module-block[data-view=remain] .contents .head h2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}
.module-block[data-view=remain] .contents .body {
    display: block;
    height: 100%;
}
.module-block[data-view=remain] .contents .body .gauge {
    background-color: #323232;
    border-radius: 3.0769230769vw;
    box-sizing: border-box;
    height: 100%;
    gap: 4.1025641026vw;
    display: flex;
    flex-flow: column;
    justify-content: center;
}
.module-block[data-view=remain] .contents .body .gauge h4 {
    font-size: 3.5897435897vw;
    gap: 1.0256410256vw;
    font-weight: 500;
    text-align: center;
    display: flex;
    justify-content: center;
    color: #fff !important;
}
.module-block[data-view=remain] .contents .body .gauge > strong {
    display: block;
    background-color: #ddd;
    height: 7.1794871795vw;
    border-radius: 100vw;
    overflow: hidden;
    margin: 0 8.2051282051vw;
}
.module-block[data-view=remain] .contents .body .gauge > strong span {
    width: 0;
    height: 100%;
    display: block;
    background-color: #2DCCB5;
    border-top-right-radius: 25.641025641vw;
    border-bottom-right-radius: 25.641025641vw;
}
.module-block[data-view=remain] .contents .tail {
    display: none;
}

.module-block[data-view=summarize] .contents {
    overflow-x: hidden !important;
}

.module-block[data-view=custom] .contents .body *:first-child {
    margin-top: unset;
}
.module-block[data-view=custom] .contents .body strong {
    font-weight: 500;
}
.module-block[data-view=custom] .contents .body h1 {
    font-size: 7.1794871795vw;
    line-height: 8.7179487179vw;
    margin-top: 6.1538461538vw;
    margin-bottom: 3.0769230769vw;
    font-weight: 500;
}
.module-block[data-view=custom] .contents .body h2 {
    font-size: 6.1538461538vw;
    line-height: 7.6923076923vw;
    margin-top: 6.1538461538vw;
    margin-bottom: 3.0769230769vw;
    font-weight: 500;
}
.module-block[data-view=custom] .contents .body h3 {
    font-size: 5.1282051282vw;
    line-height: 6.6666666667vw;
    margin-top: 6.1538461538vw;
    margin-bottom: 3.0769230769vw;
    font-weight: 500;
}
.module-block[data-view=custom] .contents .body h4 {
    font-size: 4.6153846154vw;
    line-height: 5.641025641vw;
    margin-top: 6.1538461538vw;
    margin-bottom: 3.0769230769vw;
    font-weight: 500;
}
.module-block[data-view=custom] .contents .body h5 {
    font-size: 4.1025641026vw;
    line-height: 5.1282051282vw;
    margin-top: 6.1538461538vw;
    margin-bottom: 3.0769230769vw;
    font-weight: 500;
}
.module-block[data-view=custom] .contents .body h6 {
    font-size: 3.5897435897vw;
    line-height: 4.6153846154vw;
    margin-top: 6.1538461538vw;
    margin-bottom: 3.0769230769vw;
    font-weight: 500;
}
.module-block[data-view=custom] .contents .body p {
    font-size: 3.5897435897vw;
    line-height: 5.1282051282vw;
    font-weight: 400;
    margin-top: 3.0769230769vw;
    margin-bottom: 3.0769230769vw;
}
.module-block[data-view=custom] .contents .body small {
    font-size: 3.0769230769vw;
    line-height: 4.6153846154vw;
    font-weight: 400;
    margin-top: 3.0769230769vw;
    margin-bottom: 3.0769230769vw;
}

.module-block .drivers {
    position: absolute;
    right: 4.1025641026vw;
    top: 6.1538461538vw;
    width: 8.7179487179vw;
    height: 8.7179487179vw;
}
.module-block .drivers .tooltip .window {
    display: none;
    position: absolute;
    z-index: 1;
    top: calc(100% + 2.5641025641vw);
    bottom: unset;
    right: -1.2820512821vw;
    left: unset;
    transform: unset;
    background-color: rgba(0, 0, 0, 0.8980392157);
}
.module-block .drivers .tooltip .window:before {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    top: -1.2820512821vw;
    bottom: unset;
    left: unset;
    right: 4.358974359vw;
    border-left: 1.2820512821vw solid transparent;
    border-right: 1.2820512821vw solid transparent;
    border-bottom: 1.2820512821vw solid rgba(0, 0, 0, 0.8980392157);
    border-top: unset;
}
.module-block .drivers .tooltip .window p {
    font-size: 2.8205128205vw;
    padding: 2.5641025641vw 3.0769230769vw;
    line-height: 3.3333333333vw;
    width: 21.7948717949vw;
    color: #eee;
}
.module-block .drivers .tooltip .window p small {
    font-size: 2.0512820513vw;
    line-height: 0.2564102564vw;
}
.module-block .drivers button.cta {
    height: 100%;
    margin: unset;
    background-color: rgba(0, 0, 0, 0.5);
    border-radius: 25.641025641vw;
}
.module-block .drivers button.cta .label {
    display: none;
}
.module-block .drivers button.cta .pictogram {
    display: block;
    width: 5.1282051282vw;
    height: 5.1282051282vw;
    background-size: 100%;
    background-image: url(../img/pictogram/picto-md-drivers@3x.png);
}
.module-block[data-type=gift-view] .contents canvas#congrats, .module-block[data-type=gift-view-expired] .contents canvas#congrats, .module-block[data-type=gift-view-rejected] .contents canvas#congrats, .module-block[data-type=gift-view-accepted] .contents canvas#congrats, .module-block[data-type=history] .contents canvas#congrats, .module-block[data-type=history-empty] .contents canvas#congrats {
    display: none;
}
.module-block[data-type=gift-view] .contents .head strong, .module-block[data-type=gift-view-expired] .contents .head strong, .module-block[data-type=gift-view-rejected] .contents .head strong, .module-block[data-type=gift-view-accepted] .contents .head strong, .module-block[data-type=history] .contents .head strong, .module-block[data-type=history-empty] .contents .head strong {
    color: #00CBBE;
}
.module-block[data-type=gift-view] .contents .body h5, .module-block[data-type=gift-view-expired] .contents .body h5, .module-block[data-type=gift-view-rejected] .contents .body h5, .module-block[data-type=gift-view-accepted] .contents .body h5, .module-block[data-type=history] .contents .body h5, .module-block[data-type=history-empty] .contents .body h5 {
    font-size: 4.1025641026vw;
    font-weight: 500;
    margin-bottom: 3.0769230769vw;
    margin-top: 8.2051282051vw;
}
.module-block[data-type=gift-view] .contents .body .messages, .module-block[data-type=gift-view-expired] .contents .body .messages, .module-block[data-type=gift-view-rejected] .contents .body .messages, .module-block[data-type=gift-view-accepted] .contents .body .messages, .module-block[data-type=history] .contents .body .messages, .module-block[data-type=history-empty] .contents .body .messages {
    height: 38.4615384615vw;
    background-color: #fff;
    border-radius: 3.0769230769vw;
    border: solid 0.2564102564vw #000;
    box-sizing: border-box;
    display: flex;
    flex-flow: column;
    justify-content: space-between;
}
.module-block[data-type=gift-view] .contents .body .messages h3, .module-block[data-type=gift-view-expired] .contents .body .messages h3, .module-block[data-type=gift-view-rejected] .contents .body .messages h3, .module-block[data-type=gift-view-accepted] .contents .body .messages h3, .module-block[data-type=history] .contents .body .messages h3, .module-block[data-type=history-empty] .contents .body .messages h3 {
    height: 100%;
    font-size: 7.1794871795vw;
    font-weight: 500;
    display: flex;
    gap: 2.0512820513vw;
    justify-content: center;
    align-items: center;
    margin-top: auto;
    margin-bottom: auto;
}
.module-block[data-type=gift-view] .contents .body .messages p, .module-block[data-type=gift-view-expired] .contents .body .messages p, .module-block[data-type=gift-view-rejected] .contents .body .messages p, .module-block[data-type=gift-view-accepted] .contents .body .messages p, .module-block[data-type=history] .contents .body .messages p, .module-block[data-type=history-empty] .contents .body .messages p {
    flex-shrink: 0;
    font-size: 3.5897435897vw;
    border-top: solid 0.2564102564vw #000;
    margin-top: 0;
    width: 100%;
    display: flex;
    justify-content: space-between;
    box-sizing: border-box;
    padding-left: 5.1282051282vw;
    padding-right: 5.1282051282vw;
    height: 12.8205128205vw;
    align-items: center;
}
.module-block[data-type=gift-view] .contents .body .messages p time, .module-block[data-type=gift-view-expired] .contents .body .messages p time, .module-block[data-type=gift-view-rejected] .contents .body .messages p time, .module-block[data-type=gift-view-accepted] .contents .body .messages p time, .module-block[data-type=history] .contents .body .messages p time, .module-block[data-type=history-empty] .contents .body .messages p time {
    font-weight: 500;
    color: #14C3A2;
}
.module-block[data-type=history-empty] .contents .body {
    padding-bottom: 5.1282051282vw;
}
.module-block[data-type=history-empty] .contents .body a.placard {
    display: block;
    overflow: hidden;
    border-radius: 3.0769230769vw;
}
.module-block[data-type=history] .backdrop {
    display: none;
}
.module-block[data-type=history] .contents .body {
    padding-bottom: 5.1282051282vw;
}
.module-block[data-type=history] .contents .body .messages {
    height: 51.2820512821vw;
}
.module-block[data-type=history] .contents .body .messages h3 {
    height: unset;
    margin-bottom: 0;
}
.module-block[data-type=history] .contents .body .messages .gauge {
    position: relative;
    margin-top: 4.1025641026vw;
    margin-bottom: auto;
    box-sizing: border-box;
    gap: 4.1025641026vw;
    display: flex;
    flex-flow: column;
    justify-content: center;
    margin-left: 8.2051282051vw;
    margin-right: 8.2051282051vw;
}
.module-block[data-type=history] .contents .body .messages .gauge h4 {
    font-size: 3.5897435897vw;
    gap: 1.0256410256vw;
    font-weight: 500;
    text-align: center;
    display: flex;
    justify-content: center;
    height: unset;
}
.module-block[data-type=history] .contents .body .messages .gauge > strong {
    display: block;
    background-color: #ddd;
    height: 7.1794871795vw;
    border-radius: 100vw;
    overflow: hidden;
}
.module-block[data-type=history] .contents .body .messages .gauge > strong span {
    width: 0;
    height: 100%;
    display: block;
    background-color: #2DCCB5;
    border-top-right-radius: 25.641025641vw;
    border-bottom-right-radius: 25.641025641vw;
}
.module-block[data-type=history] .contents .body .messages .gauge > .helper {
    position: absolute;
    right: 4.1025641026vw;
    top: 50%;
    transform: translateY(-50%);
    font-weight: 500;
    color: #fff;
}
.module-block[data-type=history] .contents .body .messages p {
    padding-left: 0;
    padding-right: 0;
}
.module-block[data-type=history] .contents .body .messages p span:first-of-type {
    padding-left: 5.1282051282vw;
    margin-right: 0;
}
.module-block[data-type=history] .contents .body .messages p strong {
    text-align: right;
    padding-right: 5.1282051282vw;
    margin-left: auto;
    font-weight: 500;
}
.module-block[data-type=history] .contents .body .messages p a {
    height: 100%;
    border-left: solid 0.2564102564vw #111;
    padding-left: 5.1282051282vw;
    padding-right: 5.1282051282vw;
    display: flex;
    align-items: center;
    font-weight: 500;
    color: #111;
}
.module-block[data-type=history] .contents .body .messages p a:before {
    content: "";
    display: block;
    width: 5.1282051282vw;
    height: 5.1282051282vw;
    background-size: 100%;
    background-image: url(../img/pictogram/picto-md-gift@3x.png);
    filter: invert(1);
}
.module-block[data-type=history] .contents .body .more {
    margin-bottom: 0;
}
.module-block[data-type=history] .contents .tail .more {
    margin-bottom: 0;
}
.module-block[data-type=gift-view-expired] .contents .body h5, .module-block[data-type=gift-view-rejected] .contents .body h5, .module-block[data-type=gift-view-accepted] .contents .body h5 {
    font-size: 4.1025641026vw;
    font-weight: 500;
    margin-bottom: 3.0769230769vw;
    margin-top: 8.2051282051vw;
}
.module-block[data-type=gift-view-expired] .contents .tail, .module-block[data-type=gift-view-rejected] .contents .tail, .module-block[data-type=gift-view-accepted] .contents .tail {
    flex-flow: column;
    margin: 5.1282051282vw 0;
}
.module-block[data-type=gift-view-expired] .contents .tail .cta, .module-block[data-type=gift-view-rejected] .contents .tail .cta, .module-block[data-type=gift-view-accepted] .contents .tail .cta {
    margin-top: 0;
    margin-bottom: 0;
}
.module-block[data-type=gift-view-expired] .contents .body .messages h3, .module-block[data-type=gift-view-rejected] .contents .body .messages h3 {
    position: relative;
    filter: grayscale(100%);
}
.module-block[data-type=gift-view-expired] .contents .body .messages h3:before, .module-block[data-type=gift-view-rejected] .contents .body .messages h3:before {
    content: "";
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    left: 4.1025641026vw;
    top: 4.1025641026vw;
    background-color: #fff;
    font-size: 3.5897435897vw;
    border-radius: 25.641025641vw;
    height: 7.1794871795vw;
    z-index: 1;
    padding-left: 4.1025641026vw;
    padding-right: 4.1025641026vw;
    font-weight: 500;
}
.module-block[data-type=gift-view-expired] .contents .body .messages h3:after, .module-block[data-type=gift-view-rejected] .contents .body .messages h3:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.15);
}
.module-block[data-type=gift-view-expired] .contents .body .messages p time, .module-block[data-type=gift-view-rejected] .contents .body .messages p time {
    color: #DF0033;
}
.module-block[data-type=gift-view-expired] .contents .body .messages h3:before {
    content: "기한만료";
}
.module-block[data-type=gift-view-rejected] .contents .body .messages h3:before {
    content: "선물거절";
}
/*
windows
*/
.windows {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.6);
    top: 0;
    left: 0;
    z-index: 9999;
}
.windows[data-type=modal] .contents {
    position: absolute;
    width: 89.7435897436vw;
    background-color: #fff;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    border-radius: 4.1025641026vw;
}
.windows[data-type=modal] .contents .head {
    text-align: center;
    background-color: #fafafa;
    margin: 0vw 5.1282051282vw 0 5.1282051282vw;
    border-radius: 3.0769230769vw;
    padding-top: 4.1025641026vw;
    padding-bottom: 3.0769230769vw;
}
.windows[data-type=modal] .contents .head dl {
    background-color: #fff;
    border: solid 0.2564102564vw #111;
    display: grid;
    grid-template-columns: 2fr 4fr;
    grid-auto-rows: auto;
    margin-top: -4.1025641026vw;
    margin-bottom: -4.1025641026vw;
    border-radius: 3.0769230769vw;
}
.windows[data-type=modal] .contents .head dl dt:first-of-type {
    display: none;
}
.windows[data-type=modal] .contents .head dl dd:first-of-type {
    grid-column: 1/-1;
    font-size: 7.1794871795vw;
    font-weight: 500;
    padding: 8.7179487179vw 0;
    font-variant-numeric: tabular-nums;
    text-align: center;
}
.windows[data-type=modal] .contents .head dl dt {
    text-align: left;
    padding-left: 5.1282051282vw;
}
.windows[data-type=modal] .contents .head dl dd {
    text-align: right;
    padding-right: 5.1282051282vw;
    font-weight: 500;
}
.windows[data-type=modal] .contents .head dl dt, .windows[data-type=modal] .contents .head dl dd {
    border-top: solid 0.2564102564vw #111;
    padding-top: 3.0769230769vw;
    padding-bottom: 3.0769230769vw;
    font-size: 3.5897435897vw;
}
.windows[data-type=modal] .contents .head dl dt:first-of-type, .windows[data-type=modal] .contents .head dl dd:first-of-type {
    border: 0 none;
}
.windows[data-type=modal] .contents .head h2 {
    padding: 8.2051282051vw 4.1025641026vw;
    font-size: 3.5897435897vw;
    font-weight: 500;
}
.windows[data-type=modal] .contents .head img {
    height: 25.641025641vw;
}
.windows[data-type=modal] .contents .body {
    overflow: auto;
    max-height: 115.3846153846vw;
    text-align: center;
    margin-bottom: 3.0769230769vw;
}
.windows[data-type=modal] .contents .body h3 {
    font-size: 3.5897435897vw;
    line-height: 5.1282051282vw;
    font-weight: 400;
    margin-top: 6.1538461538vw;
}
.windows[data-type=modal] .contents .body h4, .windows[data-type=modal] .contents .body p {
    font-size: 3.5897435897vw;
    line-height: 5.1282051282vw;
}
.windows[data-type=modal] .contents .body h4 strong, .windows[data-type=modal] .contents .body p strong {
    color: #14C3A2;
}
.windows[data-type=modal] .contents .body h4 {
    font-weight: 400;
    color: #14C3A2;
    margin-top: 6.1538461538vw;
}
.windows[data-type=modal] .contents .body small {
    display: block;
    font-size: 3.0769230769vw;
    color: #aaa;
    margin: 3.0769230769vw 0;
}
.windows[data-type=modal] .contents .body[data-contain=stamp] {
    padding: 0 5.1282051282vw 10.2564102564vw;
    margin-bottom: 0;
}
.windows[data-type=modal] .contents .body[data-contain=stamp] .form .textbox {
    margin-top: 5.1282051282vw;
}
.windows[data-type=modal] .contents .body[data-contain=stamp] .form label[for=stamp] {
    position: absolute;
    right: 0;
    font-size: 7.1794871795vw;
    font-weight: 500;
    padding-bottom: 0.5128205128vw;
    height: 15.3846153846vw;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
}
.windows[data-type=modal] .contents .body[data-contain=stamp] .form p.helper {
    text-align: right;
    font-size: 3.5897435897vw;
}
.windows[data-type=modal] .contents .body[data-contain=stamp] .form p.helper[data-type=error] {
    display: none;
    font-size: 3.0769230769vw;
}
.windows[data-type=modal] .contents .body[data-contain=stamp] .form .addon {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    margin-top: 5.1282051282vw;
    gap: 1.0256410256vw;
}
.windows[data-type=modal] .contents .body[data-contain=stamp] .form .addon button {
    background-color: #eee;
    width: 100%;
    height: 10.2564102564vw;
    color: #111;
    border-radius: 25.641025641vw;
}
.windows[data-type=modal] .contents .body[data-contain=stamp] .form .addon button .label {
    font-size: 3.5897435897vw;
    font-weight: 500;
}
.windows[data-type=modal] .contents .body[data-contain=stamp] p.helper {
    text-align: right;
    margin-top: 2.0512820513vw;
}
.windows[data-type=modal] .contents .body[data-contain=stamp] h5 {
    text-align: left;
    margin-top: 8.2051282051vw;
    margin-bottom: 3.0769230769vw;
    font-weight: 500;
}
.windows[data-type=modal] .contents .body[data-contain=stamp] ul.helper {
    text-align: left;
}
.windows[data-type=modal] .contents .tail {
    margin-top: 0;
    background-color: rgba(0, 0, 0, 0);
    display: flex;
    align-items: center;
    flex-flow: row;
    padding: 0 5.1282051282vw;
    gap: 2.5641025641vw;
}
.windows[data-type=driver] {
    display: none;
}
.windows[data-type=driver] .contents {
    position: absolute;
    width: 89.7435897436vw;
    background-color: #030303;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    border-radius: 4.1025641026vw;
}
.windows[data-type=driver] .contents button.dismiss {
    opacity: 1;
}
.windows[data-type=driver] .contents .head {
    margin: 5.1282051282vw 5.1282051282vw 0 5.1282051282vw;
    border-radius: 3.0769230769vw;
    display: flex;
    gap: 5.1282051282vw;
}
.windows[data-type=driver] .contents .head button {
    font-size: 5.1282051282vw;
    font-weight: 500;
    line-height: 6.1538461538vw;
    color: rgba(255, 255, 255, 0.4);
}
.windows[data-type=driver] .contents .head button.active {
    color: rgb(255, 255, 255);
}
.windows[data-type=driver] .contents .head img {
    height: 25.641025641vw;
}
.windows[data-type=driver] .contents .body {
    overflow: hidden;
    max-height: 141.0256410256vw;
    text-align: center;
    padding: 5.1282051282vw 0 15.3846153846vw;
}
.windows[data-type=driver] .contents .body .panel {
    display: none;
}
.windows[data-type=driver] .contents .body .panel.active {
    display: block;
}
.windows[data-type=driver] .contents .body .swiper-slide {
    width: 79.4871794872vw;
    margin-left: 2.5641025641vw;
    margin-right: 2.5641025641vw;
}
.windows[data-type=driver] .contents .body .swiper-pagination {
    position: absolute;
    left: 50%;
    bottom: 6.4102564103vw;
    display: flex;
    gap: 1.0256410256vw;
    transform: translateX(-50%);
}
.windows[data-type=driver] .contents .body .swiper-pagination .swiper-pagination-bullet {
    display: block;
    width: 1.2820512821vw;
    height: 1.2820512821vw;
    background-color: rgba(255, 255, 255, 0.3137254902);
    border-radius: 100%;
}
.windows[data-type=driver] .contents .body .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background-color: #fff;
}
.windows[data-type=driver] .contents .body button.next, .windows[data-type=driver] .contents .body button.prev {
    border-radius: 100%;
    position: absolute;
    width: 7.6923076923vw;
    height: 7.6923076923vw;
    bottom: 0vw;
    z-index: 1;
    transform: translateY(-50%);
    background-size: 100%;
}
.windows[data-type=driver] .contents .body button.next.swiper-button-disabled, .windows[data-type=driver] .contents .body button.prev.swiper-button-disabled {
    display: none;
}
.windows[data-type=driver] .contents .body button.next {
    right: 4.1025641026vw;
    background-image: url("../img/pictogram/picto-lg-next@3x.png");
}
.windows[data-type=driver] .contents .body button.prev {
    left: 4.1025641026vw;
    background-image: url("../img/pictogram/picto-lg-prev@3x.png");
}
.windows[data-type=driver] .contents .body img {
    width: 100%;
}
.windows[data-type=driver] .contents .body h3 {
    font-size: 5.1282051282vw;
    line-height: 6.6666666667vw;
    font-weight: 500;
    margin-top: 6.1538461538vw;
}
.windows[data-type=driver] .contents .body h4, .windows[data-type=driver] .contents .body p {
    font-size: 3.5897435897vw;
    line-height: 4.6153846154vw;
}
.windows[data-type=driver] .contents .body h4 strong, .windows[data-type=driver] .contents .body p strong {
    color: #14C3A2;
}
.windows[data-type=driver] .contents .body h4 {
    font-weight: 500;
    color: #14C3A2;
    margin-top: 6.1538461538vw;
}
.windows[data-type=driver] .contents .body p {
    margin-top: 3.0769230769vw;
}
.windows[data-type=driver] .contents .body small {
    display: block;
    font-size: 3.0769230769vw;
    color: #aaa;
    margin: 3.0769230769vw 0;
}
.windows[data-type=driver] .contents .tail {
    margin-top: 0;
    background-color: rgba(0, 0, 0, 0);
    display: flex;
    align-items: center;
    flex-flow: row;
    padding: 0 5.1282051282vw;
    gap: 2.5641025641vw;
    display: none;
}
/*
global layout
*/
html, body {
    font-family: "Pretendard", sans-serif;
    font-weight: 400;
    background-color: #111;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.header, .dock {
    display: flex;
    align-items: center;
    font-size: 4.1025641026vw;
}

.header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    background-color: #ccc;
    z-index: 1000;
    height: 15.3846153846vw;
    background-color: rgb(255, 255, 255);
    display: flex;
    justify-content: space-between;
    padding: 0 5.641025641vw;
    border-bottom-left-radius: 4.1025641026vw;
    border-bottom-right-radius: 4.1025641026vw;
}
.header .site-brand a {
    display: flex;
    flex-flow: row;
    align-items: center;
    height: 10.2564102564vw;
}
.header .site-brand a .label {
    display: none;
}
.header .site-brand .pictogram {
    display: block;
    width: 42.8205128205vw;
    height: 4.1025641026vw;
    background-image: url(../img/site-brand/site-brand@3x.png);
    background-size: 100%;
}
/*
dock
*/
.dock {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    height: 20.5128205128vw;
    background-color: rgb(255, 255, 255);
    -webkit-backdrop-filter: blur(12.8205128205vw) saturate(1);
    backdrop-filter: blur(12.8205128205vw) saturate(1);
    padding: 0vw 23.5897435897vw 0vw 3.0769230769vw;
}
.dock > ul {
    width: 100%;
    display: flex;
    justify-content: space-between;
    margin-bottom: 2.0512820513vw;
}
.dock > ul a.rim {
    display: none;
}
.dock > ul > li > .rim button {
    display: flex;
    flex-flow: column;
    align-items: center;
    justify-content: flex-start;
    gap: 1.0256410256vw;
    font-size: 2.5641025641vw;
    width: 15.3846153846vw;
    height: 15.3846153846vw;
    color: #111;
    border-radius: 3.0769230769vw;
}
.dock > ul > li > .rim button .pictogram {
    margin-top: 1.0256410256vw;
    display: block;
    width: 8.2051282051vw;
    height: 8.2051282051vw;
    background-size: 100% 100%;
    -webkit-filter: invert(1);
    filter: invert(1);
    background-image: url(../img/pictogram/picto-hg-dock-dot@3x.png);
}
.dock > ul > li > .rim ul {
    display: none;
    flex-flow: column;
    position: absolute;
    background: rgb(17, 17, 17);
    box-sizing: border-box;
    left: 5.1282051282vw;
    bottom: 23.0769230769vw;
    padding: 3.0769230769vw;
    width: 41.0256410256vw;
    gap: 2.0512820513vw;
    border-radius: 3.0769230769vw;
    border: solid 0.2564102564vw #333;
}
.dock > ul > li > .rim ul:before {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    bottom: -1.2820512821vw;
    left: 3.8461538462vw;
    border-left: 1.2820512821vw solid transparent;
    border-right: 1.2820512821vw solid transparent;
    border-top: 1.2820512821vw solid #333;
}
.dock > ul > li > .rim ul li {
    align-items: center;
}
.dock > ul > li > .rim ul li a {
    border-radius: 2.0512820513vw;
    font-size: 3.5897435897vw;
    display: flex;
    justify-content: start;
    align-items: center;
    color: #fff;
    border: solid 0.2564102564vw #111;
    gap: 2.0512820513vw;
}
.dock > ul > li > .rim ul li a .pictogram {
    background-size: 100%;
    width: 8.2051282051vw;
    height: 8.2051282051vw;
    border-radius: 2.0512820513vw;
}
.dock > ul > li > .rim ul li a.club .pictogram {
    background-image: url("../img/pictogram/picto-hg-dock-rim-intro@3x.png");
}
.dock > ul > li > .rim ul li a.respect .pictogram {
    background-image: url("../img/pictogram/picto-hg-dock-respect@3x.png");
}
.dock > ul > li > .rim ul li a.signup .pictogram {
    background-image: url("../img/pictogram/picto-hg-dock-signup@3x.png");
}
.dock > ul > li > a, .dock > ul > li > button {
    display: flex;
    flex-flow: column;
    align-items: center;
    justify-content: flex-start;
    gap: 1.0256410256vw;
    font-size: 2.5641025641vw;
    width: 15.3846153846vw;
    height: 15.3846153846vw;
    color: #111;
    border-radius: 3.0769230769vw;
}
.dock > ul > li > a .pictogram, .dock > ul > li > button .pictogram {
    margin-top: 1.0256410256vw;
    display: block;
    width: 8.2051282051vw;
    height: 8.2051282051vw;
    background-size: 100% 100%;
    -webkit-filter: invert(1);
    filter: invert(1);
}
.dock > ul > li > a .label, .dock > ul > li > button .label {
    margin-bottom: auto;
}
.dock > ul > li > a.rim .pictogram, .dock > ul > li > button.rim .pictogram {
    -webkit-filter: invert(1);
    filter: invert(1);
    background-image: url(../img/pictogram/picto-hg-dock-rim@3x.png);
}
.dock > ul > li > a.home .pictogram, .dock > ul > li > button.home .pictogram {
    background-image: url(../img/pictogram/picto-hg-dock-home@3x.png);
}
.dock > ul > li > a.gift .pictogram, .dock > ul > li > button.gift .pictogram {
    background-image: url(../img/pictogram/picto-hg-dock-gift@3x.png);
}
.dock > ul > li > a.history .pictogram, .dock > ul > li > button.history .pictogram {
    background-image: url(../img/pictogram/picto-hg-dock-history@3x.png);
}
.dock .portal {
    position: absolute;
    right: 6.4102564103vw;
    bottom: 6.1538461538vw;
}
.dock .portal button {
    position: relative;
    font-size: 3.0769230769vw;
    width: 17.9487179487vw;
    height: 17.9487179487vw;
    border-radius: 100%;
    background-color: #fafafa;
}
.dock .portal button span.pictogram {
    border-radius: 100%;
    overflow: hidden;
    width: 15.3846153846vw;
    height: 15.3846153846vw;
    position: absolute;
    left: 50%;
    top: 50%;
    background-size: 100%;
    transform: translate(-50%, -50%);
}
.dock .portal button span.pictogram.ananti {
    background-image: url("../img/layout/portal-ant-lg.png");
}
.dock .portal button span.pictogram.eternaljourney {
    background-image: url("../img/layout/portal-ej-lg.png");
}
.dock .portal > ul {
    box-sizing: border-box;
    display: none;
    flex-flow: column;
    position: absolute;
    gap: 2.0512820513vw;
    width: 46.4102564103vw;
    bottom: 20.5128205128vw;
    right: -1.2820512821vw;
    padding: 3.0769230769vw;
    border-radius: 3.0769230769vw;
    background: #111;
    -webkit-backdrop-filter: blur(12.8205128205vw) saturate(1);
    backdrop-filter: blur(12.8205128205vw) saturate(1);
}
.dock .portal > ul li {
    display: block;
}
.dock .portal > ul li a {
    display: flex;
    flex-flow: row;
    color: #fff;
    font-size: 3.5897435897vw;
    gap: 2.0512820513vw;
    align-items: center;
}
.dock .portal > ul li a:before {
    content: "";
    display: block;
    width: 8.2051282051vw;
    height: 8.2051282051vw;
    background-size: 100%;
}
.dock .portal > ul li a.ananti:before {
    background-image: url("../img/layout/portal-ant.png");
}
.dock .portal > ul li a.eternaljourney:before {
    background-image: url("../img/layout/portal-ej.png");
}
.dock .portal > ul:before {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    bottom: -1.2820512821vw;
    right: 8.9743589744vw;
    border-left: 1.2820512821vw solid transparent;
    border-right: 1.2820512821vw solid transparent;
    border-top: 1.2820512821vw solid rgb(17, 17, 17);
}
/*
styles
*/
main#module-scroller {
    position: absolute;
    padding-top: 20.5128205128vw;
    width: 100%;
    height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    display: grid;
    align-content: start;
    gap: 5.1282051282vw;
    box-sizing: border-box;
}
main#module-scroller .module-block[data-type=helper] {
    display: none;
}
main#module-scroller[data-layout-modifier=fatty] {
    gap: 0.5128205128vw;
}
main#module-scroller[data-layout-modifier=fatty] .module-block {
    box-sizing: border-box;
    width: unset;
    border-left-width: 0.5128205128vw;
    border-right-width: 0.5128205128vw;
    border-color: #111;
    border-style: solid;
}
main#module-scroller[data-layout-modifier=fatty] .module-block[data-type=helper] {
    display: block;
}

body[data-component-pin=default] .module-block[data-type=footer] {
    margin-top: -5.1282051282vw;
}

body[data-component-pin=dark] .header, body[data-component-pin=dark] .dock, body[data-component-pin=dark] .top {
    -webkit-filter: invert(1);
    filter: invert(1);
}
body[data-component-pin=dark] .dock .portal ul li a:before {
    -webkit-filter: invert(1);
    filter: invert(1);
}
body[data-component-pin=secondary] .header {
    display: none;
}
body[data-component-pin=secondary] main#module-scroller {
    padding-top: 15.3846153846vw;
}
body[data-component-pin=secondary] main#module-scroller .module-block[data-type=expand] {
    display: none !important;
}
body[data-component-pin=secondary] main#module-scroller .module-block[data-type=default] {
    margin: unset;
}
body[data-component-pin=secondary] .module-block[data-type=utility] {
    position: fixed;
    top: 0vw;
    left: 0vw;
    right: 0vw;
    z-index: 2;
}
body[data-component-pin=secondary] .module-block[data-type=membership] {
    display: none;
}

.top {
    display: none;
    position: fixed;
    width: 11.2820512821vw;
    height: 11.2820512821vw;
    right: 5.1282051282vw;
    bottom: 28.7179487179vw;
    background-color: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(50px) saturate(2);
    -webkit-backdrop-filter: blur(50px) saturate(2);
    border-radius: 25.641025641vw;
    justify-content: center;
    align-items: center;
    z-index: 10;
}
.top .label {
    display: none;
}
.top .pictogram {
    display: block;
    border-radius: 25.641025641vw;
    width: 7.1794871795vw;
    height: 7.1794871795vw;
    background-size: 100%;
    background-image: url(../img/pictogram/picto-lg-dock-top@3x.png);
    filter: invert(1);
    -webkit-filter: invert(1);
}

html.locked body {
    height: 100% !important;
    overflow: hidden !important;
}
html.locked body .header, html.locked body .module-block[data-type=utility] {
    top: -15.3846153846vw !important;
}
html.locked body .top {
    opacity: 0;
    bottom: 5.1282051282vw !important;
}
html.locked body .dock {
    bottom: -25.641025641vw !important;
}
html.locked body #module-scroller {
    overflow: hidden !important;
}

body .header, body .dock, body .module-block[data-type=utility], body .top {
    transition: top 0.2s cubic-bezier(0.645, 0.045, 0.355, 1) 0s, bottom 0.2s cubic-bezier(0.645, 0.045, 0.355, 1) 0s, opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1) 0s !important;
}
body.far .top {
    display: flex;
}
body.scrolled .header, body.scrolled .module-block[data-type=utility] {
    top: -15.3846153846vw;
}
body.scrolled .top {
    bottom: 5.1282051282vw;
}
body.scrolled .dock {
    bottom: -25.641025641vw;
}
body.scrolled.reverse .header, body.scrolled.reverse .module-block[data-type=utility] {
    top: 0vw;
}
body.scrolled.reverse .top {
    bottom: 28.7179487179vw;
}
body.scrolled.reverse .dock {
    bottom: 0vw;
}

[data-sstmml=numeric] {
    font-variant-numeric: tabular-nums;
}

header {
    align-items: center;
}

.quickLink {
    display: none;
    position: relative;
}
.quickLink > button {
    position: relative;
    width: 10.2564102564vw;
    height: 10.2564102564vw;
    background-color: #fff;
    border-radius: 25.641025641vw;
    display: flex;
    overflow: hidden;
}
.quickLink > button > .label {
    display: none;
}
.quickLink > button .pictogram {
    position: absolute;
    width: 8.2051282051vw;
    height: 8.2051282051vw;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    background-size: 100%;
    background-image: url("../img/pictogram/picto-lg-dock-dot@3x.png");
    -webkit-filter: invert(1);
    filter: invert(1);
}
.quickLink > .link {
    position: absolute;
    width: 46.1538461538vw;
    padding: 3.0769230769vw;
    box-sizing: border-box;
    right: -0.5128205128vw;
    top: 12.3076923077vw;
    background-color: #ffffff;
    border-radius: 3.0769230769vw;
    display: flex;
    flex-flow: column;
    gap: 1.0256410256vw;
}
.quickLink > .link hr {
    margin: 2.0512820513vw 0;
}
.quickLink > .link a {
    display: flex;
    color: #111;
    font-size: 3.5897435897vw;
    height: 8.2051282051vw;
    align-items: center;
    gap: 2.0512820513vw;
}
.quickLink > .link a span.pictogram {
    width: 8.2051282051vw;
    height: 8.2051282051vw;
    background-size: 100%;
}
.quickLink > .link a.ananti span.pictogram {
    background-image: url("../img/quickLink/quickLink-ant@3x.png");
}
.quickLink > .link a.eternaljourney span.pictogram {
    background-image: url("../img/quickLink/quickLink-ej@3x.png");
}
.quickLink > .link a.myRim span.pictogram {
    background-image: url("../img/quickLink/quickLink-myRim@3x.png");
}
.quickLink > .link a.rimClub, .quickLink > .link a.respect, .quickLink > .link a.gift {
    background-color: #fafafa;
    border-radius: 2.0512820513vw;
    height: 10.2564102564vw;
    display: flex;
    justify-content: center;
}
.quickLink > .link:before {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    top: -1.2820512821vw;
    right: 4.358974359vw;
    border-left: 1.2820512821vw solid transparent;
    border-right: 1.2820512821vw solid transparent;
    border-bottom: 1.2820512821vw solid #fff;
}

.history-empty {
    padding-top: 30.7692307692vw;
    padding-bottom: 30.7692307692vw;
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    gap: 2.0512820513vw;
}
.history-empty ~ button.more {
    display: none;
}
.history-empty p {
    font-size: 4.1025641026vw;
    font-weight: 500;
}
.history-empty small {
    font-size: 3.0769230769vw;
    color: #aaa;
}

.history-group li {
    border-top: solid 0.2564102564vw #eee;
}
.history-group li .history {
    display: flex;
    justify-content: space-between;
    padding: 3.0769230769vw 2.0512820513vw;
}
.history-group li .history .pictogram {
    position: relative;
    width: 15.3846153846vw;
    height: 15.3846153846vw;
    background-color: #f8f8f8;
    border-radius: 100%;
    margin-right: 3.0769230769vw;
    flex-shrink: 0;
}
.history-group li .history .pictogram:after {
    content: "";
    display: block;
    width: 8.2051282051vw;
    height: 8.2051282051vw;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    background-size: 100%;
}
.history-group li .history .label {
    display: flex;
    flex-flow: column;
    justify-content: center;
    width: 100%;
    gap: 1.0256410256vw;
}
.history-group li .history .label h4 {
    font-size: 4.1025641026vw;
    font-weight: 500;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}
.history-group li .history .label small {
    font-size: 3.0769230769vw;
    font-weight: 300;
    color: #aaa;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 4.1025641026vw;
}
.history-group li .history .label time {
    font-size: 3.5897435897vw;
    font-weight: 300;
}
.history-group li .history .value {
    display: flex;
    flex-flow: column;
    justify-content: center;
    flex-shrink: 0;
    padding-left: 2.0512820513vw;
    gap: 1.0256410256vw;
}
.history-group li .history .value strong {
    font-size: 4.1025641026vw;
    font-weight: 500;
    text-align: right;
    padding: 0;
    color: #111;
}
.history-group li .history .value time {
    font-size: 3.0769230769vw;
    font-weight: 300;
    text-align: right;
    color: #aaa;
    line-height: 4.1025641026vw;
}
.history-group li .history[data-type=reduced] .value strong {
    color: #AAAAAA !important;
}
.history-group li .history[data-type=expired] .value strong {
    color: #AAAAAA !important;
}
.history-group li .history[data-visual=mall] .pictogram:after {
    background-image: url(../img/pictogram/picto-hg-cart@3x.png);
}
.history-group li .history[data-visual=gift] .pictogram:after {
    background-image: url(../img/pictogram/picto-hg-gift@3x.png);
}
.history-group li .history[data-visual=expired] .pictogram:after {
    background-image: url(../img/pictogram/picto-hg-gone@3x.png);
}
.history-group li .history[data-visual=fnb] .pictogram:after {
    background-image: url(../img/pictogram/picto-hg-cutlery@3x.png);
}
.history-group li .history[data-visual=activity] .pictogram:after {
    background-image: url(../img/pictogram/picto-hg-map@3x.png);
}
.history-group li .history[data-visual=golf] .pictogram:after {
    background-image: url(../img/pictogram/picto-hg-golf@3x.png);
}
.history-group li .history[data-visual=hotel] .pictogram:after {
    background-image: url(../img/pictogram/picto-hg-bed@3x.png);
}
.history-group li:first-of-type {
    border-top: none;
}

/*
MEDIA.
breakpoint : 1024px ~
*/
@media screen and (min-width: 1024px) {
    p.helper {
        font-size: 12px;
        line-height: 16px;
        color: #111;
        display: block;
    }
    p.helper[data-type=error] {
        display: flex;
        color: #DF0033;
        font-size: 12px;
        gap: 4px;
        align-items: center;
        text-align: left;
    }
    p.helper[data-type=error]:before {
        content: "";
        display: block;
        width: 14px;
        height: 14px;
        background-image: url("../img/pictogram/picto-xs-helper-error@3x.png");
        background-size: 100%;
    }
    small.helper {
        font-size: 12px;
        line-height: 16px;
        color: #111;
        display: block;
        list-style: disc;
        margin-left: 15px;
    }
    hr {
        padding: 0;
        border: 0 none;
        height: 1px;
        background-color: #eee;
        margin: 20px 0;
    }
    ul.helper {
        font-size: 12px;
        line-height: 16px;
        color: #111;
        margin-top: 8px;
        display: flex;
        flex-flow: column;
        gap: 4px;
    }
    ul.helper li {
        list-style: disc;
        margin-left: 15px;
    }
    button {
        padding: 0;
        margin: 0;
        -webkit-appearance: none;
        appearance: none;
        background-color: transparent;
        border: unset;
        cursor: pointer;
    }
    button:active {
        opacity: 0.7;
    }
    button.dismiss {
        opacity: 0;
        position: fixed;
        top: 0;
        right: 0;
        width: 34px;
        height: 34px;
        margin-right: 16px;
        margin-top: 16px;
        border-radius: 100%;
        z-index: 1000;
        -webkit-backdrop-filter: blur(10px);
        backdrop-filter: blur(10px);
        display: flex;
        align-items: center;
        justify-content: center;
        box-sizing: border-box;
    }
    button.dismiss > .pictogram {
        width: 20px;
        height: 20px;
        background-size: 100%;
        background-image: url(../img/pictogram/picto-md-dismiss@3x.png);
    }
    a.cta,
    button.cta,
    button.more {
        box-sizing: border-box;
        display: flex;
        width: 100%;
        height: 50px;
        background-color: #111;
        border-radius: 12px;
        color: #fff;
        font-size: 14px;
        font-weight: 500;
        justify-content: center;
        align-items: center;
        margin: 20px 0 28px;
    }
    a.cta[data-style=outlined],
    button.cta[data-style=outlined],
    button.more[data-style=outlined] {
        background-color: transparent;
        border: solid 1px #aaa;
        color: #111;
    }
    button.flipper {
        box-sizing: border-box;
        position: absolute;
        right: 16px;
        top: 16px;
        width: 34px;
        height: 34px;
        background-color: rgba(0, 0, 0, 0.5);
        border-radius: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    button.flipper > .pictogram {
        display: block;
        width: 20px;
        height: 20px;
        background-size: 20px 20px;
    }
    [data-type=membership-summary] button.flipper .pictogram {
        background-image: url("../img/pictogram/picto-md-barcode@3x.png");
    }
    [data-type=membership-cards] button.flipper .pictogram {
        background-image: url("../img/pictogram/picto-md-turn@3x.png");
    }
    .form-group {
        display: flex;
        flex-direction: column;
        gap: 4px;
    }
    .form .textbox {
        position: relative;
    }
    .form .textbox > label {
        display: none;
    }
    .form .radio {
        position: relative;
        height: 60px;
    }
    .form .radio > label {
        background-color: #f8f8f8;
        border-radius: 12px;
        display: flex;
        justify-content: flex-start;
        padding: 0 16px;
        align-items: center;
        height: 60px;
        gap: 8px;
    }
    .form .radio > label .label {
        align-content: center;
        font-weight: 500;
        font-size: 14px;
        flex-shrink: 0;
        margin-right: 0;
    }
    .form .radio > label .label:first-of-type {
        border-right: solid 1px #ccc;
        font-weight: 400;
        padding-right: 8px;
    }
    .form .radio > label .remain {
        margin-left: auto;
        width: auto;
        flex-shrink: 1;
        font-weight: 500;
        font-size: 14px;
    }
    .form .radio > label input {
        margin: 0;
        align-content: center;
    }
    .form .helper {
        margin-top: 8px;
    }
    .form input[type=text],
    .form input[type=tel] {
        width: 100%;
        height: 60px;
        padding-block: unset;
        padding-inline: unset;
        border: solid 1px #ccc;
        border-radius: 12px;
        padding: 16px;
        box-sizing: border-box;
        font-size: 18px;
        appearance: none;
    }
    .form input[type=text]::placeholder,
    .form input[type=tel]::placeholder {
        font-size: 16px;
        color: #aaa;
    }
    .form input[type=text]:focus,
    .form input[type=tel]:focus {
        border-color: #111;
    }
    .form input[type=text]:focus-visible,
    .form input[type=tel]:focus-visible {
        outline: none;
    }
    .form input[type=text][data-type=rim], .form input[type=text][data-type=stamp] {
        border: 0 none;
        border-bottom: solid 1px #111;
        border-radius: unset;
        font-family: "Pretendard", sans-serif;
        font-size: 28px;
        text-align: center;
        font-weight: 500;
        padding-top: 0;
        padding-bottom: 0px;
        padding-left: 60px;
        padding-right: 60px;
    }
    .form span.placeholder {
        display: none;
        position: absolute;
        left: 0;
        top: 0;
        font-size: 12px;
    }
    .tooltip {
        position: relative;
    }
    .tooltip .label {
        display: flex;
        gap: 4px;
        cursor: pointer;
    }
    .tooltip .label .pictogram {
        align-self: center;
        width: 16px;
        height: 16px;
        background-image: url("../img/pictogram/picto-sm-help@3x.png");
        background-repeat: no-repeat;
        background-position: center center;
        background-size: 100% 100%;
    }
    .tooltip .window {
        display: none;
        position: absolute;
        z-index: 1;
        background-color: rgba(0, 0, 0, 0.8980392157);
        border-radius: 12px;
        bottom: calc(100% + 10px);
        left: 50%;
        transform: translateX(-50%);
    }
    .tooltip .window:before {
        content: "";
        position: absolute;
        width: 0;
        height: 0;
        bottom: -5px;
        left: calc(50% - 5px);
        border-left: 5px solid transparent;
        border-right: 5px solid transparent;
        border-top: 5px solid rgba(0, 0, 0, 0.7960784314);
    }
    .tooltip .window p {
        font-size: 11px;
        padding: 10px 12px;
        line-height: 13px;
        width: 177px;
        color: #eee;
    }
    .toggle-switch {
        width: 40px;
    }
    .toggle-switch label {
        display: block;
        cursor: pointer;
        line-height: 0;
    }
    .toggle-switch input {
        margin: 0;
        padding: 0;
        -webkit-appearance: none;
        appearance: none;
        position: relative;
        border: 1px solid #ccc;
        border-radius: 20px;
        width: 100%;
        height: 20px;
        background-color: #ccc;
        cursor: pointer;
    }
    .toggle-switch input:checked {
        background-color: #111;
        border-color: #111;
    }
    .toggle-switch input:checked::before {
        background-color: white;
        left: calc(100% - 17px);
    }
    .toggle-switch input:before {
        content: "";
        position: absolute;
        left: 1px;
        top: 50%;
        width: 16px;
        height: 16px;
        border-radius: 50%;
        transform: scale(1) translateY(-50%);
        background-color: #fff;
        transition: left 200ms cubic-bezier(0.4, 0, 0.6, 1);
    }
    .module-block {
        position: relative;
        width: 350px;
        border-radius: 16px;
    }
    .module-block .backdrop {
        z-index: 0;
        width: 130%;
        height: 130%;
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
    }
    .module-block .backdrop img {
        width: 100%;
        height: 100%;
    }
    .module-block .contents {
        background-color: #fff;
        position: relative;
        overflow: hidden;
        width: 100%;
        height: 100%;
        opacity: 1;
        display: flex;
        flex-flow: column;
        justify-content: flex-start;
        color: #000;
        z-index: 1;
    }
    .module-block .contents:after {
        content: "";
        mix-blend-mode: difference;
        position: absolute;
        left: -10000px;
        top: -10000px;
    }
    .module-block .contents[role=default] {
        cursor: pointer;
    }
    .module-block .contents > .visual {
        width: 100%;
        overflow: hidden;
        margin-bottom: 0;
        flex-shrink: 0;
        aspect-ratio: 350/250;
    }
    .module-block .contents > .visual img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .module-block .contents .head {
        padding: 20px 20px 0px 20px;
        box-sizing: border-box;
        display: flex;
        flex-flow: column;
        gap: 6px;
    }
    .module-block .contents .head h2 {
        font-size: 20px;
        line-height: 24px;
        font-weight: 500;
        word-break: break-word;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .module-block .contents .head p, .module-block .contents .head small {
        line-height: 18px;
        word-break: break-word;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .module-block .contents .head p {
        font-size: 14px;
        font-weight: 300;
    }
    .module-block .contents .head small {
        font-size: 10px;
        display: block;
    }
    .module-block .contents .body {
        padding: 20px;
    }
    .module-block .contents .body .hero {
        margin-bottom: 32px;
    }
    .module-block .contents .body .hero h3 {
        font-size: 20px;
        line-height: 26px;
        font-weight: 500;
    }
    .module-block .contents .body .hero h3 strong {
        color: #14C3A2;
    }
    .module-block .contents .body .hero p.helper {
        font-weight: 300;
        font-size: 14px;
        line-height: 18px;
        margin-top: 6px;
    }
    .module-block .contents .body img {
        display: block;
        width: 100%;
    }
    .module-block .contents .tail {
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        margin-top: 0;
        background-color: transparent;
        display: flex;
        align-items: center;
        flex-flow: row;
        gap: 10px;
        padding: 0 20px;
    }
    .module-block .contents .tail .cta[data-type=secondary] {
        background-color: transparent;
        color: #111;
        border: solid 1px #aaa;
    }
    .module-block[data-size=default] {
        height: 120px;
        margin: 0 auto;
    }
    .module-block[data-size=default] .contents {
        border-radius: 12px;
    }
    .module-block[data-size=default] .contents .head p, .module-block[data-size=default] .contents .head small {
        -webkit-line-clamp: 1;
    }
    .module-block[data-size=medium] {
        margin: 0 auto;
        height: 250px;
    }
    .module-block[data-size=medium] .contents {
        border-radius: 12px;
    }
    .module-block[data-size=large] {
        margin: 0 auto;
        height: 380px;
    }
    .module-block[data-size=large] .contents {
        border-radius: 12px;
    }
    .module-block[data-size=huge] {
        margin: 0 auto;
        height: 510px;
    }
    .module-block[data-size=huge] .contents {
        border-radius: 12px;
    }
    .module-block[data-size=flex] {
        height: unset;
    }
    .module-block[data-size=flex] .head {
        padding-top: 28px;
    }
    .module-block[data-size=flex] .contents {
        border-radius: 12px;
    }
    .module-block[data-size=flex] .contents .tail {
        position: unset;
    }
    .module-block .contents .body[data-contain=voucher] .hero h3 strong, .module-block .contents .body[data-contain=voucher] .hero h3 .currency {
        font-variant-numeric: tabular-nums;
        color: #14C3A2;
    }
    .module-block .contents .body[data-contain=voucher] ul:first-of-type {
        display: flex;
        flex-flow: column;
        border-top: solid 1px #111;
        border-bottom: solid 1px #111;
    }
    .module-block .contents .body[data-contain=voucher] ul:first-of-type li {
        border-top: solid 1px #eee;
        position: relative;
        display: flex;
        flex-flow: column;
        justify-content: space-between;
        box-sizing: border-box;
        padding: 12px 32px 12px 8px;
    }
    .module-block .contents .body[data-contain=voucher] ul:first-of-type li[data-stamp=redeemed] figure {
        opacity: 0.5;
    }
    .module-block .contents .body[data-contain=voucher] ul:first-of-type li[data-stamp=redeemed] figure .thumbnail p {
        font-size: 16px;
        margin-bottom: 4px;
    }
    .module-block .contents .body[data-contain=voucher] ul:first-of-type li[data-stamp=redeemed] figure .thumbnail p:before {
        display: block;
        content: "";
        width: 20px;
        height: 20px;
        margin: 0 auto 4px auto;
        background-image: url("../img/pictogram/picto-md-check@3x.png");
        background-repeat: no-repeat;
        background-size: 100%;
        filter: invert(1);
    }
    .module-block .contents .body[data-contain=voucher] ul:first-of-type li[data-stamp=redeemed]:after {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.05);
        z-index: 1;
    }
    .module-block .contents .body[data-contain=voucher] ul:first-of-type li:first-of-type {
        border: none;
    }
    .module-block .contents .body[data-contain=voucher] ul:first-of-type li figure {
        display: flex;
        flex-flow: row;
        height: 100%;
        align-items: center;
        box-sizing: border-box;
        gap: 12px;
    }
    .module-block .contents .body[data-contain=voucher] ul:first-of-type li figure .thumbnail {
        width: 80px;
        height: 60px;
        flex-shrink: 0;
        overflow: hidden;
        display: flex;
        justify-content: center;
        align-items: center;
        border-radius: 12px;
        background-color: #f8f8f8;
    }
    .module-block .contents .body[data-contain=voucher] ul:first-of-type li figure .thumbnail img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .module-block .contents .body[data-contain=voucher] ul:first-of-type li figure .thumbnail p {
        text-align: center;
        font-weight: 100;
        font-size: 20px;
        color: #111;
        box-sizing: border-box;
        width: 100%;
    }
    .module-block .contents .body[data-contain=voucher] ul:first-of-type li figure figcaption {
        display: flex;
        flex-flow: column;
        justify-content: space-between;
        height: 100%;
        gap: 4px;
    }
    .module-block .contents .body[data-contain=voucher] ul:first-of-type li figure figcaption h3 {
        font-size: 14px;
        line-height: 18px;
        font-weight: 500;
        color: #111;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .module-block .contents .body[data-contain=voucher] ul:first-of-type li figure figcaption p {
        font-size: 12px;
        line-height: 14px;
        color: #999;
        display: -webkit-box;
        -webkit-line-clamp: 1;
        -webkit-box-orient: vertical;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .module-block .contents .body[data-contain=voucher] ul:first-of-type li strong {
        position: absolute;
        height: 28px;
        border-radius: 100px;
        display: flex;
        justify-content: center;
        align-items: center;
        background-color: #fff;
        padding: 0px 12px;
        z-index: 1;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
    }
    .module-block .contents .body[data-contain=voucher] ul:first-of-type li strong .label {
        font-size: 14px;
        text-align: center;
        font-weight: 500;
        color: #111;
    }
    .module-block .contents .body[data-contain=rank] {
        display: block !important;
    }
    .module-block .contents .body[data-contain=rank] h5 {
        font-size: 16px;
        font-weight: 500;
        margin-bottom: 12px;
        margin-top: 32px;
    }
    .module-block .contents .body[data-contain=rank] sstm {
        position: relative;
        display: block;
        width: 382px;
        aspect-ratio: 350/220;
    }
    .module-block .contents .body[data-contain=rank] .hero h3 strong, .module-block .contents .body[data-contain=rank] .hero h3 .currency {
        font-variant-numeric: tabular-nums;
        color: #14C3A2;
    }
    .module-block .contents .body[data-contain=rank] dl {
        display: grid;
        grid-template-columns: 1fr 1fr;
        border-top: solid 1px #111;
        border-bottom: solid 1px #111;
        font-size: 14px;
        margin-bottom: 32px;
    }
    .module-block .contents .body[data-contain=rank] dl dt, .module-block .contents .body[data-contain=rank] dl dd {
        align-content: center;
        height: 50px;
        border-top: solid 1px #eee;
        font-weight: 500;
    }
    .module-block .contents .body[data-contain=rank] dl dt:first-of-type, .module-block .contents .body[data-contain=rank] dl dd:first-of-type {
        border-top: none;
    }
    .module-block .contents .body[data-contain=rank] dl dt {
        display: flex;
        align-items: center;
        gap: 8px;
        padding-left: 8px;
    }
    .module-block .contents .body[data-contain=rank] dl dd {
        text-align: right;
        padding-right: 8px;
    }
    .module-block .contents .body[data-contain=rank] dl dd .color {
        color: #fff;
        height: 28px;
        display: inline-flex;
        gap: 4px;
        padding: 0 12px;
        align-items: center;
        border-radius: 100px;
        font-variant-numeric: tabular-nums;
    }
    .module-block .contents .body[data-contain=eternaljourney] h5 {
        font-size: 16px;
        font-weight: 500;
        margin-bottom: 12px;
        margin-top: 32px;
    }
    .module-block .contents .body[data-contain=eternaljourney] a.cta {
        margin: 10px 0;
    }
    .module-block .contents .body[data-contain=eternaljourney] .hero h3 strong, .module-block .contents .body[data-contain=eternaljourney] .hero h3 .currency {
        font-variant-numeric: tabular-nums;
        color: #14C3A2;
    }
    .module-block .contents .body[data-contain=eternaljourney] dl {
        margin-bottom: 32px;
        display: grid;
        grid-template-columns: 1fr 2.5fr;
        border-top: solid 1px #111;
        border-bottom: solid 1px #111;
        font-size: 14px;
    }
    .module-block .contents .body[data-contain=eternaljourney] dl dt, .module-block .contents .body[data-contain=eternaljourney] dl dd {
        align-content: center;
        height: 50px;
        border-top: solid 1px #eee;
        font-weight: 500;
    }
    .module-block .contents .body[data-contain=eternaljourney] dl dt:first-of-type, .module-block .contents .body[data-contain=eternaljourney] dl dd:first-of-type {
        border-top: none;
    }
    .module-block .contents .body[data-contain=eternaljourney] dl dt {
        display: flex;
        align-items: center;
        gap: 8px;
        padding-left: 8px;
    }
    .module-block .contents .body[data-contain=eternaljourney] dl dd {
        text-align: right;
        padding-right: 8px;
        display: inline-flex;
        justify-content: right;
        align-items: center;
        gap: 8px;
    }
    .module-block .contents .body[data-contain=eternaljourney] dl dd .color {
        background-color: #14C3A2;
        color: #fff;
        height: 28px;
        display: inline-flex;
        gap: 4px;
        padding: 0 16px;
        align-items: center;
        border-radius: 100px;
        font-variant-numeric: tabular-nums;
    }
    .module-block .contents .body[data-contain=diff] h5 {
        font-size: 16px;
        font-weight: 500;
        margin-bottom: 12px;
        margin-top: 32px;
    }
    .module-block .contents .body[data-contain=diff] .message-container {
        display: flex;
        gap: 10px;
        flex-flow: row;
        justify-content: space-between;
    }
    .module-block .contents .body[data-contain=diff] .messages {
        width: 100%;
        height: 100px;
        background-color: #fff;
        border-radius: 12px;
        border: solid 1px #000;
        box-sizing: border-box;
        display: flex;
        flex-flow: row;
        justify-content: center;
        align-items: center;
    }
    .module-block .contents .body[data-contain=diff] .messages h3, .module-block .contents .body[data-contain=diff] .messages .currency {
        font-size: 20px;
        font-weight: 500;
        display: flex;
        gap: 8px;
        justify-content: center;
        align-items: center;
        margin-top: auto;
        margin-bottom: auto;
        font-variant-numeric: tabular-nums;
    }
    .module-block .contents .body[data-contain=diff] .messages .currency {
        margin-left: 4px;
    }
    .module-block .contents .body[data-contain=diff] p {
        font-size: 14px;
        line-height: 20px;
        margin-top: 20px;
        text-align: center;
    }
    .module-block .contents .body[data-contain=diff] p strong {
        color: #14C3A2;
        font-weight: 500;
    }
    .module-block .contents .body[data-contain=diff] .chart {
        position: relative;
        display: block;
        width: 100%;
        aspect-ratio: 350/250;
        margin-top: 32px;
        border-bottom: solid 1px #111;
        border-top: solid 1px #111;
        background-size: 100%;
    }
    @keyframes attention {
        0% {
            scale: 0;
            opacity: 1;
        }
        100% {
            scale: 3;
            opacity: 0;
        }
    }
    .module-block .contents .body[data-contain=diff] .chart .log-line {
        position: absolute;
        inset: 0;
        background: url(../img/etc/log-line.svg);
        background-size: 100%;
    }
    .module-block .contents .body[data-contain=diff] .chart .pointer {
        content: "";
        position: absolute;
        width: 12px;
        height: 12px;
        background-color: #14c3a2;
        border-radius: 100px;
    }
    .module-block .contents .body[data-contain=diff] .chart .pointer:after {
        content: "";
        position: absolute;
        width: 100%;
        height: 100%;
        background-color: #14c3a2;
        border-radius: 100px;
        scale: 0;
        transform-origin: center center;
        animation: attention 1s infinite ease-in-out;
    }
    .module-block .contents .body[data-contain=diff] .chart .balloon {
        color: #fff;
        font-size: 14px;
        box-sizing: border-box;
        position: absolute;
        width: 90px;
        background-color: rgba(0, 0, 0, 0.8);
        text-align: center;
        padding: 12px 16px;
        z-index: 1;
        border-radius: 12px;
    }
    .module-block .contents .body[data-contain=diff] .chart .balloon:before {
        content: "";
        position: absolute;
        width: 0;
        height: 0;
        top: -5px;
        left: calc(50% - 5px);
        border-left: 5px solid transparent;
        border-right: 5px solid transparent;
        border-bottom: 5px solid rgba(0, 0, 0, 0.8);
    }
    .module-block .contents .body[data-contain=diff] .chart span[class^=top] {
        position: absolute;
        top: 0;
        width: 100%;
        height: 1px;
        background-color: #ccc;
    }
    .module-block .contents .body[data-contain=diff] .chart span[class^=top].top1 {
        top: 16.6666666667%;
    }
    .module-block .contents .body[data-contain=diff] .chart span[class^=top].top2 {
        top: 33.3333333333%;
    }
    .module-block .contents .body[data-contain=diff] .chart span[class^=top].top3 {
        top: 50%;
    }
    .module-block .contents .body[data-contain=diff] .chart span[class^=top].top4 {
        top: 66.6666666667%;
    }
    .module-block .contents .body[data-contain=diff] .chart span[class^=top].top5 {
        top: 83.3333333333%;
    }
    .module-block .contents .body[data-contain=diff] .chart span[class^=axis-] {
        position: absolute;
        bottom: -25px;
        font-weight: 500;
    }
    .module-block .contents .body[data-contain=diff] .chart span[class^=axis-].axis-x-start {
        left: 0;
    }
    .module-block .contents .body[data-contain=diff] .chart span[class^=axis-].axis-x-end {
        right: 0;
    }
    .module-block .contents .body[data-contain=diff] .chart[data-sstmVal="1"] .pointer {
        top: calc(16.6666666667% - 6px);
        left: 91%;
    }
    .module-block .contents .body[data-contain=diff] .chart[data-sstmVal="1"] .balloon {
        top: calc(16.6666666667% + 16px);
        left: unset;
        right: 0;
    }
    .module-block .contents .body[data-contain=diff] .chart[data-sstmVal="1"] .balloon:before {
        left: 59px;
    }
    .module-block .contents .body[data-contain=diff] .chart[data-sstmVal="2"] .pointer {
        top: calc(33.3333333333% - 6px);
        left: 83.3%;
    }
    .module-block .contents .body[data-contain=diff] .chart[data-sstmVal="2"] .balloon {
        top: calc(33.3333333333% + 16px);
        left: calc(83.3% + 6px - 45px);
    }
    .module-block .contents .body[data-contain=diff] .chart[data-sstmVal="3"] .pointer {
        top: calc(50% - 6px);
        left: 73.5%;
    }
    .module-block .contents .body[data-contain=diff] .chart[data-sstmVal="3"] .balloon {
        top: calc(50% + 16px);
        left: calc(73.5% + 6px - 45px);
    }
    .module-block .contents .body[data-contain=diff] .chart[data-sstmVal="4"] .pointer {
        top: calc(66.6666666667% - 6px);
        left: 60%;
    }
    .module-block .contents .body[data-contain=diff] .chart[data-sstmVal="4"] .balloon {
        top: calc(66.6666666667% + 16px);
        left: calc(60% + 6px - 45px);
    }
    .module-block .contents .body[data-contain=diff] .chart[data-sstmVal="5"] .pointer {
        top: calc(83.3333333333% - 6px);
        left: 39%;
    }
    .module-block .contents .body[data-contain=diff] .chart[data-sstmVal="5"] .balloon {
        top: calc(83.3333333333% + 16px);
        left: calc(39% + 6px - 45px);
    }
    .module-block .contents .body[data-contain=top3] h5 {
        font-size: 16px;
        font-weight: 500;
        margin-bottom: 12px;
        margin-top: 32px;
    }
    .module-block .contents .body[data-contain=top3] .room {
        background-color: #2DCCB5;
    }
    .module-block .contents .body[data-contain=top3] .golf {
        background-color: #7073FF;
    }
    .module-block .contents .body[data-contain=top3] .eternalJourney {
        background-color: #111;
    }
    .module-block .contents .body[data-contain=top3] .fnb {
        background-color: #FF928A;
    }
    .module-block .contents .body[data-contain=top3] .activity {
        background-color: #F4BA6E;
    }
    .module-block .contents .body[data-contain=top3] .facility {
        background-color: #85cc5f;
    }
    .module-block .contents .body[data-contain=top3] .gift {
        background-color: #57cde5;
    }
    .module-block .contents .body[data-contain=top3] .etc {
        background-color: #E4DAC7;
    }
    .module-block .contents .body[data-contain=top3] ul.label {
        font-size: 14px;
        color: #fff;
        display: flex;
        flex-wrap: wrap;
        gap: 4px;
    }
    .module-block .contents .body[data-contain=top3] ul.label li {
        display: flex;
        flex: 0 1 auto;
        border-radius: 100px;
        height: 26px;
        align-items: center;
        padding: 0px 10px;
    }
    .module-block .contents .body[data-contain=top3] ol.top3 {
        display: flex;
        flex-flow: column;
        gap: 28px;
        margin-top: 40px;
    }
    .module-block .contents .body[data-contain=top3] ol.top3 li h3 {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 4px;
        font-size: 20px;
        font-weight: 500;
        margin: 0 4px;
    }
    .module-block .contents .body[data-contain=top3] ol.top3 li h3 .emoji {
        font-size: 24px;
        margin-left: -4px;
    }
    .module-block .contents .body[data-contain=top3] ol.top3 li h3 strong {
        font-size: 14px;
        font-weight: 500;
        margin-left: auto;
        align-self: end;
    }
    .module-block .contents .body[data-contain=top3] ol.top3 li p {
        position: relative;
        margin-top: 12px;
        background-color: #fff;
    }
    .module-block .contents .body[data-contain=top3] ol.top3 li p strong.rail {
        display: block;
        border-radius: 100px;
        border: dashed 1px #DCCFB7;
        height: 28px;
    }
    .module-block .contents .body[data-contain=top3] ol.top3 li p strong.max {
        position: absolute;
        inset: 0;
        top: 0;
        left: 0;
        background-color: transparent;
        border-radius: 100px;
        display: flex;
    }
    .module-block .contents .body[data-contain=top3] ol.top3 li p strong.max span {
        box-shadow: 3px 0 3px 0 rgba(0, 0, 0, 0.1);
        opacity: 0;
        border-radius: 15px;
        margin-left: -15px;
        border-bottom-left-radius: 0;
        border-top-left-radius: 0;
        padding-right: 15px;
    }
    .module-block .contents .body[data-contain=top3] ol.top3 li p strong.max span:first-child {
        opacity: 1;
        z-index: 10;
        margin-left: 0;
        padding-right: unset;
        border-radius: 15px;
    }
    .module-block .contents .body[data-contain=top3] ol.top3 li p strong.max span:nth-child(2) {
        z-index: 9;
    }
    .module-block .contents .body[data-contain=top3] ol.top3 li p strong.max span:nth-child(3) {
        z-index: 8;
    }
    .module-block .contents .body[data-contain=top3] ol.top3 li p strong.max span:nth-child(4) {
        z-index: 7;
    }
    .module-block .contents .body[data-contain=top3] ol.top3 li p strong.max span:nth-child(5) {
        z-index: 6;
    }
    .module-block .contents .body[data-contain=top3] ol.top3 li p strong.max span:nth-child(6) {
        z-index: 5;
    }
    .module-block .contents .body[data-contain=top3] ol.top3 li p strong.max span:nth-child(7) {
        z-index: 4;
    }
    .module-block .contents .body[data-contain=top3] ol.top3 li p strong.max span:nth-child(8) {
        z-index: 3;
    }
    .module-block .contents .body[data-contain=top3] ol.top3 li p strong.max span:nth-child(9) {
        z-index: 2;
    }
    .module-block .contents .body[data-contain=top3] ol.top3 li p strong.max span:nth-child(10) {
        z-index: 1;
    }
    .module-block .contents .body[data-contain=top3] ol.top3 li p strong.max span:last-of-type {
        box-shadow: none;
    }
    .module-block[data-visual=backdrop] .contents .body > hr {
        display: none;
    }
    .module-block[data-type=default] {
        overflow: hidden;
    }
    .module-block[data-type=default] .contents[onclick] {
        cursor: pointer;
    }
    .module-block[data-type=default] .contents .body {
        display: none;
    }
    .module-block[data-type=default][data-size=default] .contents .head p, .module-block[data-type=default][data-size=default] .contents .head small {
        -webkit-line-clamp: 1;
    }
    .module-block[data-type=default][data-size=default] .contents .tail {
        display: none !important;
    }
    .module-block[data-type=default][data-size=default][data-visual=default]:after {
        content: "Unsupported DATA attribute combination.";
        position: absolute;
        inset: 0;
        z-index: 1;
        color: red;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .module-block[data-type=default][data-size=default][data-visual=default] .contents {
        opacity: 0.2;
    }
    .module-block[data-type=default][data-size=default][data-visual=default] .contents .visual {
        display: none !important;
    }
    .module-block[data-type=default][data-size=default][data-visual=none] .contents .visual {
        display: none !important;
    }
    .module-block[data-type=default][data-size=default][data-visual=backdrop] .contents .visual {
        position: absolute;
        width: 100%;
        height: 100%;
        z-index: -1;
    }
    .module-block[data-type=default][data-size=default][data-visual=backdrop] .contents .head {
        color: #fff;
    }
    .module-block[data-type=default][data-size=default][data-visual=max]:after {
        content: "Unsupported DATA attribute combination.";
        position: absolute;
        inset: 0;
        z-index: 1;
        color: red;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .module-block[data-type=default][data-size=default][data-visual=max] .contents {
        opacity: 0.2;
    }
    .module-block[data-type=default][data-size=default][data-visual=max] .contents .tail {
        display: none;
    }
    .module-block[data-type=default][data-size=medium][data-visual=default]:after {
        content: "Unsupported DATA attribute combination.";
        position: absolute;
        inset: 0;
        z-index: 1;
        color: red;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .module-block[data-type=default][data-size=medium][data-visual=default] .contents {
        opacity: 0.2;
    }
    .module-block[data-type=default][data-size=medium][data-visual=default] .contents .visual {
        display: none !important;
    }
    .module-block[data-type=default][data-size=medium][data-visual=none] .contents .visual {
        display: none !important;
    }
    .module-block[data-type=default][data-size=medium][data-visual=backdrop] .contents .visual {
        position: absolute;
        width: 100%;
        height: 100%;
        z-index: -1;
    }
    .module-block[data-type=default][data-size=medium][data-visual=backdrop] .contents .head {
        color: #fff;
    }
    .module-block[data-type=default][data-size=medium][data-visual=max] .contents .visual {
        position: absolute;
        width: 100%;
        height: 100%;
        z-index: -1;
    }
    .module-block[data-type=default][data-size=medium][data-visual=max] .contents .head {
        padding-bottom: 20px;
        color: #fff;
        position: absolute;
        width: 100%;
        bottom: 0;
    }
    .module-block[data-type=default][data-size=medium][data-visual=max] .contents .tail {
        display: none;
    }
    .module-block[data-type=default][data-size=large][data-visual=default] .contents .tail {
        display: none !important;
    }
    .module-block[data-type=default][data-size=large][data-visual=none] .contents .visual {
        display: none !important;
    }
    .module-block[data-type=default][data-size=large][data-visual=backdrop] .contents .visual {
        position: absolute;
        width: 100%;
        height: 100%;
        z-index: -1;
    }
    .module-block[data-type=default][data-size=large][data-visual=backdrop] .contents .head {
        color: #fff;
    }
    .module-block[data-type=default][data-size=large][data-visual=max] .contents .visual {
        position: absolute;
        width: 100%;
        height: 100%;
        z-index: -1;
    }
    .module-block[data-type=default][data-size=large][data-visual=max] .contents .head {
        padding-bottom: 20px;
        color: #fff;
        position: absolute;
        width: 100%;
        bottom: 0;
    }
    .module-block[data-type=default][data-size=large][data-visual=max] .contents .tail {
        display: none;
    }
    .module-block[data-type=default][data-size=huge][data-visual=none] .contents .visual {
        display: none !important;
    }
    .module-block[data-type=default][data-size=huge][data-visual=backdrop] .contents .visual {
        position: absolute;
        width: 100%;
        height: 100%;
        z-index: -1;
    }
    .module-block[data-type=default][data-size=huge][data-visual=backdrop] .contents .head {
        color: #fff;
    }
    .module-block[data-type=default][data-size=huge][data-visual=max] .contents .visual {
        position: absolute;
        width: 100%;
        height: 100%;
        z-index: -1;
    }
    .module-block[data-type=default][data-size=huge][data-visual=max] .contents .head {
        padding-bottom: 20px;
        color: #fff;
        position: absolute;
        width: 100%;
        bottom: 0;
    }
    .module-block[data-type=default][data-size=huge][data-visual=max] .contents .tail {
        display: none;
    }
    .module-block[data-type=expand] {
        cursor: pointer;
        overflow: hidden;
    }
    .module-block[data-type=expand] .contents .body {
        opacity: 0;
        padding-bottom: 100px;
    }
    .module-block[data-type=expand] .contents .tail {
        display: none;
    }
    .module-block[data-type=expand].active .contents {
        overflow: auto;
    }
    .module-block[data-type=expand].active .contents .tail {
        display: block;
        position: fixed;
        background: linear-gradient(180deg, rgba(255, 255, 255, 0.75) 0%, rgb(255, 255, 255) 100%);
        z-index: 10;
    }
    .module-block[data-type=expand][data-size=default][data-visual=default]:after {
        content: "Unsupported DATA attribute combination.";
        position: absolute;
        inset: 0;
        z-index: 1;
        color: red;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .module-block[data-type=expand][data-size=default][data-visual=default] .contents {
        opacity: 0.2;
    }
    .module-block[data-type=expand][data-size=default][data-visual=default] .contents .visual {
        display: none !important;
    }
    .module-block[data-type=expand][data-size=default][data-visual=none] .contents .visual {
        display: none !important;
    }
    .module-block[data-type=expand][data-size=default][data-visual=none].active .contents .head {
        padding-right: 56px;
    }
    .module-block[data-type=expand][data-size=default][data-visual=backdrop]:after {
        content: "Unsupported DATA attribute combination.";
        position: absolute;
        inset: 0;
        z-index: 1;
        color: red;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .module-block[data-type=expand][data-size=default][data-visual=backdrop] .contents {
        opacity: 0.2;
    }
    .module-block[data-type=expand][data-size=default][data-visual=backdrop] .contents .visual {
        position: absolute;
        width: 100%;
        height: 100%;
        z-index: -1;
    }
    .module-block[data-type=expand][data-size=default][data-visual=backdrop] .contents .head {
        color: #fff;
    }
    .module-block[data-type=expand][data-size=default][data-visual=backdrop].active .contents .head {
        padding-right: 56px;
    }
    .module-block[data-type=expand][data-size=default][data-visual=max]:after {
        content: "Unsupported DATA attribute combination.";
        position: absolute;
        inset: 0;
        z-index: 1;
        color: red;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .module-block[data-type=expand][data-size=default][data-visual=max] .contents {
        opacity: 0.2;
    }
    .module-block[data-type=expand][data-size=default][data-visual=max] .contents .tail {
        display: none;
    }
    .module-block[data-type=expand][data-size=medium][data-visual=default]:after {
        content: "Unsupported DATA attribute combination.";
        position: absolute;
        inset: 0;
        z-index: 1;
        color: red;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .module-block[data-type=expand][data-size=medium][data-visual=default] .contents {
        opacity: 0.2;
    }
    .module-block[data-type=expand][data-size=medium][data-visual=default] .contents .visual {
        display: none !important;
    }
    .module-block[data-type=expand][data-size=medium][data-visual=none] .contents .visual {
        display: none !important;
    }
    .module-block[data-type=expand][data-size=medium][data-visual=none] .contents .head h2 {
        -webkit-line-clamp: 4;
    }
    .module-block[data-type=expand][data-size=medium][data-visual=none] .contents .head p {
        -webkit-line-clamp: 6;
    }
    .module-block[data-type=expand][data-size=medium][data-visual=none].active .contents .head {
        padding-right: 56px;
    }
    .module-block[data-type=expand][data-size=medium][data-visual=backdrop] .contents .head {
        color: #fff;
        position: absolute;
        width: 100%;
        aspect-ratio: 350/250;
    }
    .module-block[data-type=expand][data-size=medium][data-visual=backdrop].active .contents .head {
        padding-right: 56px;
    }
    .module-block[data-type=expand][data-size=medium][data-visual=max] .contents .head {
        padding-bottom: 20px;
        color: #fff;
        position: absolute;
        width: 100%;
        top: 0;
        aspect-ratio: 350/250;
        display: flex;
        flex-flow: column;
        justify-content: flex-end;
    }
    .module-block[data-type=expand][data-size=large][data-visual=none] .contents .visual {
        display: none !important;
    }
    .module-block[data-type=expand][data-size=large][data-visual=none] .contents .head h2 {
        -webkit-line-clamp: 6;
    }
    .module-block[data-type=expand][data-size=large][data-visual=none] .contents .head p {
        -webkit-line-clamp: 10;
    }
    .module-block[data-type=expand][data-size=large][data-visual=none].active .contents .head {
        padding-right: 56px;
    }
    .module-block[data-type=expand][data-size=large][data-visual=backdrop]:after {
        content: "Unsupported DATA attribute combination.";
        position: absolute;
        inset: 0;
        z-index: 1;
        color: red;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .module-block[data-type=expand][data-size=large][data-visual=backdrop] .contents {
        opacity: 0.2;
    }
    .module-block[data-type=expand][data-size=large][data-visual=backdrop] .contents .visual {
        position: absolute;
        width: 100%;
        height: 100%;
        z-index: -1;
    }
    .module-block[data-type=expand][data-size=large][data-visual=backdrop] .contents .head {
        color: #fff;
    }
    .module-block[data-type=expand][data-size=large][data-visual=backdrop].active .contents .head {
        padding-right: 56px;
    }
    .module-block[data-type=expand][data-size=large][data-visual=max]:after {
        content: "Unsupported DATA attribute combination.";
        position: absolute;
        inset: 0;
        z-index: 1;
        color: red;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .module-block[data-type=expand][data-size=large][data-visual=max] .contents {
        opacity: 0.2;
    }
    .module-block[data-type=expand][data-size=large][data-visual=max] .contents .visual {
        position: absolute;
        width: 100%;
        height: 100%;
        z-index: -1;
    }
    .module-block[data-type=expand][data-size=large][data-visual=max] .contents .head {
        padding-bottom: 20px;
        color: #fff;
        position: absolute;
        width: 100%;
        bottom: 0;
    }
    .module-block[data-type=expand][data-size=huge][data-visual=default] .contents .head h2 {
        -webkit-line-clamp: 4;
    }
    .module-block[data-type=expand][data-size=huge][data-visual=default] .contents .head p {
        -webkit-line-clamp: 6;
    }
    .module-block[data-type=expand][data-size=huge][data-visual=none]:after {
        content: "Unsupported DATA attribute combination.";
        position: absolute;
        inset: 0;
        z-index: 1;
        color: red;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .module-block[data-type=expand][data-size=huge][data-visual=none] .contents {
        opacity: 0.2;
    }
    .module-block[data-type=expand][data-size=huge][data-visual=none] .contents .visual {
        display: none !important;
    }
    .module-block[data-type=expand][data-size=huge][data-visual=none].active .contents .head {
        padding-right: 56px;
    }
    .module-block[data-type=expand][data-size=huge][data-visual=backdrop]:after {
        content: "Unsupported DATA attribute combination.";
        position: absolute;
        inset: 0;
        z-index: 1;
        color: red;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .module-block[data-type=expand][data-size=huge][data-visual=backdrop] .contents {
        opacity: 0.2;
    }
    .module-block[data-type=expand][data-size=huge][data-visual=backdrop] .contents .visual {
        position: absolute;
        width: 100%;
        height: 100%;
        z-index: -1;
    }
    .module-block[data-type=expand][data-size=huge][data-visual=backdrop] .contents .head {
        color: #fff;
    }
    .module-block[data-type=expand][data-size=huge][data-visual=backdrop].active .contents .head {
        padding-right: 56px;
    }
    .module-block[data-type=expand][data-size=huge][data-visual=max]:after {
        content: "Unsupported DATA attribute combination.";
        position: absolute;
        inset: 0;
        z-index: 1;
        color: red;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .module-block[data-type=expand][data-size=huge][data-visual=max] .contents {
        opacity: 0.2;
    }
    .module-block[data-type=expand][data-size=huge][data-visual=max] .contents .visual {
        position: absolute;
        width: 100%;
        height: 100%;
        z-index: -1;
    }
    .module-block[data-type=expand][data-size=huge][data-visual=max] .contents .head {
        padding-bottom: 20px;
        color: #fff;
        position: absolute;
        width: 100%;
        bottom: 0;
    }
    .module-block[data-type=footer] {
        margin: 0 auto;
    }
    .module-block[data-type=footer] .contents {
        background-color: transparent;
        padding-top: 40px;
        padding-bottom: 90px;
        box-sizing: border-box;
        display: block;
    }
    .module-block[data-type=footer] .contents .head {
        background-color: transparent;
        color: #f8f8f8;
        padding: unset;
        text-align: center;
        font-size: 14px;
    }
    .module-block[data-type=footer] .contents .body {
        display: none;
    }
    .module-block[data-type=footer] .contents .tail {
        display: none;
    }
    .module-block[data-type=welcome],
    .module-block[data-type=membership] {
        height: 510px;
        overflow: unset;
        margin: 0 auto;
    }
    .module-block[data-type=welcome] .backdrop,
    .module-block[data-type=membership] .backdrop {
        max-width: 390px;
        background-repeat: no-repeat;
        background-position: center center;
        background-size: 100% 100%;
    }
    .module-block[data-type=welcome] .contents .head,
    .module-block[data-type=membership] .contents .head {
        color: #fff;
    }
    .module-block[data-type=welcome] .contents .head h2,
    .module-block[data-type=membership] .contents .head h2 {
        display: -webkit-box;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .module-block[data-type=welcome] .contents .body,
    .module-block[data-type=membership] .contents .body {
        padding: unset;
    }
    .module-block[data-type=welcome] .contents .tail,
    .module-block[data-type=membership] .contents .tail {
        background-color: unset;
        position: unset;
    }
    .module-block[data-type=welcome] .contents .tail .cta,
    .module-block[data-type=membership] .contents .tail .cta {
        margin-top: unset;
    }
    .module-block[data-type=welcome] {
        overflow: hidden;
    }
    .module-block[data-type=welcome] .backdrop {
        background-image: url("../img/backdrop/backdrop-welcome@3x.png");
    }
    .module-block[data-type=welcome] .contents {
        justify-content: space-between;
        background-color: rgba(149, 149, 149, 0.25);
        backface-visibility: hidden;
        -webkit-backface-visibility: hidden;
        box-shadow: 0 9px 20px 0 rgba(0, 0, 0, 0.5);
        box-sizing: border-box;
        color: #fff;
    }
    .module-block[data-type=welcome] .contents:after {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
        z-index: 1;
        border: solid 1.5px rgba(149, 149, 149, 0.4);
        background-color: transparent;
        pointer-events: none;
        border-radius: 16px;
    }
    .module-block[data-type=welcome] .contents .body {
        text-align: center;
    }
    .module-block[data-type=welcome] .contents .body .swiper {
        height: 276px;
    }
    .module-block[data-type=welcome] .contents .body .swiper .swiper-wrapper {
        transition-timing-function: linear !important;
    }
    .module-block[data-type=welcome] .contents .body .swiper .swiper-wrapper .swiper-slide {
        width: 172px;
        height: 276px;
        background-repeat: no-repeat;
        background-position: center center;
        background-size: 100% 100%;
        margin: 0 4px;
    }
    .module-block[data-type=welcome] .contents .body .swiper .swiper-wrapper .swiper-slide.slide-1 {
        background-image: url("../img/hero/hero-welcome-1@3x.png");
    }
    .module-block[data-type=welcome] .contents .body .swiper .swiper-wrapper .swiper-slide.slide-2 {
        background-image: url("../img/hero/hero-welcome-2@3x.png");
    }
    .module-block[data-type=welcome] .contents .body .swiper .swiper-wrapper .swiper-slide.slide-3 {
        background-image: url("../img/hero/hero-welcome-3@3x.png");
    }
    .module-block[data-type=welcome] .contents .body .swiper .swiper-wrapper .swiper-slide.slide-4 {
        background-image: url("../img/hero/hero-welcome-4@3x.png");
    }
    .module-block[data-type=welcome] .contents .body .swiper .swiper-wrapper .swiper-slide.slide-5 {
        background-image: url("../img/hero/hero-welcome-5@3x.png");
    }
    .module-block[data-type=welcome] .contents .tail .cta {
        border: solid 1.5px rgba(149, 149, 149, 0.4);
        background: rgba(255, 255, 255, 0.2);
        color: #fff;
    }
    .module-block[data-type=membership] {
        perspective: 1200px;
    }
    .module-block[data-type=membership] .contents {
        overflow: unset;
        background-color: transparent;
        border-radius: unset;
        will-change: transform;
        transform-style: preserve-3d;
    }
    .module-block[data-type=membership] .contents .panel {
        position: absolute;
        top: 0;
        left: 0;
        height: 100%;
        width: 100%;
        z-index: 1;
        backface-visibility: hidden;
        -webkit-backface-visibility: hidden;
        box-shadow: 0 9px 20px 0 rgba(0, 0, 0, 0.5);
        box-sizing: border-box;
        color: #fff;
        border-radius: 16px;
    }
    .module-block[data-type=membership] .contents .panel .head {
        padding-right: 60px;
    }
    .module-block[data-type=membership] .contents .panel:after {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
        z-index: 1;
        border: solid 1.5px rgba(149, 149, 149, 0.4);
        background-color: transparent;
        pointer-events: none;
        border-radius: 16px;
    }
    .module-block[data-type=membership] .contents .panel[data-type=membership-summary] {
        background-color: rgba(149, 149, 149, 0.25);
        display: flex;
        flex-flow: column;
        justify-content: space-between;
        overflow: hidden;
    }
    .module-block[data-type=membership] .contents .panel[data-type=membership-summary] .head {
        padding-bottom: unset;
    }
    .module-block[data-type=membership] .contents .panel[data-type=membership-summary] .body {
        display: flex;
        justify-content: center;
        perspective: 585px;
        perspective-origin: 120% 180%;
        margin-top: 0;
        transform: scale(1.13);
    }
    .module-block[data-type=membership] .contents .panel[data-type=membership-summary] .body .tier {
        width: 172px;
        aspect-ratio: 172/276;
        background-repeat: no-repeat;
        background-size: contain;
        background-position: center center;
        display: block;
        transform: rotateX(10deg) rotateY(-10deg) rotateZ(-350deg);
        box-shadow: 20px 20px 20px 1px rgba(0, 0, 0, 0.3);
        border-radius: 14px;
    }
    .module-block[data-type=membership] .contents .panel[data-type=membership-summary] .tail {
        padding: unset;
        height: 60px;
        background: rgba(255, 255, 255, 0.2);
        border-bottom-left-radius: 16px;
        border-bottom-right-radius: 16px;
        border-top: solid 1.5px rgba(149, 149, 149, 0.4);
        margin-top: 10px;
    }
    .module-block[data-type=membership] .contents .panel[data-type=membership-summary] .tail dl {
        width: 100%;
        height: 100%;
        align-items: center;
        display: flex;
        padding: 0 20px;
        justify-content: space-between;
    }
    .module-block[data-type=membership] .contents .panel[data-type=membership-summary] .tail dl dt {
        font-weight: 500;
        font-size: 14px;
    }
    .module-block[data-type=membership] .contents .panel[data-type=membership-summary] .tail dl dd {
        color: #fff;
        font-weight: 500;
    }
    .module-block[data-type=membership] .contents .panel[data-type=membership-summary] .tail dl dd strong {
        font-size: 20px;
        font-variant-numeric: tabular-nums;
    }
    .module-block[data-type=membership] .contents .panel[data-type=membership-summary] .tail dl dd .currency {
        font-size: 20px;
    }
    .module-block[data-type=membership] .contents .panel[data-type=membership-cards] {
        background-color: rgba(149, 149, 149, 0.25);
        transform: rotateY(180deg);
        display: flex;
        flex-flow: column;
        justify-content: space-between;
    }
    .module-block[data-type=membership] .contents .panel[data-type=membership-cards] .head small {
        opacity: 0.5;
        font-weight: 400;
    }
    .module-block[data-type=membership] .contents .panel[data-type=membership-cards] .body {
        margin-top: auto;
        margin-bottom: auto;
    }
    .module-block[data-type=membership] .contents .panel[data-type=membership-cards] .body .swiper {
        height: 100%;
    }
    .module-block[data-type=membership] .contents .panel[data-type=membership-cards] .body .swiper .swiper-pagination-fraction {
        font-size: 11px;
        font-variant-numeric: tabular-nums;
        background-color: rgba(255, 255, 255, 0.3);
        height: 19px;
        padding: 0 8px;
        align-items: center;
        border-radius: 10px;
        gap: 1px;
        display: flex;
        color: rgba(255, 255, 255, 0.6980392157);
        z-index: 1;
    }
    .module-block[data-type=membership] .contents .panel[data-type=membership-cards] .body .swiper .swiper-pagination {
        position: absolute;
        left: 20px;
        top: 0;
        display: flex;
    }
    .module-block[data-type=membership] .contents .panel[data-type=membership-cards] .body .swiper .swiper-pagination .swiper-pagination-bullet {
        display: block;
        width: 4px;
        height: 4px;
        background-color: rgba(255, 255, 255, 0.3137254902);
        border-radius: 100%;
    }
    .module-block[data-type=membership] .contents .panel[data-type=membership-cards] .body .swiper .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
        background-color: #fff;
    }
    .module-block[data-type=membership] .contents .panel[data-type=membership-cards] .body .swiper button.next, .module-block[data-type=membership] .contents .panel[data-type=membership-cards] .body .swiper button.prev {
        display: none;
        background-color: rgba(0, 0, 0, 0.5);
        border-radius: 100%;
        position: absolute;
        width: 30px;
        height: 30px;
        top: 50%;
        z-index: 1;
        transform: translateY(-50%);
    }
    .module-block[data-type=membership] .contents .panel[data-type=membership-cards] .body .swiper button.next.swiper-button-disabled, .module-block[data-type=membership] .contents .panel[data-type=membership-cards] .body .swiper button.prev.swiper-button-disabled {
        display: none;
    }
    .module-block[data-type=membership] .contents .panel[data-type=membership-cards] .body .swiper button.next {
        right: 16px;
    }
    .module-block[data-type=membership] .contents .panel[data-type=membership-cards] .body .swiper button.prev {
        left: 16px;
    }
    .module-block[data-type=membership] .contents .panel[data-type=membership-cards] .body .avatar, .module-block[data-type=membership] .contents .panel[data-type=membership-cards] .body .barcode {
        display: flex;
        flex-flow: column;
        align-items: center;
        gap: 16px;
    }
    .module-block[data-type=membership] .contents .panel[data-type=membership-cards] .body .avatar .thumbnail, .module-block[data-type=membership] .contents .panel[data-type=membership-cards] .body .barcode .thumbnail {
        position: relative;
        overflow: hidden;
    }
    .module-block[data-type=membership] .contents .panel[data-type=membership-cards] .body .avatar .thumbnail img, .module-block[data-type=membership] .contents .panel[data-type=membership-cards] .body .barcode .thumbnail img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .module-block[data-type=membership] .contents .panel[data-type=membership-cards] .body .avatar figcaption strong, .module-block[data-type=membership] .contents .panel[data-type=membership-cards] .body .barcode figcaption strong {
        display: block;
        text-align: center;
        font-weight: 400;
    }
    .module-block[data-type=membership] .contents .panel[data-type=membership-cards] .body .avatar .thumbnail {
        width: 120px;
        aspect-ratio: 1/1;
        border-radius: 100%;
    }
    .module-block[data-type=membership] .contents .panel[data-type=membership-cards] .body .avatar .thumbnail:after {
        content: "";
        border: solid 1.5px rgba(149, 149, 149, 0.5);
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
        border-radius: 100%;
    }
    .module-block[data-type=membership] .contents .panel[data-type=membership-cards] .body .avatar figcaption strong {
        font-size: 14px;
    }
    .module-block[data-type=membership] .contents .panel[data-type=membership-cards] .body .barcode {
        position: relative;
        background-color: #fff;
        border-radius: 12px;
        width: 300px;
        margin: 0 auto;
        margin-top: 32px;
        margin-bottom: 20px;
    }
    .module-block[data-type=membership] .contents .panel[data-type=membership-cards] .body .barcode:after {
        content: "";
        position: absolute;
        top: -3px;
        left: -3px;
        height: calc(100% + 6px);
        width: calc(100% + 6px);
        background: linear-gradient(60deg, #f79533, #f37055, #ef4e7b, #a166ab, #5073b8, #1098ad, #07b39b, #6fba82);
        border-radius: 16px;
        z-index: -1;
        animation: animatedgradient 3s ease alternate infinite;
        background-size: 300% 300%;
    }
    @keyframes animatedgradient {
        0% {
            background-position: 0 50%;
        }
        50% {
            background-position: 100% 50%;
        }
        100% {
            background-position: 0 50%;
        }
    }
    .module-block[data-type=membership] .contents .panel[data-type=membership-cards] .body .barcode .thumbnail {
        width: 210px;
        height: 45px;
        padding-top: 20px !important;
    }
    .module-block[data-type=membership] .contents .panel[data-type=membership-cards] .body .barcode figcaption {
        margin-bottom: auto;
    }
    .module-block[data-type=membership] .contents .panel[data-type=membership-cards] .body .barcode figcaption strong {
        font-size: 10px;
        color: #111;
        padding-bottom: 20px;
    }
    .module-block[data-type=membership] .contents .panel[data-type=membership-cards] .tail {
        flex-flow: row;
        justify-content: space-between;
        gap: 4px;
        padding-top: 0px;
        padding-bottom: 20px;
    }
    .module-block[data-type=membership] .contents .panel[data-type=membership-cards] .tail > p {
        font-size: 14px;
    }
    .module-block[data-type=membership] .contents .panel[data-type=membership-cards] .tail .tooltip {
        margin-right: auto;
    }
    .module-block[data-type=membership] .contents .panel[data-type=membership-cards] .tail .toggle-switch {
        margin-left: auto;
    }
    .module-block[data-type=membership][data-tier=lv1] .backdrop {
        background-image: url("../img/backdrop/backdrop-tier-lv1@3x.png");
    }
    .module-block[data-type=membership][data-tier=lv1] .panel[data-type=membership-summary] .head strong {
        color: #FF774C;
    }
    .module-block[data-type=membership][data-tier=lv1] .panel[data-type=membership-summary] .body .tier {
        background-image: url("../img/tier/tier-lv1@3x.png");
    }
    .module-block[data-type=membership][data-tier=lv1] .panel[data-type=membership-summary] .tail dl dd {
        color: #FF774C;
    }
    .module-block[data-type=membership][data-tier=lv1] .panel[data-type=membership-cards] .tail .toggle-switch input:checked {
        border-color: #FF774C;
        background-color: #FF774C;
    }
    .module-block[data-type=membership][data-tier=lv2] .backdrop {
        background-image: url("../img/backdrop/backdrop-tier-lv4@3x.png");
    }
    .module-block[data-type=membership][data-tier=lv2] .panel[data-type=membership-summary] .head strong {
        color: #EFFF43;
    }
    .module-block[data-type=membership][data-tier=lv2] .panel[data-type=membership-summary] .body .tier {
        background-image: url("../img/tier/tier-lv2@3x.png");
    }
    .module-block[data-type=membership][data-tier=lv2] .panel[data-type=membership-summary] .tail dl dd {
        color: #EFFF43;
    }
    .module-block[data-type=membership][data-tier=lv2] .panel[data-type=membership-cards] .tail .toggle-switch input:checked {
        border-color: #EFFF43;
        background-color: #EFFF43;
    }
    .module-block[data-type=membership][data-tier=lv3] .backdrop {
        background-image: url("../img/backdrop/backdrop-tier-lv3@3x.png");
    }
    .module-block[data-type=membership][data-tier=lv3] .panel[data-type=membership-summary] .head strong {
        color: #EFFF43;
    }
    .module-block[data-type=membership][data-tier=lv3] .panel[data-type=membership-summary] .body .tier {
        background-image: url("../img/tier/tier-lv3@3x.png");
    }
    .module-block[data-type=membership][data-tier=lv3] .panel[data-type=membership-summary] .tail dl dd {
        color: #14C3A2;
    }
    .module-block[data-type=membership][data-tier=lv3] .panel[data-type=membership-cards] .tail .toggle-switch input:checked {
        border-color: #1AC485;
        background-color: #1AC485;
    }
    .module-block[data-type=membership][data-tier=lv4] .backdrop {
        background-image: url("../img/backdrop/backdrop-tier-lv4@3x.png");
    }
    .module-block[data-type=membership][data-tier=lv4] .panel[data-type=membership-summary] .head strong {
        color: #EFFF43;
    }
    .module-block[data-type=membership][data-tier=lv4] .panel[data-type=membership-summary] .body .tier {
        background-image: url("../img/tier/tier-lv4@3x.png");
    }
    .module-block[data-type=membership][data-tier=lv4] .panel[data-type=membership-summary] .tail dl dd {
        color: #00CBBE;
    }
    .module-block[data-type=membership][data-tier=lv4] .panel[data-type=membership-cards] .tail .toggle-switch input:checked {
        border-color: #00CBBE;
        background-color: #00CBBE;
    }
    .module-block[data-type=membership][data-tier=lv5] .backdrop {
        background-image: url("../img/backdrop/backdrop-tier-lv5@3x.png");
    }
    .module-block[data-type=membership][data-tier=lv5] .panel[data-type=membership-summary] .head strong {
        color: #EFFF43;
    }
    .module-block[data-type=membership][data-tier=lv5] .panel[data-type=membership-summary] .body .tier {
        background-image: url("../img/tier/tier-lv5@3x.png");
    }
    .module-block[data-type=membership][data-tier=lv5] .panel[data-type=membership-summary] .tail dl dd {
        color: #c59fff;
    }
    .module-block[data-type=membership][data-tier=lv5] .panel[data-type=membership-cards] .tail .toggle-switch input:checked {
        border-color: #8C79FF;
        background-color: #8C79FF;
    }
    .module-block[data-type=stick] {
        box-sizing: border-box;
        overflow: unset;
        margin: -20px auto;
    }
    .module-block[data-type=stick] .contents {
        border-radius: unset;
        background-color: unset;
    }
    .module-block[data-type=stick] .contents .visual {
        height: 100%;
        aspect-ratio: 390/200;
        object-fit: cover;
    }
    .module-block[data-type=stick] .contents .head {
        position: absolute;
        width: 100%;
        padding: 30px 20px 0px 20px;
        color: #fff;
    }
    .module-block[data-type=stick] .contents .head p {
        color: #1ac485;
    }
    .module-block[data-type=stick] .contents .head .cta {
        display: flex;
        width: auto;
        color: #ccc;
        height: 28px;
        font-size: 12px;
        margin-top: 12px;
        padding: 0 12px;
        border: solid 1px #ccc;
        border-radius: 390px;
        align-items: center;
        align-self: flex-start;
    }
    .module-block[data-type=stick] .contents .body {
        display: none;
    }
    .module-block[data-type=stick] .contents .tail {
        display: none;
    }
    .module-block[data-type=hero] {
        height: 178px;
        margin-bottom: -18px;
    }
    .module-block[data-type=hero] .visual {
        height: 100%;
    }
    .module-block[data-type=hero] .contents {
        border-bottom-left-radius: unset;
        border-bottom-right-radius: unset;
    }
    .module-block[data-type=hero] .contents .head {
        position: absolute;
        width: 100%;
        color: #fff;
    }
    .module-block[data-type=hero] .contents .body {
        display: none;
    }
    .module-block[data-type=hero] .contents .tail {
        display: none;
    }
    .module-block[data-type=helper] .contents .body .helper {
        margin-top: unset;
    }
    .module-block[data-type=helper] .contents .tail {
        padding-bottom: 20px;
    }
    .module-block[data-type=helper] .contents .tail .cta {
        margin: unset;
    }
    .module-block[data-type=utility] {
        height: 60px;
        border-bottom-width: 2px;
    }
    .module-block[data-type=utility] .contents {
        flex-flow: row;
        justify-content: space-between;
        border-bottom-left-radius: 16px;
        border-bottom-right-radius: 16px;
    }
    .module-block[data-type=utility] .contents .head {
        width: 66px;
        margin-right: 0;
        padding: unset;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .module-block[data-type=utility] .contents .head a, .module-block[data-type=utility] .contents .head button {
        display: flex;
        border-radius: 100%;
        width: 34px;
        height: 34px;
        background-color: #fff;
        justify-content: center;
        align-items: center;
    }
    .module-block[data-type=utility] .contents .head a .pictogram, .module-block[data-type=utility] .contents .head button .pictogram {
        width: 20px;
        height: 20px;
        background-size: 100%;
        background-image: url("../img/pictogram/picto-md-back@3x.png");
        opacity: 0.7;
        filter: invert(1);
        -webkit-filter: invert(1);
    }
    .module-block[data-type=utility] .contents .head a .label, .module-block[data-type=utility] .contents .head button .label {
        display: none;
    }
    .module-block[data-type=utility] .contents .body {
        display: flex;
        align-items: center;
        margin: 0 auto;
    }
    .module-block[data-type=utility] .contents .body h1 {
        font-size: 20px;
        font-weight: 500;
    }
    .module-block[data-type=utility] .contents .tail {
        margin-left: 0;
        position: unset;
        padding: unset;
        width: 66px;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .module-block[data-type=utility][data-view=home] .contents .head a .pictogram {
        background-image: url("../img/pictogram/picto-md-home@3x.png");
    }
    .module-block[data-type=history] .contents .head h2 strong {
        color: #14c3a2;
    }
    .module-block[data-type=history] .contents .body h5 {
        font-size: 16px;
        font-weight: 500;
        margin-bottom: 12px;
        margin-top: 32px;
    }
    .module-block[data-type=history] .contents .body .tab-group {
        margin-top: 32px;
        display: grid;
        grid-template-columns: 1fr 1fr 1fr 1fr;
        background-color: #111;
        border-radius: 100px;
        height: 40px;
        overflow: hidden;
        box-sizing: border-box;
        align-items: center;
    }
    .module-block[data-type=history] .contents .body .tab-group .tab.active a {
        background-color: #fff;
        color: #111;
    }
    .module-block[data-type=history] .contents .body .tab-group .tab a {
        width: 100%;
        color: #fff;
        display: flex;
        height: 40px;
        border-style: solid;
        border-width: 1px;
        border-color: #111;
        justify-content: center;
        align-items: center;
        font-size: 14px;
        font-weight: 500;
        box-sizing: border-box;
        border-radius: 100px;
    }
    .module-block[data-type=history] .contents .body .tab-contents {
        display: none;
    }
    .module-block[data-type=history] .contents .body .tab-contents.active {
        display: block;
    }
    .module-block[data-type=history] .contents .body .tab-contents button.more {
        margin-top: 0;
        margin-left: 0;
        margin-right: 0;
    }
    .module-block[data-type=history] .contents .tail {
        padding-top: 0;
    }
    .module-block[data-type=gift] .contents .body {
        padding: 0 20px;
    }
    .module-block[data-type=gift] .contents .body h5 {
        font-size: 16px;
        font-weight: 500;
        margin-bottom: 12px;
        margin-top: 32px;
    }
    .module-block[data-type=gift] .contents .body hr {
        display: none;
    }
    .module-block[data-type=gift] .contents .body .form-group {
        margin-top: 32px;
        display: flex;
        gap: 10px;
    }
    .module-block[data-type=gift] .contents .body .form label[for=rim] {
        position: absolute;
        right: 0;
        font-size: 28px;
        font-weight: 500;
        padding-bottom: 2px;
        height: 60px;
        box-sizing: border-box;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .module-block[data-type=gift] .contents .body .form p.helper {
        text-align: right;
        font-size: 14px;
    }
    .module-block[data-type=gift] .contents .body .form p.helper[data-type=error] {
        display: none;
        font-size: 12px;
    }
    .module-block[data-type=gift] .contents .body .form .addon {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        margin-top: 20px;
        gap: 4px;
    }
    .module-block[data-type=gift] .contents .body .form .addon button {
        background-color: #eee;
        width: 100%;
        height: 40px;
        color: #111;
        border-radius: 100px;
    }
    .module-block[data-type=gift] .contents .body .form .addon button .label {
        font-size: 14px;
        font-weight: 500;
    }
    .module-block[data-type=gift] .contents .tail .cta[data-type=secondary] {
        width: 50px;
        flex-shrink: 0;
        border-color: #111;
    }
    .module-block[data-type=gift] .contents .tail .cta[data-type=secondary] .label {
        display: none;
    }
    .module-block[data-type=gift] .contents .tail .cta[data-type=secondary] .pictogram {
        display: block;
        width: 22px;
        height: 22px;
        background-size: 100%;
        background-image: url(../img/pictogram/picto-lg-reset@3x.png);
        filter: invert(1);
        -webkit-filter: invert(1);
    }
    .module-block[data-type=stamp] .contents .head p {
        -webkit-line-clamp: 3;
    }
    .module-block[data-type=stamp] .contents .body {
        padding: 20px 20px 20px 20px;
    }
    .module-block[data-type=stamp] .contents .body h3 {
        color: #9C042B;
        font-size: 20px;
        font-weight: 500;
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 12px;
    }
    .module-block[data-type=stamp] .contents .body h3 span {
        flex-shrink: 0;
    }
    .module-block[data-type=stamp] .contents .body h3:after {
        content: "";
        display: flex;
        width: 100%;
        background-image: url(../img/stamp/ornament-title.png);
        background-size: contain;
        height: 7px;
    }
    .module-block[data-type=stamp] .contents .body ol {
        font-size: 12px;
        display: flex;
        flex-flow: column;
        gap: 8px;
        margin-top: 20px;
    }
    .module-block[data-type=stamp] .contents .body ol li {
        counter-increment: item;
    }
    .module-block[data-type=stamp] .contents .body ol li:before {
        content: counter(item, decimal-leading-zero) ". ";
        font-variant-numeric: tabular-nums;
        font-weight: bold;
        color: #9C042B;
    }
    .module-block[data-type=stamp] .contents .body .stamp-slot {
        margin-top: 40px;
        position: relative;
        background-image: url(../img/stamp/backdrop.png);
        background-size: cover;
        border-radius: 12px;
        padding: 10px;
    }
    .module-block[data-type=stamp] .contents .body .stamp-slot h4 {
        font-size: 24px;
        text-align: center;
        font-weight: 500;
        color: #fff;
        padding-top: 70px;
        padding-bottom: 30px;
    }
    .module-block[data-type=stamp] .contents .body .stamp-slot .swiper {
        padding-top: 30px;
        padding-bottom: 30px;
    }
    .module-block[data-type=stamp] .contents .body .stamp-slot .swiper button.next, .module-block[data-type=stamp] .contents .body .stamp-slot .swiper button.prev {
        position: absolute;
        width: 28px;
        height: 28px;
        top: 50%;
        transform: translateY(-50%);
        z-index: 1;
        background-size: 100%;
    }
    .module-block[data-type=stamp] .contents .body .stamp-slot .swiper button.next.swiper-button-disabled, .module-block[data-type=stamp] .contents .body .stamp-slot .swiper button.prev.swiper-button-disabled {
        display: none;
    }
    .module-block[data-type=stamp] .contents .body .stamp-slot .swiper button.prev {
        left: 4px;
        background-image: url(../img/pictogram/picto-lg-prev@3x.png);
    }
    .module-block[data-type=stamp] .contents .body .stamp-slot .swiper button.next {
        right: 4px;
        background-image: url(../img/pictogram/picto-lg-next@3x.png);
    }
    .module-block[data-type=stamp] .contents .body .stamp-slot .swiper .swiper-pagination {
        width: 100%;
        height: 4px;
        position: absolute;
        bottom: 0;
        display: flex;
        gap: 4px;
        justify-content: center;
    }
    .module-block[data-type=stamp] .contents .body .stamp-slot .swiper .swiper-pagination .swiper-pagination-bullet {
        flex-shrink: 0;
        width: 4px;
        height: 4px;
        background-color: #fff;
        border-radius: 100px;
    }
    .module-block[data-type=stamp] .contents .body .stamp-slot .swiper .swiper-pagination .swiper-pagination-bullet-active {
        width: 12px;
        background-color: #111;
    }
    .module-block[data-type=stamp] .contents .body .stamp-slot ul {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        padding: 0px 30px;
        gap: 30px 20px;
    }
    .module-block[data-type=stamp] .contents .body .stamp-slot ul li {
        position: relative;
        flex-shrink: 1;
        width: 75px;
        height: 75px;
        background-image: url(../img/stamp/slot.png);
        background-size: cover;
    }
    .module-block[data-type=stamp] .contents .body .stamp-slot ul li span {
        position: absolute;
        width: 89px;
        height: 90px;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        background-size: 100%;
        background-image: url(../img/stamp/stamp-on.png);
    }
    .module-block[data-type=stamp] .contents .body .stamp-slot ul li:nth-child(6) {
        background-image: url(../img/stamp/slot-goal-1.png);
    }
    .module-block[data-type=stamp] .contents .body .stamp-slot ul li:nth-child(6) span {
        background-image: url(../img/stamp/stamp-goal.png);
    }
    .module-block[data-type=stamp] .contents .body .stamp-slot ul li:nth-child(12) {
        background-image: url(../img/stamp/slot-goal-2.png);
    }
    .module-block[data-type=stamp] .contents .body .stamp-slot ul li:nth-child(12) span {
        background-image: url(../img/stamp/stamp-goal.png);
    }
    .module-block[data-type=stamp] .contents .body .stamp-slot dl.membership {
        margin: 0px 30px;
        display: flex;
        justify-content: space-between;
        color: #fff;
        font-size: 14px;
        align-items: center;
    }
    .module-block[data-type=stamp] .contents .body .stamp-slot dl.membership dd select {
        font-size: 14px;
        border-radius: 8px;
        height: 40px;
        width: 180px;
        border-color: transparent;
        padding: 0px 8px;
        color: #111;
    }
    .module-block[data-type=stamp] .contents .body .stamp-slot dl.my {
        margin: 20px 30px 60px;
        border-top: solid 1px #fff;
        display: grid;
        grid-template-columns: 2fr 1fr;
        color: #fff;
        font-size: 14px;
        padding-top: 12px;
        gap: 10px;
    }
    .module-block[data-type=stamp] .contents .body .stamp-slot dl.my dd {
        text-align: right;
    }
    .module-block[data-type=stamp] .contents .body .stamp-slot dl.my dd strong {
        color: #14c3a2;
        font-weight: 500;
    }
    .module-block[data-type=stamp] .contents .body .stamp-slot:before {
        content: "";
        position: absolute;
        inset: 0;
        border: solid 1px #fff;
        margin: 10px;
        border-radius: 8px;
        pointer-events: none;
    }
    .module-block[data-type=stamp] .contents .body .stamp-slot:after {
        content: "";
        position: absolute;
        width: 98px;
        height: 110px;
        right: 34px;
        top: -55px;
        background-image: url(../img/stamp/ornament-stamp.png);
        background-size: 100%;
    }
    .module-block[data-type=stamp] .contents .body p.helper {
        margin-top: 20px;
    }
    .module-block[data-view=available] .contents {
        justify-content: space-between;
        gap: 20px;
        background-image: url("../img/inhouse/available.png");
        background-size: 100%;
    }
    .module-block[data-view=available] .contents .visual {
        display: none;
    }
    .module-block[data-view=available] .contents .head {
        color: #fff;
    }
    .module-block[data-view=available] .contents .body {
        display: block;
        padding-top: unset;
        padding-bottom: unset;
        height: 100%;
    }
    .module-block[data-view=available] .contents .body .summary {
        border-radius: 12px;
        box-sizing: border-box;
        display: flex;
        flex-flow: column;
        justify-content: center;
        align-items: center;
        height: 100%;
        gap: 8px;
        background-color: #3CC190;
    }
    .module-block[data-view=available] .contents .body .summary h4, .module-block[data-view=available] .contents .body .summary p {
        color: #fff;
    }
    .module-block[data-view=available] .contents .body .summary p {
        font-size: 14px;
        font-weight: 500;
    }
    .module-block[data-view=available] .contents .body .summary h4 {
        display: flex;
        font-size: 32px;
        gap: 4px;
        font-weight: 500;
        font-variant-numeric: tabular-nums;
    }
    .module-block[data-view=available] .tail {
        position: unset;
    }
    .module-block[data-view=available] .tail .cta {
        margin-top: 0;
    }
    .module-block[data-view=preview] .contents .body {
        display: block;
        height: 100%;
        flex-shrink: 1;
    }
    .module-block[data-view=preview] .contents .body .summary {
        overflow: hidden;
        background-color: #fff;
        box-sizing: border-box;
        display: flex;
        flex-flow: column;
        gap: 8px;
        height: 100%;
        border-radius: 0;
    }
    .module-block[data-view=preview] .contents .body .summary .history-group .history {
        padding-top: 8px;
        padding-bottom: 8px;
    }
    .module-block[data-view=preview] .contents .body .summary .history-group .history .pictogram {
        height: 52px;
        width: 52px;
    }
    .module-block[data-view=preview] .contents .body .summary .history-group li:first-of-type {
        border-top: 2px solid #eee;
    }
    .module-block[data-view=preview] .contents .tail {
        background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) 100%);
    }
    .module-block[data-view=remain] .contents {
        background-image: url("../img/inhouse/remain.png");
        background-size: 100%;
    }
    .module-block[data-view=remain] .contents .visual {
        display: none !important;
    }
    .module-block[data-view=remain] .contents .head h2 {
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .module-block[data-view=remain] .contents .body {
        display: block;
        height: 100%;
    }
    .module-block[data-view=remain] .contents .body .gauge {
        background-color: #323232;
        border-radius: 12px;
        box-sizing: border-box;
        height: 100%;
        gap: 16px;
        display: flex;
        flex-flow: column;
        justify-content: center;
    }
    .module-block[data-view=remain] .contents .body .gauge h4 {
        font-size: 14px;
        gap: 4px;
        font-weight: 500;
        text-align: center;
        display: flex;
        justify-content: center;
        color: #fff !important;
    }
    .module-block[data-view=remain] .contents .body .gauge > strong {
        display: block;
        background-color: #ddd;
        height: 28px;
        border-radius: 390px;
        overflow: hidden;
        margin: 0 32px;
    }
    .module-block[data-view=remain] .contents .body .gauge > strong span {
        width: 0;
        height: 100%;
        display: block;
        background-color: #2DCCB5;
        border-top-right-radius: 100px;
        border-bottom-right-radius: 100px;
    }
    .module-block[data-view=remain] .contents .tail {
        display: none;
    }
    .module-block[data-view=summarize] .contents {
        overflow-x: hidden !important;
    }
    .module-block[data-view=custom] .contents .body *:first-child {
        margin-top: unset;
    }
    .module-block[data-view=custom] .contents .body strong {
        font-weight: 500;
    }
    .module-block[data-view=custom] .contents .body h1 {
        font-size: 28px;
        line-height: 34px;
        margin-top: 24px;
        margin-bottom: 12px;
        font-weight: 500;
    }
    .module-block[data-view=custom] .contents .body h2 {
        font-size: 24px;
        line-height: 30px;
        margin-top: 24px;
        margin-bottom: 12px;
        font-weight: 500;
    }
    .module-block[data-view=custom] .contents .body h3 {
        font-size: 20px;
        line-height: 26px;
        margin-top: 24px;
        margin-bottom: 12px;
        font-weight: 500;
    }
    .module-block[data-view=custom] .contents .body h4 {
        font-size: 18px;
        line-height: 22px;
        margin-top: 24px;
        margin-bottom: 12px;
        font-weight: 500;
    }
    .module-block[data-view=custom] .contents .body h5 {
        font-size: 16px;
        line-height: 20px;
        margin-top: 24px;
        margin-bottom: 12px;
        font-weight: 500;
    }
    .module-block[data-view=custom] .contents .body h6 {
        font-size: 14px;
        line-height: 18px;
        margin-top: 24px;
        margin-bottom: 12px;
        font-weight: 500;
    }
    .module-block[data-view=custom] .contents .body p {
        font-size: 14px;
        line-height: 20px;
        font-weight: 400;
        margin-top: 12px;
        margin-bottom: 12px;
    }
    .module-block[data-view=custom] .contents .body small {
        font-size: 12px;
        line-height: 18px;
        font-weight: 400;
        margin-top: 12px;
        margin-bottom: 12px;
    }
    .module-block .drivers {
        position: absolute;
        right: 16px;
        top: 16px;
        width: 34px;
        height: 34px;
    }
    .module-block .drivers .tooltip .window {
        display: none;
        position: absolute;
        z-index: 1;
        top: calc(100% + 10px);
        bottom: unset;
        right: -5px;
        left: unset;
        transform: unset;
        background-color: rgba(0, 0, 0, 0.8980392157);
    }
    .module-block .drivers .tooltip .window:before {
        content: "";
        position: absolute;
        width: 0;
        height: 0;
        top: -5px;
        bottom: unset;
        left: unset;
        right: 17px;
        border-left: 5px solid transparent;
        border-right: 5px solid transparent;
        border-bottom: 5px solid rgba(0, 0, 0, 0.8980392157);
        border-top: unset;
    }
    .module-block .drivers .tooltip .window p {
        font-size: 11px;
        padding: 10px 12px;
        line-height: 13px;
        width: 85px;
        color: #eee;
    }
    .module-block .drivers .tooltip .window p small {
        font-size: 8px;
        line-height: 1px;
    }
    .module-block .drivers button.cta {
        height: 100%;
        margin: unset;
        background-color: rgba(0, 0, 0, 0.5);
        border-radius: 100px;
    }
    .module-block .drivers button.cta .label {
        display: none;
    }
    .module-block .drivers button.cta .pictogram {
        display: block;
        width: 20px;
        height: 20px;
        background-size: 100%;
        background-image: url(../img/pictogram/picto-md-drivers@3x.png);
    }
    .module-block[data-type=gift-view] .contents canvas#congrats, .module-block[data-type=gift-view-expired] .contents canvas#congrats, .module-block[data-type=gift-view-rejected] .contents canvas#congrats, .module-block[data-type=gift-view-accepted] .contents canvas#congrats, .module-block[data-type=history] .contents canvas#congrats, .module-block[data-type=history-empty] .contents canvas#congrats {
        display: none;
    }
    .module-block[data-type=gift-view] .contents .head strong, .module-block[data-type=gift-view-expired] .contents .head strong, .module-block[data-type=gift-view-rejected] .contents .head strong, .module-block[data-type=gift-view-accepted] .contents .head strong, .module-block[data-type=history] .contents .head strong, .module-block[data-type=history-empty] .contents .head strong {
        color: #00CBBE;
    }
    .module-block[data-type=gift-view] .contents .body h5, .module-block[data-type=gift-view-expired] .contents .body h5, .module-block[data-type=gift-view-rejected] .contents .body h5, .module-block[data-type=gift-view-accepted] .contents .body h5, .module-block[data-type=history] .contents .body h5, .module-block[data-type=history-empty] .contents .body h5 {
        font-size: 16px;
        font-weight: 500;
        margin-bottom: 12px;
        margin-top: 32px;
    }
    .module-block[data-type=gift-view] .contents .body .messages, .module-block[data-type=gift-view-expired] .contents .body .messages, .module-block[data-type=gift-view-rejected] .contents .body .messages, .module-block[data-type=gift-view-accepted] .contents .body .messages, .module-block[data-type=history] .contents .body .messages, .module-block[data-type=history-empty] .contents .body .messages {
        height: 150px;
        background-color: #fff;
        border-radius: 12px;
        border: solid 1px #000;
        box-sizing: border-box;
        display: flex;
        flex-flow: column;
        justify-content: space-between;
    }
    .module-block[data-type=gift-view] .contents .body .messages h3, .module-block[data-type=gift-view-expired] .contents .body .messages h3, .module-block[data-type=gift-view-rejected] .contents .body .messages h3, .module-block[data-type=gift-view-accepted] .contents .body .messages h3, .module-block[data-type=history] .contents .body .messages h3, .module-block[data-type=history-empty] .contents .body .messages h3 {
        height: 100%;
        font-size: 28px;
        font-weight: 500;
        display: flex;
        gap: 8px;
        justify-content: center;
        align-items: center;
        margin-top: auto;
        margin-bottom: auto;
    }
    .module-block[data-type=gift-view] .contents .body .messages p, .module-block[data-type=gift-view-expired] .contents .body .messages p, .module-block[data-type=gift-view-rejected] .contents .body .messages p, .module-block[data-type=gift-view-accepted] .contents .body .messages p, .module-block[data-type=history] .contents .body .messages p, .module-block[data-type=history-empty] .contents .body .messages p {
        flex-shrink: 0;
        font-size: 14px;
        border-top: solid 1px #000;
        margin-top: 0;
        width: 100%;
        display: flex;
        justify-content: space-between;
        box-sizing: border-box;
        padding-left: 20px;
        padding-right: 20px;
        height: 50px;
        align-items: center;
    }
    .module-block[data-type=gift-view] .contents .body .messages p time, .module-block[data-type=gift-view-expired] .contents .body .messages p time, .module-block[data-type=gift-view-rejected] .contents .body .messages p time, .module-block[data-type=gift-view-accepted] .contents .body .messages p time, .module-block[data-type=history] .contents .body .messages p time, .module-block[data-type=history-empty] .contents .body .messages p time {
        font-weight: 500;
        color: #14C3A2;
    }
    .module-block[data-type=history-empty] .contents .body {
        padding-bottom: 20px;
    }
    .module-block[data-type=history-empty] .contents .body a.placard {
        display: block;
        overflow: hidden;
        border-radius: 12px;
    }
    .module-block[data-type=history] .backdrop {
        display: none;
    }
    .module-block[data-type=history] .contents .body {
        padding-bottom: 20px;
    }
    .module-block[data-type=history] .contents .body .messages {
        height: 200px;
    }
    .module-block[data-type=history] .contents .body .messages h3 {
        height: unset;
        margin-bottom: 0;
    }
    .module-block[data-type=history] .contents .body .messages .gauge {
        position: relative;
        margin-top: 16px;
        margin-bottom: auto;
        box-sizing: border-box;
        gap: 16px;
        display: flex;
        flex-flow: column;
        justify-content: center;
        margin-left: 32px;
        margin-right: 32px;
    }
    .module-block[data-type=history] .contents .body .messages .gauge h4 {
        font-size: 14px;
        gap: 4px;
        font-weight: 500;
        text-align: center;
        display: flex;
        justify-content: center;
        height: unset;
    }
    .module-block[data-type=history] .contents .body .messages .gauge > strong {
        display: block;
        background-color: #ddd;
        height: 28px;
        border-radius: 390px;
        overflow: hidden;
    }
    .module-block[data-type=history] .contents .body .messages .gauge > strong span {
        width: 0;
        height: 100%;
        display: block;
        background-color: #2DCCB5;
        border-top-right-radius: 100px;
        border-bottom-right-radius: 100px;
    }
    .module-block[data-type=history] .contents .body .messages .gauge > .helper {
        position: absolute;
        right: 16px;
        top: 50%;
        transform: translateY(-50%);
        font-weight: 500;
        color: #fff;
    }
    .module-block[data-type=history] .contents .body .messages p {
        padding-left: 0;
        padding-right: 0;
    }
    .module-block[data-type=history] .contents .body .messages p span:first-of-type {
        padding-left: 20px;
        margin-right: 0;
    }
    .module-block[data-type=history] .contents .body .messages p strong {
        text-align: right;
        padding-right: 20px;
        margin-left: auto;
        font-weight: 500;
    }
    .module-block[data-type=history] .contents .body .messages p a {
        height: 100%;
        border-left: solid 1px #111;
        padding-left: 20px;
        padding-right: 20px;
        display: flex;
        align-items: center;
        font-weight: 500;
        color: #111;
    }
    .module-block[data-type=history] .contents .body .messages p a:before {
        content: "";
        display: block;
        width: 20px;
        height: 20px;
        background-size: 100%;
        background-image: url(../img/pictogram/picto-md-gift@3x.png);
        filter: invert(1);
    }
    .module-block[data-type=history] .contents .body .more {
        margin-bottom: 0;
    }
    .module-block[data-type=history] .contents .tail .more {
        margin-bottom: 0;
    }
    .module-block[data-type=gift-view-expired] .contents .body h5, .module-block[data-type=gift-view-rejected] .contents .body h5, .module-block[data-type=gift-view-accepted] .contents .body h5 {
        font-size: 16px;
        font-weight: 500;
        margin-bottom: 12px;
        margin-top: 32px;
    }
    .module-block[data-type=gift-view-expired] .contents .tail, .module-block[data-type=gift-view-rejected] .contents .tail, .module-block[data-type=gift-view-accepted] .contents .tail {
        flex-flow: column;
        margin: 20px 0;
    }
    .module-block[data-type=gift-view-expired] .contents .tail .cta, .module-block[data-type=gift-view-rejected] .contents .tail .cta, .module-block[data-type=gift-view-accepted] .contents .tail .cta {
        margin-top: 0;
        margin-bottom: 0;
    }
    .module-block[data-type=gift-view-expired] .contents .body .messages h3, .module-block[data-type=gift-view-rejected] .contents .body .messages h3 {
        position: relative;
        filter: grayscale(100%);
    }
    .module-block[data-type=gift-view-expired] .contents .body .messages h3:before, .module-block[data-type=gift-view-rejected] .contents .body .messages h3:before {
        content: "";
        position: absolute;
        display: flex;
        justify-content: center;
        align-items: center;
        left: 16px;
        top: 16px;
        background-color: #fff;
        font-size: 14px;
        border-radius: 100px;
        height: 28px;
        z-index: 1;
        padding-left: 16px;
        padding-right: 16px;
        font-weight: 500;
    }
    .module-block[data-type=gift-view-expired] .contents .body .messages h3:after, .module-block[data-type=gift-view-rejected] .contents .body .messages h3:after {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.15);
    }
    .module-block[data-type=gift-view-expired] .contents .body .messages p time, .module-block[data-type=gift-view-rejected] .contents .body .messages p time {
        color: #DF0033;
    }
    .module-block[data-type=gift-view-expired] .contents .body .messages h3:before {
        content: "기한만료";
    }
    .module-block[data-type=gift-view-rejected] .contents .body .messages h3:before {
        content: "선물거절";
    }
    .windows {
        position: fixed;
        inset: 0;
        background-color: rgba(0, 0, 0, 0.6);
        top: 0;
        left: 0;
        z-index: 9999;
    }
    .windows[data-type=modal] .contents {
        position: absolute;
        width: 422px;
        background-color: #fff;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        border-radius: 16px;
        overflow: hidden;
    }
    .windows[data-type=modal] .contents .head {
        text-align: center;
        background-color: #fafafa;
        margin: 0px 20px 0 20px;
        border-radius: 12px;
        padding-top: 16px;
        padding-bottom: 12px;
    }
    .windows[data-type=modal] .contents .head dl {
        background-color: #fff;
        border: solid 1px #111;
        display: grid;
        grid-template-columns: 2fr 4fr;
        grid-auto-rows: auto;
        margin-top: -16px;
        margin-bottom: -16px;
        border-radius: 12px;
    }
    .windows[data-type=modal] .contents .head dl dt:first-of-type {
        display: none;
    }
    .windows[data-type=modal] .contents .head dl dd:first-of-type {
        grid-column: 1/-1;
        font-size: 28px;
        font-weight: 500;
        padding: 34px 0;
        font-variant-numeric: tabular-nums;
        text-align: center;
    }
    .windows[data-type=modal] .contents .head dl dt {
        text-align: left;
        padding-left: 20px;
    }
    .windows[data-type=modal] .contents .head dl dd {
        text-align: right;
        padding-right: 20px;
        font-weight: 500;
    }
    .windows[data-type=modal] .contents .head dl dt, .windows[data-type=modal] .contents .head dl dd {
        border-top: solid 1px #111;
        padding-top: 12px;
        padding-bottom: 12px;
        font-size: 14px;
    }
    .windows[data-type=modal] .contents .head dl dt:first-of-type, .windows[data-type=modal] .contents .head dl dd:first-of-type {
        border: 0 none;
    }
    .windows[data-type=modal] .contents .head h2 {
        padding: 32px 16px;
        font-size: 20px;
        font-weight: 500;
    }
    .windows[data-type=modal] .contents .head img {
        height: 100px;
    }
    .windows[data-type=modal] .contents .body {
        overflow: auto;
        max-height: 550px;
        text-align: center;
        margin-bottom: 12px;
        scrollbar-width: thin;
        scrollbar-color: #ccc transparent;
    }
    .windows[data-type=modal] .contents .body h3 {
        font-size: 14px;
        line-height: 20px;
        font-weight: 400;
        margin-top: 24px;
    }
    .windows[data-type=modal] .contents .body h4, .windows[data-type=modal] .contents .body p {
        font-size: 14px;
        line-height: 20px;
    }
    .windows[data-type=modal] .contents .body h4 strong, .windows[data-type=modal] .contents .body p strong {
        color: #14C3A2;
    }
    .windows[data-type=modal] .contents .body h4 {
        font-weight: 400;
        color: #14C3A2;
        margin-top: 24px;
    }
    .windows[data-type=modal] .contents .body small {
        display: block;
        font-size: 12px;
        color: #aaa;
        margin: 12px 0;
    }
    .windows[data-type=modal] .contents .body[data-contain=stamp] {
        padding: 0 20px 40px;
        margin-bottom: 0;
    }
    .windows[data-type=modal] .contents .body[data-contain=stamp] .form .textbox {
        margin-top: 20px;
    }
    .windows[data-type=modal] .contents .body[data-contain=stamp] .form label[for=stamp] {
        position: absolute;
        right: 0;
        font-size: 28px;
        font-weight: 500;
        padding-bottom: 2px;
        height: 60px;
        box-sizing: border-box;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .windows[data-type=modal] .contents .body[data-contain=stamp] .form p.helper {
        text-align: right;
        font-size: 14px;
    }
    .windows[data-type=modal] .contents .body[data-contain=stamp] .form p.helper[data-type=error] {
        display: none;
        font-size: 12px;
    }
    .windows[data-type=modal] .contents .body[data-contain=stamp] .form .addon {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        margin-top: 20px;
        gap: 4px;
    }
    .windows[data-type=modal] .contents .body[data-contain=stamp] .form .addon button {
        background-color: #eee;
        width: 100%;
        height: 40px;
        color: #111;
        border-radius: 100px;
    }
    .windows[data-type=modal] .contents .body[data-contain=stamp] .form .addon button .label {
        font-size: 14px;
        font-weight: 500;
    }
    .windows[data-type=modal] .contents .body[data-contain=stamp] p.helper {
        text-align: right;
        margin-top: 8px;
    }
    .windows[data-type=modal] .contents .body[data-contain=stamp] h5 {
        text-align: left;
        margin-top: 32px;
        margin-bottom: 12px;
        font-weight: 500;
    }
    .windows[data-type=modal] .contents .body[data-contain=stamp] ul.helper {
        text-align: left;
    }
    .windows[data-type=modal] .contents .tail {
        margin-top: 0;
        background-color: rgba(0, 0, 0, 0);
        display: flex;
        align-items: center;
        flex-flow: row;
        padding: 0 20px;
        gap: 10px;
    }
    .windows[data-type=driver] {
        display: none;
    }
    .windows[data-type=driver] .contents {
        position: absolute;
        width: 422px;
        background-color: #030303;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        border-radius: 16px;
    }
    .windows[data-type=driver] .contents button.dismiss {
        opacity: 1;
    }
    .windows[data-type=driver] .contents .head {
        margin: 20px 20px 0 20px;
        border-radius: 12px;
        display: flex;
        gap: 20px;
    }
    .windows[data-type=driver] .contents .head button {
        font-size: 20px;
        font-weight: 500;
        line-height: 24px;
        color: rgba(255, 255, 255, 0.4);
    }
    .windows[data-type=driver] .contents .head button.active {
        color: rgb(255, 255, 255);
    }
    .windows[data-type=driver] .contents .head img {
        height: 100px;
    }
    .windows[data-type=driver] .contents .body {
        overflow: hidden;
        max-height: 550px;
        text-align: center;
        padding: 20px 0 70px;
    }
    .windows[data-type=driver] .contents .body .swiper-slide {
        width: 382px;
        margin-left: 10px;
        margin-right: 10px;
    }
    .windows[data-type=driver] .contents .body .swiper-pagination {
        position: absolute;
        left: 50%;
        bottom: 25px;
        display: flex;
        gap: 4px;
        transform: translateX(-50%);
    }
    .windows[data-type=driver] .contents .body .swiper-pagination .swiper-pagination-bullet {
        display: block;
        width: 5px;
        height: 5px;
        background-color: rgba(255, 255, 255, 0.3137254902);
        border-radius: 100%;
    }
    .windows[data-type=driver] .contents .body .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
        background-color: #fff;
    }
    .windows[data-type=driver] .contents .body button.next, .windows[data-type=driver] .contents .body button.prev {
        border-radius: 100%;
        position: absolute;
        width: 30px;
        height: 30px;
        bottom: 0px;
        z-index: 1;
        transform: translateY(-50%);
        background-size: 100%;
    }
    .windows[data-type=driver] .contents .body button.next.swiper-button-disabled, .windows[data-type=driver] .contents .body button.prev.swiper-button-disabled {
        display: none;
    }
    .windows[data-type=driver] .contents .body button.next {
        right: 16px;
        background-image: url("../img/pictogram/picto-lg-next@3x.png");
    }
    .windows[data-type=driver] .contents .body button.prev {
        left: 16px;
        background-image: url("../img/pictogram/picto-lg-prev@3x.png");
    }
    .windows[data-type=driver] .contents .body img {
        width: 100%;
    }
    .windows[data-type=driver] .contents .body h3 {
        font-size: 20px;
        line-height: 26px;
        font-weight: 500;
        margin-top: 24px;
    }
    .windows[data-type=driver] .contents .body h4, .windows[data-type=driver] .contents .body p {
        font-size: 14px;
        line-height: 18px;
    }
    .windows[data-type=driver] .contents .body h4 strong, .windows[data-type=driver] .contents .body p strong {
        color: #14C3A2;
    }
    .windows[data-type=driver] .contents .body h4 {
        font-weight: 500;
        color: #14C3A2;
        margin-top: 24px;
    }
    .windows[data-type=driver] .contents .body p {
        margin-top: 12px;
    }
    .windows[data-type=driver] .contents .body small {
        display: block;
        font-size: 12px;
        color: #aaa;
        margin: 12px 0;
    }
    .windows[data-type=driver] .contents .tail {
        margin-top: 0;
        background-color: rgba(0, 0, 0, 0);
        display: flex;
        align-items: center;
        flex-flow: row;
        padding: 0 20px;
        gap: 10px;
        display: none;
    }
    html, body {
        font-family: "Pretendard", sans-serif;
        font-weight: 400;
        background-color: #111;
        width: 100%;
        height: 100%;
        overflow: hidden;
    }
    .header, .dock {
        display: flex;
        align-items: center;
        font-size: 16px;
    }
    .header {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        background-color: #ccc;
        z-index: 1000;
        height: 60px;
        background-color: rgb(255, 255, 255);
        display: flex;
        justify-content: space-between;
        padding: 0 22px;
        border-bottom-left-radius: 16px;
        border-bottom-right-radius: 16px;
    }
    .header .site-brand a {
        display: flex;
        flex-flow: row;
        align-items: center;
        height: 40px;
    }
    .header .site-brand a .label {
        display: none;
    }
    .header .site-brand .pictogram {
        display: block;
        width: 167px;
        height: 16px;
        background-image: url(../img/site-brand/site-brand@3x.png);
        background-size: 100%;
    }
    .dock {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        z-index: 1000;
        height: 80px;
        background-color: rgb(255, 255, 255);
        -webkit-backdrop-filter: blur(50px) saturate(1);
        backdrop-filter: blur(50px) saturate(1);
        padding: 0px 92px 0px 12px;
    }
    .dock > ul {
        width: 100%;
        display: flex;
        justify-content: space-between;
        margin-bottom: 8px;
    }
    .dock > ul > li > .rim button {
        display: flex;
        flex-flow: column;
        align-items: center;
        justify-content: flex-start;
        gap: 4px;
        font-size: 10px;
        width: 60px;
        height: 60px;
        color: #111;
        border-radius: 12px;
    }
    .dock > ul > li > .rim button .pictogram {
        margin-top: 4px;
        display: block;
        width: 32px;
        height: 32px;
        background-size: 100% 100%;
        -webkit-filter: invert(1);
        filter: invert(1);
        background-image: url(../img/pictogram/picto-hg-dock-dot@3x.png);
    }
    .dock > ul > li > .rim ul {
        display: none;
    }
    .dock > ul > li > a, .dock > ul > li > button {
        display: flex;
        flex-flow: column;
        align-items: center;
        justify-content: flex-start;
        gap: 4px;
        font-size: 10px;
        width: 60px;
        height: 60px;
        color: #111;
        border-radius: 12px;
    }
    .dock > ul > li > a .pictogram, .dock > ul > li > button .pictogram {
        margin-top: 4px;
        display: block;
        width: 32px;
        height: 32px;
        background-size: 100% 100%;
        -webkit-filter: invert(1);
        filter: invert(1);
    }
    .dock > ul > li > a .label, .dock > ul > li > button .label {
        margin-bottom: auto;
    }
    .dock > ul > li > a.home .pictogram, .dock > ul > li > button.home .pictogram {
        background-image: url(../img/pictogram/picto-hg-dock-home@3x.png);
    }
    .dock > ul > li > a.gift .pictogram, .dock > ul > li > button.gift .pictogram {
        background-image: url(../img/pictogram/picto-hg-dock-gift@3x.png);
    }
    .dock > ul > li > a.history .pictogram, .dock > ul > li > button.history .pictogram {
        background-image: url(../img/pictogram/picto-hg-dock-history@3x.png);
    }
    .dock .portal {
        position: absolute;
        right: 11px;
        bottom: 24px;
    }
    .dock .portal button {
        position: relative;
        font-size: 12px;
        display: flex;
        flex-flow: column;
        align-items: center;
        gap: 4px;
        border-radius: 100px;
        overflow: hidden;
        border: solid 5px #fff;
        width: 70px;
        height: 70px;
        background-color: #fafafa;
    }
    .dock .portal button span.pictogram {
        position: absolute;
        display: block;
        width: 60px;
        height: 60px;
        background-size: 100%;
    }
    .dock .portal button span.pictogram.ananti {
        background-image: url("../img/layout/portal-ant-lg.png");
    }
    .dock .portal button span.pictogram.eternaljourney {
        background-image: url("../img/layout/portal-ej-lg.png");
    }
    .dock .portal > ul {
        box-sizing: border-box;
        display: none;
        flex-flow: column;
        position: absolute;
        gap: 8px;
        width: 181px;
        bottom: 80px;
        right: -5px;
        padding: 12px;
        border-radius: 12px;
        background: rgba(17, 17, 17, 0.9);
        -webkit-backdrop-filter: blur(50px) saturate(1);
        backdrop-filter: blur(50px) saturate(1);
    }
    .dock .portal > ul li {
        display: block;
    }
    .dock .portal > ul li a {
        display: flex;
        flex-flow: row;
        color: #fff;
        font-size: 14px;
        gap: 8px;
        align-items: center;
    }
    .dock .portal > ul li a:before {
        content: "";
        display: block;
        width: 32px;
        height: 32px;
        background-size: 100%;
    }
    .dock .portal > ul li a.ananti:before {
        background-image: url("../img/layout/portal-ant.png");
    }
    .dock .portal > ul li a.eternaljourney:before {
        background-image: url("../img/layout/portal-ej.png");
    }
    .dock .portal > ul:before {
        content: "";
        position: absolute;
        width: 0;
        height: 0;
        bottom: -5px;
        right: 35px;
        border-left: 5px solid transparent;
        border-right: 5px solid transparent;
        border-top: 5px solid rgba(17, 17, 17, 0.6980392157);
    }
    main#module-scroller {
        position: absolute;
        padding-top: 80px;
        width: 100%;
        height: 100%;
        overflow-x: hidden;
        overflow-y: auto;
        display: grid;
        align-content: start;
        gap: 20px;
        box-sizing: border-box;
    }
    main#module-scroller .module-block[data-type=helper] {
        display: none;
    }
    main#module-scroller[data-layout-modifier=fatty] {
        gap: 2px;
    }
    main#module-scroller[data-layout-modifier=fatty] .module-block {
        width: 386px;
        border-left-width: unset;
        border-right-width: unset;
    }
    main#module-scroller[data-layout-modifier=fatty] .module-block[data-type=helper] {
        display: block;
    }
    body[data-component-pin=default] .module-block[data-type=footer] {
        margin-top: -20px;
    }
    body[data-component-pin=dark] .header, body[data-component-pin=dark] .dock {
        filter: invert(1);
    }
    body[data-component-pin=dark] .top, body[data-component-pin=dark] .dock {
        display: none;
    }
    body[data-component-pin=secondary] .header {
        display: none;
    }
    body[data-component-pin=secondary] main#module-scroller {
        padding-top: 60px;
    }
    body[data-component-pin=secondary] main#module-scroller .module-block[data-type=expand] {
        display: none !important;
    }
    body[data-component-pin=secondary] .module-block[data-type=utility] {
        position: fixed;
        top: 0px;
        left: 0px;
        border-left: solid 1px #111;
        border-right: solid 1px #111;
        border-bottom: solid 1px #111;
        border-radius: 16px;
        z-index: 2;
    }
    body[data-component-pin=secondary] .module-block[data-type=membership] {
        display: none;
    }
    .top {
        position: fixed;
        width: 44px;
        height: 44px;
        right: 20px;
        bottom: 112px;
        background-color: rgba(255, 255, 255, 0.8);
        backdrop-filter: blur(50px) saturate(2);
        -webkit-backdrop-filter: blur(50px) saturate(2);
        border-radius: 100px;
        display: flex;
        justify-content: center;
        align-items: center;
        z-index: 10;
    }
    .top .label {
        display: none;
    }
    .top .pictogram {
        display: block;
        border-radius: 100px;
        width: 28px;
        height: 28px;
        background-size: 100%;
        background-image: url(../img/pictogram/picto-lg-dock-top@3x.png);
        filter: invert(1);
        -webkit-filter: invert(1);
    }
    html.locked {
        overflow: hidden !important;
    }
    html.locked body {
        height: unset !important;
    }
    html.locked body .header, html.locked body .module-block[data-type=utility] {
        top: unset !important;
    }
    html.locked body .top {
        opacity: 0;
        bottom: unset !important;
    }
    html.locked body .dock {
        bottom: unset !important;
    }
    html.locked body #module-scroller {
        overflow: unset !important;
    }
    body .header, body .dock, body .module-block[data-type=utility], body .top {
        transition: top 0.2s cubic-bezier(0.645, 0.045, 0.355, 1) 0s, bottom 0.2s cubic-bezier(0.645, 0.045, 0.355, 1) 0s, opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1) 0s !important;
    }
    body.scrolled .header, body.scrolled .module-block[data-type=utility] {
        top: -70px;
    }
    body.scrolled .top {
        bottom: 20px;
    }
    body.scrolled .dock {
        bottom: -100px;
    }
    body.scrolled.reverse .header, body.scrolled.reverse .module-block[data-type=utility] {
        top: 0px;
    }
    body.scrolled.reverse .top {
        bottom: 112px;
    }
    body.scrolled.reverse .dock {
        bottom: unset;
    }
    [data-sstmml=numeric] {
        font-variant-numeric: tabular-nums;
    }
    .quickLink {
        filter: invert(1);
        -webkit-filter: invert(1);
        display: none;
        position: relative;
    }
    .quickLink > button {
        position: relative;
        width: 40px;
        height: 40px;
        background-color: #fff;
        border-radius: 100px;
        display: flex;
        overflow: hidden;
    }
    .quickLink > button > .label {
        display: none;
    }
    .quickLink > button .pictogram {
        position: absolute;
        width: 32px;
        height: 32px;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        background-size: 100%;
        background-image: url("../img/pictogram/picto-lg-dock-dot@3x.png");
        -webkit-filter: invert(1);
        filter: invert(1);
    }
    .quickLink > .link {
        position: absolute;
        width: 180px;
        padding: 12px;
        box-sizing: border-box;
        right: -2px;
        top: 48px;
        background-color: #ffffff;
        border-radius: 12px;
        display: none;
        flex-flow: column;
        gap: 4px;
    }
    .quickLink > .link hr {
        margin: 8px 0;
    }
    .quickLink > .link a {
        display: flex;
        color: #111;
        font-size: 14px;
        height: 32px;
        align-items: center;
        gap: 8px;
        font-weight: 500;
    }
    .quickLink > .link a span.pictogram {
        width: 32px;
        height: 32px;
        background-size: 100%;
    }
    .quickLink > .link a.ananti {
        margin-bottom: 8px;
    }
    .quickLink > .link a.ananti span.pictogram {
        background-image: url("../img/quickLink/quickLink-ant@3x.png");
    }
    .quickLink > .link a.eternaljourney {
        margin-bottom: 8px;
    }
    .quickLink > .link a.eternaljourney span.pictogram {
        background-image: url("../img/quickLink/quickLink-ej@3x.png");
    }
    .quickLink > .link a.myRim span.pictogram {
        background-image: url("../img/quickLink/quickLink-myRim@3x.png");
    }
    .quickLink > .link a.rimClub, .quickLink > .link a.respect, .quickLink > .link a.gift {
        background-color: #f8f8f8;
        border-radius: 8px;
        height: 40px;
        display: flex;
        justify-content: center;
    }
    .quickLink > .link:before {
        content: "";
        position: absolute;
        width: 0;
        height: 0;
        top: -5px;
        right: 17px;
        border-left: 5px solid transparent;
        border-right: 5px solid transparent;
        border-bottom: 5px solid #fff;
    }
    .history-empty {
        padding-top: 120px;
        padding-bottom: 120px;
        display: flex;
        flex-flow: column;
        justify-content: center;
        align-items: center;
        gap: 8px;
    }
    .history-empty ~ button.more {
        display: none;
    }
    .history-empty p {
        font-size: 16px;
        font-weight: 500;
    }
    .history-empty small {
        font-size: 12px;
        color: #aaa;
    }
    .history-group li {
        border-top: solid 1px #eee;
    }
    .history-group li .history {
        display: flex;
        justify-content: space-between;
        padding: 12px 8px;
    }
    .history-group li .history .pictogram {
        position: relative;
        width: 60px;
        height: 60px;
        background-color: #f8f8f8;
        border-radius: 100%;
        margin-right: 12px;
        flex-shrink: 0;
    }
    .history-group li .history .pictogram:after {
        content: "";
        display: block;
        width: 32px;
        height: 32px;
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        background-size: 100%;
    }
    .history-group li .history .label {
        display: flex;
        flex-flow: column;
        justify-content: center;
        width: 100%;
        gap: 4px;
    }
    .history-group li .history .label h4 {
        font-size: 16px;
        font-weight: 500;
        display: -webkit-box;
        -webkit-line-clamp: 1;
        -webkit-box-orient: vertical;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .history-group li .history .label small {
        font-size: 12px;
        font-weight: 300;
        color: #aaa;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        text-overflow: ellipsis;
        line-height: 16px;
    }
    .history-group li .history .label time {
        font-size: 14px;
        font-weight: 300;
    }
    .history-group li .history .value {
        display: flex;
        flex-flow: column;
        justify-content: center;
        flex-shrink: 0;
        padding-left: 8px;
        gap: 4px;
    }
    .history-group li .history .value strong {
        font-size: 16px;
        font-weight: 500;
        text-align: right;
        padding: 0;
        color: #111;
    }
    .history-group li .history .value time {
        font-size: 12px;
        font-weight: 300;
        text-align: right;
        color: #aaa;
        line-height: 16px;
    }
    .history-group li .history[data-type=reduced] .value strong {
        color: #AAAAAA !important;
    }
    .history-group li .history[data-type=expired] .value strong {
        color: #AAAAAA !important;
    }
    .history-group li .history[data-visual=mall] .pictogram:after {
        background-image: url(../img/pictogram/picto-hg-cart@3x.png);
    }
    .history-group li .history[data-visual=gift] .pictogram:after {
        background-image: url(../img/pictogram/picto-hg-gift@3x.png);
    }
    .history-group li .history[data-visual=expired] .pictogram:after {
        background-image: url(../img/pictogram/picto-hg-gone@3x.png);
    }
    .history-group li .history[data-visual=fnb] .pictogram:after {
        background-image: url(../img/pictogram/picto-hg-cutlery@3x.png);
    }
    .history-group li .history[data-visual=activity] .pictogram:after {
        background-image: url(../img/pictogram/picto-hg-map@3x.png);
    }
    .history-group li .history[data-visual=golf] .pictogram:after {
        background-image: url(../img/pictogram/picto-hg-golf@3x.png);
    }
    .history-group li .history[data-visual=hotel] .pictogram:after {
        background-image: url(../img/pictogram/picto-hg-bed@3x.png);
    }
    .history-group li:first-of-type {
        border-top: none;
    }
}
.module-block-windows {
    display: none;
}

@media screen and (min-width: 1024px) {
    body, html {
        overflow: unset;
        overflow-x: hidden;
        height: auto;
    }
    .dock {
        position: fixed;
    }
    body[data-component-pin=secondary] .header {
        display: flex;
    }
    body[data-component-pin=secondary] main#module-scroller {
        padding-top: 80px;
    }
    body[data-component-pin=secondary] .module-block[data-type=membership] {
        display: block;
        width: 350px !important;
        z-index: 100;
    }
    main#module-scroller {
        position: relative;
        width: 710px;
        height: auto;
        border-radius: 16px;
        overflow: hidden;
        padding-left: 360px;
        padding-right: 216px;
        overflow-x: hidden;
        overflow-y: unset;
        box-sizing: unset;
        display: block;
        column-count: 2;
        gap: 10px;
        align-content: unset;
        margin: 0 auto;
        left: 0;
        right: 0;
    }
    main#module-scroller > .module-block {
        margin-bottom: 10px;
    }
    main#module-scroller .module-block[data-type=hero] {
        margin-bottom: -18px;
    }
    main#module-scroller .module-block[data-type=membership],
    main#module-scroller .module-block[data-type=welcome] {
        position: fixed;
        top: 80px;
        margin-left: -360px;
    }
    main#module-scroller .module-block[data-type=stick] {
        position: fixed;
        top: 610px;
        margin-left: -360px;
    }
    main#module-scroller[data-layout-modifier=fatty] {
        column-count: unset;
    }
    main#module-scroller[data-layout-modifier=fatty] .module-block {
        width: 710px;
    }
    main#module-scroller[data-layout-modifier=fatty] .module-block[data-type=utility] {
        display: none;
    }
    .header {
        box-sizing: border-box;
        width: 1286px;
        margin: 0 auto;
        height: 70px;
    }
    .header .site-brand .pictogram {
        width: 200px;
        height: auto;
        aspect-ratio: 167/16;
    }
    .top {
        display: none;
    }
    .dock {
        position: fixed;
        bottom: unset;
        top: unset;
        left: 643px;
        top: 80px;
        height: unset;
        transform: translateX(-50%);
        margin-left: 540px;
        box-sizing: border-box;
        width: 206px;
        padding: unset;
        display: block;
        border-radius: 16px;
    }
    .dock > ul {
        width: unset;
        flex-flow: column;
        padding: 12px;
        margin: unset;
        gap: unset;
    }
    .dock > ul li {
        margin-top: 10px;
    }
    .dock > ul li:last-child {
        margin-top: 0;
    }
    .dock > ul li:first-child {
        margin-top: 0;
    }
    .dock > ul li > a.rim {
        display: flex;
    }
    .dock > ul li > div.rim {
        display: none;
    }
    .dock > ul li > div.rim button {
        width: 100%;
        flex-flow: row;
        height: unset;
        justify-content: start;
        background-color: #fafafa;
        padding: 12px;
        gap: 8px;
    }
    .dock > ul li > div.rim button .pictogram, .dock > ul li > div.rim button .label {
        margin: unset;
    }
    .dock > ul li > div.rim button .label {
        font-size: 14px;
    }
    .dock > ul li a, .dock > ul li button {
        flex-flow: row;
        width: unset;
        height: unset;
        justify-content: start;
        background-color: #fafafa;
        padding: 12px;
        gap: 8px;
    }
    .dock > ul li a .pictogram, .dock > ul li a .label, .dock > ul li button .pictogram, .dock > ul li button .label {
        margin: unset;
    }
    .dock > ul li a .label, .dock > ul li button .label {
        font-size: 14px;
    }
    .dock .portal {
        top: unset;
        bottom: -157px;
        width: 206px;
        right: unset;
        left: 0;
    }
    .dock .portal button {
        display: none;
    }
    .dock .portal ul {
        right: unset;
        position: relative;
        display: block !important;
        opacity: 1 !important;
        width: 100%;
        bottom: unset;
        background-color: #333;
    }
    .dock .portal ul:before {
        display: none;
    }
    .dock .portal ul li {
        margin-top: unset;
    }
    .dock .portal ul li a {
        justify-content: start;
        background-color: #111;
        border-radius: 12px;
        align-items: center;
    }
    .dock .portal ul li a.eternaljourney {
        margin-top: 10px;
    }
    .dock .portal ul li a:before {
        margin-right: 0;
    }
    body[data-component-pin=default] .module-block[data-type=footer] {
        column-span: all;
        padding-top: 20px;
    }
}
@media screen and (min-width: 1286px) {
    .dock {
        left: 50%;
        right: unset;
    }
}
@media screen and (min-width: 1024px) {
    html, body {
        overflow-x: hidden;
        /* scrollbar-width: thin; */
        /* scrollbar-color: #ccc transparent; */
    }
    .module-block-windows {
        display: block;
        position: fixed;
        width: 100%;
        height: 100%;
        left: 0;
        top: 0;
        z-index: 1000;
        background-color: rgba(0, 0, 0, 0.7);
    }
    .module-block-windows .module-block[data-type=expand] {
        opacity: 0;
        cursor: default;
        position: absolute;
        left: 50%;
        top: 50%;
        width: 422px;
        height: 90%;
        max-height: 800px;
    }
    .module-block-windows .module-block[data-type=expand] button.dismiss {
        display: flex;
        opacity: 1;
    }
    .module-block-windows .module-block[data-type=expand] .contents {
        overflow: auto;
        overflow-x: hidden;
        scrollbar-width: thin;
        scrollbar-color: #ccc transparent;
    }
    .module-block-windows .module-block[data-type=expand] .contents::-webkit-scrollbar {
        display: none;
    }
    .module-block-windows .module-block[data-type=expand] .contents .body {
        opacity: 1;
        padding-bottom: 40px;
    }
    .module-block-windows .module-block[data-type=expand] .contents .tail {
        position: unset;
        opacity: 1;
        display: block;
    }
    body[data-component-pin=dark] .quickLink {
        display: block;
    }
}
