

/* Utilities */
@media (min-width: 813px) {
   .fr-globalFooter {
        margin-top: 0 !important;
    }
  .hide-on-pc { display: none !important; }

  [data-pc-aspect-ratio="2:1"]:before {
    padding-top: inherit;
  }
}
@media (max-width: 812px) {
  .hide-on-mobile { display: none !important; }
}

[lang] .u-uqFont-r {
    font-weight: normal;
}

#common_banner {
  display: none;
}

/* Hero  */
.nsoHero__grid{
  display:grid;
  grid-template-columns:1fr 3fr 1fr;
  gap:20px;
  align-items:stretch;
}

.nsoHero__left{ align-content:center; }

.nsoHero__left h2{
  font-size:5.3rem;
  text-transform:uppercase;
  line-height:0.8;
  color:#000;
  margin:0;
  letter-spacing:-2px;
  word-spacing:-0.5vw;
}

.nsoHero__media{
  display:flex;
  align-items:center;
}

.nsoHero__media img{
  width:100%;
  height:auto;
  display:block;
  object-fit:cover;
}

.nsoHero__right{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}

.nsoHeroKicker{
  display:flex;
  gap:8px;
  align-items:flex-start;
}

.nsoHeroKicker__label{
  display:flex;
  flex-direction:column;
  align-items:center;
}

.nsoHeroKicker__rule{
  width:1px;
  height:22px;
  background-color:#EE0000;
  margin-bottom:12px;
}

.nsoHeroKicker__en{
  writing-mode:vertical-rl;
  text-orientation:mixed;
  color:#EE0000;
  text-transform:uppercase;
  font-size:9px;
  letter-spacing:1.5px;
  white-space:nowrap;
  font-weight:500;
}

.nsoHeroKicker__jp{
  writing-mode:vertical-rl;
  text-orientation:upright;
  color:#EE0000;
  font-size:10px;
  line-height:14px;
  letter-spacing:5.5px;
  font-weight:500;
}

.nsoHero__descWrap{
  margin-bottom:0;
  position:relative;
  bottom:-4px;
}
.nsoHero__desc{ margin:0; }

/* Hero Inro Section */
.nsoMobileIntro__inner{
  display:flex;
  align-items:flex-start;
  padding:31px 35px;
}

/* LEFT text */
.nsoMobileIntro__headline{
  margin:0;
  font-size:38px;
  line-height:32px;
  letter-spacing:-0.01em;
  color:#000;
  text-transform:uppercase;
  flex:0 0 116px;
}

/* RIGHT side */
.nsoMobileIntro__right{
  flex:1 1 auto;
  min-width:0;
}

.nsoMobileIntro__kicker{ color:#EE0000; margin-bottom:14px; }

.nsoMobileIntro__jp{
  font-size:12px;
  letter-spacing:0.1em;
  margin-bottom:10px;
  font-weight:500;
}

.nsoMobileIntro__enRow{
  display:flex;
  align-items:center;
  gap:10px;
}

.nsoMobileIntro__line{
  width:21px;
  height:1px;
  background:#EE0000;
  font-weight:500;
}

.nsoMobileIntro__en{
  font-size:10px;
  letter-spacing:0.12em;
  text-transform:uppercase;
  white-space:nowrap;
  font-weight:500;
}

.nsoMobileIntro__copy{
  margin:0;
  font-size:14px;
  line-height:20px;
  color:#111;
  max-width:240px;
}

/* Upcoming Stores Section*/
.upcomingStores{ background:#f4f4f4; }

.upcomingStores__inner{
  max-width: 1226px;
  margin-right: auto;
  margin-left: auto;
  padding-right: 25px;
  padding-left: 25px;
  padding-bottom: 40px;
  padding-top: 28px;
}

/* Headings */
.upcomingStores__title{
  margin: 0 0 18px;
  font-size: 28px;
  letter-spacing: 0.05em;
  line-height: 50px;
}

.upcomingStores__cityTitle{
  margin: 0 0 19px;
  font-size: 22px;
  letter-spacing: 0.05em;
  line-height: 36px;
}

/* Rows */
.upcomingStores__row{
  display:flex;
}

.upcomingStores__row--two{ margin-bottom:0; }

.upcomingStores__item{
  display:flex;
  gap:16px;
}

.upcomingStores__divider{
  width:1px;
  background:#cfcfcf;
  margin:0 47px;
}

.upcomingStores__divider-1{ margin-left:63px; }
.upcomingStores__divider-3{ margin-left:26px; }

.upcomingStores__sectionRule{
  border:0;
  border-top:1px solid #cfcfcf;
  margin:8px 0 34px;
}

/* Icon */
.upcomingStores__pin{
  width:13px;
  height:17px;
  flex-shrink:0;
  margin-top:3px;
}

/* Text */
.upcomingStores__place{
  font-size:16px;
  font-weight:500;
  line-height:20px;
  margin-bottom:6px;
  letter-spacing: normal;
}

.upcomingStores__open{
  font-size:14px;
  font-weight:normal;
  line-height:20px;
  margin-bottom:12px;
}

.upcomingStores__learn{
  font-size:14px;
  font-weight:500;
  line-height:20px;
  text-decoration:underline;
  color:#000;
}


h3.u-uqFont-r.upcomingStores__cityTitle.chicago {
    margin-top: 24px;
}

.fr-linkButton.-m{
  max-width:224px;
  margin:0 auto;
}

/* Join Community Section */
.find-stores {
    padding-top: 48px;
}

 .find-stores .upcomingStores__title {
    margin: 0;
}

.nsoCommunity .upcomingStores__title {
    margin-bottom: 18px;
}

.nsoCommunity .upcomingStores{ background:#FFF; }

.nsoCommunity .upcomingStores__row{
  align-items:center;
  display:flex;
  justify-content:center;
  gap:50px;
}

.nsoCommunity .upcomingStores__pin{
  width:revert;
  height:36px;
  margin-top:2px;
}

.nsoCommunity .upcomingStores__sectionRule{ margin: 0; }

.nsoCommunity .upcomingStores__inner{ padding:48px 90px 56px; }

.nsoCommunity .upcomingStores__place,
.nsoCommunity .upcomingStores__open{ margin-bottom:12px; }

.sms .nsoCommunity .upcomingStores__pin{ width:27px; height:34px; }

/* Ethos Section */
.ethosHero__figure{
  position:relative; /* anchor overlay to the image */
  margin:0;
}

.ethosHero__overlay{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 56px;
  pointer-events:none;
}

.ethosHero__copy{
  margin:0;
  color:#fff;
  font-size:22px;
  line-height:32px;
  max-width:539px;
  font-weight:400;
  font-family: 'Libre Baskerville';
}
.ethosHero__copy em{ font-style:italic; }

.ethos__flex{
  display:flex;
  gap:32px;
  align-items:flex-start;
}

/* Ethos kicker (desktop = vertical) */
.ethosKicker{
  display:flex;
  gap:8px;
  align-items:flex-start;
}

.ethosKicker__label{
  display:flex;
  flex-direction:column;
  align-items:center;
}

.ethosKicker__rule{
  width:1px;
  height:21px;
  background-color:#EE0000;
  margin-bottom:12px;
}

.ethosKicker__en{
  writing-mode:vertical-rl;
  text-orientation:mixed;
  color:#EE0000;
  text-transform:uppercase;
  font-size:9px;
  letter-spacing:1.5px;
  white-space:nowrap;
  font-weight:500;
}

.ethosKicker__jp{
  writing-mode:vertical-rl;
  text-orientation:upright;
  color:#EE0000;
  font-size:10px;
  line-height:14px;
  letter-spacing:5.5px;
  font-weight:500;
}

.ethos .ethosHero__figure,
.ethos .ethosHero__figure  img {
  height: 600px;
  object-fit: cover;
}

/* Hero Tablet */
@media screen and (min-width: 813px) and (max-width: 1024px){
  .nsoHero__left h2{ font-size:4.3rem; }
  .nsoHero__desc{ font-size:11px; }
}

/* Hero Mobile */
@media (max-width: 813px){
  .nsoHero__grid{
    grid-template-columns:1fr;
    gap:40px;
  }
}

/* Ethos Mobile */
@media (max-width: 813px){
  .ethosHero__overlay{
    padding: 50px 60px;
    justify-content:flex-start;
    align-items:center;
  }

  .ethosHero__copy{
    text-align:left;
    max-width:520px;
    font-size:18px;
    line-height:26px;
    font-family: Libre Baskerville;
  }

  .ethos__flex{
    flex-direction:column;
    gap:14px;
  }

  .ethosKicker{
    flex-direction:column;
    gap:10px;
    align-items:flex-start;
  }

  .ethosKicker__jp{
    writing-mode:horizontal-tb;
    text-orientation:mixed;
    font-size:12px;
    line-height:14px;
    letter-spacing:0.15em;
    white-space:nowrap;
    font-weight:500;
  }

  .ethosKicker__label{
    flex-direction:row;
    align-items:center;
    gap:10px;
  }

  .ethosKicker__rule{
    width:21px;
    height:1px;
    margin:0;
  }

  .ethosKicker__en{
    writing-mode:horizontal-tb;
    text-orientation:mixed;
    font-size:10px;
    line-height:21px;
    letter-spacing:0.15em;
    font-weight:500;
  }

  .ethos .ethosHero__figure,
  .ethos .ethosHero__figure  img {
    height: auto;
  }

  .sms img.upcomingStores__pin{
    width:48px;
    height:58px;
  }
}

/* Mobile upcoming stores */
@media (max-width: 813px){
  .upcomingStores__inner{ padding: 21px 24px 35px; }

  .upcomingStores__row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:34px 28px;
    margin-bottom: 23px;
  }

  .upcomingStores__title{ 
    font-size:22px;
    line-height: 50px;
    margin-bottom:0; 
  }

  .upcomingStores__item{
    display:flex;
    gap:12px;
  }

  .upcomingStores__cityTitle {
    margin: 0 0 19px;
    font-size: 20px;
    letter-spacing: 0.05em;
    line-height: 36px;
  }

  .upcomingStores__divider{ display:none; }

  .upcomingStores__item{ padding:0; }

  .upcomingStores__pin{
    width:28px;
    height:28px;
  }

  .upcomingStores__place {
    font-size: 16px;
    line-height: 24px;
    margin-bottom: 6px;
    letter-spacing: 0;
  }

  .upcomingStores__open {
    margin-bottom: 10px;
  }

  h3.u-uqFont-r.upcomingStores__cityTitle.chicago {
    margin-top: 21px;
  }

  .upcomingStores__row.upcomingStores__row--two {
    margin-bottom: 0;
  }

  .upcomingStores__sectionRule {
    margin: 8px 0 21px;
  }

  .nsoCommunity .upcomingStores__row{
    display:grid;
    grid-template-columns:auto;
    justify-content:center;
  }

  .nsoCommunity .upcomingStores__pin{
    width:35px;
    height:58px;
    margin-top:2px;
  }

  .nsoCommunity .upcomingStores__inner {
        padding: 31px 67px 31px;
  }

  .nsoCommunity .upcomingStores__title {
    font-size: 22px;
    line-height: 25px;
    margin-bottom: 22px;
  }

  .nsoCommunity .upcomingStores__row {
    gap: 32px;
    margin-bottom: 0;
  } 

  .nsoCommunity .upcomingStores__sectionRule{ margin:0 24px;  }

  .nsoCommunity .upcomingStores__item {
    gap: 24px;
  }

  .nsoCommunity .upcomingStores__item.sms {
    gap: 14px;
  }

  .upcomingStores__place {
    font-size: 18px;
    line-height: 24px;
  }

  .find-stores {
    padding-top: 34px;
  }  

  .find-stores .upcomingStores__title {
    margin: 0 0 18px 0;
    font-size: 22px;
    line-height: 25px;
    letter-spacing: .05em;
  }
}