.glightbox-container {
  -ms-touch-action: none;
  touch-action: none;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  text-size-adjust: 100%;
  backface-visibility: hidden;
  outline: 0;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  overflow: hidden;
  z-index: 999999 !important;
}

.glightbox-container.inactive {
  display: none;
}

.glightbox-container .gcontainer {
  z-index: 9999;
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
}

.glightbox-container .gslider {
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  transition: transform .4s;
  position: relative;
  top: 0;
  left: 0;
  overflow: hidden;
  transform: translate3d(0, 0, 0);
  display: flex !important;
}

.glightbox-container .gslide {
  -webkit-user-select: none;
  user-select: none;
  opacity: 0;
  justify-content: center;
  align-items: center;
  width: 100%;
  display: flex;
  position: absolute;
}

.glightbox-container .gslide.current {
  opacity: 1;
  z-index: 99999;
  position: relative;
}

.glightbox-container .gslide.prev {
  opacity: 1;
  z-index: 9999;
}

.glightbox-container .gslide-inner-content {
  width: 100%;
}

.glightbox-container .ginner-container {
  flex-direction: column;
  justify-content: center;
  width: 100%;
  max-width: 100%;
  height: 100vh;
  margin: auto;
  display: flex;
  position: relative;
}

.glightbox-container .ginner-container.gvideo-container {
  width: 100%;
}

.glightbox-container .ginner-container.desc-bottom, .glightbox-container .ginner-container.desc-top {
  flex-direction: column;
}

.glightbox-container .ginner-container.desc-left, .glightbox-container .ginner-container.desc-right {
  max-width: 100% !important;
}

.gslide iframe, .gslide video {
  -webkit-overflow-scrolling: touch;
  -ms-touch-action: auto;
  touch-action: auto;
  border: none;
  min-height: 165px;
  outline: 0 !important;
}

.gslide:not(.current) {
  pointer-events: none;
}

.gslide-image {
  align-items: center;
}

.gslide-image img {
  float: none;
  -webkit-user-select: none;
  user-select: none;
  -o-object-fit: cover;
  object-fit: cover;
  -ms-touch-action: none;
  touch-action: none;
  border: none;
  outline: 0;
  width: auto;
  min-width: 200px;
  max-width: 100vw;
  height: auto;
  max-height: 100vh;
  margin: auto;
  padding: 0;
  display: block;
}

.desc-bottom .gslide-image img, .desc-top .gslide-image img {
  width: auto;
}

.desc-left .gslide-image img, .desc-right .gslide-image img {
  width: auto;
  max-width: 100%;
}

.gslide-image img.zoomable {
  position: relative;
}

.gslide-image img.dragging {
  transition: none;
  cursor: -webkit-grabbing !important;
  cursor: grabbing !important;
}

.gslide-video {
  max-width: 100vh;
  position: relative;
  width: 100% !important;
}

.gslide-video .plyr__poster-enabled.plyr--loading .plyr__poster {
  display: none;
}

.gslide-video .gvideo-wrapper {
  width: 100%;
  margin: auto;
}

.gslide-video:before {
  content: "";
  background: #ff000057;
  width: 100%;
  height: 100%;
  display: none;
  position: absolute;
}

.gslide-video.playing:before {
  display: none;
}

.gslide-video.fullscreen {
  min-width: 100%;
  height: 75vh;
  max-width: 100% !important;
}

.gslide-video.fullscreen video {
  width: 100% !important;
  max-width: 100% !important;
}

.gslide-inline {
  text-align: left;
  background: #fff;
  max-width: 100%;
  max-height: calc(100vh - 40px);
  margin: auto;
  overflow: auto;
}

.gslide-inline .ginlined-content {
  width: 100%;
  padding: 20px;
}

.gslide-inline .dragging {
  transition: none;
  cursor: -webkit-grabbing !important;
  cursor: grabbing !important;
}

.ginlined-content {
  opacity: 1;
  overflow: auto;
  display: block !important;
}

.gslide-external {
  background: #fff;
  width: 100%;
  min-width: 100%;
  height: 100%;
  max-height: 75vh;
  padding: 0;
  display: flex;
  overflow: auto;
}

.gslide-media {
  width: auto;
  display: flex;
}

.zoomed .gslide-media {
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
}

.desc-bottom .gslide-media, .desc-top .gslide-media {
  flex-direction: column;
  margin: 0 auto;
}

.gslide-description {
  flex: 1 0 100%;
  position: relative;
}

.gslide-description.description-left, .gslide-description.description-right {
  max-width: 100%;
}

.gslide-description.description-bottom, .gslide-description.description-top {
  width: 100%;
  margin: 0 auto;
}

.gslide-description p {
  margin-bottom: 12px;
}

.gslide-description p:last-child {
  margin-bottom: 0;
}

.zoomed .gslide-description, .glightbox-button-hidden {
  display: none;
}

.glightbox-mobile .glightbox-container .gslide-description {
  background: linear-gradient(#0000 0, #000000bf 100%);
  width: 100%;
  max-height: 78vh;
  padding: 19px 11px 50px;
  transition: opacity .3s linear;
  position: absolute;
  bottom: 0;
  order: 2 !important;
  max-width: 100vw !important;
  height: auto !important;
  overflow: auto !important;
}

.glightbox-mobile .glightbox-container .gslide-title {
  color: #fff;
  font-size: 1em;
}

.glightbox-mobile .glightbox-container .gslide-desc {
  color: #a1a1a1;
}

.glightbox-mobile .glightbox-container .gslide-desc a {
  color: #fff;
  font-weight: 700;
}

.glightbox-mobile .glightbox-container .gslide-desc * {
  color: inherit;
}

.glightbox-mobile .glightbox-container .gslide-desc .desc-more {
  color: #fff;
  opacity: .4;
}

.gdesc-open .gslide-media {
  opacity: .4;
  transition: opacity .5s;
}

.gdesc-open .gdesc-inner {
  padding-bottom: 30px;
}

.gdesc-closed .gslide-media {
  opacity: 1;
  transition: opacity .5s;
}

.greset {
  transition: all .3s;
}

.gabsolute {
  position: absolute;
}

.grelative {
  position: relative;
}

.glightbox-desc {
  display: none !important;
}

.glightbox-open {
  overflow: hidden;
}

.gloader {
  z-index: 9999;
  border: 2px solid #fff;
  border-right-color: #0000;
  border-radius: 50%;
  width: 25px;
  height: 25px;
  margin: 0 auto;
  animation: .8s linear infinite lightboxLoader;
  display: block;
  position: absolute;
  top: 47%;
  left: 0;
  right: 0;
}

.goverlay {
  will-change: opacity;
  background: #000;
  width: 100%;
  height: calc(100vh + 1px);
  position: fixed;
  top: -1px;
  left: 0;
}

.glightbox-mobile .goverlay {
  background: #000;
}

.gclose, .gnext, .gprev {
  z-index: 99999;
  cursor: pointer;
  border: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 26px;
  height: 44px;
  display: flex;
}

.gclose svg, .gnext svg, .gprev svg {
  width: 25px;
  height: auto;
  margin: 0;
  padding: 0;
  display: block;
}

.gclose.disabled, .gnext.disabled, .gprev.disabled {
  opacity: .1;
}

.gclose .garrow, .gnext .garrow, .gprev .garrow {
  stroke: #fff;
}

.gbtn.focused {
  outline: 2px solid #0f3d81;
}

iframe.wait-autoplay {
  opacity: 0;
}

.glightbox-closing .gclose, .glightbox-closing .gnext, .glightbox-closing .gprev {
  opacity: 0 !important;
}

.glightbox-clean .gslide-description {
  background: #fff;
}

.glightbox-clean .gdesc-inner {
  padding: 22px 20px;
}

.glightbox-clean .gslide-title {
  color: #000;
  margin-bottom: 19px;
  font-family: arial;
  font-size: 1em;
  font-weight: 400;
  line-height: 1.4em;
}

.glightbox-clean .gslide-desc {
  margin-bottom: 0;
  font-family: arial;
  font-size: .86em;
  line-height: 1.4em;
}

.glightbox-clean .gslide-video {
  background: #000;
}

.glightbox-clean .gclose, .glightbox-clean .gnext, .glightbox-clean .gprev {
  background-color: #000000bf;
  border-radius: 4px;
}

.glightbox-clean .gclose path, .glightbox-clean .gnext path, .glightbox-clean .gprev path {
  fill: #fff;
}

.glightbox-clean .gprev {
  width: 40px;
  height: 50px;
  position: absolute;
  top: -100%;
  left: 30px;
}

.glightbox-clean .gnext {
  width: 40px;
  height: 50px;
  position: absolute;
  top: -100%;
  right: 30px;
}

.glightbox-clean .gclose {
  width: 35px;
  height: 35px;
  position: absolute;
  top: 15px;
  right: 10px;
}

.glightbox-clean .gclose svg {
  width: 18px;
  height: auto;
}

.glightbox-clean .gclose:hover {
  opacity: 1;
}

.gfadeIn {
  animation: .5s gfadeIn;
}

.gfadeOut {
  animation: .5s gfadeOut;
}

.gslideOutLeft {
  animation: .3s gslideOutLeft;
}

.gslideInLeft {
  animation: .3s gslideInLeft;
}

.gslideOutRight {
  animation: .3s gslideOutRight;
}

.gslideInRight {
  animation: .3s gslideInRight;
}

.gzoomIn {
  animation: .5s gzoomIn;
}

.gzoomOut {
  animation: .5s gzoomOut;
}

@keyframes lightboxLoader {
  0% {
    transform: rotate(0);
  }

  100% {
    transform: rotate(360deg);
  }
}

@keyframes gfadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes gfadeOut {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}

@keyframes gslideInLeft {
  from {
    opacity: 0;
    transform: translate3d(-60%, 0, 0);
  }

  to {
    visibility: visible;
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes gslideOutLeft {
  from {
    opacity: 1;
    visibility: visible;
    transform: translate3d(0, 0, 0);
  }

  to {
    opacity: 0;
    visibility: hidden;
    transform: translate3d(-60%, 0, 0);
  }
}

@keyframes gslideInRight {
  from {
    opacity: 0;
    visibility: visible;
    transform: translate3d(60%, 0, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes gslideOutRight {
  from {
    opacity: 1;
    visibility: visible;
    transform: translate3d(0, 0, 0);
  }

  to {
    opacity: 0;
    transform: translate3d(60%, 0, 0);
  }
}

@keyframes gzoomIn {
  from {
    opacity: 0;
    transform: scale3d(.3, .3, .3);
  }

  to {
    opacity: 1;
  }
}

@keyframes gzoomOut {
  from {
    opacity: 1;
  }

  50% {
    opacity: 0;
    transform: scale3d(.3, .3, .3);
  }

  to {
    opacity: 0;
  }
}

@media (width >= 769px) {
  .glightbox-container .ginner-container {
    flex-direction: row;
    width: auto;
    height: auto;
  }

  .glightbox-container .ginner-container.desc-top .gslide-description {
    order: 0;
  }

  .glightbox-container .ginner-container.desc-top .gslide-image, .glightbox-container .ginner-container.desc-top .gslide-image img {
    order: 1;
  }

  .glightbox-container .ginner-container.desc-left .gslide-description {
    order: 0;
  }

  .glightbox-container .ginner-container.desc-left .gslide-image {
    order: 1;
  }

  .gslide-image img {
    max-width: 100%;
    max-height: 97vh;
  }

  .gslide-image img.zoomable {
    cursor: -webkit-zoom-in;
    cursor: zoom-in;
  }

  .zoomed .gslide-image img.zoomable {
    cursor: -webkit-grab;
    cursor: grab;
  }

  .gslide-inline {
    max-height: 95vh;
  }

  .gslide-external {
    max-height: 100vh;
  }

  .gslide-description.description-left, .gslide-description.description-right {
    max-width: 275px;
  }

  .glightbox-open {
    height: auto;
  }

  .goverlay {
    background: #000000eb;
  }

  .glightbox-clean .gslide-media {
    box-shadow: 1px 2px 9px #000000a6;
  }

  .glightbox-clean .description-left .gdesc-inner, .glightbox-clean .description-right .gdesc-inner {
    height: 100%;
    position: absolute;
    overflow-y: auto;
  }

  .glightbox-clean .gclose, .glightbox-clean .gnext, .glightbox-clean .gprev {
    background-color: #00000052;
  }

  .glightbox-clean .gclose:hover, .glightbox-clean .gnext:hover, .glightbox-clean .gprev:hover {
    background-color: #000000b3;
  }

  .glightbox-clean .gprev, .glightbox-clean .gnext {
    top: 45%;
  }
}

@media (width >= 992px) {
  .glightbox-clean .gclose {
    opacity: .7;
    right: 20px;
  }
}

@media screen and (height <= 420px) {
  .goverlay {
    background: #000;
  }
}

:root {
  --white: #fff;
  --black: #000;
  --text: #000;
  --primary: #c6a15e;
  --gray: #dcdcdc;
  --store: #2eb6aa;
  --lightgray: #ececec;
  --lightergray: #f5f5f5;
  --smoke: #eee;
  --ff-futura: "futura-pt", Futura, CenturyGothic, sans-serif;
  --ff-noto-sans: "Noto Sans TC", "PingFang HK", "Microsoft JhengHei UI", sans-serif;
  --fw-thin: 100;
  --fw-extralight: 200;
  --fw-light: 300;
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;
  --fw-extrabold: 800;
  --fw-black: 900;
  --ease-in-sine: cubic-bezier(.47, 0, .745, .715);
  --ease-out-sine: cubic-bezier(.39, .575, .565, 1);
  --ease-in-out-sine: cubic-bezier(.445, .05, .55, .95);
  --ease-in-quad: cubic-bezier(.55, .085, .68, .53);
  --ease-out-quad: cubic-bezier(.25, .46, .45, .94);
  --ease-in-out-quad: cubic-bezier(.455, .03, .515, .955);
  --ease-in-cubic: cubic-bezier(.55, .055, .675, .19);
  --ease-out-cubic: cubic-bezier(.215, .61, .355, 1);
  --ease-in-out-cubic: cubic-bezier(.645, .045, .355, 1);
  --ease-in-quart: cubic-bezier(.895, .03, .685, .22);
  --ease-out-quart: cubic-bezier(.165, .84, .44, 1);
  --ease-in-out-quart: cubic-bezier(.77, 0, .175, 1);
  --ease-in-quint: cubic-bezier(.755, .05, .855, .06);
  --ease-out-quint: cubic-bezier(.23, 1, .32, 1);
  --ease-in-out-quint: cubic-bezier(.86, 0, .07, 1);
  --ease-in-expo: cubic-bezier(.95, .05, .795, .035);
  --ease-out-expo: cubic-bezier(.19, 1, .22, 1);
  --ease-in-out-expo: cubic-bezier(1, 0, 0, 1);
  --ease-in-circ: cubic-bezier(.6, .04, .98, .335);
  --ease-out-circ: cubic-bezier(.075, .82, .165, 1);
  --ease-in-out-circ: cubic-bezier(.785, .135, .15, .86);
  --ease-in-back: cubic-bezier(.6, -.28, .735, .045);
  --ease-out-back: cubic-bezier(.175, .885, .32, 1.275);
  --ease-in-out-back: cubic-bezier(.68, -.55, .265, 1.55);
  --overshoot-soft-out: linear(0, .402 7.4%, .711 15.3%, .929 23.7%, 1.008 28.2%, 1.067 33%, 1.099 36.9%, 1.12 41%, 1.13 45.4%, 1.13 50.1%, 1.111 58.5%, 1.019 83.2%, 1.004 91.3%, 1);
}

@keyframes star {
  0% {
    scale: 0;
    rotate: 0;
    background-color: var(--primary);
  }

  20% {
    background-color: var(--primary);
  }

  60% {
    scale: 1.6;
  }

  100% {
    background-color: currentColor;
    transform: rotate3d(0, 1, 0, 360deg);
  }
}

@keyframes star-sp {
  0% {
    scale: 0;
    rotate: 0;
    background-color: var(--primary);
  }

  20% {
    background-color: var(--primary);
  }

  60% {
    scale: 1.4;
  }

  100% {
    background-color: currentColor;
    transform: rotate3d(0, 1, 0, 360deg);
  }
}

html {
  -webkit-text-size-adjust: 100%;
  box-sizing: border-box;
  tab-size: 4;
  word-break: normal;
}

*, :after, :before {
  box-sizing: inherit;
  background-repeat: no-repeat;
}

:after, :before {
  -webkit-text-decoration: inherit;
  text-decoration: inherit;
  vertical-align: inherit;
}

* {
  margin: 0;
  padding: 0;
}

hr {
  color: inherit;
  height: 0;
  overflow: visible;
}

details, main {
  display: block;
}

summary {
  display: list-item;
}

small {
  font-size: 80%;
}

[hidden] {
  display: none;
}

abbr[title] {
  border-bottom: none;
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
}

a {
  background-color: #0000;
}

a:active, a:hover {
  outline-width: 0;
}

code, kbd, pre, samp {
  font-family: monospace;
}

pre {
  font-size: 1em;
}

b, strong {
  font-weight: bolder;
}

sub, sup {
  vertical-align: baseline;
  font-size: 75%;
  line-height: 0;
  position: relative;
}

sub {
  bottom: -.25em;
}

sup {
  top: -.5em;
}

table {
  border-color: inherit;
  text-indent: 0;
}

iframe {
  border-style: none;
}

input {
  border-radius: 0;
}

[type="number"]::-webkit-inner-spin-button {
  height: auto;
}

[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

[type="search"] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

textarea {
  resize: vertical;
  overflow: auto;
}

button, input, optgroup, select, textarea {
  font: inherit;
}

optgroup {
  font-weight: 700;
}

button {
  overflow: visible;
}

button, select {
  text-transform: none;
}

[role="button"], [type="button"], [type="reset"], [type="submit"], button {
  cursor: pointer;
}

[type="button"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

[type="reset"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

button::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

[type="button"]::-moz-focus-inner {
  outline: 1px dotted buttontext;
}

[type="reset"]::-moz-focus-inner {
  outline: 1px dotted buttontext;
}

[type="submit"]::-moz-focus-inner {
  outline: 1px dotted buttontext;
}

button:-moz-focusring {
  outline: 1px dotted buttontext;
}

[type="reset"], [type="submit"], button, html [type="button"] {
  -webkit-appearance: button;
}

button, input, select, textarea {
  background-color: #0000;
  border-style: none;
}

a:focus, button:focus, input:focus, select:focus, textarea:focus {
  outline-width: 0;
}

select {
  -webkit-appearance: none;
  -moz-appearance: none;
}

select::-ms-expand {
  display: none;
}

select::-ms-value {
  color: currentColor;
}

legend {
  color: inherit;
  white-space: normal;
  border: 0;
  max-width: 100%;
  display: table;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  color: inherit;
  font: inherit;
}

[disabled] {
  cursor: default;
}

img {
  border-style: none;
}

progress {
  vertical-align: baseline;
}

[aria-busy="true"] {
  cursor: progress;
}

[aria-controls] {
  cursor: pointer;
}

[aria-disabled="true"] {
  cursor: default;
}

body {
  text-underline-offset: 2px;
  word-break: normal;
  overflow-wrap: anywhere;
  line-break: strict;
  text-decoration-thickness: .5px;
}

body:lang(en-HK) {
  font-family: var(--ff-futura);
  -webkit-hyphens: auto;
  hyphens: auto;
}

body:lang(zh-HK) {
  font-feature-settings: "palt" 1;
  font-family: var(--ff-noto-sans);
  letter-spacing: .04em;
}

[id] {
  scroll-margin: 88px 0 0;
}

@media print, screen and (width >= 768px) {
  [id] {
    scroll-margin: 0;
  }
}

.lp-container {
  position: relative;
  overflow: clip;
}

@media print, screen and (width >= 768px) {
  .lp-container {
    grid-template: "side main"
    / min(10.9375%, 140px) 1fr;
    display: grid;
  }
}

.lp-footer {
  color: var(--white);
  background-color: var(--black);
  padding: 40px 6.66667vw;
  position: relative;
}

@media print, screen and (width >= 768px) {
  .lp-footer {
    padding: 5.625vw 0 5.625vw 10.9375vw;
  }
}

.lp-footer .pagetop {
  z-index: 1;
  width: 36px;
  height: 36px;
  position: absolute;
  top: -99px;
  right: 5.55556%;
}

@media print, screen and (width >= 768px) {
  .lp-footer .pagetop {
    width: 52px;
    height: 52px;
    top: 40px;
    right: 40px;
  }
}

@media screen and (width <= 767px) {
  .lp-footer .pagetop {
    display: none;
  }
}

.lp-footer .pagetop > a {
  border: 1px solid var(--primary);
  background-color: var(--white);
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  padding-top: 2px;
  transition-property: background-color, color;
  transition-duration: .3s;
  transition-timing-function: ease;
  display: flex;
  position: relative;
}

@media print, screen and (width >= 768px) {
  .lp-footer .pagetop > a:hover {
    background-color: var(--primary);
  }

  .lp-footer .pagetop > a:hover svg path {
    stroke: var(--white);
  }
}

.lp-footer .pagetop > a svg {
  width: 14px;
  height: 10px;
}

@media print, screen and (width >= 768px) {
  .lp-footer .pagetop > a svg {
    width: 16px;
    height: 12px;
  }
}

.lp-footer .pagetop > a svg path {
  stroke: var(--primary);
  transition-property: stroke;
  transition-duration: .3s;
  transition-timing-function: ease;
}

@media print, screen and (width >= 768px) {
  .lp-footer .pagetop > a {
    background-color: #0000;
  }
}

.lp-footer .logo {
  width: 140px;
  margin: 0 auto 32px;
}

@media print, screen and (width >= 768px) {
  .lp-footer .logo {
    width: 180px;
  }
}

.lp-footer .logo img {
  width: 100%;
  height: auto;
  display: block;
}

.lp-footer .copyright {
  text-align: center;
  font-size: .6875rem;
  line-height: 1;
}

.lp-footer.is-inview:before {
  scale: 1;
}

.lp-footer:before {
  content: "";
  pointer-events: none;
  transition: scale .45s var(--ease-out-back);
  z-index: 2;
  pointer-events: none;
  background-image: url("/flagship/img/illust_footer.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  margin-left: auto;
  margin-right: auto;
  display: block;
  position: absolute;
  bottom: 100%;
  left: 0;
  right: 0;
  scale: 0;
}

@media screen and (width <= 767px) {
  .lp-footer:before {
    width: 38.4vw;
    height: 38.4vw;
  }
}

@media print, screen and (width >= 768px) {
  .lp-footer:before {
    width: 18.4375vw;
    height: 18.4375vw;
    translate: 5.46875vw;
  }
}

.lp-lang {
  border: .266667vw solid var(--black);
  background-color: var(--white);
}

@media screen and (width <= 767px) {
  .lp-lang {
    width: fit-content;
    margin: 10px 10px 10px auto;
    padding: 4px;
  }
}

@media print, screen and (width >= 768px) {
  .lp-lang {
    z-index: 2;
    border-width: .078125vw;
    padding: .3125vw;
    position: absolute;
    top: 1.875vw;
    right: 1.875vw;
  }
}

.lp-lang .list {
  column-gap: 4px;
  width: fit-content;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  position: relative;
}

@media print, screen and (width >= 768px) {
  .lp-lang .list {
    column-gap: .3125vw;
  }
}

.lp-lang .list:before {
  content: "";
  background-color: var(--black);
  pointer-events: none;
  width: 44px;
  height: 28px;
  transition: left .3s;
  display: block;
  position: absolute;
  top: 0;
}

@media print, screen and (width >= 768px) {
  .lp-lang .list:before {
    width: 3.4375vw;
    height: 2.1875vw;
  }
}

.lp-lang .list:has(.item:first-of-type a[aria-current="page"]):before {
  left: 0;
}

.lp-lang .list:has(.item:first-of-type a[aria-current="page"]):has(.item:nth-of-type(2) a:not([aria-current="page"]):hover):before {
  left: 48px;
}

@media print, screen and (width >= 768px) {
  .lp-lang .list:has(.item:first-of-type a[aria-current="page"]):has(.item:nth-of-type(2) a:not([aria-current="page"]):hover):before {
    left: 3.75vw;
  }
}

.lp-lang .list:has(.item:nth-of-type(2) a[aria-current="page"]):before {
  left: 48px;
}

@media print, screen and (width >= 768px) {
  .lp-lang .list:has(.item:nth-of-type(2) a[aria-current="page"]):before {
    left: 3.75vw;
  }
}

.lp-lang .list:has(.item:nth-of-type(2) a[aria-current="page"]):has(.item:first-of-type a:not([aria-current="page"]):hover):before {
  left: 0;
}

.lp-lang .item {
  z-index: 2;
  font-family: var(--ff-futura);
  font-weight: var(--fw-medium);
  mix-blend-mode: exclusion;
  flex: none;
  margin: 0;
  padding: 0;
  font-size: 1.125rem;
  line-height: 1;
  position: relative;
}

@media print, screen and (width >= 768px) {
  .lp-lang .item {
    font-size: 1.40625vw;
  }
}

.lp-lang .item a {
  width: 44px;
  height: 28px;
  color: var(--white);
  place-content: center;
  place-items: center;
  text-decoration: none;
  display: grid;
}

@media print, screen and (width >= 768px) {
  .lp-lang .item a {
    width: 3.4375vw;
    height: 2.1875vw;
  }
}

.lp-lang .item a[aria-current="page"] {
  pointer-events: none;
  text-decoration: none;
}

.lp-main {
  padding-bottom: 49.0667vw;
}

@media print, screen and (width >= 768px) {
  .lp-main {
    grid-area: main;
    padding-bottom: 22.1875vw;
    overflow: clip;
  }
}

.lp-side {
  background-color: var(--black);
}

@media screen and (width <= 767px) {
  .lp-side {
    z-index: 10;
    width: 100dvw;
    position: sticky;
    top: 0;
  }
}

@media print, screen and (width >= 768px) {
  .lp-side {
    grid-area: side;
  }
}

.lp-side .copy {
  margin: 0;
  padding: 0;
  line-height: 1;
}

@media screen and (width <= 767px) {
  .lp-side .copy {
    height: min(23.4667vw, 88px);
  }
}

@media print, screen and (width >= 768px) {
  .lp-side .copy {
    display: grid;
    position: sticky;
    top: 0;
  }
}

.lp-side .copy img {
  width: 100%;
  height: auto;
  display: block;
}

@media screen and (width <= 767px) {
  .lp-side .copy img {
    object-fit: contain;
    width: auto;
    height: 100%;
    margin-left: auto;
    margin-right: auto;
  }
}

.c-lightbox {
  place-items: center;
  display: grid;
}

.c-lightbox .goverlay {
  -webkit-backdrop-filter: blur(7.5px);
  backdrop-filter: blur(7.5px);
  background: #000000b3;
}

.c-lightbox .goverlay.gfadeIn + .gcontainer {
  animation: .5s gfadeIn;
}

.c-lightbox .goverlay.gfadeOut + .gcontainer {
  animation: .5s gfadeOut;
}

.c-lightbox .gcontainer {
  background-color: var(--white);
  border-radius: 3.2vw;
  grid-template-rows: 1fr 17.0667vw;
  display: grid;
}

@media screen and (width <= 767px) {
  .c-lightbox .gcontainer {
    width: 89.3333vw;
    height: calc(100dvh - 80px);
  }
}

@media print, screen and (width >= 768px) {
  .c-lightbox .gcontainer {
    border-radius: 12px;
    grid-template-rows: 1fr 75px;
    width: min(68.75vw, 880px);
    height: min(100vh - 80px, 640px);
  }
}

.c-lightbox .gbtns {
  border-top: 1px solid var(--black);
  background-image: linear-gradient(var(--black), var(--black));
  background-position: center;
  background-repeat: no-repeat;
  background-size: 1px 12.8vw;
  grid-template-columns: repeat(2, 1fr);
  width: calc(100% - 8vw);
  height: 17.0667vw;
  margin: 0 auto;
  display: grid;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}

@media print, screen and (width >= 768px) {
  .c-lightbox .gbtns {
    background-size: 1px 50px;
    width: calc(100% - 40px);
    height: 75px;
  }
}

.c-lightbox .gbtn.gnext, .c-lightbox .gbtn.gprev {
  text-transform: uppercase;
  width: auto;
  height: auto;
  font-family: var(--ff-futura);
  font-weight: var(--fw-bold);
  color: var(--black);
  background: none;
  flex-direction: row;
  align-items: center;
  gap: 2.13333vw;
  font-size: 4.8vw;
  line-height: 1;
  transition: color .3s;
  display: flex;
  position: static;
}

@media print, screen and (width >= 768px) {
  .c-lightbox .gbtn.gnext, .c-lightbox .gbtn.gprev {
    gap: 16px;
    font-size: 18px;
  }
}

.c-lightbox .gbtn.gnext:not(.disabled):hover, .c-lightbox .gbtn.gprev:not(.disabled):hover {
  color: var(--primary);
}

.c-lightbox .gbtn.gnext:after, .c-lightbox .gbtn.gprev:before {
  content: "";
  background-color: currentColor;
  flex: none;
  width: 2.93333vw;
  height: 4.26667vw;
  display: block;
  -webkit-mask-image: url("/flagship/img/ico_arrow-down.svg");
  mask-image: url("/flagship/img/ico_arrow-down.svg");
  -webkit-mask-position: 0 0;
  mask-position: 0 0;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}

@media print, screen and (width >= 768px) {
  .c-lightbox .gbtn.gnext:after, .c-lightbox .gbtn.gprev:before {
    width: 11px;
    height: 16px;
  }
}

.c-lightbox .gbtn.gnext:after {
  transform: rotate(-90deg);
}

.c-lightbox .gbtn.gprev:before {
  transform: rotate(90deg);
}

.c-lightbox .gbtn.disabled {
  opacity: 1;
  color: var(--lightgray);
  pointer-events: none;
}

.c-lightbox .gbtn.gclose {
  background-color: var(--black);
  border-radius: 50%;
  width: 10.6667vw;
  height: 10.6667vw;
  transition: background-color .3s;
  position: absolute;
  top: 4vw;
  right: 4vw;
}

@media print, screen and (width >= 768px) {
  .c-lightbox .gbtn.gclose {
    width: 56px;
    height: 56px;
    top: 20px;
    right: 20px;
  }
}

.c-lightbox .gbtn.gclose:before {
  content: "";
  background-color: var(--white);
  border-radius: 100vmax;
  width: 3.2vw;
  height: .533333vw;
  margin: auto;
  display: block;
  position: absolute;
  inset: 0;
}

@media print, screen and (width >= 768px) {
  .c-lightbox .gbtn.gclose:before {
    width: 16px;
    height: 2px;
  }
}

.c-lightbox .gbtn.gclose:hover {
  background-color: var(--primary);
}

.c-lightbox .gbtn.gclose span {
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  position: absolute !important;
  overflow: hidden !important;
}

.c-lightbox .gslide {
  height: 100%;
  max-height: none;
}

.c-lightbox .ginner-container {
  height: 100%;
}

.c-lightbox .gslide-inner-content {
  height: 100%;
  overflow-y: auto;
}

.c-lightbox .gslide-inline {
  background-color: #0000;
  max-height: none;
  margin: 0;
}

.c-lightbox .ginlined-content {
  padding: 0;
}

.c-lightbox .ginlined-content[hidden] {
  content-visibility: visible;
  display: block;
}

.c-title {
  font-family: var(--ff-futura);
  font-weight: var(--fw-medium);
  letter-spacing: .06em;
  text-align: center;
  text-transform: uppercase;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  font-size: 9.6vw;
  line-height: 1;
  position: relative;
}

@media print, screen and (width >= 768px) {
  .c-title {
    font-size: 4.375vw;
    line-height: 1.2;
  }
}

.c-title:after {
  content: "";
  background-color: currentColor;
  width: 4.26667vw;
  height: 4.26667vw;
  display: block;
  position: absolute;
  top: -.8vw;
  right: -5.33333vw;
  -webkit-mask-image: url("/flagship/img/ico_star.svg");
  mask-image: url("/flagship/img/ico_star.svg");
  -webkit-mask-position: 0 0;
  mask-position: 0 0;
  -webkit-mask-size: contain;
  mask-size: contain;
}

@media print, screen and (width >= 768px) {
  .c-title:after {
    width: 1.875vw;
    height: 1.875vw;
    top: .3125vw;
    right: -3.125vw;
  }
}

.c-title.is-inview:after {
  animation: star-sp 1.2s var(--ease-out-back);
}

@media print, screen and (width >= 768px) {
  .c-title.is-inview:after {
    animation: star 1.2s var(--ease-out-back);
  }
}

.lp-access {
  background-color: var(--black);
  background-image: linear-gradient(var(--black), var(--black)), url("/flagship/img/bg_access.svg");
  background-position: top, bottom;
  background-repeat: no-repeat, repeat;
  background-size: 100% 66.1333vw, 42.6667vw 42.6667vw;
  margin: 0 auto;
  padding: 13.8667vw 5.33333vw 16vw;
  position: relative;
}

@media print, screen and (width >= 768px) {
  .lp-access {
    background-position: 0, 100%;
    background-size: 32.8125vw 100%, 21.0938vw 21.0938vw;
    padding-top: 8.75vw;
    padding-bottom: 8.75vw;
  }

  .lp-access .inner {
    grid-template: "title map"
                   "info map" 1fr
                   / auto 32.8125vw;
    gap: 3.125vw;
    width: 70.3125vw;
    margin-left: auto;
    margin-right: auto;
    display: grid;
  }
}

.lp-access.is-inview:before {
  scale: 1;
}

.lp-access:before {
  content: "";
  aspect-ratio: 1;
  pointer-events: none;
  height: auto;
  transition: scale .45s var(--ease-out-back);
  background-image: url("/flagship/img/illust_access.png");
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  scale: 0;
}

@media screen and (width <= 767px) {
  .lp-access:before {
    width: 25.6vw;
    height: 25.6vw;
    top: -12.8vw;
    left: 0;
  }
}

@media print, screen and (width >= 768px) {
  .lp-access:before {
    width: 15.3125vw;
    height: 15.3125vw;
    margin-right: 26.7188vw;
    top: -8.125vw;
    right: 50%;
  }
}

.lp-access .c-title {
  color: var(--white);
}

@media screen and (width <= 767px) {
  .lp-access .c-title {
    margin-bottom: 10.6667vw;
  }
}

@media print, screen and (width >= 768px) {
  .lp-access .c-title {
    grid-area: title;
    margin-left: 0;
  }

  .lp-access .info {
    grid-area: info;
  }
}

.lp-access .name {
  margin-bottom: 8.53333vw;
  line-height: 1;
}

@media print, screen and (width >= 768px) {
  .lp-access .name {
    margin-bottom: 2.8125vw;
  }
}

.lp-access .name img {
  width: auto;
  height: 5.86667vw;
  display: block;
}

@media print, screen and (width >= 768px) {
  .lp-access .name img {
    height: 1.875vw;
  }
}

.lp-access .data {
  color: var(--white);
  flex-direction: column;
  row-gap: 6.4vw;
  margin: 0;
  padding: 0;
  font-size: 3.73333vw;
  font-weight: normal;
  line-height: 1.6;
  list-style: none;
  display: flex;
}

@media print, screen and (width >= 768px) {
  .lp-access .data {
    row-gap: 1.875vw;
    font-size: 1.25vw;
  }
}

.lp-access .data .place, .lp-access .data .time, .lp-access .data .tel {
  padding-left: 6.4vw;
  position: relative;
}

@media print, screen and (width >= 768px) {
  .lp-access .data .place, .lp-access .data .time, .lp-access .data .tel {
    padding-left: 1.875vw;
  }
}

.lp-access .data .place:before, .lp-access .data .time:before, .lp-access .data .tel:before {
  content: "";
  background-color: var(--white);
  display: block;
  position: absolute;
  top: .8em;
  left: 0;
  translate: 0 -50%;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}

.lp-access .data .place:before {
  width: 3.46667vw;
  height: 4vw;
  -webkit-mask-image: url("/flagship/img/ico_pin.svg");
  mask-image: url("/flagship/img/ico_pin.svg");
}

@media print, screen and (width >= 768px) {
  .lp-access .data .place:before {
    width: 1.17188vw;
    height: 1.17188vw;
  }
}

.lp-access .data .place address {
  font-style: normal;
}

.lp-access .data .place .googlemap {
  width: fit-content;
  font-family: var(--ff-futura);
  color: var(--white);
  border: 1px solid var(--white);
  background-color: #0000;
  align-items: center;
  gap: 1.6vw;
  margin-top: 2.13333vw;
  padding: .533333vw 2.13333vw .8vw;
  font-size: 3.46667vw;
  line-height: 1.6;
  text-decoration: none;
  transition: all .3s;
  display: flex;
}

@media print, screen and (width >= 768px) {
  .lp-access .data .place .googlemap {
    gap: .46875vw;
    margin-top: .78125vw;
    padding: .15625vw .625vw .3125vw;
    font-size: 1.09375vw;
  }
}

.lp-access .data .place .googlemap[target="_blank"]:after {
  content: "";
  background-color: currentColor;
  width: 3.2vw;
  height: 2.66667vw;
  display: block;
  -webkit-mask-image: url("/flagship/img/blank_black.svg");
  mask-image: url("/flagship/img/blank_black.svg");
  -webkit-mask-position: 0 0;
  mask-position: 0 0;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}

@media print, screen and (width >= 768px) {
  .lp-access .data .place .googlemap[target="_blank"]:after {
    width: .9375vw;
    height: .78125vw;
  }
}

.lp-access .data .place .googlemap:hover {
  color: var(--black);
  background-color: var(--white);
}

.lp-access .data .time:before {
  width: 3.46667vw;
  height: 3.46667vw;
  -webkit-mask-image: url("/flagship/img/ico_clock.svg");
  mask-image: url("/flagship/img/ico_clock.svg");
}

@media print, screen and (width >= 768px) {
  .lp-access .data .time:before {
    width: 1.17188vw;
    height: 1.17188vw;
  }
}

.lp-access .data .tel:before {
  width: 3.46667vw;
  height: 3.46667vw;
  -webkit-mask-image: url("/flagship/img/ico_tel.svg");
  mask-image: url("/flagship/img/ico_tel.svg");
}

@media print, screen and (width >= 768px) {
  .lp-access .data .tel:before {
    width: 1.17188vw;
    height: 1.17188vw;
  }
}

.lp-access .button {
  margin-top: 8vw;
}

@media print, screen and (width >= 768px) {
  .lp-access .button {
    margin-top: 2.5vw;
  }
}

.lp-access .button a {
  background-color: var(--white);
  width: fit-content;
  color: var(--black);
  border-radius: 100vmax;
  place-content: center;
  align-items: center;
  gap: 1.6vw;
  padding: 4.26667vw 3.2vw;
  text-decoration: none;
  transition: color .3s, background-color .3s;
  display: flex;
}

@media screen and (width <= 767px) {
  .lp-access .button a {
    margin-left: auto;
    margin-right: auto;
  }
}

@media print, screen and (width >= 768px) {
  .lp-access .button a {
    gap: .625vw;
    padding: 1.25vw 1.875vw;
  }
}

.lp-access .button a:hover {
  color: var(--white);
  background-color: var(--primary);
}

.lp-access .button a .text {
  font-size: 3.73333vw;
  font-weight: 500;
  line-height: 1.6;
}

@media print, screen and (width >= 768px) {
  .lp-access .button a .text {
    font-size: 1.09375vw;
    line-height: 14 / 24;
  }
}

.lp-access .button a svg {
  fill: currentColor;
  width: 3.2vw;
  height: auto;
}

@media print, screen and (width >= 768px) {
  .lp-access .button a svg {
    width: .9375vw;
  }
}

.lp-access .map {
  border-radius: .78125vw;
  margin-bottom: 10.6667vw;
  overflow: hidden;
}

@media print, screen and (width >= 768px) {
  .lp-access .map {
    border-radius: .9375vw;
    grid-area: map;
    margin-bottom: 0;
  }
}

.lp-access .map iframe {
  aspect-ratio: 1;
  border: none;
  width: 100%;
  height: auto;
  display: block;
}

.lp-announce {
  background-image: url("/flagship/img/spacer_star.png");
  background-position: bottom;
  background-repeat: no-repeat;
  background-size: 37.3333vw 7.46667vw;
  width: 86.6667vw;
  margin: 0 auto 8.53333vw;
  padding-top: 10.6667vw;
  padding-bottom: 13.8667vw;
}

@media print, screen and (width >= 768px) {
  .lp-announce {
    background-size: 18.75vw 3.75vw;
    width: 76.5625vw;
    margin-bottom: 5vw;
    padding-top: 8.125vw;
    padding-bottom: 7.5vw;
  }
}

.lp-announce:lang(zh-HK) {
  text-align: center;
}

@media print, screen and (width >= 768px) {
  .lp-announce:lang(en-HK) {
    text-align: center;
  }
}

.lp-announce p {
  font-weight: var(--fw-medium);
  font-size: 4vw;
  line-height: 1.8;
}

.lp-announce p:lang(zh-HK) {
  letter-spacing: .04em;
}

@media print, screen and (width >= 768px) {
  .lp-announce p:lang(zh-HK) {
    line-height: 2;
  }

  .lp-announce p {
    width: fit-content;
    margin: 0 auto;
    font-size: 1.5625vw;
  }
}

.lp-announce p + p {
  margin-top: 6.4vw;
}

@media print, screen and (width >= 768px) {
  .lp-announce p + p {
    margin-top: 2.5vw;
  }
}

.lp-banner {
  width: 86.6667vw;
  margin: 16vw auto 0;
}

@media print, screen and (width >= 768px) {
  .lp-banner {
    box-sizing: content-box;
    width: 43.75vw;
    margin-top: 9.375vw;
    padding-left: 6.25vw;
    padding-right: 6.25vw;
  }
}

.lp-banner .title {
  text-align: center;
  font-weight: var(--fw-semibold);
  font-size: 4.8vw;
  line-height: 1.2;
}

@media print, screen and (width >= 768px) {
  .lp-banner .title {
    font-size: 1.5625vw;
  }
}

.lp-banner .link {
  margin-top: 4.26667vw;
}

@media print, screen and (width >= 768px) {
  .lp-banner .link {
    margin-top: 2.5vw;
  }
}

.lp-banner .link a {
  border: .533333vw solid var(--black);
  border-radius: 100vmax;
  padding-top: 7.2vw;
  padding-bottom: 6.4vw;
  transition: border .3s;
  display: block;
  position: relative;
}

@media print, screen and (width >= 768px) {
  .lp-banner .link a {
    border-width: .078125vw;
    padding-top: 2.10938vw;
    padding-bottom: 2.10938vw;
  }
}

.lp-banner .link a:hover {
  border-color: var(--primary);
}

.lp-banner .link a:after {
  content: "";
  background: url("/flagship/img/blank_black.svg") center no-repeat;
  width: 3.2vw;
  height: 2.66667vw;
  margin-top: -1.33333vw;
  display: block;
  position: absolute;
  top: 50%;
  right: 6.66667vw;
}

@media print, screen and (width >= 768px) {
  .lp-banner .link a:after {
    width: .9375vw;
    height: .78125vw;
    margin-top: -.390625vw;
    right: 2.57813vw;
  }
}

.lp-banner .link img {
  width: 26.6667vw;
  height: auto;
  margin-left: auto;
  margin-right: auto;
  display: block;
}

@media print, screen and (width >= 768px) {
  .lp-banner .link img {
    width: 10.1563vw;
  }
}

.lp-brand {
  background-color: var(--lightergray);
  width: 100%;
  padding: 14.9333vw 0 16vw;
  position: relative;
}

@media print, screen and (width >= 768px) {
  .lp-brand {
    padding: 8.125vw 0 8.75vw;
  }
}

.lp-brand.is-inview:before {
  scale: 1;
}

.lp-brand:before {
  content: "";
  aspect-ratio: 1;
  pointer-events: none;
  height: auto;
  transition: scale .45s var(--ease-out-back);
  background-image: url("/flagship/img/illust_brand.png");
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  scale: 0;
}

@media screen and (width <= 767px) {
  .lp-brand:before {
    width: 25.6vw;
    height: 25.6vw;
    top: -10.6667vw;
    left: 0;
  }
}

@media print, screen and (width >= 768px) {
  .lp-brand:before {
    width: 15.3125vw;
    height: 15.3125vw;
    margin-top: -3.75vw;
    margin-right: 26.7188vw;
    top: 0;
    right: 50%;
  }
}

.lp-brand > .inner {
  width: 89.3333vw;
  margin-left: auto;
  margin-right: auto;
}

@media print, screen and (width >= 768px) {
  .lp-brand > .inner {
    width: 70.3125vw;
  }
}

.lp-brand .lead {
  text-align: center;
  letter-spacing: .03em;
  margin-top: 6.4vw;
  margin-left: auto;
  margin-right: auto;
  font-size: 3.73333vw;
  font-weight: 500;
  line-height: 1.8;
}

@media print, screen and (width >= 768px) {
  .lp-brand .lead {
    margin-top: 2.5vw;
    font-size: 1.5625vw;
    line-height: 1.6;
  }
}

.lp-brand .lead mark {
  background-color: #0000;
  background-image: linear-gradient(var(--primary), var(--primary));
  transition: background-size .65s var(--ease-in-out-cubic);
  background-position: 0 100%;
  background-repeat: no-repeat;
  background-size: 0 2.13333vw;
  padding-bottom: .533333vw;
  padding-left: .533333vw;
  padding-right: .533333vw;
}

@media print, screen and (width >= 768px) {
  .lp-brand .lead mark {
    background-size: 0 .9375vw;
    padding-bottom: .3125vw;
    padding-left: .15625vw;
    padding-right: .15625vw;
  }
}

.lp-brand .lead mark.is-inview {
  background-size: 100% 2.13333vw;
}

@media print, screen and (width >= 768px) {
  .lp-brand .lead mark.is-inview {
    background-size: 100% .9375vw;
  }
}

.lp-brand .list {
  grid-template-columns: repeat(3, 1fr);
  gap: 2.66667vw;
  margin-top: 8.53333vw;
  list-style: none;
  display: grid;
}

@media print, screen and (width >= 768px) {
  .lp-brand .list {
    grid-template-columns: repeat(5, 1fr);
    gap: 1.5625vw;
    margin-top: 4.375vw;
  }
}

.lp-brand .list li {
  border: 1px solid var(--black);
  background-color: var(--white);
  border-radius: 2.66667vw;
  place-content: center;
  place-items: center;
  padding: 11.25% 18.75%;
  display: grid;
  position: relative;
  overflow: hidden;
}

@media print, screen and (width >= 768px) {
  .lp-brand .list li {
    border-radius: .9375vw;
    padding: 1.09375vw 2.03125vw;
  }
}

.lp-brand .list li img {
  aspect-ratio: 112 / 56;
  object-fit: contain;
  grid-area: 1 / 1 / 2 / 2;
  width: 100%;
  height: auto;
  display: block;
}

.lp-brand .list.-dummy li:after {
  content: "";
  aspect-ratio: 112 / 56;
  background-color: #ccc;
  grid-area: 1 / 1 / 2 / 2;
  width: 100%;
  height: auto;
  display: block;
  position: relative;
}

.lp-brand .etc {
  letter-spacing: .03em;
  text-align: center;
  margin-top: 7.46667vw;
  font-size: 4.26667vw;
  font-weight: 500;
  line-height: 1.75;
}

@media print, screen and (width >= 768px) {
  .lp-brand .etc {
    margin-top: 3.75vw;
    font-size: 1.5625vw;
  }

  .lp-brand .etc .en {
    font-size: 1.71875vw;
  }
}

.lp-brand .etc strong {
  font-family: var(--ff-futura);
  font-weight: var(--fw-semibold);
  font-size: 7.46667vw;
  display: inline-block;
}

@media print, screen and (width >= 768px) {
  .lp-brand .etc strong {
    font-size: 2.96875vw;
  }
}

.lp-brand .etc mark {
  background-image: linear-gradient(var(--primary), var(--primary));
  transition: background-size .65s var(--ease-in-out-cubic);
  background-color: #0000;
  background-position: 0 100%;
  background-repeat: no-repeat;
  background-size: 0 2.66667vw;
  padding-left: .533333vw;
  padding-right: .533333vw;
  line-height: 1;
  display: inline-block;
}

@media print, screen and (width >= 768px) {
  .lp-brand .etc mark {
    background-size: 0 1.09375vw;
    padding-left: .15625vw;
    padding-right: .15625vw;
  }
}

.lp-brand .etc mark.is-inview {
  background-size: 100% 2.66667vw;
}

@media print, screen and (width >= 768px) {
  .lp-brand .etc mark.is-inview {
    background-size: 100% 1.09375vw;
  }
}

.lp-floor {
  width: 89.3333vw;
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 16vw;
  position: relative;
}

@media print, screen and (width >= 768px) {
  .lp-floor {
    width: 70.3125vw;
    padding-bottom: 10.625vw;
  }
}

.lp-brand + .lp-floor {
  padding-top: 14.9333vw;
}

@media print, screen and (width >= 768px) {
  .lp-brand + .lp-floor {
    padding-top: 8.75vw;
  }
}

.lp-brand + .lp-floor.is-inview:before {
  scale: 1;
}

.lp-brand + .lp-floor:before {
  content: "";
  aspect-ratio: 1;
  pointer-events: none;
  height: auto;
  transition: scale .45s var(--ease-out-back);
  background-image: url("/flagship/img/illust_floor.png");
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  scale: 0;
}

@media screen and (width <= 767px) {
  .lp-brand + .lp-floor:before {
    width: 25.6vw;
    height: 25.6vw;
    top: -14.9333vw;
    right: 0;
  }
}

@media print, screen and (width >= 768px) {
  .lp-brand + .lp-floor:before {
    width: 15.4688vw;
    height: 15.4688vw;
    margin-left: 26.7188vw;
    top: -9.6875vw;
    left: 50%;
  }
}

.lp-floor > .nav {
  margin-top: 6.4vw;
}

@media print, screen and (width >= 768px) {
  .lp-floor > .nav {
    margin-top: 2.8125vw;
  }
}

.lp-floor > .nav .list {
  justify-content: center;
  align-items: center;
  gap: 5.33333vw;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  list-style: none;
  display: flex;
}

@media print, screen and (width >= 768px) {
  .lp-floor > .nav .list {
    gap: 2.8125vw;
  }
}

.lp-floor > .nav .item a {
  color: var(--black);
  font-family: var(--ff-futura);
  font-weight: var(--fw-bold);
  border-bottom: .533333vw dotted;
  align-items: center;
  gap: 2.13333vw;
  padding: 0 .533333vw 1.06667vw;
  font-size: 4.26667vw;
  line-height: 1;
  text-decoration: none;
  transition: color .3s;
  display: flex;
}

@media print, screen and (width >= 768px) {
  .lp-floor > .nav .item a {
    border-bottom-width: .15625vw;
    gap: .625vw;
    padding: 0 .15625vw .3125vw;
    font-size: 1.5625vw;
  }
}

.lp-floor > .nav .item a:hover {
  color: var(--primary);
}

.lp-floor > .nav .item a[href^="#"]:not([href="#"]):after {
  content: "";
  background-color: currentColor;
  flex: none;
  width: 2.4vw;
  height: 3.2vw;
  display: block;
  -webkit-mask-image: url("/flagship/img/ico_arrow-down.svg");
  mask-image: url("/flagship/img/ico_arrow-down.svg");
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}

@media print, screen and (width >= 768px) {
  .lp-floor > .nav .item a[href^="#"]:not([href="#"]):after {
    width: .703125vw;
    height: .9375vw;
  }
}

.lp-floor > .nav + .lp-map {
  margin-top: 12.8vw;
}

@media print, screen and (width >= 768px) {
  .lp-floor > .nav + .lp-map {
    margin-top: 4.375vw;
  }
}

.lp-map {
  border: .266667vw solid var(--black);
  background-color: #efefef;
  background-image: url("/flagship/img/bg_floor.svg");
  background-position: 100% 100%;
  background-repeat: no-repeat;
  background-size: 66.6667vw 66.6667vw;
  border-radius: 2.66667vw;
  min-height: 128vw;
  margin-top: 6.4vw;
  padding: 5.33333vw 4.26667vw 12.8vw;
  position: relative;
}

@media print, screen and (width >= 768px) {
  .lp-map {
    background-position: 100% 0;
    background-repeat: repeat-y;
    background-size: 42.1875vw 42.1875vw;
    border-width: .15625vw;
    border-radius: 3.125vw;
    width: 100%;
    min-height: 42.1875vw;
    margin-top: 4.375vw;
    padding: 2.34375vw 3.75vw;
  }
}

.lp-map .title {
  font-family: var(--ff-futura);
  font-weight: var(--fw-bold);
  width: fit-content;
  margin: 0;
  line-height: 1;
  display: flex;
}

@media screen and (width <= 767px) {
  .lp-map .title {
    align-items: center;
    gap: 2.13333vw;
    margin-bottom: 6.4vw;
    padding: 0 1.06667vw;
    font-size: 12.8vw;
  }
}

@media print, screen and (width >= 768px) {
  .lp-map .title {
    text-align: center;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: .15625vw;
    font-size: 6.875vw;
    position: absolute;
    top: 2.34375vw;
    left: 3.75vw;
  }
}

.lp-map .title:before {
  content: "";
  background-image: url("/flagship/img/logo_atcosme-hk.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 21.3333vw;
  height: 6.66667vw;
  display: block;
}

@media print, screen and (width >= 768px) {
  .lp-map .title:before {
    width: 8.59375vw;
    height: 2.65625vw;
  }
}

.lp-map .map {
  position: relative;
}

@media print, screen and (width >= 768px) {
  .lp-map .map {
    width: 37.5vw;
    height: 37.5vw;
    margin: 0 auto;
  }
}

.lp-map .map img {
  width: 100%;
  height: auto;
  display: block;
}

.lp-map .spots {
  list-style: none;
  display: contents;
}

.lp-map .spots .spot {
  line-height: 1;
  position: absolute;
  translate: -50%;
}

.lp-map .spots .spot a {
  width: fit-content;
  color: var(--black);
  background-color: currentColor;
  border-radius: 100vmax;
  align-items: center;
  gap: 1.6vw;
  padding: 1.6vw 3.2vw;
  text-decoration: none;
  transition: color .3s;
  display: inline-flex;
  position: relative;
}

@media print, screen and (width >= 768px) {
  .lp-map .spots .spot a {
    gap: .46875vw;
    padding: .46875vw .9375vw;
  }

  .lp-map .spots .spot a:has(br:not(.is-sp)) {
    padding-left: 1.40625vw;
  }
}

@media screen and (width <= 767px) {
  .lp-map .spots .spot a:has(br:not(.is-pc)) {
    padding-left: 4.8vw;
  }
}

.lp-map .spots .spot a[href], .lp-map .spots .spot a[onclick] {
  cursor: pointer;
  padding-right: 2.13333vw;
}

@media print, screen and (width >= 768px) {
  .lp-map .spots .spot a[href], .lp-map .spots .spot a[onclick] {
    padding-right: .46875vw;
  }
}

.lp-map .spots .spot a[href]:after, .lp-map .spots .spot a[onclick]:after {
  content: "";
  background-image: linear-gradient(currentColor, currentColor), linear-gradient(currentColor, currentColor);
  background-position: center, center;
  background-repeat: no-repeat, no-repeat;
  background-size: .4vw 1.86667vw, 1.86667vw .4vw;
  background-color: var(--white);
  border-radius: 50%;
  width: 4.26667vw;
  height: 4.26667vw;
  display: block;
}

@media print, screen and (width >= 768px) {
  .lp-map .spots .spot a[href]:after, .lp-map .spots .spot a[onclick]:after {
    background-size: .117188vw .546875vw, .546875vw .117188vw;
    width: 1.25vw;
    height: 1.25vw;
  }
}

.lp-map .spots .spot a[href]:hover, .lp-map .spots .spot a[onclick]:hover {
  color: var(--primary);
}

.lp-map .spots .spot a span {
  font-weight: var(--fw-medium);
  letter-spacing: .04em;
  white-space: nowrap;
  text-align: center;
  color: var(--white);
  font-size: 3.2vw;
  line-height: 1.33333;
  translate: 0 -.05em;
}

@media print, screen and (width >= 768px) {
  .lp-map .spots .spot a span {
    font-size: 1.09375vw;
    line-height: 1.42857;
  }
}

.lp-map .spots .spot a span:lang(en) {
  font-family: var(--ff-futura);
  font-weight: var(--fw-semibold);
  letter-spacing: normal;
  font-size: 3.73333vw;
  line-height: 1.14286;
  translate: 0;
}

@media print, screen and (width >= 768px) {
  .lp-map .spots .spot a span:lang(en) {
    font-size: 1.25vw;
    line-height: 1.25;
  }
}

.lp-map .spots .spot a:before {
  content: "";
  background-color: currentColor;
  width: 5.33333vw;
  height: 2.66667vw;
  margin: -.533333vw 0 0 -2.66667vw;
  display: block;
  position: absolute;
  top: 100%;
  left: 50%;
  -webkit-mask-image: url("/flagship/img/balloon_tail.svg");
  mask-image: url("/flagship/img/balloon_tail.svg");
  -webkit-mask-position: top;
  mask-position: top;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}

@media print, screen and (width >= 768px) {
  .lp-map .spots .spot a:before {
    width: 1.5625vw;
    height: .78125vw;
    margin: -.15625vw 0 0 -.78125vw;
  }
}

.lp-map .spots .spot.-upward a:before {
  margin-top: 0;
  margin-bottom: -.266667vw;
  top: auto;
  bottom: 100%;
  rotate: 180deg;
}

@media print, screen and (width >= 768px) {
  .lp-map .spots .spot.-upward a:before {
    margin-bottom: -.078125vw;
  }
}

.lp-map .spots .spot.-gf-minicosme {
  top: 5.86667vw;
  left: 14.6667vw;
}

@media print, screen and (width >= 768px) {
  .lp-map .spots .spot.-gf-minicosme {
    top: 2.8125vw;
    left: 7.8125vw;
  }
}

.lp-map .spots .spot.-gf-tester {
  top: -.533333vw;
  left: 45.6vw;
}

@media print, screen and (width >= 768px) {
  .lp-map .spots .spot.-gf-tester {
    top: 2.65625vw;
    left: 20.7031vw;
  }
}

.lp-map .spots .spot.-gf-best-cosme {
  top: 23.4667vw;
  left: 48.2667vw;
}

@media print, screen and (width >= 768px) {
  .lp-map .spots .spot.-gf-best-cosme {
    top: 11.875vw;
    left: 21.7969vw;
  }
}

.lp-map .spots .spot.-gf-best-cosme:lang(en) {
  top: 19.2vw;
  left: 48.2667vw;
}

@media print, screen and (width >= 768px) {
  .lp-map .spots .spot.-gf-best-cosme:lang(en) {
    top: 10.3125vw;
    left: 21.7969vw;
  }
}

.lp-map .spots .spot.-gf-next-trend {
  top: 45.8667vw;
  left: 42.9333vw;
}

@media print, screen and (width >= 768px) {
  .lp-map .spots .spot.-gf-next-trend {
    top: 19.9219vw;
    left: 19.6875vw;
  }
}

@media screen and (width <= 767px) {
  .lp-map .spots .spot.-gf-popup-a {
    top: 64.5333vw;
    left: 68.5333vw;
    translate: -75%;
  }

  .lp-map .spots .spot.-gf-popup-a a:before {
    left: 75%;
  }
}

@media print, screen and (width >= 768px) {
  .lp-map .spots .spot.-gf-popup-a {
    top: 28.125vw;
    left: 29.9219vw;
  }
}

@media screen and (width <= 767px) {
  .lp-map .spots .spot.-ff-popup-b {
    top: 4.8vw;
    left: 23.7333vw;
  }
}

@media print, screen and (width >= 768px) {
  .lp-map .spots .spot.-ff-popup-b {
    top: 4.375vw;
    left: 12.1094vw;
  }
}

@media screen and (width <= 767px) {
  .lp-map .spots .spot.-ff-water-space {
    top: 39.7333vw;
    left: 34.4vw;
  }
}

@media print, screen and (width >= 768px) {
  .lp-map .spots .spot.-ff-water-space {
    top: 17.4219vw;
    left: 16.25vw;
  }
}

@media screen and (width <= 767px) {
  .lp-map .spots .spot.-ff-tester {
    top: 53.8667vw;
    left: 60.8vw;
  }
}

@media print, screen and (width >= 768px) {
  .lp-map .spots .spot.-ff-tester {
    top: 21.875vw;
    left: 26.6406vw;
  }
}

@media screen and (width <= 767px) {
  .lp-map .spots .spot.-ff-sales {
    top: 68.2667vw;
    left: 66.4vw;
    translate: -75%;
  }

  .lp-map .spots .spot.-ff-sales a:before {
    left: 75%;
  }
}

@media print, screen and (width >= 768px) {
  .lp-map .spots .spot.-ff-sales {
    top: 28.125vw;
    left: 28.75vw;
  }
}

@media screen and (width <= 767px) {
  .lp-map .spots .spot.-ff-sales:lang(en) {
    top: 64vw;
    left: 66.4vw;
    translate: -75%;
  }

  .lp-map .spots .spot.-ff-sales:lang(en) a:before {
    left: 75%;
  }
}

@media print, screen and (width >= 768px) {
  .lp-map .spots .spot.-ff-sales:lang(en) {
    top: 26.5625vw;
    left: 28.75vw;
  }
}

@media screen and (width <= 767px) {
  .lp-map .spots .spot.-sf-fragrance {
    top: 1.6vw;
    left: 28.8vw;
  }
}

@media print, screen and (width >= 768px) {
  .lp-map .spots .spot.-sf-fragrance {
    top: 3.4375vw;
    left: 14.2969vw;
  }
}

@media screen and (width <= 767px) {
  .lp-map .spots .spot.-sf-makeup {
    top: -4.8vw;
    left: 71.7333vw;
    translate: -65%;
  }

  .lp-map .spots .spot.-sf-makeup a:before {
    left: 65%;
  }
}

@media print, screen and (width >= 768px) {
  .lp-map .spots .spot.-sf-makeup {
    top: 1.5625vw;
    left: 31.3281vw;
  }
}

@media screen and (width <= 767px) {
  .lp-map .spots .spot.-sf-makeup:lang(en) {
    top: -9.06667vw;
    left: 71.7333vw;
    translate: -65%;
  }

  .lp-map .spots .spot.-sf-makeup:lang(en) a:before {
    left: 65%;
  }

  .lp-map .spots .spot.-sf-analyze {
    top: 13.8667vw;
    left: 74.9333vw;
    translate: -75%;
  }

  .lp-map .spots .spot.-sf-analyze a:before {
    left: 75%;
  }
}

@media print, screen and (width >= 768px) {
  .lp-map .spots .spot.-sf-analyze {
    top: 7.5vw;
    left: 33.2813vw;
  }
}

@media screen and (width <= 767px) {
  .lp-map .spots .spot.-sf-analyze:lang(en) {
    top: 9.6vw;
    left: 74.9333vw;
    translate: -75%;
  }

  .lp-map .spots .spot.-sf-analyze:lang(en) a:before {
    left: 75%;
  }

  .lp-map .spots .spot.-sf-hot-asia {
    top: 14.9333vw;
    left: 16vw;
  }
}

@media print, screen and (width >= 768px) {
  .lp-map .spots .spot.-sf-hot-asia {
    top: 9.0625vw;
    left: 9.45313vw;
  }
}

@media screen and (width <= 767px) {
  .lp-map .spots .spot.-sf-hot-tokyo {
    top: 40.2667vw;
    left: 60.8vw;
  }
}

@media print, screen and (width >= 768px) {
  .lp-map .spots .spot.-sf-hot-tokyo {
    top: 17.5vw;
    left: 26.5625vw;
  }
}

@media screen and (width <= 767px) {
  .lp-map .spots .spot.-sf-hot-seoul {
    top: 40.2667vw;
    left: 32.2667vw;
  }
}

@media print, screen and (width >= 768px) {
  .lp-map .spots .spot.-sf-hot-seoul {
    top: 17.5vw;
    left: 15.7031vw;
  }
}

@media screen and (width <= 767px) {
  .lp-map .spots .spot.-sf-ufo {
    top: 31.2vw;
    left: 5.86667vw;
    translate: -17.5%;
  }

  .lp-map .spots .spot.-sf-ufo a:before {
    left: 17.5%;
  }
}

@media print, screen and (width >= 768px) {
  .lp-map .spots .spot.-sf-ufo {
    top: 14.9219vw;
    left: 4.0625vw;
  }
}

@media screen and (width <= 767px) {
  .lp-map .spots .spot.-sf-ufo:lang(en) {
    top: 26.9333vw;
    left: 5.86667vw;
    translate: -17.5%;
  }

  .lp-map .spots .spot.-sf-ufo:lang(en) a:before {
    left: 17.5%;
  }
}

@media print, screen and (width >= 768px) {
  .lp-map .spots .spot.-sf-ufo:lang(en) {
    top: 13.3594vw;
    left: 4.0625vw;
  }
}

@media screen and (width <= 767px) {
  .lp-map .spots .spot.-sf-mask {
    top: 76.8vw;
    left: 46.9333vw;
  }
}

@media print, screen and (width >= 768px) {
  .lp-map .spots .spot.-sf-mask {
    top: 32.1875vw;
    left: 21.3281vw;
  }
}

.lp-menu[inert] .list {
  opacity: 0;
  visibility: hidden;
}

.lp-menu .list {
  z-index: 20;
  background-color: var(--white);
  border-top: 1px solid var(--black);
  border-bottom: 1px solid var(--black);
  gap: 0;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  list-style: none;
  transition: opacity .3s, visibility .3s;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  overflow: hidden;
}

@media screen and (width <= 767px) {
  .lp-menu .list {
    background-image: linear-gradient(var(--black), var(--black)), linear-gradient(var(--black), var(--black));
    background-position: 33.3333% 5px, 66.6667% 5px;
    background-repeat: no-repeat;
    background-size: 1px calc(100% - 10px), 1px calc(100% - 10px);
    grid-template-columns: repeat(3, 1fr);
    padding: 5px 0;
    display: grid;
  }
}

@media print, screen and (width >= 768px) {
  .lp-menu .list {
    border-left: 1px solid var(--black);
    flex-direction: column;
    gap: 0;
    width: fit-content;
    max-width: none;
    padding: max(.390625vw, 5px);
    display: flex;
    bottom: max(1.25vw, 16px);
    left: auto;
    right: 0;
  }
}

.lp-menu .list:before {
  content: "";
  background-color: var(--black);
  opacity: 0;
  width: calc(33.3333% + 1px);
  height: 100%;
  transition: opacity .3s, top .3s .3s, left .3s .3s;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

@media print, screen and (width >= 768px) {
  .lp-menu .list:before {
    width: max(5vw, 64px);
    height: max(5vw, 64px);
    top: max(.390625vw, 5px);
    left: max(.390625vw, 5px);
    right: max(.390625vw, 5px);
  }
}

@media screen and (width <= 767px) {
  .lp-menu .list.-bottom:before {
    left: auto;
    right: 5px;
  }
}

@media print, screen and (width >= 768px) {
  .lp-menu .list.-bottom:before {
    top: auto;
    bottom: max(.390625vw, 5px);
  }
}

.lp-menu .list[data-current]:before {
  opacity: 1;
}

@media screen and (width <= 767px) {
  .lp-menu .list[data-current="1"]:before {
    left: 0;
  }
}

@media print, screen and (width >= 768px) {
  .lp-menu .list[data-current="1"]:before {
    top: max(.390625vw, 5px);
  }
}

.lp-menu .list[data-current="1"] a[href="#brand"] {
  color: var(--white);
  transition: none;
}

@media screen and (width <= 767px) {
  .lp-menu .list[data-current="2"]:before {
    left: 33.3333%;
  }
}

@media print, screen and (width >= 768px) {
  .lp-menu .list[data-current="2"]:before {
    top: max(5.39063vw + 1px, 70px);
  }
}

.lp-menu .list[data-current="2"] a[href="#floor"] {
  color: var(--white);
  transition: none;
}

@media screen and (width <= 767px) {
  .lp-menu .list[data-current="3"]:before {
    left: calc(66.6667% - 1px);
  }
}

@media print, screen and (width >= 768px) {
  .lp-menu .list[data-current="3"]:before {
    top: max(10.3906vw + 2px, 135px);
  }
}

.lp-menu .list[data-current="3"] a[href="#campaign"] {
  color: var(--white);
  transition: none;
}

@media screen and (width <= 767px) {
  .lp-menu .list:has(:nth-child(2):last-child) {
    background-image: linear-gradient(var(--black), var(--black));
    background-position: 50% 5px;
    background-size: 1px calc(100% - 10px);
    grid-template-columns: repeat(2, 1fr);
  }

  .lp-menu .list:has(:nth-child(2):last-child):before {
    width: 50%;
  }

  .lp-menu .list:has(:nth-child(2):last-child)[data-current="2"]:before {
    left: 50%;
  }
}

.lp-menu .item {
  mix-blend-mode: difference;
  margin: 0;
  padding: 0;
  line-height: 1;
  position: relative;
}

@media print, screen and (width >= 768px) {
  .lp-menu .item {
    flex: none;
  }

  .lp-menu .item:not(:first-child) {
    border-top: 1px solid var(--white);
  }
}

.lp-menu .item a {
  text-align: center;
  width: 100%;
  color: var(--white);
  place-content: center;
  place-items: center;
  line-height: 1.2;
  text-decoration: none;
  transition: color .3s;
  display: flex;
}

@media screen and (width <= 767px) {
  .lp-menu .item a {
    flex-direction: column;
    gap: 0;
    padding: 0;
    font-size: .625rem;
    line-height: 1.2;
  }
}

@media print, screen and (width >= 768px) {
  .lp-menu .item a {
    text-align: center;
    width: max(5vw, 64px);
    height: max(5vw, 64px);
    color: var(--white);
    flex-direction: column;
    place-content: center;
    place-items: center;
    padding: 0;
    font-size: max(.78125vw, 10px);
    line-height: 1.2;
  }
}

.lp-menu .item a span {
  white-space: nowrap;
  flex: none;
}

.lp-menu .item a:hover {
  color: #395ea1;
}

.lp-menu .item a[href^="#"]:not([href="#"]):before {
  content: "";
  content: "";
  aspect-ratio: 1;
  background-color: currentColor;
  width: 28px;
  height: 28px;
  display: block;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}

@media print, screen and (width >= 768px) {
  .lp-menu .item a[href^="#"]:not([href="#"]):before {
    width: max(2.5vw, 32px);
    height: max(2.5vw, 32px);
  }
}

.lp-menu .item a[href="#brand"]:before {
  -webkit-mask-image: url("/flagship/img/ico_brand.svg");
  mask-image: url("/flagship/img/ico_brand.svg");
}

.lp-menu .item a[href="#floor"]:before {
  -webkit-mask-image: url("/flagship/img/ico_map.svg");
  mask-image: url("/flagship/img/ico_map.svg");
}

.lp-menu .item a[href="#campaign"]:before {
  -webkit-mask-image: url("/flagship/img/ico_campaign.svg");
  mask-image: url("/flagship/img/ico_campaign.svg");
}

.lp-mv {
  width: 100%;
  min-height: 83.7333vw;
  padding-top: 69.0667vw;
  position: relative;
}

@media print, screen and (width >= 768px) {
  .lp-mv {
    min-height: 57.8125vw;
    padding-top: 53.8597%;
  }
}

.lp-mv .bg {
  z-index: 1;
  width: 100%;
  transition: scale 1.8s;
  position: absolute;
  top: 0;
  left: 0;
  scale: 1.05;
}

.lp-mv .bg img {
  width: 100%;
  height: auto;
  display: block;
}

.lp-mv .title {
  z-index: 2;
  width: 42.6667vw;
  margin: 0 auto;
  line-height: 1;
  position: relative;
}

@media print, screen and (width >= 768px) {
  .lp-mv .title {
    width: 31.25vw;
  }
}

.lp-mv .title img {
  width: 100%;
  height: auto;
  display: block;
}

.lp-mv .neon {
  z-index: 2;
  transition: opacity .6s ease .6s, translate .6s var(--overshoot-soft-out) .6s;
  opacity: 0;
  position: absolute;
}

.lp-mv .neon img {
  width: 100%;
  height: auto;
  display: block;
}

.lp-mv .neon.-neon1 {
  width: 20vw;
  height: 16.2667vw;
  margin-right: 25.8667vw;
  top: 48vw;
  right: 50%;
  translate: 5% 25%;
}

@media print, screen and (width >= 768px) {
  .lp-mv .neon.-neon1 {
    width: 16.5625vw;
    height: 13.4375vw;
    margin-top: 41.579%;
    margin-right: 19.1406vw;
    top: 0;
  }
}

.lp-mv .neon.-neon2 {
  width: 18.6667vw;
  height: 16.5333vw;
  margin-left: 28vw;
  top: 47.7333vw;
  left: 50%;
  translate: -5% 25%;
}

@media print, screen and (width >= 768px) {
  .lp-mv .neon.-neon2 {
    width: 15.0781vw;
    height: 13.4375vw;
    margin-top: 41.6667%;
    margin-left: 20.0781vw;
    top: 0;
  }
}

.lp-mv .lead {
  text-align: center;
  letter-spacing: .04em;
  width: 89.3333vw;
  margin: 6.4vw auto 0;
  font-size: 3.73333vw;
  line-height: 1.6;
  position: relative;
}

@media print, screen and (width >= 768px) {
  .lp-mv .lead {
    width: 70.3125vw;
    margin-top: 4.375vw;
    font-size: 1.25vw;
    line-height: 1.8;
  }
}

.lp-mv .lead:lang(en) {
  letter-spacing: normal;
  font-size: 4.26667vw;
  line-height: 1.2;
}

@media screen and (width <= 767px) {
  .lp-mv .lead:lang(en) {
    text-align: left;
  }
}

@media print, screen and (width >= 768px) {
  .lp-mv .lead:lang(en) {
    font-size: 1.40625vw;
    line-height: 1.6;
  }
}

.lp-mv.is-inview .bg {
  scale: 1;
}

.lp-mv.is-inview .neon {
  opacity: 1;
  translate: 0;
}

.lp-pickup {
  width: 89.3333vw;
  margin: 0 auto;
  padding-top: 12.8vw;
  padding-bottom: 16vw;
}

@media print, screen and (width >= 768px) {
  .lp-pickup {
    width: 70.3125vw;
    padding-top: 6.25vw;
    padding-bottom: 8.75vw;
  }
}

.lp-pickup .spots {
  gap: 7.46667vw;
  margin-top: 6.4vw;
  display: grid;
}

@media print, screen and (width >= 768px) {
  .lp-pickup .spots {
    grid-template-rows: repeat(auto-fit, auto auto 1fr);
    grid-template-columns: repeat(3, 1fr);
    gap: 3.28125vw;
    margin-top: 3.75vw;
  }
}

.lp-pickup .spots:first-child {
  margin-top: 0;
}

@media screen and (width <= 767px) {
  .lp-pickup .spot {
    grid-template: "image"
                   "name"
                   "desc"
                   / 1fr;
    align-content: start;
    align-items: start;
    gap: 1.06667vw;
    display: grid;
  }
}

@media print, screen and (width >= 768px) {
  .lp-pickup .spot {
    grid-row: span 3;
    grid-template-columns: 1fr;
    grid-template-rows: subgrid;
    gap: 0;
    display: grid;
  }
}

.lp-pickup .image {
  border: .266667vw solid var(--black);
  overflow: hidden;
}

@media screen and (width <= 767px) {
  .lp-pickup .image {
    border-radius: 2.66667vw;
    grid-area: image;
    margin-bottom: 2.13333vw;
  }
}

@media print, screen and (width >= 768px) {
  .lp-pickup .image {
    border-width: .078125vw;
    border-radius: .9375vw;
    order: -1;
    margin-bottom: 1.25vw;
  }
}

.lp-pickup .image img {
  aspect-ratio: 272 / 192;
  object-fit: cover;
  width: 100%;
  height: auto;
  display: block;
}

.lp-pickup .name {
  font-weight: var(--fw-semibold);
  letter-spacing: .04em;
  font-size: 4.26667vw;
  line-height: 1.6;
}

@media screen and (width <= 767px) {
  .lp-pickup .name {
    grid-area: name;
  }
}

@media print, screen and (width >= 768px) {
  .lp-pickup .name {
    margin-bottom: .625vw;
    font-size: 1.25vw;
  }
}

.lp-pickup .name:lang(en) {
  font-weight: var(--fw-medium);
  letter-spacing: normal;
  font-size: 4.8vw;
  line-height: 1.2;
}

@media print, screen and (width >= 768px) {
  .lp-pickup .name:lang(en) {
    font-size: 1.40625vw;
  }
}

.lp-pickup .desc {
  font-weight: var(--fw-regular);
  letter-spacing: .04em;
  line-height: 1.6;
}

@media screen and (width <= 767px) {
  .lp-pickup .desc {
    grid-area: desc;
    font-size: 3.73333vw;
  }
}

@media print, screen and (width >= 768px) {
  .lp-pickup .desc {
    font-size: 1.09375vw;
  }
}

.lp-pickup .desc:lang(en) {
  letter-spacing: normal;
  font-size: 4.26667vw;
  line-height: 1.2;
}

@media print, screen and (width >= 768px) {
  .lp-pickup .desc:lang(en) {
    font-size: 1.25vw;
  }
}

.lp-pickup .link {
  margin-top: 4.26667vw;
}

@media print, screen and (width >= 768px) {
  .lp-pickup .link {
    margin-top: 2.5vw;
  }
}

.lp-pickup .link a {
  border: .266667vw solid var(--black);
  border-radius: 100vmax;
  padding-top: 7.2vw;
  padding-bottom: 6.4vw;
  transition: border .3s;
  display: block;
  position: relative;
}

@media print, screen and (width >= 768px) {
  .lp-pickup .link a {
    border-width: 1px;
    padding-top: 2.10938vw;
    padding-bottom: 2.10938vw;
  }
}

.lp-pickup .link a:hover {
  border-color: var(--primary);
}

.lp-pickup .link a:after {
  content: "";
  background: url("/flagship/img/blank_black.svg") center no-repeat;
  width: 3.2vw;
  height: 2.66667vw;
  margin-top: -1.33333vw;
  display: block;
  position: absolute;
  top: 50%;
  right: 6.66667vw;
}

@media print, screen and (width >= 768px) {
  .lp-pickup .link a:after {
    width: .9375vw;
    height: .78125vw;
    margin-top: -.390625vw;
    right: 2.57813vw;
  }
}

.lp-pickup .link img {
  width: 42.6667vw;
  height: auto;
  margin-left: auto;
  margin-right: auto;
  display: block;
}

@media print, screen and (width >= 768px) {
  .lp-pickup .link img {
    width: 15.625vw;
  }
}

.lp-schedule {
  width: 86.6667vw;
  margin: 0 auto 17.0667vw;
}

@media print, screen and (width >= 768px) {
  .lp-schedule {
    width: 62.5vw;
    margin: 0 auto 15vw;
  }
}

.lp-schedule .soon {
  background-color: var(--white);
  margin: 0 auto 6.4vw;
  padding: 8.53333vw 10.6667vw;
  position: relative;
  overflow: hidden;
}

@media print, screen and (width >= 768px) {
  .lp-schedule .soon {
    width: 62.5vw;
    margin: 0 auto 3.125vw;
    padding: 3.75vw 3.75vw 4.375vw;
  }
}

.lp-schedule .soon:before {
  content: "";
  border: 2px solid var(--primary);
  pointer-events: none;
  z-index: 1;
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

.lp-schedule .soon:after {
  content: "Coming Soon!";
  text-transform: uppercase;
  width: fit-content;
  height: fit-content;
  font-family: var(--ff-futura);
  font-weight: var(--fw-semibold);
  background-color: var(--black);
  color: var(--white);
  transform-origin: 0 0;
  z-index: 2;
  white-space: nowrap;
  width: min-content;
  padding: 2.13333vw 21.3333vw 2.13333vw 10.6667vw;
  font-size: 3.2vw;
  line-height: 1;
  position: absolute;
  top: 12.5333vw;
  left: -9.33333vw;
  rotate: -23.85deg;
}

@media print, screen and (width >= 768px) {
  .lp-schedule .soon:after {
    padding: 1.01563vw 7.1875vw 1.01563vw 5.15625vw;
    font-size: 1.40625vw;
    top: 5.70313vw;
    left: -3.4375vw;
    rotate: -22.455deg;
  }
}

.lp-schedule p {
  text-align: center;
  letter-spacing: .04em;
  font-size: 3.73333vw;
  font-weight: 600;
  line-height: 1.6;
}

@media print, screen and (width >= 768px) {
  .lp-schedule p {
    font-size: 1.875vw;
  }
}

.lp-schedule p strong {
  border-bottom: 2px solid var(--black);
  letter-spacing: .08em;
  font-size: 5.33333vw;
  font-weight: 600;
  line-height: 1.5;
  display: inline-block;
}

@media print, screen and (width >= 768px) {
  .lp-schedule p strong {
    font-size: 2.5vw;
  }
}

.lp-schedule .timeline {
  grid-template-columns: min-content auto;
  gap: 1.06667vw 1em;
  font-size: 3.73333vw;
  line-height: 1.6;
  display: grid;
}

@media print, screen and (width >= 768px) {
  .lp-schedule .timeline {
    gap: .3125vw 1em;
    width: fit-content;
    margin: 0 auto;
    font-size: 1.40625vw;
  }
}

.lp-schedule .timeline .date {
  grid-column: span 2;
  grid-template-columns: subgrid;
  display: grid;
}

.lp-schedule .timeline dt {
  white-space: nowrap;
  width: fit-content;
  padding-left: 3.2vw;
  font-weight: 600;
  position: relative;
}

@media print, screen and (width >= 768px) {
  .lp-schedule .timeline dt {
    padding-left: 1.40625vw;
  }
}

.lp-schedule .timeline dt:before {
  content: "";
  background-color: currentColor;
  border-radius: 50%;
  width: 1.06667vw;
  height: 1.06667vw;
  display: block;
  position: absolute;
  top: .8em;
  left: 0;
  translate: 0 -50%;
}

@media print, screen and (width >= 768px) {
  .lp-schedule .timeline dt:before {
    width: .46875vw;
    height: .46875vw;
  }
}

.lp-shopinfo {
  flex-direction: column;
  gap: 6.4vw;
  margin: 0 auto;
  display: flex;
  position: relative;
}

@media print, screen and (width >= 768px) {
  .lp-shopinfo {
    flex-direction: row;
    align-items: center;
    gap: 4.375vw;
    width: 67.1875vw;
  }
}

.lp-shopinfo + .lp-shopinfo {
  margin-top: 14.9333vw;
}

@media print, screen and (width >= 768px) {
  .lp-shopinfo + .lp-shopinfo {
    margin-top: 5.625vw;
  }

  .lp-shopinfo .map {
    width: 35.9375vw;
    margin-left: auto;
  }
}

.lp-shopinfo .map iframe {
  aspect-ratio: 1;
  border: none;
  width: 100%;
  height: auto;
  display: block;
}

@media print, screen and (width >= 768px) {
  .lp-shopinfo .map iframe {
    aspect-ratio: 460 / 260;
  }

  .lp-shopinfo .info {
    width: 26.875vw;
  }
}

.lp-shopinfo .name {
  font-size: 5.33333vw;
  line-height: 1.2;
  font-weight: var(--fw-semibold);
  margin-bottom: 5.33333vw;
}

.lp-shopinfo .name:lang(zh-HK) {
  letter-spacing: .04em;
}

@media print, screen and (width >= 768px) {
  .lp-shopinfo .name:lang(zh-HK) {
    margin-bottom: 2.5vw;
    font-size: 1.5625vw;
  }

  .lp-shopinfo .name:lang(en-HK) {
    margin-bottom: 2.1875vw;
    font-size: 1.875vw;
  }
}

.lp-shopinfo .data {
  color: var(--black);
  flex-direction: column;
  row-gap: 3.2vw;
  margin: 0;
  padding: 0;
  font-size: 3.73333vw;
  line-height: 1.6;
  list-style: none;
  display: flex;
}

@media print, screen and (width >= 768px) {
  .lp-shopinfo .data {
    row-gap: 1.5625vw;
    font-size: 1.25vw;
  }
}

.lp-shopinfo .data:lang(zh-HK) {
  font-weight: var(--fw-regular);
}

.lp-shopinfo .data:lang(en-HK) {
  font-weight: var(--fw-medium);
}

.lp-shopinfo .data > li {
  padding-left: 6.4vw;
  position: relative;
}

@media print, screen and (width >= 768px) {
  .lp-shopinfo .data > li {
    padding-left: 1.875vw;
  }
}

.lp-shopinfo .data > li:before {
  content: "";
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 4.26667vw;
  height: 4.26667vw;
  display: block;
  position: absolute;
  top: .8em;
  left: 0;
  translate: 0 -50%;
}

@media print, screen and (width >= 768px) {
  .lp-shopinfo .data > li:before {
    width: 1.25vw;
    height: 1.25vw;
  }
}

.lp-shopinfo .data .place:before {
  background-image: url("/flagship/img/ico_pin.svg");
}

.lp-shopinfo .data .time:before {
  background-image: url("/flagship/img/ico_clock.svg");
}

.lp-shopinfo .data .tel:before {
  background-image: url("/flagship/img/ico_tel.svg");
}

.lp-shopinfo .data .tel a {
  color: inherit;
}

.lp-shopinfo .data address {
  font-style: normal;
}

.lp-shopinfo .data .googlemap {
  font-family: var(--ff-futura);
  font-weight: var(--fw-regular);
  color: var(--black);
  border: 1px solid var(--black);
  background-color: var(--white);
  align-items: center;
  gap: 1.6vw;
  margin-top: 2.13333vw;
  padding: .533333vw 2.13333vw .8vw;
  font-size: 3.46667vw;
  line-height: 1.6;
  text-decoration: none;
  transition: all .3s;
  display: inline-flex;
}

@media print, screen and (width >= 768px) {
  .lp-shopinfo .data .googlemap {
    gap: .46875vw;
    margin-top: .9375vw;
    padding: .15625vw .625vw .3125vw;
    font-size: 1.09375vw;
  }
}

.lp-shopinfo .data .googlemap:hover {
  color: var(--white);
  background-color: var(--black);
}

.lp-shopinfo .data .googlemap[target="_blank"]:after {
  content: "";
  background-color: currentColor;
  width: 3.2vw;
  height: 2.66667vw;
  display: block;
  -webkit-mask-image: url("/flagship/img/blank_black.svg");
  mask-image: url("/flagship/img/blank_black.svg");
  -webkit-mask-position: 0 0;
  mask-position: 0 0;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}

@media print, screen and (width >= 768px) {
  .lp-shopinfo .data .googlemap[target="_blank"]:after {
    width: .9375vw;
    height: .78125vw;
  }
}

.lp-sns {
  z-index: 1;
  position: relative;
}

@media print, screen and (width >= 768px) {
  .lp-sns {
    margin-top: 5vw;
  }
}

@media screen and (width <= 767px) {
  .lp-sns {
    margin-top: 13.3333vw;
  }
}

.lp-sns.is-active:after {
  opacity: 1;
  transform: scale(1);
}

.lp-sns:before {
  content: "";
  background-image: url("/flagship/img/looptxt.png");
  background-position: -100%;
  background-repeat: repeat-x;
  background-size: auto 100%;
  width: 100%;
  display: block;
}

@media print, screen and (width >= 768px) {
  .lp-sns:before {
    height: 9.60938vw;
    animation: 18s linear infinite looptxt02;
  }
}

@media screen and (width <= 767px) {
  .lp-sns:before {
    height: 20.5333vw;
    animation: 20s linear infinite looptxt03;
  }
}

.lp-sns .snsList {
  justify-content: center;
  margin-inline: auto;
  list-style: none;
  display: grid;
}

@media print, screen and (width >= 768px) {
  .lp-sns .snsList {
    grid-template-columns: repeat(2, 28.125vw);
    gap: 1.5625vw;
    width: 57.8125vw;
    margin-top: 2.5vw;
  }
}

@media screen and (width <= 767px) {
  .lp-sns .snsList {
    grid-template-columns: 1fr;
    gap: 5.33333vw;
    margin-top: 6.93333vw;
    padding-inline: 8vw;
  }
}

@media print, screen and (width >= 768px) {
  .lp-sns .snsItem.snsTwitter .icon {
    width: 2.1875vw;
  }

  .lp-sns .snsItem.snsLine .icon {
    width: 2.65625vw;
  }
}

.lp-sns .snsItem > a {
  color: var(--text);
  border: .266667vw solid var(--text);
  border-radius: 100px;
  align-items: center;
  text-decoration: none;
  display: grid;
}

@media print, screen and (width >= 768px) {
  .lp-sns .snsItem > a {
    border-width: .078125vw;
    grid-template-columns: 3.90625vw 1fr 1.5625vw;
    gap: .625vw;
    padding: 1.17188vw;
    transition: border-color .3s;
  }

  .lp-sns .snsItem > a:hover {
    border-color: var(--primary);
  }

  .lp-sns .snsItem > a:hover .snsItem__link:before {
    transform: scale(0, 1);
  }

  .lp-sns .snsItem > a:hover .snsItem__link:after {
    transform: scale(1);
  }
}

@media screen and (width <= 767px) {
  .lp-sns .snsItem > a {
    grid-template-columns: 13.3333vw 1fr 9.6vw;
    gap: 2.13333vw;
    padding: 2.66667vw 3.2vw;
  }
}

.lp-sns .snsItem .snsItem__icon {
  border-radius: 50%;
  width: 13.3333vw;
  height: 13.3333vw;
  position: relative;
}

@media print, screen and (width >= 768px) {
  .lp-sns .snsItem .snsItem__icon {
    width: 3.90625vw;
    height: 3.90625vw;
  }
}

.lp-sns .snsItem .snsItem__icon .icon {
  margin: auto;
  position: absolute;
  inset: 0;
}

@media print, screen and (width >= 768px) {
  .lp-sns .snsItem .snsItem__icon .circle {
    width: 3.90625vw;
    height: 3.90625vw;
  }
}

@media screen and (width <= 767px) {
  .lp-sns .snsItem .snsItem__icon .circle {
    width: 13.3333vw;
    height: 13.3333vw;
  }
}

.lp-sns .snsItem .snsItem__name {
  letter-spacing: .03em;
  text-align: center;
  width: auto;
  font-size: 4.8vw;
  line-height: 1.1;
}

@media print, screen and (width >= 768px) {
  .lp-sns .snsItem .snsItem__name {
    gap: .3125vw;
    font-size: 1.40625vw;
  }
}

@media screen and (width <= 767px) {
  .lp-sns .snsItem .snsItem__name {
    gap: 1.33333vw;
  }
}

.lp-sns .snsItem .snsItem__name .snsItem__txt {
  font-family: var(--ff-futura);
  font-weight: var(--fw-semibold);
  font-size: 4.8vw;
}

@media print, screen and (width >= 768px) {
  .lp-sns .snsItem .snsItem__name .snsItem__txt {
    font-size: 1.40625vw;
  }
}

.lp-sns .snsItem .snsItem__name .snsItem__link {
  width: fit-content;
  font-family: var(--ff-futura);
  white-space: nowrap;
  margin-inline: auto;
  position: relative;
}

.lp-sns .snsItem .snsItem__name .snsItem__link:before, .lp-sns .snsItem .snsItem__name .snsItem__link:after {
  content: "";
  background-color: var(--text);
  width: 100%;
  height: 1px;
  transition: transform .3s;
  display: block;
  position: absolute;
  bottom: 1.5px;
  left: 0;
}

.lp-sns .snsItem .snsItem__name .snsItem__link:before {
  transform-origin: 100%;
  transform: scale(1);
}

.lp-sns .snsItem .snsItem__name .snsItem__link:after {
  transform-origin: 0;
  transition-delay: .15s;
  transform: scale(0, 1);
}

@keyframes looptxt01 {
  0% {
    transform: translate(0);
  }

  100% {
    transform: translate(-100%);
  }
}

@keyframes looptxt02 {
  0% {
    background-position: -44.0625vw;
  }

  100% {
    background-position: 44.0625vw;
  }
}

@keyframes looptxt03 {
  0% {
    background-position: -188.267vw;
  }

  100% {
    background-position: 188.267vw;
  }
}

.lp-spot {
  flex-direction: column;
  justify-content: center;
  min-height: 100%;
  padding: 21.3333vw 4vw 10.6667vw;
  display: flex;
  position: relative;
}

@media print, screen and (width >= 768px) {
  .lp-spot {
    padding: 40px 20px;
  }
}

.lp-spot:has(.photo) {
  justify-content: flex-start;
}

@media print, screen and (width >= 768px) {
  .lp-spot:not(:has(.photo)) .catch {
    margin-bottom: 16px;
  }
}

.lp-spot .heading {
  display: contents;
}

.lp-spot .place {
  font-weight: var(--fw-semibold);
  font-family: var(--ff-futura);
  align-items: center;
  gap: 1.06667vw;
  font-size: 4.8vw;
  line-height: 1.2;
  display: flex;
  position: absolute;
  top: 4vw;
  left: 4vw;
}

@media print, screen and (width >= 768px) {
  .lp-spot .place {
    gap: 4px;
    font-size: 1.25rem;
    top: 20px;
    left: 20px;
  }
}

.lp-spot .place:before {
  content: "";
  background-color: var(--black);
  width: 5.33333vw;
  height: 5.33333vw;
  display: block;
  -webkit-mask-image: url("/flagship/img/ico_star.svg");
  mask-image: url("/flagship/img/ico_star.svg");
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}

@media print, screen and (width >= 768px) {
  .lp-spot .place:before {
    width: 24px;
    height: 24px;
  }
}

.lp-spot .catch {
  text-align: center;
  font-weight: var(--fw-bold);
  letter-spacing: .04em;
  margin-bottom: 2.13333vw;
  font-size: 4.8vw;
  line-height: 1.6;
}

@media print, screen and (width >= 768px) {
  .lp-spot .catch {
    margin-bottom: 4px;
    font-size: 1.5rem;
  }
}

.lp-spot .catch:lang(en) {
  font-family: var(--ff-futura);
  font-weight: var(--fw-semibold);
  font-size: 5.33333vw;
  line-height: 1.2;
}

@media print, screen and (width >= 768px) {
  .lp-spot .catch:lang(en) {
    margin-bottom: 8px;
    font-size: 1.5rem;
  }
}

.lp-spot .desc {
  text-align: center;
  letter-spacing: .04em;
  font-size: 3.2vw;
  line-height: 1.6;
  font-weight: var(--fw-medium);
}

@media print, screen and (width >= 768px) {
  .lp-spot .desc {
    max-width: 520px;
    margin-left: auto;
    margin-right: auto;
    font-size: 1rem;
  }
}

.lp-spot .desc:lang(en) {
  letter-spacing: normal;
  font-size: 4.26667vw;
  line-height: 1.2;
  font-weight: var(--fw-regular);
}

@media print, screen and (width >= 768px) {
  .lp-spot .desc:lang(en) {
    font-size: 1rem;
  }
}

.lp-spot .desc + .notes {
  margin-top: 1.06667vw;
}

@media print, screen and (width >= 768px) {
  .lp-spot .desc + .notes {
    margin-top: 12px;
  }
}

.lp-spot .desc + .detail {
  margin-top: 2.13333vw;
}

@media print, screen and (width >= 768px) {
  .lp-spot .desc + .detail {
    margin-top: 12px;
  }
}

.lp-spot .detail {
  text-align: center;
  font-weight: var(--fw-regular);
  letter-spacing: .04em;
  font-size: 3.73333vw;
  line-height: 1.6;
}

@media print, screen and (width >= 768px) {
  .lp-spot .detail {
    font-size: .875rem;
  }
}

.lp-spot .detail:lang(en) {
  letter-spacing: normal;
  line-height: 1.2;
}

.lp-spot .detail a:not(:has(img)) {
  color: currentColor;
  text-underline-offset: .375em;
  text-decoration: underline;
  transition: color .3s;
}

.lp-spot .detail a:not(:has(img)):hover {
  color: rgb(var(--primary));
}

.lp-spot .detail a:not(:has(img))[target="_blank"]:after {
  content: "";
  vertical-align: 0;
  background-color: currentColor;
  width: 2.13333vw;
  height: 2.13333vw;
  margin-inline: 1.06667vw;
  display: inline-block;
  -webkit-mask-image: url("/flagship/img/blank_black.svg");
  mask-image: url("/flagship/img/blank_black.svg");
  -webkit-mask-position: 50%;
  mask-position: 50%;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}

@media print, screen and (width >= 768px) {
  .lp-spot .detail a:not(:has(img))[target="_blank"]:after {
    width: 12px;
    height: 12px;
    margin-inline: 4px;
  }
}

.lp-spot .notes {
  letter-spacing: .04em;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  font-size: 3.2vw;
  font-weight: 400;
  line-height: 1.6;
  list-style: none;
}

@media print, screen and (width >= 768px) {
  .lp-spot .notes {
    font-size: .75rem;
  }
}

.lp-spot .notes:lang(en) {
  letter-spacing: normal;
  line-height: 1.2;
}

.lp-spot .notes > li {
  text-indent: -1em;
  padding-left: 1em;
}

.lp-spot .notes > li:before {
  content: "※";
  text-indent: 0;
  width: 1em;
  display: inline-block;
}

.lp-spot .photo {
  order: -1;
  width: 78.6667vw;
  margin: 0 auto 7.46667vw;
  position: relative;
}

@media print, screen and (width >= 768px) {
  .lp-spot .photo {
    width: 462px;
    margin: 40px auto;
  }
}

.lp-spot .photo img {
  width: 100%;
  height: auto;
  display: block;
}

@media screen and (width <= 767px) {
  .is-pc {
    display: none !important;
  }
}

@media print, screen and (width >= 768px) {
  .is-sp {
    display: none !important;
  }
}
