:root {
  --headerHeight:110px;
  --height38:38px;
  --width474:474px;
  --headerNavHeight:var(--height38);
  --black1A:#1A1A1A;
  --ambushGray:#808080;
  --ambushLightGray:#F5F5F5;
  --ambushRed:#FF3A32;
  --padding7:7.5px;
  --spacing7:7.5px;
  --padding15:15px;
  --spacing15:15px;
  --headerlogoAreaHeight: 72px;
  --lineHeightRate: 0.8;
  --promotionalBannerHeightInit: var(--height38);
  --hoverSpacing:-0.015rem;
}
@media (min-width: 90em) {
  :root {
    --headerHeight:calc(100px + 38px + 15px);
    --headerlogoAreaHeight: 112px;
  }
}

html[lang=en] {
  --lineHeightRate: 0.667;
}
html[lang=en] body {
  line-height: 1.26;
}

@font-face {
  font-family: Replica;
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  src: url("/assets/front/fonts/ReplicaLLWeb-Regular.woff2") format("woff2"), url("/assets/front/fonts/ReplicaLLWeb-Regular.woff") format("woff"), url("/assets/front/fonts/ReplicaLL-Regular.otf") format("opentype");
}
@font-face {
  font-family: Replica;
  font-weight: 400;
  font-style: italic;
  font-display: swap;
  src: url("/assets/front/fonts/ReplicaLLWeb-Italic.woff2") format("woff2"), url("/assets/front/fonts/ReplicaLLWeb-Italic.woff") format("woff"), url("/assets/front/fonts/ReplicaLL-Italic.otf") format("opentype");
}
@font-face {
  font-family: Replica;
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  src: url("/assets/front/fonts/ReplicaLLWeb-Bold.woff2") format("woff2"), url("/assets/front/fonts/ReplicaLLWeb-Bold.woff") format("woff"), url("/assets/front/fonts/ReplicaLL-Bold.otf") format("opentype");
}
@font-face {
  font-family: Replica;
  font-weight: 700;
  font-style: italic;
  font-display: swap;
  src: url("/assets/front/fonts/ReplicaLLWeb-BoldItalic.woff2") format("woff2"), url("/assets/front/fonts/ReplicaLLWeb-BoldItalic.woff") format("woff"), url("/assets/front/fonts/ReplicaLL-BoldItalic.otf") format("opentype");
}
@font-face {
  font-family: Replica;
  font-weight: 300;
  font-style: normal;
  font-display: swap;
  src: url("/assets/front/fonts/ReplicaLLWeb-Light.woff2") format("woff2"), url("/assets/front/fonts/ReplicaLLWeb-Light.woff") format("woff"), url("/assets/front/fonts/ReplicaLL-Light.otf") format("opentype");
}
@font-face {
  font-family: Replica;
  font-weight: 300;
  font-style: italic;
  font-display: swap;
  src: url("/assets/front/fonts/ReplicaLLWeb-LightItalic.woff2") format("woff2"), url("/assets/front/fonts/ReplicaLLWeb-LightItalic.woff") format("woff"), url("/assets/front/fonts/ReplicaLL-LightItalic.otf") format("opentype");
}
@media (min-width: 90em) {
  .sp_only90em {
    display: none !important;
  }
}
@media (max-width: 89.94em) {
  .pc_only90em {
    display: none !important;
  }
}
@media (min-width: 48em) {
  .sp_only48em {
    display: none !important;
  }
}
@media (max-width: 47.94em) {
  .pctb_only48em {
    display: none !important;
  }
}
@media (min-width: 64em) {
  .sp_only64em {
    display: none !important;
  }
}
@media (max-width: 63.94em) {
  .pctb_only64em {
    display: none !important;
  }
  .inner--sp {
    padding-left: var(--padding15);
    padding-right: var(--padding15);
  }
}
html {
  font-size: 62.5%;
}

body {
  color: black;
  font-family: Replica, "hiragino-kaku-gothic-pron", sans-serif;
  font-size: 1.2rem;
  letter-spacing: 0.02em;
}
body.modal--show {
  height: 100dvh;
  overflow: hidden;
}
body:has(.promotional-banner.show) .wrapper {
  padding-top: calc(var(--headerHeight) + var(--promotionalBannerHeightInit));
}
body:has(.promotional-banner.show) .header {
  top: var(--promotionalBannerHeightInit);
}
@media (max-width: 89.94em) {
  body:has(.promotional-banner.show) .header.header--sp-menu-show {
    height: calc(100dvh - var(--promotionalBannerHeightInit));
  }
}

a:hover {
  opacity: 1;
}

@media (hover: hover) {
  a:hover {
    font-weight: bold;
  }
}
ul, ol, dl,
h1, h2, h3, h4, h5, h6,
p, th, td, li, dl dt, dl dd, address {
  line-height: unset;
}

h1, h2, h3, h4, h5, h6 {
  color: unset;
}

ul, ol, dl {
  font-size: unset;
}

ul li ul, ul li ol {
  margin: 0;
}

img {
  max-width: 100%;
  height: auto;
}

.wrapper {
  padding-top: var(--headerHeight);
}

.mainContents {
  padding-top: var(--padding15);
}
@media (min-width: 64em) {
  .mainContents {
    padding-top: 30px;
  }
}

button,
.button {
  font-family: unset;
  letter-spacing: unset;
}
button:hover,
.button:hover {
  opacity: 1;
  font-weight: bold;
}

/*-----------------------------------------
Header
-------------------------------------------*/
.header {
  pointer-events: none;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2000;
  width: 100%;
  height: calc(var(--headerHeight));
  pointer-events: none;
}
@media (max-width: 89.94em) {
  .header.header--sp-menu-show {
    height: 100dvh;
    overflow-y: auto;
    pointer-events: all;
    background: white;
  }
  .header.header--sp-menu-show .header__content {
    position: sticky;
    top: 0;
    background: white;
    z-index: 2;
  }
}
.header a, .header button, .header input {
  pointer-events: auto;
}
.header__nav {
  height: var(--headerNavHeight);
  padding-left: var(--padding7);
  padding-right: var(--padding7);
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  font-size: 1.2rem;
}
@media (max-width: 89.94em) {
  .header__nav {
    display: none;
  }
}
.header__nav a {
  color: unset;
}
.header__nav__left {
  display: flex;
  height: 100%;
}
.header__nav__right {
  display: flex;
  justify-content: flex-end;
}
.header__nav__right a {
  display: flex;
  align-items: center;
  padding: 0 var(--padding7);
  height: 100%;
}
.header__nav__right a.on {
  font-weight: bold;
}
.header__nav__list {
  display: flex;
  align-items: center;
}
.header__nav__list__link {
  padding: 0 var(--padding7);
  height: 100%;
}
.header__nav__list__link.current {
  font-weight: bold;
  letter-spacing: var(--hoverSpacing);
}
.header__nav .popover--show {
  display: grid;
  place-content: center;
  width: 32px;
  height: 100%;
}
.header__nav .search-button {
  display: grid;
  place-content: center;
  width: 64px;
  height: 100%;
}
.header__nav .search-area {
  display: none;
  position: absolute;
  top: var(--height38);
  left: 0;
  width: 100%;
  background: white;
  z-index: 1;
  pointer-events: all;
}
.header__nav .search-area.show {
  display: block;
}
.header__nav .search-area .freeword {
  border: none;
  box-shadow: none;
  font-size: 9.6rem;
  height: 127px;
  letter-spacing: -0.04em;
  padding: 0;
  text-align: center;
  font-weight: bold;
}
.header__nav .search-area .freeword::placeholder {
  color: unset;
}
.header__nav .search-area .freeword:is(:-webkit-autofill, :autofill) {
  letter-spacing: 0.02em;
  font-weight: bold;
}
.header__nav .search-area .freeword:focus {
  background: none;
}
.header__nav .search-area .search-form__bottom {
  padding: var(--padding15);
  display: grid;
  place-content: center;
}
.header__nav .search-area .search-form__button {
  background: none;
  padding: 0;
  border: none;
  color: unset;
  font-size: unset;
  letter-spacing: unset;
}
.header__nav .search-area .search-form__button:hover {
  font-weight: bold;
  opacity: 1;
}
.header__nav .header_wishlist_count {
  margin-left: 5px;
}
.header__nav .hav-popup {
  position: relative;
  pointer-events: all;
  z-index: 2;
}
.header__nav .hav-popup:hover .header__nav__popup {
  display: block;
}
.header__nav__popup {
  pointer-events: all;
  display: none;
  position: absolute;
  transform: translateY(100%);
  border-radius: 5px;
  left: var(--spacing7);
  bottom: -15px;
  padding: var(--padding15);
  min-width: 100px;
  width: max-content;
  background: #FAFAFA;
}
.header__nav__popup:before {
  content: "";
  display: block;
  background: transparent;
  width: 100%;
  height: 15px;
  position: absolute;
  left: 0;
  top: -15px;
  pointer-events: all;
}
.header__nav__popup__list li {
  line-height: 1;
}
.header__nav__popup__list li:not(:last-child) {
  margin-bottom: var(--spacing15);
}
.header__nav__popup__list .current {
  font-weight: bold;
  letter-spacing: var(--hoverSpacing);
}
.header__nav .have-child {
  pointer-events: all;
}
.header__nav .have-child:hover .header__nav__list__link {
  font-weight: bold;
  letter-spacing: var(--hoverSpacing);
}
.header__nav .have-child:hover .header__nav__menu {
  display: block;
}
.header__nav__menu {
  background: white;
  position: absolute;
  width: 100%;
  left: 0;
  bottom: 0;
  transform: translateY(100%);
  padding: var(--padding15);
  padding-top: 32px;
  display: none;
  pointer-events: all;
  z-index: 1;
}
.header__nav__menu:before {
  content: "";
  display: block;
  background: transparent;
  width: 100%;
  height: 127px;
  position: absolute;
  left: 0;
  top: -127px;
  pointer-events: all;
}
.header__nav__menu__list li {
  line-height: 1;
}
.header__nav__menu__list li:not(:last-child) {
  margin-bottom: var(--spacing15);
}
.header__nav__menu__list .current {
  font-weight: bold;
  letter-spacing: var(--hoverSpacing);
}
.header__nav__menu .content--col4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px;
}
.header__nav__menu .content--universe {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
}
.header__nav__menu .content--universe .header__nav__menu__block__dt {
  margin-bottom: var(--spacing15);
  line-height: var(--lineHeightRate);
}
.header__nav__menu .content--universe__link {
  display: block;
}
.header__nav__menu .content--universe__link:hover .header__nav__menu__block__dt {
  font-weight: bold;
}
.header__nav__menu__block__dt {
  margin-bottom: 45px;
  line-height: 1;
}
.header__nav__menu__block img {
  width: 100%;
}
.header .header_cart_count,
.header .header_wishlist_count {
  display: none;
  margin-left: 5px;
}
.header .header_cart_count:before,
.header .header_wishlist_count:before {
  content: "(";
}
.header .header_cart_count:after,
.header .header_wishlist_count:after {
  content: ")";
}
.header .header_cart_count.show,
.header .header_wishlist_count.show {
  display: inline;
}
.header__sp-nav {
  height: var(--height38);
}
.header__sp-nav__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  height: 100%;
  padding: 0 var(--padding15);
}
.header__sp-nav__list li {
  display: flex;
  align-items: center;
}
.header__sp-nav__search {
  display: grid;
  place-content: center;
  pointer-events: all;
}
.header__sp-nav__search .sp-search-area--show:after {
  content: "SEARCH";
}
.header__sp-nav__search .sp-search-area--show.on:after {
  content: "CLOSE";
}
.header__sp-nav__cart {
  display: flex;
  justify-content: flex-end;
}
.header__sp-nav .sp-menu--show {
  width: 20px;
  height: 12px;
  background: url(../img/icon/ico-menu.svg) no-repeat center center;
  background-size: contain;
}
.header__sp-nav .sp-menu--show.on {
  background: url(../img/icon/ico-close.svg) no-repeat center center;
  background-size: contain;
}
.header__logo-area {
  height: var(--headerlogoAreaHeight);
}
.header__logo-area .logo {
  width: max-content;
  padding-top: 30px;
  margin: auto;
  transform: translateX(7px);
}
@media (max-width: 89.94em) {
  .header__logo-area .logo {
    width: 265px;
    padding-top: var(--padding15);
    transform: translateX(4px);
  }
}
.header__logo-area .logo a {
  display: block;
}
.header .sp-menu {
  display: none;
  padding: 45px var(--padding15);
  pointer-events: all;
  position: relative;
}
.header .sp-menu.show {
  display: block;
}
.header .sp-menu__block:not(:last-child) {
  margin-bottom: 45px;
}
.header .sp-menu__list li {
  line-height: var(--lineHeightRate);
}
.header .sp-menu__list li:not(:last-child) {
  margin-bottom: 30px;
}
.header .sp-menu__sub-menu--show {
  display: flex;
  align-items: center;
  width: max-content;
  gap: var(--spacing15);
}
.header .sp-menu__sub-menu--show:before {
  content: "";
  display: block;
  background: url(../img/icon/ico-down.svg) no-repeat;
  background-size: contain;
  width: 8px;
  height: 4px;
}
.header .sp-menu__sub-menu--show.on {
  font-weight: bold;
}
.header .sp-menu__sub-menu--show.on:before {
  background: url(../img/icon/ico-up-bold.svg) no-repeat;
  background-size: contain;
}
.header .sp-menu__sub-menu {
  display: none;
  padding: 30px var(--padding15) 0 8px;
  padding-left: 23px;
}
.header .sp-menu__sub-menu.show {
  display: block;
}
.header .sp-menu__sub-menu__li:not(:last-child) {
  margin-bottom: 30px;
}
.header .sp-menu__panel {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  background: white;
  padding-top: 15px;
  display: none;
  overflow-y: auto;
}
.header .sp-menu__panel.show {
  display: block;
}
.header .sp-menu__panel__ttl {
  line-height: var(--lineHeightRate);
  text-align: center;
  margin-bottom: 45px;
}
.header .sp-menu__panel__list {
  padding: 0 var(--padding15);
}
.header .sp-menu__panel__list li {
  line-height: var(--lineHeightRate);
}
.header .sp-menu__panel__list li:not(:last-child) {
  margin-bottom: 30px;
}
.header .sp-menu__panel__list .current {
  font-weight: bold;
  letter-spacing: var(--hoverSpacing);
}
.header .sp-menu__panel--universe {
  padding-bottom: 45px;
}
.header .sp-menu__panel--universe .sp-menu__panel__list {
  margin-bottom: var(--spacing15);
}
.header .sp-menu__panel--universe__list {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 45px 0;
}
.header .sp-menu__panel--universe__list li:not(:last-child) {
  margin: 0;
}
.header .sp-menu__panel--universe__link {
  display: block;
}
.header .sp-menu__panel--universe__pic {
  margin-bottom: var(--spacing15);
}
.header .sp-menu__panel--universe__name {
  line-height: var(--lineHeightRate);
  padding-left: var(--padding15);
}
.header .sp-menu:has(.sp-menu__panel.show) {
  height: calc(100% - var(--headerHeight));
  overflow: hidden;
}
.header .sp-search-area {
  position: absolute;
  left: 0;
  width: 100%;
  top: var(--headerHeight);
  height: calc(100dvh - var(--headerHeight));
  background: white;
  display: none;
}
.header .sp-search-area.show {
  display: block;
}
.header .sp-search-area .freeword {
  border: none;
  box-shadow: none;
  padding: 0;
  text-align: center;
  height: var(--height38);
}
.header .sp-search-area .freeword::placeholder {
  color: unset;
}
.header .sp-search-area .freeword:focus {
  background: none;
}
.header .sp-search-area .search-form__bottom {
  display: flex;
  justify-content: space-between;
  padding: var(--padding15);
}
.header .sp-search-area .search-form__button {
  background: none;
  padding: 0;
  border: none;
  color: unset;
  font-size: unset;
  letter-spacing: unset;
}
.header .sp-search-area .search-form__button:hover {
  font-weight: bold;
  opacity: 1;
}

.header:has(.search-area.show),
.header:has(.sp-search-area.show),
.header:has(.have-child:hover) {
  background: white;
}

@media (max-width: 90em) {
  .header:has(.cart-modal.show) {
    background: var(--ambushLightGray);
  }
}
.header.nolink {
  position: absolute;
  pointer-events: all;
  padding-top: var(--height38);
}

/*-----------------------------------------
White Header Color
-------------------------------------------*/
.header--white .header__nav__list__link,
.header--white .popover--show,
.header--white .search-area--show,
.header--white .header__nav__right a,
.header--white .header__sp-nav .header__sp-nav__list a {
  color: white;
}
.header--white .header__sp-nav .header__sp-nav__list .sp-menu--show:not(.on) {
  background: url(../img/icon/ico-menu-white.svg) no-repeat;
}
.header--white .logo a {
  background: url(../img/logo_white.svg) no-repeat;
  background-size: contain;
}
.header--white .logo a img {
  opacity: 0;
}
.header--white:has(.search-area.show) .header__nav__list__link,
.header--white:has(.search-area.show) .popover--show,
.header--white:has(.search-area.show) .search-area--show,
.header--white:has(.search-area.show) .header__nav__right a,
.header--white:has(.search-area.show) .header__sp-nav .header__sp-nav__list a, .header--white:has(.have-child:hover) .header__nav__list__link,
.header--white:has(.have-child:hover) .popover--show,
.header--white:has(.have-child:hover) .search-area--show,
.header--white:has(.have-child:hover) .header__nav__right a,
.header--white:has(.have-child:hover) .header__sp-nav .header__sp-nav__list a, .header--white:has(.sp-menu.show) .header__nav__list__link,
.header--white:has(.sp-menu.show) .popover--show,
.header--white:has(.sp-menu.show) .search-area--show,
.header--white:has(.sp-menu.show) .header__nav__right a,
.header--white:has(.sp-menu.show) .header__sp-nav .header__sp-nav__list a, .header--white:has(.sp-search-area.show) .header__nav__list__link,
.header--white:has(.sp-search-area.show) .popover--show,
.header--white:has(.sp-search-area.show) .search-area--show,
.header--white:has(.sp-search-area.show) .header__nav__right a,
.header--white:has(.sp-search-area.show) .header__sp-nav .header__sp-nav__list a {
  color: black;
}
.header--white:has(.search-area.show) .logo a, .header--white:has(.have-child:hover) .logo a, .header--white:has(.sp-menu.show) .logo a, .header--white:has(.sp-search-area.show) .logo a {
  background: none;
}
.header--white:has(.search-area.show) .logo a img, .header--white:has(.have-child:hover) .logo a img, .header--white:has(.sp-menu.show) .logo a img, .header--white:has(.sp-search-area.show) .logo a img {
  opacity: 1;
}
.header--white:has(.sp-search-area.show) .header__sp-nav .header__sp-nav__list .sp-menu--show:not(.on) {
  background: url(../img/icon/ico-menu.svg) no-repeat;
}

/*-----------------------------------------
Footer
-------------------------------------------*/
.siteFooter {
  padding: 110px var(--padding15) var(--padding15);
}
@media (min-width: 64em) {
  .siteFooter {
    padding: 157px var(--padding15) var(--padding15);
  }
}
.siteFooter .footerNewsletter {
  width: min(100%, 474px);
  margin: auto;
  margin-bottom: 60px;
}
@media (min-width: 64em) {
  .siteFooter .footerNewsletter {
    margin-bottom: 90px;
  }
}
.siteFooter .footerNewsletter__ttl {
  font-size: 1.2rem;
  margin-bottom: 45px;
  text-align: center;
  line-height: var(--lineHeightRate);
}
@media (max-width: 63.94em) {
  .siteFooter .footerNewsletter__ttl {
    position: sticky;
    top: var(--headerHeight);
    padding-top: var(--padding15);
    background: white;
    padding-bottom: 30px;
    margin-bottom: 15px;
  }
  .siteFooter .footerNewsletter__ttl:before {
    content: "";
    display: block;
    background: white;
    width: 100%;
    height: 100%;
    position: absolute;
    top: -5px;
    z-index: -1;
  }
}
.siteFooter .footerNewsletter__txt {
  margin-bottom: var(--spacing15);
}
.siteFooter .footerNewsletter .mailmagazine__input-area {
  position: relative;
}
.siteFooter .footerNewsletter input {
  height: var(--height38);
  border-radius: 5px;
  padding-left: var(--padding15);
  box-shadow: none;
  border: solid 1px black;
  padding-right: 6em;
}
@media (min-width: 64em) {
  .siteFooter .footerNewsletter input {
    margin-bottom: var(--spacing15);
  }
}
.siteFooter .footerNewsletter input::placeholder {
  color: var(--ambushGray);
}
.siteFooter .footerNewsletter .add_mailmagazine_btn {
  font-family: unset;
  transition: opacity 0.3s ease;
  border-radius: 5px;
  letter-spacing: 0.02em;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 15px;
  background: none;
  color: unset;
  margin: 0;
  border: none;
}
.siteFooter .footerNewsletter__privacy a {
  text-decoration: underline;
}
@media (max-width: 63.94em) {
  .siteFooter__nav {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 64em) and (max-width: 1179px) {
  .siteFooter__nav {
    font-size: min(1.0169491525vw, 1.2rem);
  }
}
@media (min-width: 64em) and (max-width: 1366px) {
  .siteFooter__nav {
    display: flex;
    justify-content: space-between;
  }
}
@media (min-width: 64em) and (min-width: 1367px) {
  .siteFooter__nav {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 64em) {
  .siteFooter__nav__content__list {
    display: flex;
    gap: min(1.2711864407vw, 15px);
  }
  .siteFooter__nav__content__left {
    width: auto;
  }
  .siteFooter__nav__content__right {
    justify-content: center;
  }
}
@media (min-width: 64em) and (min-width: 1367px) {
  .siteFooter__nav__content__right {
    width: max-content;
  }
}
@media (max-width: 63.94em) {
  .siteFooter__nav__content__list:not(:last-child) {
    margin-bottom: 15px;
  }
}
.siteFooter__nav__content__list li {
  line-height: var(--lineHeightRate);
}
@media (max-width: 63.94em) {
  .siteFooter__nav__content__list li:not(:last-child) {
    margin-bottom: 15px;
  }
}
@media (max-width: 63.94em) {
  .siteFooter__nav__sns {
    width: auto;
    padding-left: var(--padding15);
  }
}
.siteFooter__nav__sns li {
  line-height: 1;
}
@media (max-width: 63.94em) {
  .siteFooter__nav__sns li:not(:last-child) {
    margin-bottom: 15px;
  }
}
@media (min-width: 64em) {
  .siteFooter__nav__sns {
    display: flex;
    justify-content: flex-end;
    gap: 15px;
  }
}
.siteFooter__nav__copyright {
  line-height: var(--lineHeightRate);
}
@media (max-width: 63.94em) {
  .siteFooter__nav__copyright {
    grid-column: span 2;
    margin-top: 60px;
  }
}
@media (min-width: 64em) {
  .siteFooter__nav__copyright {
    width: 100%;
    order: 0;
  }
}

@media (max-width: 63.94em) {
  body:has(.promotional-banner.show) .footerNewsletter__ttl {
    top: calc(var(--headerHeight) + var(--promotionalBannerHeightInit));
  }
}

.c_footer.nolink {
  text-align: center;
  margin-top: 125px;
  padding-bottom: var(--padding15);
}
@media (min-width: 64em) {
  .c_footer.nolink {
    margin-top: 200px;
  }
}

/*-----------------------------------------
English Hover Style
-------------------------------------------*/
@media (hover: hover) {
  .header a:hover,
  .siteFooter a:hover {
    letter-spacing: var(--hoverSpacing);
  }
}

/*-----------------------------------------
goodsTile
-------------------------------------------*/
.goodsTile {
  position: relative;
}
.goodsTile__layer {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 1;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}
.goodsTile__layer * {
  pointer-events: none;
}
@media (hover: hover) {
  .goodsTile:hover .goodsTile__layer {
    opacity: 1;
    pointer-events: auto;
  }
  .goodsTile:hover .goodsTile__layer * {
    pointer-events: auto;
  }
}
.goodsTile__sp-layer {
  display: none;
}
@media (hover: none) {
  .goodsTile__sp-layer {
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 1;
    pointer-events: none;
  }
  .goodsTile__sp-layer .colorchip-list--sp {
    position: absolute;
    top: 14px;
    right: 15px;
    display: flex;
    gap: 10px;
    z-index: 2;
    pointer-events: auto;
  }
  .goodsTile__sp-layer .colorchip-list--sp * {
    pointer-events: auto;
  }
  .goodsTile__sp-layer .colorchip-list--sp .colorchip-item {
    background-size: cover !important;
    background-position: center !important;
    width: 8px;
    height: 8px;
    border-radius: 2px;
  }
  .goodsTile__sp-layer .colorchip-list--sp .colorchip {
    display: block;
    width: 8px;
    height: 8px;
    border-radius: 2px;
    outline-offset: 1px;
    outline: solid 1px #fff;
  }
  .goodsTile__sp-layer .colorchip-list--sp .colorchip.active {
    outline: solid 1px var(--ambushGray);
  }
  .goodsTile__info--sp {
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 1;
    width: 100%;
    padding: var(--padding15);
    color: var(--ambushGray);
    font-size: 1rem;
  }
  .goodsTile__info--sp .goodsName {
    --lineHeightRate:0.8;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: var(--lineHeightRate);
    margin-bottom: 4px;
    pointer-events: auto;
  }
  .goodsTile__info--sp .goodsName * {
    pointer-events: auto;
  }
  .goodsTile__info--sp .goodsName a {
    color: unset;
  }
  .goodsTile__info--sp .sale-price {
    display: flex;
    gap: 8px;
  }
  .goodsTile__info--sp .sale-price__nonsale {
    color: var(--ambushGray);
    text-decoration: line-through;
  }
}
.goodsTile .item-swiper-container {
  width: 100%;
}
.goodsTile .item-swiper-container .swiper-slide {
  position: relative;
}
.goodsTile .item-swiper-container .swiper-slide img {
  width: 100%;
}
.goodsTile .item-swiper-container .swiper-slide .layer-pic {
  position: absolute;
  width: 100%;
  left: 0;
  top: 0;
}
.goodsTile .item-swiper-container .swiper-slide .layer-pic img {
  position: absolute;
  width: 100%;
  top: 0;
  left: 0;
}
.goodsTile .item-swiper-container .item-swiper-prev,
.goodsTile .item-swiper-container .item-swiper-next {
  position: absolute;
  z-index: 1;
  top: 50%;
  transform: translateY(-50%);
  cursor: pointer;
}
.goodsTile .item-swiper-container .swiper-button-disabled {
  display: none;
}
.goodsTile .item-swiper-container .item-swiper-prev {
  left: 0;
}
.goodsTile .item-swiper-container .item-swiper-next {
  right: 0;
}
.goodsTile .colorchip-list {
  position: absolute;
  top: 14px;
  right: 15px;
  display: flex;
  gap: 10px;
  z-index: 2;
}
.goodsTile .colorchip-list .colorchip-item {
  background-size: cover !important;
  background-position: center !important;
  width: 8px;
  height: 8px;
  border-radius: 2px;
}
.goodsTile .colorchip-list .colorchip {
  display: block;
  width: 8px;
  height: 8px;
  border-radius: 2px;
  outline-offset: 1px;
  outline: solid 1px #fff;
}
.goodsTile .colorchip-list .colorchip.active {
  outline: solid 1px black;
}
.goodsTile__info {
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 1;
  width: 100%;
  padding: var(--padding15);
  display: flex;
  justify-content: space-between;
  gap: 15px;
}
.goodsTile__info .sale-price {
  display: flex;
  justify-content: space-between;
  gap: 8px;
}
.goodsTile__info .sale-price__nonsale {
  color: var(--ambushGray);
  text-decoration: line-through;
}

/*-----------------------------------------
Pager
-------------------------------------------*/
.c_pager {
  margin-top: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 15px;
  letter-spacing: 0.02em;
}
@media (min-width: 64em) {
  .c_pager {
    margin-top: 45px;
  }
}
.c_pager__list {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 15px;
}
.c_pager__list li {
  line-height: 1;
}
.c_pager__list li.active {
  font-weight: bold;
}
.c_pager .first, .c_pager .last {
  display: flex;
  align-items: center;
}
.c_pager .first a, .c_pager .last a {
  display: block;
  font-size: 0;
}

/*-----------------------------------------
Cart
-------------------------------------------*/
.cart-modal {
  background: var(--ambushLightGray);
  position: absolute;
  z-index: 1000;
  pointer-events: all;
  display: none;
  max-height: calc(100dvh - var(--headerHeight) - var(--spacing15));
  overflow-y: auto;
}
@media (max-width: 89.94em) {
  .cart-modal {
    width: 100%;
    max-height: calc(100dvh - var(--headerHeight));
    top: var(--headerHeight);
    overflow-y: auto;
  }
}
@media (min-width: 90em) {
  .cart-modal {
    width: 348px;
    border-radius: 5px;
    top: 53px;
    right: var(--spacing15);
  }
}
.cart-modal.show {
  display: block;
}
.cart-modal__header {
  margin-bottom: 30px;
  line-height: var(--lineHeightRate);
}
@media (max-width: 89.94em) {
  .cart-modal__header {
    padding-top: var(--padding15);
    text-align: center;
  }
}
@media (min-width: 90em) {
  .cart-modal__header {
    position: sticky;
    top: 0;
    padding: var(--padding15);
    display: flex;
    justify-content: space-between;
    background: var(--ambushLightGray);
    z-index: 2;
  }
}
.cart-modal__content {
  margin-bottom: 30px;
  padding: 0 var(--padding15);
}
@media (max-width: 89.94em) {
  .cart-modal__content {
    max-width: 474px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 30px;
  }
}
@media (min-width: 90em) {
  .cart-modal__content .mini-bag-item-list {
    margin-bottom: 45px;
  }
}
.cart-modal__content .mini-bag-item-list .mini-bag-item {
  display: grid;
  grid-template-columns: 98px calc(100% - 98px - var(--spacing15));
  gap: var(--spacing15);
}
.cart-modal__content .mini-bag-item-list .mini-bag-item__info {
  padding-top: var(--padding15);
  line-height: var(--lineHeightRate);
}
.cart-modal__content .mini-bag-item-list .mini-bag-item__info__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 15px;
}
.cart-modal__content .mini-bag-item-list .mini-bag-item__info__header p {
  line-height: var(--lineHeightRate);
}
.cart-modal__content .mini-bag-item-list .mini-bag-item__row:not(:last-child) {
  margin-bottom: var(--spacing15);
}
.cart-modal__content .mini-bag-item-list .mini-bag-item__ttl {
  width: 61.9512195122%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  --lineHeightRate:0.8;
}
.cart-modal__content .mini-bag-item-list .mini-bag-item__qty {
  display: flex;
  gap: 15px;
}
.cart-modal__content .mini-bag-item-list .mini-bag-item__delete__button {
  background: none;
  color: unset;
  font-size: unset;
  line-height: unset;
}
.cart-modal__content .mini-bag-item-list .mini-bag-item__delete__button:hover {
  font-weight: bold;
}
.cart-modal__bottom {
  position: sticky;
  bottom: 0;
  padding: var(--padding15) var(--padding15) var(--padding15);
  background: var(--ambushLightGray);
}
@media (max-width: 89.94em) {
  .cart-modal__bottom {
    padding: 0 var(--padding15) 30px;
    max-width: 474px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media (min-width: 90em) {
  .cart-modal__bottom__list li:not(:last-child) {
    margin-bottom: var(--spacing15);
  }
}

#wishlist-modal--sp .cart-modal__bottom__list,
#cart-modal--sp .cart-modal__bottom__list {
  display: flex;
  gap: 10px;
  list-style: none;
  padding: 0;
  margin: 0;
}

#wishlist-modal--sp .cart-modal__bottom__list .cart-modal__item,
#cart-modal--sp .cart-modal__bottom__list .cart-modal__item {
  width: 50%;
}

.cart-modal__button {
  border-radius: 5px;
  height: var(--height38);
  display: grid;
  place-content: center;
  border: solid 1px black;
  transition: all 0.3s ease;
}
.cart-modal__button:hover {
  background: black;
  color: white;
}
.cart-modal .go-to-checkout-button {
  background: black;
  color: white;
}
.cart-modal__price {
  display: flex;
  justify-content: space-between;
}
.cart-modal__price:not(:last-child) {
  margin-bottom: 15px;
}
.cart-modal__price * {
  line-height: var(--lineHeightRate);
}

/*-----------------------------------------
Promotional Banner
-------------------------------------------*/
.promotional-banner {
  --promotionalBannerHeight: auto;
  background: #F0F0F0;
  position: relative;
  pointer-events: all;
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 2000;
}
.promotional-banner.show {
  display: block;
}
.promotional-banner__txt {
  display: grid;
  place-content: center;
  width: 100%;
  height: var(--promotionalBannerHeight);
  min-height: var(--height38);
  padding: 11px 38px;
  text-align: center;
}
.promotional-banner--close {
  position: absolute;
  top: var(--spacing15);
  right: var(--spacing15);
}
.promotional-banner a:hover {
  font-weight: normal;
}

/*-----------------------------------------
Form
-------------------------------------------*/
.mainContents .uppercase {
  text-transform: uppercase;
}
.mainContents .form-area .form-box:not(:last-child) {
  margin-bottom: 60px;
}
.mainContents .form-area .form-box__ttl {
  text-transform: uppercase;
  font-size: unset;
  margin-bottom: 45px;
}
.mainContents .form-area .form-box .form-content .inputRow:not(:last-child) {
  margin-bottom: 20px;
}
.mainContents .form-area .form-box .form-content .inputRow--col2,
.mainContents .form-area .form-box .form-content .inputRow .col2-wrap {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--spacing15);
}
.mainContents .form-area .form-box .form-content .inputRow .inputCol:not(:last-child) {
  margin-bottom: 20px;
}
.mainContents .form-area .form-box .form-content .inputRow.mb45 {
  margin-bottom: 45px;
}
.mainContents .form-area .form-box .form-content .inputLabel {
  text-transform: uppercase;
  margin-bottom: var(--spacing15);
}
.mainContents .form-area .form-box .form-content .radio-list label {
  text-transform: uppercase;
}
.mainContents .form-area .form-box .form-content .radio-list li:not(:last-child) {
  margin-bottom: var(--spacing15);
}
.mainContents .form-area .form-box .form-content input[type=text],
.mainContents .form-area .form-box .form-content input[type=password],
.mainContents .form-area .form-box .form-content select {
  width: 100%;
  height: var(--height38);
  border-radius: 5px;
  box-shadow: none;
  padding: 0 var(--padding15);
  border: solid 1px black;
  font-size: unset;
  outline: none;
}
.mainContents .form-area .form-box .form-content input[type=checkbox] + label,
.mainContents .form-area .form-box .form-content input[type=radio] + label {
  font-size: unset;
  padding: 0;
  margin: 0;
  color: unset;
  display: flex;
  align-items: center;
  gap: var(--spacing15);
}
.mainContents .form-area .form-box .form-content input[type=checkbox] + label:before,
.mainContents .form-area .form-box .form-content input[type=radio] + label:before {
  min-width: 12px;
  width: 12px;
  height: 12px;
  border-radius: 3px;
  border: solid 1px black;
  margin: 0;
  position: static;
}
.mainContents .form-area .form-box .form-content input[type=checkbox]:checked + label:after,
.mainContents .form-area .form-box .form-content input[type=radio]:checked + label:after {
  content: "";
  display: block;
  background: black;
  border-radius: 2px;
  width: 8px;
  height: 8px;
  left: 2px;
  top: 50%;
  transform: translateY(-50%);
  margin: 0;
}
.mainContents .form-area .form-box .form-content select {
  background: url(../img/icon/ico-down.svg) no-repeat right var(--spacing15) center;
}
.mainContents .form-area .form-box .form-content .postcode-area {
  margin-bottom: 45px;
}
.mainContents .form-area .form-box .form-content .address-area {
  margin-bottom: var(--spacing15);
}
.mainContents .form-area .form-box .form-content .birth-wrap {
  display: grid;
  grid-template-columns: 2.12fr 1fr 1fr;
  gap: var(--spacing15);
}
.mainContents .form-area .form-box .form-content .mailmagazine__bottom {
  margin-top: var(--spacing15);
  padding-left: 27px;
  color: var(--ambushGray);
}
.mainContents .form-area .button {
  text-transform: uppercase;
}
.mainContents .form-area .button:hover {
  opacity: 1;
  font-weight: bold;
}
.mainContents .form-area .button.nextgo {
  background: black;
  color: white;
}
.mainContents .form-area .termLinks {
  padding-left: 27px;
}
.mainContents .button.buttonWhite {
  border: solid 1px black;
}
.mainContents .formTable input[type=checkbox] + label,
.mainContents .formTable input[type=radio] + label {
  font-size: unset;
  padding: 0;
  margin: 0;
  color: unset;
  display: flex;
  align-items: baseline;
  gap: var(--spacing15);
}
.mainContents .formTable input[type=checkbox] + label:before,
.mainContents .formTable input[type=radio] + label:before {
  min-width: 12px;
  width: 12px;
  height: 12px;
  border-radius: 3px;
  border: solid 1px black;
  margin: 0;
  position: static;
  transform: translateY(2px);
}
.mainContents .formTable input[type=checkbox]:checked + label:after,
.mainContents .formTable input[type=radio]:checked + label:after {
  content: "";
  display: block;
  background: black;
  border-radius: 2px;
  width: 8px;
  height: 8px;
  left: 2px;
  top: 3px;
  transform: translateY(2px);
  margin: 0;
}
.mainContents .formTable .inputRow.mb {
  margin-bottom: 20px;
}
.mainContents .formTable .inputLabel {
  text-transform: uppercase;
}

.mainContents:has(.right-main-wrap) {
  overflow: hidden;
}

/*-----------------------------------------
StepList
-------------------------------------------*/
.stepListWrapper {
  display: flex;
  justify-content: center;
  gap: var(--spacing15);
  margin-bottom: 45px;
}
.stepListWrapper .stepLabel.pass {
  font-weight: bold;
}

/*-----------------------------------------
Fade
-------------------------------------------*/
.fade {
  opacity: 0;
  transition: opacity 200ms;
}

.fadeIn {
  opacity: 1;
}
