/* YUMENOVA - 基准 1rem = 100px，设计稿 1440px */
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  font-size: 26.66667vw;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

@media screen and (min-width: 375px) {
  html {
    font-size: 100px;
  }
}

body {
  font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  color: #000;
  background: #fff;
  line-height: 1;
  font-size: 0;
  overflow-x: hidden;
}

img {
  display: block;
  border: 0;
  max-width: 100%;
  height: auto;
}

a {
  color: inherit;
  text-decoration: none;
}

ul,
ol {
  list-style: none;
}

button {
  font-family: inherit;
  color: inherit;
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

input {
  font-family: inherit;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

/* ---------- Header ---------- */
.header {
  position: relative;
  z-index: 20;
  width: 100%;
  max-width: 14.4rem;
  margin: 0 auto;
  background: #fff;
  border-bottom: 1px solid #eaeaea;
  overflow: visible;
}

.header-top {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  height: 0.72rem;
  padding: 0 0.16rem;
  border-bottom: 1px solid #eaeaea;
}

.logo-link {
  display: block;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.logo {
  width: 1.48rem;
  height: 0.5rem;
  -o-object-fit: contain;
  object-fit: contain;
  -o-object-position: left center;
  object-position: left center;
}

.search {
  display: none;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  width: 3.8rem;
  height: 0.36rem;
  padding: 0.04382rem 0.21909rem 0.04382rem 0.14606rem;
  border: 2px solid #000;
  -webkit-border-radius: 1.446rem;
  border-radius: 1.446rem;
  overflow: hidden;
}

.search-input {
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  min-width: 0;
  height: 100%;
  border: 0;
  outline: none;
  background: transparent;
  color: #000;
  font-size: 0.14606rem;
  letter-spacing: 0.027554rem;
}

.search-input::-webkit-input-placeholder {
  color: #969696;
}

.search-input::-moz-placeholder {
  color: #969696;
}

.search-input:-ms-input-placeholder {
  color: #969696;
}

.search-input::placeholder {
  color: #969696;
}

.search-btn {
  width: 0.2rem;
  height: 0.2rem;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.search-btn img {
  width: 0.2rem;
  height: 0.2rem;
}

.header-actions {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.1rem;
}

.header-user img {
  width: 0.28607rem;
  height: 0.28607rem;
}

.header-cart {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.header-cart img {
  width: 0.30037rem;
  height: 0.28607rem;
}

.header-cart-count {
  margin-left: 0.04rem;
  font-size: 0.17879rem;
  line-height: 0.18595rem;
  letter-spacing: 0.024173rem;
  color: #000;
}

.header-mobile-tools {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.16rem;
}

.header-icon-btn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 0.32rem;
  height: 0.32rem;
  padding: 0;
  border: 0;
  background: transparent;
  color: #000;
  cursor: pointer;
}

.header-icon-btn img {
  width: 0.2rem;
  height: 0.2rem;
  display: block;
}

.header-menu-icon {
  position: relative;
  width: 0.2rem;
  height: 0.12rem;
}

.header-menu-icon::before,
.header-menu-icon::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 1px;
  background: #000;
}

.header-menu-icon::before {
  top: 0;
}

.header-menu-icon::after {
  bottom: 0;
}

.header-mobile-search {
  padding: 0.1rem 0.16rem 0.12rem;
  border-bottom: 1px solid #eaeaea;
  background: #fff;
}

.header-mobile-search-form {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  height: 0.4rem;
  padding: 0 0.12rem 0 0.16rem;
  border: 1px solid #cbcbcb;
  -webkit-border-radius: 0.2rem;
  border-radius: 0.2rem;
  background: #fff;
}

.header-mobile-search-input {
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  min-width: 0;
  height: 100%;
  border: 0;
  outline: none;
  background: transparent;
  color: #000;
  font-size: 0.14rem;
}

.header-mobile-search-input::-webkit-input-placeholder {
  color: #969696;
}

.header-mobile-search-input::placeholder {
  color: #969696;
}

.header-mobile-search-submit {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 0.28rem;
  height: 0.28rem;
  padding: 0;
  border: 0;
  background: transparent;
}

.header-mobile-search-submit img {
  width: 0.18rem;
  height: 0.18rem;
}

.mobile-drawer-backdrop {
  position: fixed;
  inset: 0;
  z-index: 90;
  background: rgba(0, 0, 0, 0.35);
}

.mobile-drawer {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  width: min(3.2rem, 86vw);
  height: 100%;
  background: #fff;
  -webkit-transform: translateX(-100%);
  -ms-transform: translateX(-100%);
  transform: translateX(-100%);
  -webkit-transition: -webkit-transform 0.25s ease;
  transition: -webkit-transform 0.25s ease;
  transition: transform 0.25s ease;
  transition: transform 0.25s ease, -webkit-transform 0.25s ease;
  overflow: hidden;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}

.mobile-drawer.is-open {
  -webkit-transform: translateX(0);
  -ms-transform: translateX(0);
  transform: translateX(0);
}

.mobile-drawer-head {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  min-height: 0.48rem;
  padding: 0 0.16rem;
  background: #8c8c8c;
}

.mobile-drawer-title {
  color: #fff;
  font-size: 0.14rem;
  font-weight: 500;
  letter-spacing: 0.02rem;
}

.mobile-drawer-close {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 0.32rem;
  height: 0.32rem;
  padding: 0;
  border: 0;
  background: transparent;
  color: #fff;
  font-size: 0.24rem;
  line-height: 1;
  cursor: pointer;
}

.mobile-drawer-body {
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.mobile-menu-list,
.mobile-cat-list,
.mobile-cat-sublist {
  list-style: none;
}

.mobile-menu-item {
  border-bottom: 1px solid #eaeaea;
}

.mobile-menu-trigger,
.mobile-menu-link {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  min-height: 0.52rem;
  padding: 0.1rem 0.16rem;
  gap: 0.1rem;
  border: 0;
  background: #fff;
  color: #333;
  font-family: inherit;
  font-size: 0.14rem;
  font-weight: 500;
  line-height: 1.2;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
}

.mobile-menu-link--contact {
  background: #a4815a;
  color: #fff;
}

.mobile-menu-link.is-active {
  color: #a4815a;
}

.mobile-menu-link--contact.is-active {
  color: #fff;
}

.mobile-menu-icon {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 0.3rem;
  height: 0.3rem;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.mobile-menu-icon img {
  width: 0.3rem;
  height: 0.3rem;
  -o-object-fit: contain;
  object-fit: contain;
}

.mobile-menu-label {
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  min-width: 0;
}

.mobile-menu-toggle {
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 0.2rem;
  color: #666;
  font-size: 0.18rem;
  line-height: 1;
  text-align: center;
}

.mobile-menu-trigger[aria-expanded="true"] .mobile-menu-toggle {
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

.mobile-menu-panel {
  background: #fafafa;
  border-top: 1px solid #eaeaea;
}

.mobile-cat-item {
  border-bottom: 1px solid #eaeaea;
}

.mobile-cat-item:last-child {
  border-bottom: 0;
}

.mobile-cat-trigger {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  min-height: 0.48rem;
  padding: 0.1rem 0.16rem 0.1rem 0.56rem;
  gap: 0.12rem;
  border: 0;
  background: #fafafa;
  color: #000;
  font-family: inherit;
  font-size: 0.13rem;
  font-weight: 400;
  text-align: left;
  cursor: pointer;
}

.mobile-cat-name {
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  min-width: 0;
  line-height: 1.4;
}

.mobile-cat-toggle {
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 0.2rem;
  color: #666;
  font-size: 0.18rem;
  line-height: 1;
  text-align: center;
}

.mobile-cat-trigger[aria-expanded="true"] .mobile-cat-toggle {
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

.mobile-cat-panel {
  background: #f3f3f3;
}

.mobile-cat-sublist {
  padding: 0.04rem 0 0.08rem;
}

.mobile-cat-sublist a {
  display: block;
  padding: 0.1rem 0.16rem 0.1rem 0.72rem;
  color: #333;
  font-size: 0.13rem;
  line-height: 1.5;
}

.mobile-drawer-empty {
  padding: 0.16rem 0.16rem 0.16rem 0.56rem;
  color: #757575;
  font-size: 0.13rem;
}

body.is-mobile-nav-open {
  overflow: hidden;
}

body.is-mobile-search-open .header-mobile-search {
  display: block;
}

body.is-mobile-search-open .header-mobile-search[hidden] {
  display: block;
}

@media screen and (max-width: 767px) {
  .header-top {
    position: relative;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    height: 0.56rem;
    padding: 0 0.12rem;
    border-bottom: 1px solid #eaeaea;
  }

  .header-mobile-tools {
    grid-column: 1;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }

  .logo-link {
    grid-column: 2;
    justify-self: center;
  }

  .logo {
    width: 1.12rem;
    height: auto;
    max-height: 0.38rem;
    -o-object-position: center;
    object-position: center;
  }

  .search {
    display: none;
  }

  .header-actions {
    grid-column: 3;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    gap: 0.14rem;
  }

  .header-user img {
    width: 0.22rem;
    height: 0.22rem;
  }

  .header-cart img {
    width: 0.24rem;
    height: 0.22rem;
  }

  .header-cart {
    position: relative;
  }

  .header-cart-count {
    display: none !important;
  }
}

@media screen and (min-width: 768px) {
  .header-mobile-tools,
  .header-mobile-search,
  .mobile-drawer,
  .mobile-drawer-backdrop,
  .mobile-drawer-calendar {
    display: none !important;
  }
}

.nav {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  height: 0.56rem;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

@media screen and (max-width: 767px) {
  .header > .nav {
    display: none !important;
  }

  .page--home .sidebar,
  .page--list .sidebar,
  .page--detail .sidebar,
  .page--cart .sidebar,
  .page--pay .sidebar {
    display: none;
  }

  .mobile-drawer-calendar {
    padding: 0.16rem;
    border-top: 1px solid #eaeaea;
    background: #f3efe9;
  }

  .mobile-drawer-calendar .calendar-block {
    margin-top: 0;
    background: transparent;
  }

  .mobile-drawer-calendar .side-title {
    margin-bottom: 0.08rem;
  }
}

.nav-item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  min-width: 1.2rem;
  height: 100%;
  padding: 0 0.12rem;
  gap: 0.05rem;
  border-right: 1px solid #eaeaea;
  background: #fff;
  color: #333;
}

.nav-item--active {
  background: #fff;
  color: #a4815a;
}

@media (hover: hover) and (pointer: fine) {
  .nav-item:not(.nav-item--active):not(.nav-item--contact):hover,
  .nav-item-wrap:hover > .nav-item:not(.nav-item--active):not(.nav-item--contact),
  .nav-item-wrap.is-open > .nav-item:not(.nav-item--active):not(.nav-item--contact) {
    color: #a4815a;
  }
}

.nav-item--contact {
  background: #a4815a;
  color: #fff;
  border-right: 0;
}

.nav-icon {
  width: 0.3rem;
  height: 0.3rem;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -o-object-fit: contain;
  object-fit: contain;
}

.nav-label {
  font-size: 0.14rem;
  font-weight: 500;
  line-height: 0.14rem;
  letter-spacing: 0.02rem;
  text-align: center;
  white-space: nowrap;
}

.nav-label--sm {
  font-size: 0.138rem;
}

.nav-item-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  min-width: 1.2rem;
  height: 100%;
}

.nav-item-wrap .nav-item {
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  width: 100%;
  min-width: 0;
}

.nav.is-mega-open {
  overflow: visible;
}

.mega-menu {
  display: none;
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  z-index: 30;
  background: #fff;
  border-top: 1px solid #eaeaea;
  -webkit-box-shadow: 0 0.04rem 0.02rem rgba(0, 0, 0, 0.25);
  box-shadow: 0 0.04rem 0.02rem rgba(0, 0, 0, 0.25);
}

.nav-item-wrap.is-open .mega-menu {
  display: block;
}

.mega-inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  padding: 0.16rem;
}

.mega-cats-title {
  height: 0.44rem;
  padding: 0.1rem 0.2rem;
  font-size: 0.14rem;
  font-weight: 700;
  line-height: 0.24rem;
  color: #000;
}

.mega-cat-list {
  margin-top: 0.1rem;
}

.mega-cat {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  height: 0.54rem;
  padding: 0 0.2rem 0 0.21rem;
  gap: 0.2rem;
  border: 0;
  border-bottom: 1px solid #eaeaea;
  background: #fff;
  color: #000;
  font-family: inherit;
  font-size: 0.14rem;
  font-weight: 300;
  line-height: 1.2;
  text-align: left;
  cursor: pointer;
}

.mega-cat.is-active {
  background: #f6f6f6;
}

.mega-cat img {
  width: 0.12rem;
  height: 0.12rem;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.mega-panels {
  margin-top: 0.24rem;
}

.mega-panel-title {
  margin-bottom: 0.24rem;
  font-size: 0.14rem;
  font-weight: 500;
  color: #000;
}

.mega-grid {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.mega-item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  height: 0.83rem;
  gap: 0.17rem;
  border-bottom: 1px solid #eaeaea;
  color: #000;
}

.mega-item-img {
  width: 0.6rem;
  height: 0.4rem;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -o-object-fit: cover;
  object-fit: cover;
}

.mega-item span {
  font-size: 0.14rem;
  font-weight: 400;
  line-height: 0.12rem;
  letter-spacing: 0.012rem;
}

/* ---------- Hero ---------- */
.hero {
  position: relative;
  width: 100%;
  max-width: 14.4rem;
  margin: 0 auto;
}

.hero-swiper {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.hero-swiper .swiper-slide {
  width: 71.25%;
  height: auto;
}

.hero-slide {
  position: relative;
}

.hero-slide-img {
  width: 100%;
  height: auto;
  aspect-ratio: 1026 / 620;
  -o-object-fit: cover;
  object-fit: cover;
  display: block;
}

.hero-slide-overlay--1 {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: -webkit-linear-gradient(left, rgba(175, 120, 90, 0) 0%, rgba(91, 70, 60, 0.5) 100%);
  background: linear-gradient(to left, rgba(175, 120, 90, 0) 0%, rgba(91, 70, 60, 0.5) 100%);
  pointer-events: none;
}

.hero-slide-overlay--3 {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: -webkit-linear-gradient(top, rgba(163, 107, 79, 0.1) 0%, rgba(175, 120, 90, 0) 33.173%);
  background: linear-gradient(to bottom, rgba(163, 107, 79, 0.1) 0%, rgba(175, 120, 90, 0) 33.173%);
  pointer-events: none;
}

.hero-copy {
  position: absolute;
  z-index: 2;
  font-family: "Noto Serif JP", serif;
}

.hero-copy--1 {
  right: 0.16rem;
  top: 0.4rem;
  color: #fff;
  text-shadow: 0 0.04rem 0.1rem rgba(0, 0, 0, 0.5);
  writing-mode: vertical-rl;
  -webkit-writing-mode: vertical-rl;
}

.hero-copy-yume {
  font-size: 0.72rem;
  font-weight: 500;
  color: #cfeaff;
  letter-spacing: 0.012rem;
  line-height: 0.4rem;
}

.hero-copy-v1,
.hero-copy-v2 {
  font-size: 0.28rem;
  font-weight: 500;
  letter-spacing: 0.012rem;
  line-height: 0.4rem;
}

.hero-copy--2 {
  left: 50%;
  top: 50%;
  width: 90%;
  max-width: 5.43rem;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  text-align: center;
  color: #fff;
  text-shadow: 0 0.02rem 0.1rem #723517;
}

.hero-copy-wa {
  font-size: 0.72rem;
  font-weight: 500;
  color: #e9ffcc;
  letter-spacing: 0.012rem;
  line-height: 0.6rem;
}

.hero-copy-line {
  font-size: 0.28rem;
  font-weight: 600;
  letter-spacing: 0.012rem;
  line-height: 0.6rem;
}

.hero-copy--3 {
  left: 0.16rem;
  top: 0.6rem;
  color: #000;
  text-shadow: 0 0 0.08rem #fff, 0 0 0.08rem #fff, 0 0 0.08rem #fff;
}

.hero-copy-shin {
  font-size: 0.72rem;
  font-weight: 500;
  color: #bf987c;
  letter-spacing: 0.012rem;
  line-height: 0.5rem;
}

.hero-copy-line3 {
  font-size: 0.28rem;
  font-weight: 500;
  letter-spacing: 0.012rem;
  line-height: 0.5rem;
}

.hero-arrow {
  position: absolute;
  top: 50%;
  z-index: 3;
  width: 0.48rem;
  height: 0.48rem;
  margin-top: 0;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

.hero-arrow::after {
  content: none;
  display: none;
}

.hero-arrow img {
  width: 100%;
  height: 100%;
}

.hero-arrow--prev {
  left: 0;
}

.hero-arrow--next {
  right: 0;
}

.hero-arrow--next img {
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}

.hero-dots {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 0.32rem;
  padding: 0.18rem 0 0.2rem;
  position: static;
  width: auto;
}

.hero-dot {
  width: 0.07rem;
  height: 0.07rem;
  margin: 0;
  opacity: 1;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  background: #d9d9d9;
}

.hero-dot.is-active {
  background: #d2b083;
  opacity: 1;
}

/* ---------- Page body ---------- */
.page {
  width: 100%;
  max-width: 14.4rem;
  margin: 0 auto;
  padding: 0 0.16rem 0.6rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.4rem;
}

.sidebar {
  width: 100%;
}

.side-group + .side-group,
.calendar-block {
  margin-top: 0.24rem;
}

.side-title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  height: 0.44rem;
  padding: 0.1rem 0.2rem;
  color: #fff;
  font-size: 0.14rem;
  font-weight: 700;
  background-color: #a4815a;
  background-image: -webkit-linear-gradient(left, rgba(211, 177, 132, 0) 0%, rgb(211, 177, 132) 99.99%, rgba(213, 179, 134, 0) 100%);
  background-image: linear-gradient(90deg, rgba(211, 177, 132, 0) 0%, rgb(211, 177, 132) 99.99%, rgba(213, 179, 134, 0) 100%);
}

.side-title--center {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-family: Inter, "Noto Sans JP", sans-serif;
  font-size: 0.13653rem;
  letter-spacing: 0.010239rem;
}

.side-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}

.side-link {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  height: 0.54rem;
  padding: 0 0.21rem;
  border-bottom: 1px solid #c4c4c4;
  background: #fff;
  color: #000;
  font-size: 0.14rem;
  font-weight: 400;
  -webkit-transition: background-color 0.15s ease;
  transition: background-color 0.15s ease;
}

.side-link:hover {
  background: #faf6f0;
}

.side-link img {
  width: 0.12rem;
  height: 0.12rem;
  margin-right: 0.2rem;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.side-link.is-active {
  background: #faf6f0;
}

.calendar-block {
  background: #f3efe9;
  font-size: 0;
}

.calendar {
  width: 100%;
  padding: 0.0853rem 0.0683rem;
  border: 0.655px solid #d9d9d9;
  background: #fff;
  margin: 0 auto;
}

.calendar-head {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding: 0 0.04rem 0.08rem;
}

.calendar-nav {
  width: 0.24rem;
  height: 0.24rem;
}

.calendar-nav img {
  width: 0.12rem;
  height: 0.12rem;
}

.calendar-nav-prev {
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}

.calendar-month {
  font-family: Inter, "Noto Sans JP", sans-serif;
  font-size: 0.10836rem;
  color: #000;
}

.calendar-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

.calendar-table th {
  font-family: Inter, sans-serif;
  font-size: 0.08127rem;
  font-weight: 400;
  color: #757575;
  line-height: 0.13545rem;
  text-align: center;
  padding: 0.02rem 0;
}

.calendar-table td {
  text-align: center;
  padding: 0.01rem;
}

.calendar-table td span {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 0.2709rem;
  height: 0.2709rem;
  font-family: Inter, sans-serif;
  font-size: 0.10836rem;
  color: #1e1e1e;
}

.calendar-table .is-active {
  background: #1e1e1e;
  color: #fff;
  -webkit-border-radius: 0.04rem;
  border-radius: 0.04rem;
}

.calendar-table .is-range {
  background: #f5f5f5;
}

.calendar-table .is-holiday {
  background: #ffdddd;
}

.calendar-table .is-muted {
  color: #b3b3b3;
}

.calendar-note {
  padding: 0.12rem 0.16rem 0;
  font-size: 0.12rem;
  line-height: 1.6;
  color: #666;
  text-align: center;
}

/* ---------- Main ---------- */
.main {
  width: 100%;
  min-width: 0;
}

.section-head {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-bottom: 0.32rem;
}

.section-title {
  font-size: 0.28rem;
  font-weight: 700;
  letter-spacing: 0.012rem;
  line-height: 1.2;
  text-align: center;
  color: #000;
}

.section-title--left {
  text-align: left;
}

.pager {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.06rem;
}

.pager-btn {
  position: static;
  width: 0.29rem;
  height: 0.3rem;
  margin-top: 0;
  left: auto;
  right: auto;
  top: auto;
}

.pager-btn::after {
  content: none;
  display: none;
}

.pager-btn img {
  width: 0.29rem;
  height: 0.3rem;
}

.pager-btn-next {
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}

.product-swiper {
  width: 100%;
  min-width: 0;
  overflow: hidden;
}

.product-list {
  list-style: none;
}

.product-card {
  height: auto;
}

.product-card a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.17rem;
}

.product-card-top {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.09rem;
  width: 100%;
}

.product-card-img {
  width: 100%;
  aspect-ratio: 1 / 1;
  height: auto;
  -o-object-fit: cover;
  object-fit: cover;
}

.product-card-name {
  font-size: 0.16rem;
  line-height: 0.2rem;
  letter-spacing: 0.012rem;
  color: #000;
}

.product-card-price {
  letter-spacing: 0.01rem;
}

.product-card-price .price {
  font-size: 0.16rem;
  font-weight: 700;
  line-height: 0.2rem;
}

.product-card-price .tax {
  font-size: 0.1rem;
  font-weight: 700;
  line-height: 0.2rem;
}

.section-new {
  margin-top: 0.08rem;
}

.section-ranking {
  margin-top: 0.4rem;
  padding: 0.32rem 0.16rem;
  background: rgba(244, 234, 221, 0.3);
}

.ranking-intro {
  margin-bottom: 0.24rem;
}

.ranking-desc {
  margin: 0.2rem 0 0.24rem;
  font-size: 0.16rem;
  line-height: 0.25rem;
  letter-spacing: 0.012rem;
  max-width: 1.71rem;
}

.product-card--rank a {
  gap: 0;
}

.product-card-info {
  background: rgba(255, 255, 255, 0.8);
  padding: 0 0.1rem;
  min-height: 0.87rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 0.17rem;
}

/* ---------- Lifestyle ---------- */
.section-life {
  margin-top: 0.48rem;
  padding: 0;
  background: none;
}

.section-life .section-title {
  margin-bottom: 0.32rem;
}

.life-panel {
  padding: 0.2rem 0 0.4rem;
  background: -webkit-linear-gradient(top, #fcf9f5 0%, #fff 50.962%);
  background: linear-gradient(to bottom, #fcf9f5 0%, #fff 50.962%);
}

.life-en {
  font-size: 0.4rem;
  font-weight: 700;
  letter-spacing: 0.012rem;
  line-height: 1.2;
  text-align: left;
  color: #000;
  margin: 0 0 0.16rem;
}

.life-lead {
  font-size: 0.16rem;
  line-height: 0.25rem;
  letter-spacing: 0.012rem;
  color: #000;
  margin: 0 0 0.4rem;
  text-align: left;
}

.feature-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 0.2rem;
}

.feature-card {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 calc(50% - 0.1rem);
  -ms-flex: 0 0 calc(50% - 0.1rem);
  flex: 0 0 calc(50% - 0.1rem);
  width: calc(50% - 0.1rem);
  min-width: 0;
}

.feature-card a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
  gap: 0.113rem;
}

.feature-kicker {
  font-family: Inter, sans-serif;
  font-weight: 100;
  font-size: 0.114rem;
  letter-spacing: 0.0192rem;
  color: #a4815a;
  line-height: 0.12rem;
}

.feature-img {
  width: 100%;
  height: auto;
  aspect-ratio: 216 / 217.6;
  -o-object-fit: cover;
  object-fit: cover;
  display: block;
}

.feature-card:nth-child(3) .feature-img {
  -o-object-position: 18% center;
  object-position: 18% center;
}

.feature-title {
  padding-top: 0.147rem;
  margin: 0;
  font-size: 0.163rem;
  font-weight: 400;
  letter-spacing: 0.01rem;
  line-height: 0.289rem;
  color: #333;
}

.feature-title--wide {
  letter-spacing: 0.0204rem;
}

.feature-text {
  font-size: 0.131rem;
  line-height: 0.273rem;
  letter-spacing: 0.01rem;
  color: #666;
}

.feature-text--tight {
  letter-spacing: 0.0084rem;
}

.more-btn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 1.39rem;
  height: 0.47rem;
  margin: 0.4rem auto 0;
  border: 1px solid #000;
  font-size: 0.16rem;
  line-height: 0.25rem;
  letter-spacing: 0.012rem;
}

/* ---------- About ---------- */
.section-about {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.32rem;
  margin-top: 0.4rem;
}

.about-photos {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.13475rem;
  width: 100%;
}

.about-photo {
  width: 100%;
  overflow: hidden;
}

.about-photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.about-photo--1 {
  height: 2.4rem;
}

.about-photo--1 img {
  -o-object-position: center 30%;
  object-position: center 30%;
}

.about-photo--2 {
  height: 2.2rem;
}

.about-kicker {
  font-family: Inter, sans-serif;
  font-weight: 300;
  font-size: 0.12127rem;
  letter-spacing: 0.015092rem;
  text-transform: uppercase;
  color: #a4815a;
  line-height: 0.12577rem;
  margin-bottom: 0.18214rem;
}

.about-title {
  font-size: 0.2rem;
  font-weight: 400;
  letter-spacing: 0.04rem;
  line-height: 0.41234rem;
  color: #494949;
  margin-bottom: 0.14823rem;
}

.about-text {
  padding-top: 0.10331rem;
  font-size: 0.14rem;
  line-height: 0.31666rem;
  letter-spacing: 0.01rem;
  color: #666;
}

.about-text p + p {
  margin-top: 0.31666rem;
}

.about-actions {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 0.16rem;
  padding-top: 0.32rem;
}

.about-btn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
  max-width: 2.14rem;
  height: 0.54rem;
  font-size: 0.12038rem;
  letter-spacing: 0.018865rem;
  color: #fff;
}

.about-btn--gold {
  background: #a8895e;
}

.about-btn--dark {
  background: #000;
}

/* ---------- Footer ---------- */
.footer {
  width: 100%;
  background-color: #a4815a;
  background-image: -webkit-linear-gradient(left, rgba(213, 179, 134, 0) 0%, rgb(211, 177, 132) 49.038%, rgba(211, 177, 132, 0) 100%);
  background-image: linear-gradient(90deg, rgba(213, 179, 134, 0) 0%, rgb(211, 177, 132) 49.038%, rgba(211, 177, 132, 0) 100%);
  color: #fff;
}

.footer-inner {
  width: 100%;
  max-width: 14.4rem;
  margin: 0 auto;
  padding: 0.48rem 0.16rem 0.24rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.4rem;
}

.footer-logo {
  width: 2.23rem;
  height: 0.4rem;
  -o-object-fit: contain;
  object-fit: contain;
}

.footer-nav {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 0.24rem 0.28rem;
}

.footer-nav a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.11rem;
  font-size: 0.16rem;
  font-weight: 500;
  letter-spacing: 0.021rem;
  line-height: 0.3rem;
  color: #fff;
}

.footer-icon {
  width: 0.34rem;
  height: 0.34rem;
  max-width: 0.34rem;
  max-height: 0.34rem;
  -o-object-fit: contain;
  object-fit: contain;
  -o-object-position: center;
  object-position: center;
}

.footer-icon-box {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 0.34rem;
  height: 0.34rem;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.footer-label {
  display: block;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .footer-inner {
    padding: 0.48rem 0.32rem 0.24rem;
    gap: 0.4rem;
  }

  .footer-logo {
    width: 2.23rem;
    height: 0.4rem;
    -o-object-fit: contain;
    object-fit: contain;
  }

  .footer-sns {
    display: none;
  }

  .footer-nav {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    row-gap: 0.28rem;
    column-gap: 0;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    -webkit-flex-wrap: unset;
    -ms-flex-wrap: unset;
    flex-wrap: unset;
    -webkit-box-pack: unset;
    -webkit-justify-content: unset;
    -ms-flex-pack: unset;
    justify-content: unset;
    gap: 0.28rem 0;
  }

  .footer-nav li {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    min-width: 0;
  }

  .footer-nav a {
    width: 100%;
    max-width: none;
    gap: 0.11rem;
    line-height: 1;
  }

  .footer-label {
    width: 100%;
    font-size: 0.14rem;
    font-weight: 500;
    letter-spacing: 0.021rem;
    line-height: 0.14rem;
    text-align: center;
    white-space: nowrap;
  }
}

.footer-sns {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.footer-sns a {
  display: block;
  padding: 0.12rem;
}

.footer-sns img {
  width: 0.52rem;
  height: 0.52rem;
}

.footer-bottom {
  width: 100%;
  max-width: 14.4rem;
  margin: 0 auto;
  padding: 0.12rem 0.16rem 0.2rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.12rem;
}

.footer-copy {
  font-size: 0.12rem;
  letter-spacing: 0.01rem;
  line-height: 0.31666rem;
}

.footer-legal {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 0.16rem 0.28rem;
  font-size: 0.12rem;
  font-weight: 500;
  letter-spacing: 0.021rem;
  line-height: 0.3rem;
}

/* ---------- 商品一覧 ---------- */
.crumb {
  width: 100%;
  max-width: 14.4rem;
  margin: 0 auto;
  height: 0.38rem;
  padding: 0 0.16rem;
  background: #fff;
}

.crumb-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  height: 100%;
  gap: 0.14rem;
}

.crumb a,
.crumb span {
  font-size: 0.1rem;
  line-height: 1;
  color: #777;
}

.crumb img {
  width: 0.1rem;
  height: 0.1rem;
  display: block;
}

.page--list .catalog {
  -webkit-box-ordinal-group: 0;
  -webkit-order: -1;
  -ms-flex-order: -1;
  order: -1;
  min-width: 0;
}

.list-head {
  text-align: center;
  margin-bottom: 0.32rem;
}

.list-title {
  font-size: 0.24rem;
  font-weight: 700;
  line-height: 0.3rem;
  letter-spacing: 0.01rem;
}

.list-en {
  margin-top: 0.12rem;
  font-size: 0.16rem;
  font-weight: 400;
  line-height: 0.3rem;
  letter-spacing: 0.01rem;
}

.list-lead {
  margin-top: 0.16rem;
  font-size: 0.16rem;
  font-weight: 400;
  line-height: 0.3rem;
  letter-spacing: 0.01rem;
  color: #777;
}

.list-toolbar {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-bottom: 0.16rem;
}

.list-count {
  letter-spacing: 0.01rem;
  color: #000;
}

.list-count-label {
  font-size: 0.14rem;
  font-weight: 400;
  line-height: 0.3rem;
}

.list-count-num {
  font-size: 0.2rem;
  font-weight: 700;
  line-height: 0.3rem;
}

.list-sort {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.02rem;
  font-size: 0.14rem;
  letter-spacing: 0.01rem;
  line-height: 0.3rem;
  color: #000;
}

.list-sort-arrows {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.02rem;
  height: 0.14rem;
}

.list-sort-arrows img {
  width: 0.07rem;
  height: 0.16rem;
  display: block;
  opacity: 0.25;
}

.list-sort.is-asc .list-sort-arrows img:last-child,
.list-sort.is-desc .list-sort-up {
  opacity: 1;
}

.list-sort-up {
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}

.list-grid {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 0.24rem 0.12rem;
}

.list-card {
  width: calc(50% - 0.06rem);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.15rem;
}

.list-card-body {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.15rem;
}

.list-card-media {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.list-card-media .swiper-slide {
  height: auto;
}

.list-card-media .swiper-slide a {
  display: block;
}

.list-card-img {
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  -o-object-fit: cover;
  object-fit: cover;
  display: block;
}

.list-card-arrow {
  position: absolute;
  top: 50%;
  left: 0;
  z-index: 2;
  width: 0.25rem;
  height: 0.25rem;
  margin-top: -0.125rem;
  display: block;
  opacity: 0;
}

.list-card-arrow img {
  width: 100%;
  height: 100%;
  display: block;
}

.list-card-arrow--next {
  left: auto;
  right: 0;
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}

.list-card:hover .list-card-arrow,
.list-card:focus-within .list-card-arrow {
  opacity: 1;
}

@media (hover: none) {
  .list-card-arrow {
    opacity: 1;
  }
}

.list-card-line {
  display: block;
  width: 100%;
  height: 1px;
  background: #eaeaea;
}

.list-card-line span {
  display: block;
  width: 100%;
  height: 1px;
  background: #000;
  -webkit-transform: translateX(0);
  transform: translateX(0);
  -webkit-transition: -webkit-transform 0.3s ease, width 0.3s ease;
  transition: transform 0.3s ease, width 0.3s ease;
}

.list-card-info {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.03rem;
}

.list-card-tag {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 1rem;
  height: 0.22rem;
  background: #faf6f0;
  font-size: 0.14rem;
  letter-spacing: 0.01rem;
  text-align: center;
}

.list-card-name {
  font-size: 0.14rem;
  font-weight: 500;
  line-height: 0.3rem;
  letter-spacing: 0.01rem;
}

.list-card-price {
  font-size: 0.12rem;
  font-weight: 500;
  line-height: 0.3rem;
  letter-spacing: 0.01rem;
}

.list-card-price b {
  font-size: 0.2rem;
  font-weight: 700;
  line-height: 0.3rem;
}

.list-pager {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 0.08rem;
  margin-top: 0.4rem;
}

.list-pager-btn {
  width: 0.52rem;
  height: 0.22rem;
}

.list-pager-btn img {
  width: 0.52rem;
  height: 0.22rem;
  display: block;
}

.list-pager-next img {
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}

.list-pager-pages {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.list-pager-num {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 0.4rem;
  height: 0.22rem;
  border-left: 1px solid #c4c4c4;
  border-right: 1px solid #c4c4c4;
  font-size: 0.14rem;
  font-weight: 500;
  line-height: 0.2rem;
  color: #b9b9b9;
  text-align: center;
}

.list-pager-num + .list-pager-num {
  margin-left: -1px;
}

.list-pager-num.is-active {
  color: #a4815a;
  text-decoration: underline;
}

/* ---------- 商品详情 ---------- */
.page--detail .detail {
  -webkit-box-ordinal-group: 0;
  -webkit-order: -1;
  -ms-flex-order: -1;
  order: -1;
  min-width: 0;
}

.detail-top {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.32rem;
}

.detail-gallery {
  width: 100%;
}

.detail-hero {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.detail-hero .swiper-slide {
  width: 100%;
  height: auto;
}

.detail-hero-img {
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  -o-object-fit: cover;
  object-fit: cover;
  display: block;
}

.detail-hero-arrow {
  position: absolute;
  top: 50%;
  left: 0;
  z-index: 2;
  width: 0.6rem;
  height: 0.6rem;
  margin-top: -0.3rem;
}

.detail-hero-arrow img {
  width: 0.6rem;
  height: 0.6rem;
  display: block;
}

.detail-hero-next {
  left: auto;
  right: 0;
}

.detail-hero-next img {
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}

.detail-thumbs {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.13rem;
  margin-top: 0.18rem;
}

.detail-thumbs-btn {
  display: block;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 0.25rem;
  height: 0.25rem;
}

.detail-thumbs-btn img {
  width: 0.25rem;
  height: 0.25rem;
  display: block;
}

.detail-thumbs-next img {
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}

.detail-thumbs-swiper {
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
}

.detail-thumbs-swiper .swiper-slide {
  height: auto;
  cursor: pointer;
  overflow: hidden;
}

.detail-thumbs-swiper img {
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  -o-object-fit: cover;
  object-fit: cover;
  display: block;
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
  -webkit-filter: brightness(1);
  filter: brightness(1);
  -webkit-transition: -webkit-transform 0.25s ease, -webkit-filter 0.25s ease;
  transition: transform 0.25s ease, filter 0.25s ease;
}

.detail-thumbs-swiper .swiper-slide:hover img {
  -webkit-transform: scale(1.08);
  -ms-transform: scale(1.08);
  transform: scale(1.08);
  -webkit-filter: brightness(1.15);
  filter: brightness(1.15);
}

.detail-thumbs-btn.swiper-button-disabled,
.detail-thumbs-btn.swiper-button-lock {
  display: block;
  opacity: 1;
  pointer-events: auto;
  cursor: pointer;
}

.detail-buy {
  width: 100%;
}

.detail-buy-head {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.16rem;
  margin-bottom: 0.33rem;
}

.detail-name {
  font-size: 0.2rem;
  font-weight: 500;
  line-height: 0.3rem;
  letter-spacing: 0.01rem;
}

.detail-price {
  font-size: 0.16rem;
  font-weight: 500;
  line-height: 0.3rem;
  letter-spacing: 0.01rem;
}

.detail-price b {
  font-size: 0.28rem;
  font-weight: 700;
  line-height: 0.3rem;
}

.detail-spec-label,
.detail-qty-label {
  font-size: 0.16rem;
  font-weight: 500;
  line-height: 0.3rem;
  letter-spacing: 0.01rem;
}

.detail-spec-box {
  position: relative;
  margin-top: 0.07rem;
}

.detail-spec-row {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}

.detail-spec-trigger {
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  min-width: 0;
  height: 0.56rem;
  padding: 0 0.11rem;
  border: 1px solid #d9d9d9;
  background: #f6f6f6;
  font-size: 0.16rem;
  font-weight: 500;
  letter-spacing: 0.01rem;
  color: #b9b9b9;
  text-align: left;
}

.detail-spec-trigger.is-picked {
  color: #000;
}

.detail-spec-add {
  width: 0.56rem;
  height: 0.56rem;
  border: 1px solid #d9d9d9;
  background: #f6f6f6;
  color: #777;
  font-size: 0.2rem;
  font-weight: 500;
  letter-spacing: 0.01rem;
  line-height: 1;
}

.detail-spec-list {
  display: none;
  position: absolute;
  left: 0;
  top: 0.56rem;
  z-index: 5;
  width: calc(100% - 0.56rem);
  -webkit-box-shadow: 0 0.04rem 0.02rem rgba(0, 0, 0, 0.25);
  box-shadow: 0 0.04rem 0.02rem rgba(0, 0, 0, 0.25);
}

.detail-spec-box.is-open .detail-spec-list {
  display: block;
}

.detail-spec-opt {
  display: block;
  width: 100%;
  padding: 0.1rem;
  border: 0;
  background: #fff;
  color: #000;
  font-size: 0.16rem;
  font-weight: 500;
  letter-spacing: 0.01rem;
  line-height: 0.3rem;
  text-align: left;
}

.detail-spec-opt.is-active {
  background: #eaeaea;
  color: #000;
}

.detail-qty {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-top: 0.33rem;
}

.detail-qty-ctrl {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 2.03rem;
}

.detail-qty-btn,
.detail-qty-num {
  height: 0.56rem;
  border: 1px solid #d9d9d9;
  background: #f6f6f6;
  font-weight: 500;
  letter-spacing: 0.01rem;
}

.detail-qty-btn {
  width: 0.56rem;
  color: #777;
  font-size: 0.2rem;
}

.detail-qty-minus {
  font-size: 0.15rem;
}

.detail-qty-num {
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  width: 0.91rem;
  min-width: 0;
  padding: 0;
  font-size: 0.2rem;
  color: #000;
  text-align: center;
  outline: none;
}

.detail-qty-num::-webkit-outer-spin-button,
.detail-qty-num::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.detail-qty-num[type="number"] {
  -moz-appearance: textfield;
  appearance: textfield;
}

.detail-cart {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
  height: 0.54rem;
  margin-top: 0.33rem;
  border: 0;
  background-color: #a8895e;
  background-image: -webkit-linear-gradient(left, rgba(196, 168, 125, 0.2) 0%, rgba(196, 168, 125, 0) 100%);
  background-image: linear-gradient(90deg, rgba(196, 168, 125, 0.2) 0%, rgba(196, 168, 125, 0) 100%);
  color: #fff;
  font-family: inherit;
  font-size: 0.16rem;
  font-weight: 500;
  letter-spacing: 0.02rem;
  line-height: 0.31666rem;
  cursor: pointer;
}

.detail-cart:disabled,
.detail-cart.is-soldout {
  background-color: #bdbdbd;
  background-image: none;
  color: #fff;
  cursor: default;
  pointer-events: none;
}

.detail-info {
  margin-top: 0.48rem;
  padding-top: 0.33rem;
  border-top: 1px solid #eaeaea;
}

.detail-copy + .detail-copy {
  margin-top: 0.31rem;
}

.detail-copy-title {
  font-size: 0.14rem;
  font-weight: 700;
  line-height: 0.25rem;
}

.detail-copy-text,
.detail-copy-list {
  font-size: 0.14rem;
  font-weight: 400;
  line-height: 0.25rem;
}

.detail-copy-list {
  list-style: disc;
  padding-left: 1.5em;
}

.detail-spec-title {
  margin-top: 0.33rem;
  margin-bottom: 0.33rem;
  font-size: 0.14rem;
  font-weight: 700;
  line-height: 0.25rem;
}

.detail-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

.detail-table th,
.detail-table td {
  padding: 0.1rem;
  border: 1px solid #c4c4c4;
  font-size: 0.14rem;
  font-weight: 400;
  line-height: 0.25rem;
  text-align: left;
  vertical-align: middle;
}

.detail-table th {
  width: 1.3rem;
  background: #f6f6f6;
}

.detail-table td {
  background: #fff;
}

.detail-related {
  margin-top: 0.64rem;
}

.detail-related .section-title {
  margin-bottom: 0.4rem;
}

/* ---------- 公共弹窗 ---------- */
.modal {
  display: none;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 100;
  width: 100%;
  height: 100%;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 0.16rem;
  background: rgba(0, 0, 0, 0.45);
}

.modal.is-open {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.modal-dialog {
  width: 100%;
  max-width: 6.9rem;
  min-height: 2.71rem;
  overflow: hidden;
  background: #fff;
  border: 1px solid #f5f7fa;
  -webkit-border-radius: 0.08rem;
  border-radius: 0.08rem;
  -webkit-box-shadow: 0 0.08rem 0.24rem rgba(0, 0, 0, 0.15);
  box-shadow: 0 0.08rem 0.24rem rgba(0, 0, 0, 0.15);
}

.modal-head {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  height: 0.56rem;
  background-color: #a4815a;
  background-image: -webkit-linear-gradient(left, rgba(213, 179, 134, 0) 0%, rgb(211, 177, 132) 49.038%, rgba(213, 179, 134, 0) 100%);
  background-image: linear-gradient(90deg, rgba(213, 179, 134, 0) 0%, rgb(211, 177, 132) 49.038%, rgba(213, 179, 134, 0) 100%);
}

.modal-title {
  color: #fff;
  font-size: 0.22rem;
  font-weight: 500;
  line-height: 0.264rem;
  text-align: center;
}

.modal-text {
  padding: 0.48rem 0.24rem 0.4rem;
  color: #333;
  font-size: 0.16rem;
  font-weight: 500;
  line-height: 0.32rem;
  text-align: center;
}

.modal-actions {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 0.22rem;
  padding: 0 0.24rem 0.37rem;
}

.modal-btn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 2.12rem;
  max-width: 48%;
  height: 0.54rem;
  color: #fff;
  font-size: 0.16rem;
  font-weight: 500;
  line-height: 0.32rem;
  text-align: center;
}

.modal-btn--gold {
  background: #a4815a;
}

.modal-btn--gray {
  background: #b9b9b9;
}

.modal-head--error {
  background-color: #a04444;
  background-image: none;
}

.modal-head--plain .modal-title {
  visibility: hidden;
}

.modal-btn--error {
  background: #a04444;
}

/* ---------- カート ---------- */
.page--cart .cart {
  -webkit-box-ordinal-group: 0;
  -webkit-order: -1;
  -ms-flex-order: -1;
  order: -1;
  min-width: 0;
}

.cart-title {
  font-size: 0.24rem;
  font-weight: 700;
  line-height: 0.3rem;
  letter-spacing: 0.01rem;
  text-align: center;
  margin-bottom: 0.32rem;
}

.cart-table {
  width: 100%;
}

.cart-head {
  display: none;
}

.cart-row {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.16rem;
  padding: 0.24rem 0.16rem;
  background: #fbfbfb;
  border: 1px solid #d9d9d9;
}

.cart-row + .cart-row {
  border-top: 0;
}

.cart-col--info {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.16rem;
}

.cart-thumb {
  display: block;
  width: 1.1rem;
  height: 1.1rem;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  background: #d9d9d9;
  overflow: hidden;
}

.cart-thumb img {
  width: 1.1rem;
  height: 1.1rem;
  -o-object-fit: cover;
  object-fit: cover;
}

.cart-meta {
  min-width: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.15rem;
}

.cart-tag {
  font-size: 0.12rem;
}

.cart-name {
  font-size: 0.16rem;
  font-weight: 500;
  line-height: 0.3rem;
}

.cart-name a {
  color: inherit;
}

.cart-spec {
  font-size: 0.14rem;
  font-weight: 400;
  line-height: 0.2rem;
  color: #777;
}

.cart-col--qty {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.cart-qty {
  width: 2.03rem;
}

.cart-col--price {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.16rem;
}

.cart-line {
  font-size: 0.2rem;
  font-weight: 500;
  line-height: 0.3rem;
  text-align: center;
  white-space: nowrap;
}

.cart-del {
  width: 0.64rem;
  height: 0.27rem;
  border: 1px solid #777;
  background: #ededed;
  color: #666;
  font-size: 0.14rem;
  font-weight: 500;
  line-height: 0.15rem;
}

@media screen and (max-width: 767px) {
  .page--cart .cart-row {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-areas:
      "info info"
      "qty price";
    gap: 0.12rem 0.16rem;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 0.16rem;
  }

  .page--cart .cart-col--info {
    grid-area: info;
    width: auto;
    -webkit-box-flex: unset;
    -webkit-flex: unset;
    -ms-flex: unset;
    flex: unset;
  }

  .page--cart .cart-col--qty {
    grid-area: qty;
    -webkit-box-flex: unset;
    -webkit-flex: unset;
    -ms-flex: unset;
    flex: unset;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }

  .page--cart .cart-col--price {
    grid-area: price;
    -webkit-box-flex: unset;
    -webkit-flex: unset;
    -ms-flex: unset;
    flex: unset;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    gap: 0.16rem;
    min-width: 0;
  }

  .page--cart .cart-qty.detail-qty-ctrl,
  .page--cart .cart-qty {
    width: 1.28rem;
  }

  .page--cart .cart-qty .detail-qty-btn,
  .page--cart .cart-qty .detail-qty-num {
    height: 0.32rem;
    font-size: 0.14rem;
  }

  .page--cart .cart-qty .detail-qty-btn {
    width: 0.32rem;
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 0.32rem;
    -ms-flex: 0 0 0.32rem;
    flex: 0 0 0.32rem;
  }

  .page--cart .cart-qty .detail-qty-minus {
    font-size: 0.11rem;
  }

  .page--cart .cart-qty .detail-qty-num {
    width: 0.48rem;
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 0.48rem;
    -ms-flex: 0 0 0.48rem;
    flex: 0 0 0.48rem;
  }

  .page--cart .cart-line {
    font-size: 0.18rem;
    font-weight: 700;
  }

  .page--cart .cart-del {
    width: 0.56rem;
    height: 0.24rem;
    font-size: 0.12rem;
  }

  .pay-table .cart-row,
  .od-table .cart-row {
    display: grid;
    grid-template-columns: 1.1rem minmax(0, 1fr);
    grid-template-areas:
      "info info"
      ". qty"
      ". price";
    row-gap: 0.04rem;
    column-gap: 0.16rem;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 0.16rem;
    background: #fff;
    border: 1px solid #d9d9d9;
  }

  .pay-table .cart-col--info,
  .od-table .cart-col--info {
    grid-area: info;
    width: auto;
    -webkit-box-flex: unset;
    -webkit-flex: unset;
    -ms-flex: unset;
    flex: unset;
  }

  .pay-table .cart-col--qty,
  .od-table .cart-col--qty {
    grid-area: qty;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    gap: 0.16rem;
  }

  .pay-table .cart-col--price,
  .od-table .cart-col--price {
    grid-area: price;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    gap: 0.16rem;
  }

  .pay-table .pay-col-label,
  .od-table .pay-col-label {
    display: inline;
    font-size: 0.14rem;
    font-weight: 500;
    color: #777;
    margin-right: 0;
    line-height: 0.3rem;
  }

  .pay-table .pay-qty,
  .od-table .pay-qty {
    font-size: 0.14rem;
    font-weight: 700;
    color: #000;
    letter-spacing: 0.008rem;
    line-height: 0.3rem;
    text-align: left;
  }

  .pay-table .cart-line,
  .od-table .cart-line {
    font-size: 0.2rem;
    font-weight: 700;
    line-height: 0.3rem;
    text-align: left;
  }
}

.cart-foot {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
  -ms-flex-align: end;
  align-items: flex-end;
  gap: 0.2rem;
  padding: 0.24rem 0.16rem;
  background: #fbfbfb;
  border: 1px solid #d9d9d9;
  border-top: 0;
}

.cart-sum {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
  -ms-flex-align: end;
  align-items: flex-end;
  gap: 0.02rem;
  text-align: right;
  white-space: nowrap;
}

.cart-sum-row {
  font-size: 0.12rem;
  font-weight: 400;
  line-height: 0.3rem;
}

.cart-sum-total {
  font-size: 0.16rem;
  font-weight: 500;
  line-height: 0.3rem;
}

.cart-pay {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 2.5rem;
  max-width: 100%;
  height: 0.5rem;
  border-radius: 0.02rem;
  background: #a4815a;
  color: #fff;
  font-size: 0.16rem;
  font-weight: 700;
  letter-spacing: 0.01rem;
  line-height: 0.195rem;
  text-align: center;
}

.cart-empty {
  margin-top: 0.4rem;
  font-size: 0.14rem;
  line-height: 0.3rem;
  text-align: center;
  color: #777;
}

.cart-table[hidden],
.cart-empty[hidden],
.header-cart-count[hidden] {
  display: none !important;
}

/* ---------- お支払い ---------- */
.page--pay .pay {
  -webkit-box-ordinal-group: 0;
  -webkit-order: -1;
  -ms-flex-order: -1;
  order: -1;
  min-width: 0;
}

.pay-table .cart-row,
.pay-foot {
  background: #fff;
}

.pay-foot {
  border-color: #afafaf;
  min-height: 1.2rem;
}

.pay-col-label {
  font-size: 0.12rem;
  color: #777;
  margin-right: 0.08rem;
}

.pay-qty {
  font-size: 0.16rem;
  font-weight: 500;
  letter-spacing: 0.008128rem;
  line-height: 0.24384rem;
  text-align: center;
}

.pay-block {
  width: 100%;
  margin-top: 0.44rem;
}

.pay-block-title {
  margin-bottom: 0.08rem;
  color: #333;
  font-size: 0.2rem;
  font-weight: 500;
  letter-spacing: 0.007rem;
  line-height: 0.32rem;
}

.pay-coupon-note {
  margin: 0 0 0.12rem;
  color: #666;
  font-size: 0.14rem;
  line-height: 1.6;
}

.pay-coupon-box {
  display: flex;
  align-items: center;
  gap: 0.12rem;
  max-width: 5.2rem;
}

.pay-coupon-input {
  flex: 1 1 auto;
  min-width: 0;
}

.pay-coupon-btn {
  flex: 0 0 auto;
  min-width: 0.96rem;
  height: 0.44rem;
  padding: 0 0.16rem;
  border: 0;
  border-radius: 0.04rem;
  background: #333;
  color: #fff;
  font-size: 0.14rem;
  cursor: pointer;
}

.pay-coupon-msg {
  margin: 0.12rem 0 0;
  color: #2f6b4f;
  font-size: 0.14rem;
  line-height: 1.5;
}

.pay-radio {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.09rem;
  margin-bottom: 0.12rem;
  color: #333;
  font-size: 0.16rem;
  letter-spacing: 0.007rem;
  line-height: 1;
  cursor: pointer;
}

.pay-radio input {
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
  width: 0;
  height: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.pay-radio-text {
  line-height: 0.32rem;
}

.pay-radio-ui {
  position: relative;
  display: block;
  width: 0.2rem;
  height: 0.2rem;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  border: 1px solid #4d4d4d;
  border-radius: 0.5rem;
  background: #fff;
}

.pay-radio input:checked + .pay-radio-ui::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 0.12rem;
  height: 0.12rem;
  margin: -0.06rem 0 0 -0.06rem;
  background: #313131;
  border-radius: 0.5rem;
}

.pay-saved {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  width: 100%;
  min-height: 1.94rem;
  margin-bottom: 0.12rem;
  border: 1px solid #cbcbcb;
}

.pay-saved-label {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  width: 100%;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  padding: 0.12rem 0.16rem;
  background: #f6f6f6;
  border-bottom: 1px solid #cbcbcb;
  color: #333;
  font-size: 0.14rem;
  font-weight: 500;
  letter-spacing: 0.007rem;
  line-height: 0.2rem;
}

.pay-saved-body {
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  min-width: 0;
  padding: 0.17rem 0.16rem;
  color: #333;
  font-size: 0.14rem;
  font-weight: 400;
  letter-spacing: 0.007rem;
  line-height: 0.26rem;
  overflow: visible;
  word-break: break-word;
}

.pay-saved-body p {
  margin: 0;
  white-space: normal;
}

.pay-form {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #b8b8b8;
}

.pay-form th,
.pay-form td {
  border-bottom: 1px solid #b8b8b8;
  vertical-align: middle;
}

.pay-form th {
  width: 32%;
  padding: 0.08rem 0.12rem;
  background: #f6f6f6;
  color: #333;
  font-size: 0.14rem;
  font-weight: 700;
  letter-spacing: 0.007rem;
  line-height: 0.224rem;
  text-align: right;
  white-space: nowrap;
}

.pay-form td {
  padding: 0.035rem 0.12rem;
}

.pay-req {
  color: #d70a00;
}

.pay-input,
.pay-select {
  width: 100%;
  max-width: 3.7rem;
  height: 0.34rem;
  padding: 0 0.07rem;
  border: 1px solid #e0e0e0;
  background: #fff;
  color: #000;
  font-size: 0.14rem;
  letter-spacing: 0.007rem;
  line-height: 0.2rem;
  outline: none;
}

.pay-input--wide {
  max-width: 7.22rem;
}

.pay-zip {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.08rem;
  max-width: 3.7rem;
}

.pay-zip-mark {
  color: #000;
  font-size: 0.14rem;
  letter-spacing: 0.007rem;
  line-height: 0.2rem;
}

.pay-zip .pay-input {
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  width: auto;
  max-width: none;
}

.pay-select-wrap {
  position: relative;
  display: block;
  width: 100%;
  max-width: 3.7rem;
}

.pay-select {
  padding-right: 0.28rem;
  color: #aaa;
}

.pay-select:valid,
.pay-select.has-value {
  color: #000;
}

/* .pay-select-wrap::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0.14rem;
  width: 0;
  height: 0;
  margin-top: -0.03rem;
  border-left: 0.06rem solid transparent;
  border-right: 0.06rem solid transparent;
  border-top: 0.06rem solid #333;
  pointer-events: none;
} */

.pay-card {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  width: 100%;
  min-height: 0.53rem;
  border: 1px solid #cbcbcb;
}

.pay-card-label {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  width: 100%;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  padding: 0.08rem 0.12rem;
  background: #f7f7f7;
  border-bottom: 1px solid #cbcbcb;
  color: #333;
  font-size: 0.14rem;
  letter-spacing: 0.007rem;
  line-height: 0.2rem;
  gap: 0.06rem;
}

.pay-must {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 0.32rem;
  height: 0.17rem;
  border-radius: 0.02rem;
  background: #bc261a;
  color: #fff;
  font-size: 0.1rem;
  font-weight: 600;
  letter-spacing: 0.007rem;
  line-height: 0.2rem;
}

.pay-card-body {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  padding: 0.1rem 0.1rem;
  min-width: 0;
}

.pay-card-body .pay-radio {
  margin: 0;
  gap: 0.08rem;
}

.pay-brands {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.pay-brand--amex,
.pay-brand--mc {
  width: 0.3028rem;
  height: 0.30119rem;
}

.pay-brand--mc {
  border-radius: 0.5rem;
  overflow: hidden;
}

.pay-brand--visa {
  width: 0.3005rem;
  height: 0.30119rem;
}

.pay-brand--jcb {
  width: 0.25004rem;
  height: 0.20536rem;
}

.pay-actions {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 0.44rem;
}

/* ---------- 特集一覧 ---------- */
.page--feat .feat {
  -webkit-box-ordinal-group: 0;
  -webkit-order: -1;
  -ms-flex-order: -1;
  order: -1;
  min-width: 0;
}

.feat-filter {
  position: relative;
  width: 100%;
  max-width: 4.05rem;
  height: 0.57rem;
  margin: 0 auto 0.4rem;
  border: 1px solid #c4c4c4;
  background: #fff;
}

.feat-filter select {
  width: 100%;
  height: 100%;
  padding: 0 0.6rem 0 0.26rem;
  border: 0;
  background: transparent;
  color: #777;
  font-size: 0.14rem;
  letter-spacing: 0.01rem;
  line-height: 0.2rem;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.feat-filter-icon {
  position: absolute;
  top: 1px;
  right: 0;
  width: 0.565rem;
  height: 0.56rem;
  pointer-events: none;
}

.feat-grid {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 0.4rem 0.15rem;
}

.feat-card {
  width: calc(50% - 0.08rem);
}

.feat-card a {
  display: block;
}

.feat-card-img {
  width: 100%;
  height: auto;
  aspect-ratio: 290 / 215;
  -o-object-fit: cover;
  object-fit: cover;
  display: block;
}

.feat-card-name {
  margin-top: 0.22rem;
  color: #666;
  font-size: 0.14rem;
  font-weight: 500;
  letter-spacing: 0.01rem;
  line-height: 0.3rem;
}

/* ---------- 特集详情 ---------- */
.page--fa .fa {
  -webkit-box-ordinal-group: 0;
  -webkit-order: -1;
  -ms-flex-order: -1;
  order: -1;
  min-width: 0;
}

.fa-title {
  margin-bottom: 0.32rem;
  color: #404040;
  font-size: 0.24rem;
  font-weight: 700;
  letter-spacing: 0.01rem;
  line-height: 0.3rem;
}

.fa-hero {
  width: 100%;
  margin-bottom: 0.32rem;
}

.fa-hero-img {
  width: 100%;
  height: auto;
  aspect-ratio: 1270 / 630;
  -o-object-fit: cover;
  object-fit: cover;
  display: block;
}

.fa-intro {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.24rem;
  margin-bottom: 0.4rem;
}

.fa-quote {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
  min-height: 1.01rem;
  padding: 0.1rem;
  background-color: #f8f1e7;
  background-image: -webkit-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.7) 100%);
  background-image: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.7) 100%);
  color: #a4815a;
  font-size: 0.18rem;
  font-weight: 500;
  letter-spacing: 0.01rem;
  line-height: 0.3rem;
  text-align: center;
}

.fa-lead {
  color: #757575;
  font-size: 0.16rem;
  font-weight: 500;
  letter-spacing: 0.01rem;
  line-height: 0.3rem;
}

.fa-gallery {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.24rem;
}

.fa-shot--tall {
  width: 100%;
  height: auto;
  aspect-ratio: 557 / 350;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center 35%;
  object-position: center 35%;
  display: block;
}

.fa-gallery-side {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.24rem;
}

.fa-figure {
  width: 100%;
}

.fa-shot--sm {
  width: 100%;
  height: auto;
  aspect-ratio: 286 / 210;
  border-radius: 0.1rem;
  -o-object-fit: cover;
  object-fit: cover;
  display: block;
}

.fa-shot--a {
  -o-object-position: center 72%;
  object-position: center 72%;
}

.fa-shot--b {
  -o-object-position: 82% 78%;
  object-position: 82% 78%;
}

.fa-caption {
  margin-top: 0.17rem;
  color: #757575;
  font-size: 0.16rem;
  font-weight: 500;
  line-height: 0.25rem;
}

.fa-related {
  margin-top: 0.64rem;
  padding: 0.48rem 0 0.56rem;
  background: rgba(244, 234, 221, 0.3);
}

.fa-related .section-title {
  color: #a4815a;
  font-size: 0.24rem;
  letter-spacing: 0.01rem;
  line-height: 0.3rem;
  margin-bottom: 0.4rem;
}

.fa-related .list-grid {
  padding: 0 0.16rem;
}

/* ---------- コンセプト ---------- */
.page--concept .concept {
  -webkit-box-ordinal-group: 0;
  -webkit-order: -2;
  -ms-flex-order: -2;
  order: -2;
  min-width: 0;
  padding-top: 0.5rem;
}

.page--concept .concept-company {
  -webkit-box-ordinal-group: 0;
  -webkit-order: -1;
  -ms-flex-order: -1;
  order: -1;
  width: calc(100% + 0.32rem);
  margin: 0 -0.16rem -0.6rem;
  padding: 0.8rem 0.16rem 0.8rem;
  background: #fcf9f5;
}

.concept-intro {
  position: relative;
}

.concept-title {
  color: #404040;
  font-size: 0.28rem;
  font-weight: 700;
  letter-spacing: 0.01rem;
  line-height: 0.42rem;
}

.concept-title-em {
  color: #a4815a;
}

.concept-lead {
  margin-top: 0.23rem;
  color: #333;
  font-size: 0.16rem;
  font-weight: 700;
  letter-spacing: 0.01rem;
  line-height: 0.2rem;
}

.concept-points {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.32rem;
  margin-top: 0.4rem;
}

.concept-point {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.04rem;
}

.concept-point-title {
  position: relative;
  display: inline-block;
  -webkit-align-self: flex-start;
  -ms-flex-item-align: start;
  align-self: flex-start;
  color: #a4815a;
  font-size: 0.18rem;
  font-weight: 700;
  letter-spacing: 0.01rem;
  line-height: 0.3rem;
  z-index: 0;
}

.concept-point-title::before {
  content: "";
  position: absolute;
  left: 0.02rem;
  top: 0.13rem;
  height: 0.23rem;
  background: #fbf4ea;
  z-index: -1;
}

.concept-point-title--a::before {
  width: 1.65rem;
}

.concept-point-title--b::before {
  width: 2.49rem;
}

.concept-point-title--c::before {
  width: 2.28rem;
}

.concept-point p {
  color: #3f3f3f;
  font-size: 0.14rem;
  font-weight: 500;
  letter-spacing: 0.01rem;
  line-height: 0.28rem;
}

.concept-visual {
  position: relative;
  display: -ms-grid;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.12rem;
  margin-top: 0.32rem;
}

.concept-deco {
  display: none;
}

.concept-photo {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
  object-fit: cover;
  display: block;
}

.concept-photo--1 {
  grid-column: 1 / -1;
  aspect-ratio: 411 / 277;
}

.concept-photo--2 {
  aspect-ratio: 228 / 310;
}

.concept-photo--3 {
  aspect-ratio: 390 / 255;
}

@media screen and (max-width: 767px) {
  .concept-visual {
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
  }

  .concept-photo--2 {
    width: 100%;
    height: auto;
    aspect-ratio: 228 / 310;
  }

  .concept-photo--3 {
    width: 100%;
    height: 100%;
    min-height: 100%;
    aspect-ratio: unset;
    -o-object-fit: cover;
    object-fit: cover;
    -ms-grid-row-align: stretch;
    align-self: stretch;
  }
}

.concept-biz {
  margin-top: 0.64rem;
}

.concept-biz-title {
  margin-bottom: 0.32rem;
  color: #000;
  font-size: 0.24rem;
  font-weight: 700;
  letter-spacing: 0.01rem;
  line-height: 0.3rem;
}

.concept-biz-item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.2rem;
  padding: 0.32rem 0;
  border-top: 1px solid #e4d9ca;
}

.concept-biz-item:last-child {
  border-bottom: 1px solid #e4d9ca;
}

.concept-biz-thumb {
  width: 100%;
  overflow: hidden;
  background: #d9d9d9;
}

.concept-biz-thumb img {
  width: 100%;
  height: auto;
  aspect-ratio: 255 / 179;
  -o-object-fit: cover;
  object-fit: cover;
  display: block;
}

.concept-biz-head {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.18rem;
}

.concept-biz-num {
  color: #a8895e;
  font-size: 0.16rem;
  font-weight: 500;
  letter-spacing: 0.01rem;
  line-height: 0.3rem;
}

.concept-biz-line {
  width: 0.25rem;
  height: 1px;
  background: #a8895e;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.concept-biz-name {
  color: #000;
  font-size: 0.16rem;
  font-weight: 500;
  letter-spacing: 0.02rem;
  line-height: 0.24rem;
}

.concept-biz-text {
  margin-top: 0.16rem;
  color: #757575;
  font-size: 0.14rem;
  font-weight: 400;
  letter-spacing: 0.01rem;
  line-height: 0.2rem;
}

.concept-company-title {
  margin-bottom: 0.4rem;
  color: #000;
  font-size: 0.24rem;
  font-weight: 700;
  letter-spacing: 0.01rem;
  line-height: 0.3rem;
  text-align: center;
}

.concept-info {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.32rem;
}

.concept-info-row {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.08rem;
  padding-bottom: 0.24rem;
  border-bottom: 1px solid #e2d5c6;
  color: #000;
  font-size: 0.14rem;
  letter-spacing: 0.0112rem;
  line-height: 0.36rem;
}

.concept-info-row dt {
  font-weight: 500;
}

.concept-info-row dd {
  font-weight: 400;
}

.concept-info-row a {
  color: inherit;
}

.concept-map {
  width: 100%;
  margin-top: 0.4rem;
  overflow: hidden;
}

.concept-map img {
  width: 100%;
  height: auto;
  aspect-ratio: 1201 / 474;
  -o-object-fit: cover;
  object-fit: cover;
  display: block;
}

/* ---------- ご利用ガイド ---------- */
.page--guide {
  display: block;
}

.page--guide .guide {
  width: 100%;
}

.page--guide .cart-title {
  margin-bottom: 0.4rem;
}

.guide-layout {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.32rem;
}

.guide-toc {
  width: 100%;
}

.guide-toc-link {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  height: 0.63rem;
  padding: 0 0.15rem;
  margin-top: -1px;
  border-top: 1px solid #d9d9d9;
  border-bottom: 1px solid #d9d9d9;
  color: #000;
  font-size: 0.14rem;
  font-weight: 500;
  letter-spacing: 0.01rem;
  line-height: 0.3rem;
}

.guide-toc-link:first-child {
  margin-top: 0;
}

.guide-toc-link img {
  width: 0.2rem;
  height: 0.2rem;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  display: block;
}

.guide-body {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.2rem;
  min-width: 0;
}

.guide-section {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.1rem;
  scroll-margin-top: 0.16rem;
}

.guide-heading {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  min-height: 0.4rem;
  padding: 0.1rem 0.15rem;
  background: #f6f0e9;
  color: #000;
  font-size: 0.16rem;
  font-weight: 700;
  letter-spacing: 0.01rem;
  line-height: 0.3rem;
}

.guide-text {
  color: #000;
  font-size: 0.14rem;
  font-weight: 400;
  line-height: 0.3rem;
}

.guide-text p + p,
.guide-text .guide-sub {
  margin-top: 0.3rem;
}

.guide-sub {
  font-weight: 500;
}

.guide-text ul {
  list-style: disc;
  padding-left: 0.24rem;
}

.guide-text li {
  font-size: 0.14rem;
  line-height: 0.3rem;
}

.guide-text ul + .guide-sub,
.guide-text ul + p {
  margin-top: 0.3rem;
}

/* ---------- よくある質問 ---------- */
.page--faq {
  display: block;
}

.page--faq .faq {
  width: 100%;
}

.page--faq .cart-title {
  margin-bottom: 0.4rem;
}

.faq-item {
  border-bottom: 1px solid #d9d9d9;
}

.faq-q {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 100%;
  min-height: 0.7rem;
  gap: 0.12rem;
  padding: 0.2rem 0;
  color: #a4815a;
  font-size: 0.14rem;
  font-weight: 700;
  line-height: 0.3rem;
  text-align: left;
}

.faq-q span:first-child {
  min-width: 0;
}

.faq-toggle {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 0.3rem;
  height: 0.3rem;
  background: #f6f0e9;
  color: #000;
  font-size: 0.16rem;
  font-weight: 400;
  line-height: 0.3rem;
  text-align: center;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.faq-toggle::after {
  content: "+";
}

.faq-item.is-open .faq-toggle::after {
  content: "-";
}

.faq-a {
  display: none;
  padding: 0 0 0.2rem;
  color: #000;
  font-size: 0.14rem;
  font-weight: 400;
  line-height: 0.3rem;
}

.faq-item.is-open .faq-q {
  min-height: 0.3rem;
  padding-bottom: 0.15rem;
}

.faq-item.is-open .faq-a {
  display: block;
}

/* ---------- お問い合わせ ---------- */
.page--contact {
  display: block;
}

.page--contact .contact {
  width: 100%;
}

.page--contact .cart-title {
  margin-bottom: 0.4rem;
}

.ct-lead {
  margin: 0 auto 0.4rem;
  color: #000;
  font-size: 0.14rem;
  font-weight: 400;
  letter-spacing: 0.01rem;
  line-height: 0.3rem;
  text-align: center;
}

.ct-form {
  width: 100%;
}

.ct-grid {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.16rem;
}

.ct-fields {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.11rem;
  width: 100%;
}

.ct-row {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  width: 100%;
  min-height: 0.45rem;
  border: 1px solid #c4c4c4;
  background: #fff;
}

.ct-label {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  width: 1.32rem;
  min-height: 0.45rem;
  padding: 0.08rem 0.1rem;
  border: none;
  border-right: 1px solid #c4c4c4;
  color: #232323;
  font-size: 0.12rem;
  font-weight: 400;
  letter-spacing: 0.01rem;
  line-height: 0.18rem;
  background: #f2f2f2;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.ct-label--msg {
  width: 100%;
  min-height: 0.45rem;
  padding: 0.1rem;
  line-height: 0.3rem;
  border-right: none;
  border-bottom: 1px solid #c4c4c4;
}

.ct-req {
  color: #d70a00;
  font-weight: 700;
}

.ct-input,
.ct-area {
  width: 100%;
  min-width: 0;
  padding: 0.1rem;
  border: none;
  background: #fff;
  color: #000;
  font-family: inherit;
  font-size: 0.12rem;
  font-weight: 400;
  letter-spacing: 0.01rem;
  line-height: 0.3rem;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  resize: none;
}

.ct-input {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  min-height: 0.45rem;
}

.ct-input::-webkit-input-placeholder,
.ct-area::-webkit-input-placeholder {
  color: #777;
}

.ct-input::-moz-placeholder,
.ct-area::-moz-placeholder {
  color: #777;
}

.ct-input:-ms-input-placeholder,
.ct-area:-ms-input-placeholder {
  color: #777;
}

.ct-input::placeholder,
.ct-area::placeholder {
  color: #777;
}

.ct-message {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  width: 100%;
  min-height: 2.8rem;
  border: 1px solid #c4c4c4;
  background: #fff;
}

.ct-area {
  display: block;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  min-height: 2.2rem;
}

.ct-foot {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.14rem;
  margin-top: 0.4rem;
}

.ct-agree {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.04rem;
  cursor: pointer;
}

.ct-agree input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

.ct-check {
  position: relative;
  width: 0.16rem;
  height: 0.16rem;
  min-width: 0.16rem;
  border: 2px solid #000;
  border-radius: 99px;
  background: #fff;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.ct-check img {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 0.14rem;
  height: 0.14rem;
  max-width: none;
  display: none;
  -webkit-transform: translate(-50%, -50%) scaleY(-1);
  -ms-transform: translate(-50%, -50%) scaleY(-1);
  transform: translate(-50%, -50%) scaleY(-1);
}

.ct-agree input:checked + .ct-check {
  background: #000;
}

.ct-agree input:checked + .ct-check img {
  display: block;
}

.ct-agree-text {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.04rem;
  font-size: 0.12rem;
  line-height: 0.21rem;
  white-space: nowrap;
}

.ct-agree-text a {
  color: #a8895e;
  font-weight: 700;
  text-decoration: underline;
}

.ct-agree-to {
  color: #202020;
  font-weight: 500;
}

.ct-agree-end {
  color: #393939;
  font-weight: 500;
}

.ct-submit {
  width: 100%;
  max-width: 4.03rem;
  height: 0.54rem;
  padding: 0.09rem;
  color: #fff;
  font-size: 0.16rem;
  font-weight: 500;
  letter-spacing: 0.02rem;
  line-height: 0.31666rem;
  background-color: #a8895e;
  background-image: -webkit-linear-gradient(left, rgba(196, 168, 125, 0.2) 0%, rgba(196, 168, 125, 0) 100%);
  background-image: linear-gradient(90deg, rgba(196, 168, 125, 0.2) 0%, rgba(196, 168, 125, 0) 100%);
}

/* ---------- ログイン ---------- */
.page--login {
  display: block;
}

.page--login .login {
  width: 100%;
}

.page--login .cart-title {
  margin-bottom: 0.4rem;
}

.lg-lead {
  margin: 0 auto 0.4rem;
  color: #000;
  font-size: 0.14rem;
  font-weight: 400;
  letter-spacing: 0.01rem;
  line-height: 0.3rem;
  text-align: center;
}

.lg-cols {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.24rem;
}

.lg-card {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  min-height: 4.32rem;
  padding: 0.46rem 0.24rem 0.28rem;
  background: #f5f5f5;
  border-radius: 0.05rem;
}

.lg-card-title {
  color: #000;
  font-size: 0.2rem;
  font-weight: 700;
  letter-spacing: 0.01rem;
  line-height: 0.3rem;
  text-align: center;
}

.lg-form {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  width: 100%;
  max-width: 4.39rem;
  margin-top: 0.34rem;
}

.lg-label {
  color: #000;
  font-size: 0.16rem;
  font-weight: 400;
  letter-spacing: 0.01rem;
  line-height: 0.3rem;
}

.lg-input {
  width: 100%;
  height: 0.48rem;
  margin: 0.05rem 0 0.07rem;
  padding: 0.1rem 0.2rem;
  border: 1px solid #c4c4c4;
  background: #fff;
  color: #000;
  font-family: inherit;
  font-size: 0.16rem;
  letter-spacing: 0.01rem;
  line-height: 0.3rem;
  outline: none;
}

.lg-input::-webkit-input-placeholder {
  color: #c4c4c4;
}

.lg-input::-moz-placeholder {
  color: #c4c4c4;
}

.lg-input:-ms-input-placeholder {
  color: #c4c4c4;
}

.lg-input::placeholder {
  color: #c4c4c4;
}

.lg-form .lg-label:nth-of-type(2) {
  margin-top: 0;
}

.lg-btn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
  max-width: 4.39rem;
  height: 0.54rem;
  margin-top: auto;
  padding: 0.09rem;
  color: #fff;
  font-size: 0.16rem;
  font-weight: 500;
  letter-spacing: 0.02rem;
  line-height: 0.31666rem;
  text-align: center;
  background-color: #a4815a;
  background-image: -webkit-linear-gradient(left, rgba(196, 168, 125, 0.2) 0%, rgba(196, 168, 125, 0) 100%);
  background-image: linear-gradient(90deg, rgba(196, 168, 125, 0.2) 0%, rgba(196, 168, 125, 0) 100%);
}

.lg-form .lg-btn {
  margin-top: 0.34rem;
}

.lg-form .lg-input:last-of-type {
  margin-bottom: 0;
}

.lg-btn--dark {
  background-color: #3f3f3f;
  margin-top: auto;
}

.lg-card-text {
  width: 100%;
  max-width: 4.39rem;
  margin: 0.55rem 0 auto;
  color: #000;
  font-size: 0.16rem;
  font-weight: 400;
  letter-spacing: 0.01rem;
  line-height: 0.3rem;
}

.lg-forgot {
  margin-top: 0.11rem;
  color: #a4815a;
  font-size: 0.14rem;
  font-weight: 500;
  letter-spacing: 0.01rem;
  line-height: 0.3rem;
  text-decoration: underline;
}

/* ---------- 新規会員登録 ---------- */
.page--register {
  display: block;
}

.page--register .register {
  width: 100%;
}

.page--register .cart-title {
  margin-bottom: 0.4rem;
}

.rg-card {
  max-width: 5.19rem;
  min-height: 5.53rem;
  margin: 0 auto;
  padding: 0.38rem 0.24rem 0.43rem;
}

.rg-form {
  margin-top: 0;
}

.rg-form .lg-input:last-of-type {
  margin-bottom: 0.07rem;
}

.rg-form .lg-btn {
  margin-top: 0.22rem;
}

.rg-code {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.1rem;
  width: 100%;
  height: 0.48rem;
  margin: 0.05rem 0 0.07rem;
  padding: 0.04rem 0.2rem;
  border: 1px solid #c4c4c4;
  background: #fff;
}

.rg-code-input {
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  width: 100%;
  min-width: 0;
  height: 0.4rem;
  padding: 0;
  border: 0;
  background: transparent;
  color: #000;
  font-family: inherit;
  font-size: 0.16rem;
  letter-spacing: 0.01rem;
  line-height: 0.3rem;
  outline: none;
}

.rg-code-input::-webkit-input-placeholder {
  color: #c4c4c4;
}

.rg-code-input::-moz-placeholder {
  color: #c4c4c4;
}

.rg-code-input:-ms-input-placeholder {
  color: #c4c4c4;
}

.rg-code-input::placeholder {
  color: #c4c4c4;
}

.rg-code-btn {
  height: 0.4rem;
  padding: 0 0.1rem;
  border: 0;
  color: #fff;
  font-family: inherit;
  font-size: 0.16rem;
  font-weight: 500;
  letter-spacing: 0.01rem;
  line-height: 0.3rem;
  white-space: nowrap;
  background: #a4815a;
  cursor: pointer;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.rg-agree {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
  margin-top: 0.15rem;
}

/* ---------- パスワード変更 ---------- */
.page--password {
  display: block;
}

.page--password .password {
  width: 100%;
}

.page--password .cart-title {
  margin-bottom: 0.4rem;
}

.pw-card {
  max-width: 5.19rem;
  min-height: 5.25rem;
  margin: 0 auto;
  padding: 0.36rem 0.24rem 0.48rem;
}

.pw-form {
  margin-top: 0;
}

.pw-form .lg-btn {
  margin-top: 0.34rem;
}

.rg-code-btn--wait {
  width: 1.04rem;
  padding: 0 0.1rem;
  color: #777;
  background: #eaeaea;
  border: 1px solid #c4c4c4;
  cursor: default;
}

.rg-code-btn--wait:disabled {
  opacity: 1;
}

/* ---------- マイページ ---------- */
.page--mypage {
  display: block;
}

.page--mypage .mypage {
  width: 100%;
}

.mp-title {
  font-weight: 400;
}

.mp-tabs {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 0.1rem;
  margin: 0 auto 0.4rem;
}

.mp-tab {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 0.2rem;
  width: 100%;
  max-width: 2.64rem;
  height: 0.64rem;
  border: 1px solid #e0e0e0;
  background: #fff;
  color: #7e878f;
  font-size: 0.16rem;
  font-weight: 500;
  line-height: 0.33rem;
}

.mp-tab.is-active {
  border-color: #a4815a;
  background: #a4815a;
  color: #fff;
}

.mp-tab-icon {
  width: 0.3rem;
  height: 0.3rem;
  background-color: #7e878f;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.mp-tab-icon--order {
  -webkit-mask: url("../img/icon-mypage-order.png") center / 0.3rem 0.3rem no-repeat;
  mask: url("../img/icon-mypage-order.png") center / 0.3rem 0.3rem no-repeat;
}

.mp-tab-icon--profile {
  width: 0.3rem;
  height: 0.28rem;
  -webkit-mask: url("../img/icon-mypage-profile.png") center / 0.3rem 0.3rem no-repeat;
  mask: url("../img/icon-mypage-profile.png") center / 0.3rem 0.3rem no-repeat;
}

.mp-tab-icon--logout {
  -webkit-mask: url("../img/icon-mypage-logout.png") center / 0.3rem 0.3rem no-repeat;
  mask: url("../img/icon-mypage-logout.png") center / 0.3rem 0.3rem no-repeat;
}

.mp-tab.is-active .mp-tab-icon {
  background-color: #fff;
}

.mp-panel {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.17rem;
  width: 100%;
  max-width: 5.68rem;
  margin: 0 auto;
}

.mp-card {
  width: 100%;
  padding: 0.16rem 0.2rem 0.24rem;
  background: rgba(126, 126, 126, 0.08);
}

.mp-field + .mp-field {
  margin-top: 0.24rem;
}

.mp-label {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.04rem;
  height: 0.2rem;
  margin-bottom: 0.01rem;
  color: #3c3c3c;
  font-size: 0.14rem;
  font-weight: 500;
  line-height: 0.18rem;
}

.mp-req {
  color: #b80000;
  font-weight: 700;
}

.mp-email {
  height: 0.4rem;
  color: #000;
  font-size: 0.14rem;
  font-weight: 400;
  line-height: 0.4rem;
}

.mp-input,
.mp-select {
  width: 100%;
  max-width: 3.73rem;
  height: 0.4rem;
  padding: 0 0.09rem;
  border: 1px solid #ccc;
  border-radius: 0.03rem;
  background: #fff;
  color: #000;
  font-family: inherit;
  font-size: 0.14rem;
  line-height: 0.4rem;
  outline: none;
}

.mp-input--wide,
.mp-select {
  max-width: 5.02rem;
}

.mp-input::-webkit-input-placeholder {
  color: #878787;
}

.mp-input::-moz-placeholder {
  color: #878787;
}

.mp-input:-ms-input-placeholder {
  color: #878787;
}

.mp-input::placeholder {
  color: #878787;
}

.mp-zip {
  position: relative;
  padding-left: 0.23rem;
}

.mp-zip-mark {
  position: absolute;
  left: 0;
  top: 50%;
  color: #000;
  font-size: 0.14rem;
  font-weight: 500;
  line-height: 0.105rem;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

.mp-select-wrap {
  position: relative;
  display: block;
  width: 100%;
  max-width: 5.02rem;
}

.mp-select {
  width: 100%;
  padding-right: 0.28rem;
  color: #767676;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.mp-select-arrow {
  position: absolute;
  right: 0.13rem;
  top: 50%;
  width: 0.1rem;
  height: 0.08rem;
  margin-top: -0.04rem;
  pointer-events: none;
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}

.mp-btn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
  max-width: 3.12rem;
  height: 0.52rem;
  border: 1px solid #a4815a;
  color: #fff;
  font-size: 0.16rem;
  font-weight: 500;
  line-height: 0.14rem;
  background: #a4815a;
  cursor: pointer;
}

/* ---------- 注文履歴 ---------- */
.page--orders {
  display: block;
}

.page--orders .orders {
  width: 100%;
}

.od-table {
  width: 100%;
  max-width: 10.15rem;
  margin: 0 auto;
}

.od-meta {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  min-height: 0.8rem;
  padding: 0.1rem 0.24rem;
  border: 1px solid #d9d9d9;
  background: #f8f8f8;
  color: #777;
  font-size: 0.14rem;
  font-weight: 500;
  letter-spacing: 0.01rem;
  line-height: 0.3rem;
}

.od-foot {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.2rem;
  padding: 0.24rem 0.16rem;
  border: 1px solid #afafaf;
  background: #fff;
}

.od-ship-title {
  color: #000;
  font-size: 0.12rem;
  font-weight: 700;
  line-height: 0.3rem;
}

.od-ship-body {
  color: #000;
  font-size: 0.12rem;
  font-weight: 400;
  line-height: 0.2rem;
}

.od-status {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.04rem;
  padding: 0.16rem;
  border: 1px solid #afafaf;
  border-top: 0;
  background: #fff;
  color: #000;
  font-size: 0.12rem;
  line-height: 0.3rem;
}

/* ---------- プライバシー / ご利用規約 / 特定商取引法 ---------- */
.page--privacy,
.page--terms,
.page--tokusho {
  display: block;
}

.page--privacy .privacy,
.page--terms .terms,
.page--tokusho .tokusho {
  width: 100%;
  max-width: 11.87rem;
  margin: 0 auto;
  padding-top: 0.5rem;
}

.page--privacy .cart-title,
.page--terms .cart-title,
.page--tokusho .cart-title {
  margin-bottom: 0.4rem;
}

.pv-lead {
  margin: 0 0 0.42rem;
  color: #000;
  font-size: 0.14rem;
  font-weight: 400;
  letter-spacing: 0.01rem;
  line-height: 0.3rem;
}

.pv-body {
  color: #000;
  font-size: 0.14rem;
  font-weight: 400;
  letter-spacing: 0.01rem;
  line-height: 0.3rem;
}

.pv-section + .pv-section {
  margin-top: 0.3rem;
}

.pv-body h2 {
  color: #000;
  font-size: inherit;
  font-weight: 700;
  letter-spacing: 0.01rem;
  line-height: 0.3rem;
}

.pv-body p {
  margin: 0;
}

.pv-list {
  margin: 0;
  padding: 0 0 0 0.24rem;
  list-style: disc;
}

.pv-list li {
  line-height: 0.3rem;
}

.pv-body a {
  color: #a8895e;
  text-decoration: underline;
}

.tk-list {
  margin: 0;
}

.tk-row {
  margin: 0 0 0.3rem;
}

.tk-row:last-child {
  margin-bottom: 0;
}

.tk-row dt {
  margin: 0;
  color: #000;
  font-size: 0.14rem;
  font-weight: 700;
  letter-spacing: 0.01rem;
  line-height: 0.3rem;
}

.tk-row dd {
  margin: 0;
  color: #000;
  font-size: 0.14rem;
  font-weight: 400;
  letter-spacing: 0.01rem;
  line-height: 0.3rem;
}

.tk-row a {
  color: inherit;
  text-decoration: none;
}

/* ---------- 最新情報 ---------- */
.page--news {
  display: block;
}

.page--news .news {
  width: 100%;
}

.page--news .cart-title {
  margin-bottom: 0.4rem;
}

.news-grid {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 0.4rem 0.16rem;
}

.news-card {
  width: 100%;
}

.news-card a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.23rem;
}

.news-card-img {
  width: 100%;
  height: auto;
  aspect-ratio: 346 / 230;
  -o-object-fit: cover;
  object-fit: cover;
  display: block;
  background: #d9d9d9;
}

.news-card-date {
  color: #a8895e;
  font-size: 0.12rem;
  font-weight: 400;
  letter-spacing: 0.01rem;
  line-height: 0.3rem;
}

.news-card-name {
  color: #000;
  font-size: 0.14rem;
  font-weight: 400;
  letter-spacing: 0.01rem;
  line-height: 0.3rem;
}

.page--news .list-pager {
  margin-top: 0.48rem;
}

/* ---------- 最新情報詳細 ---------- */
.page--nd {
  display: block;
}

.nd {
  width: 100%;
}

.nd-inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.24rem;
}

.nd-date {
  position: relative;
  width: 1.4rem;
  height: 1.72rem;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.nd-day,
.nd-year,
.nd-label {
  position: absolute;
  color: #777;
  font-size: 0.16rem;
  font-weight: 400;
  letter-spacing: 0.01rem;
  line-height: 0.3rem;
  white-space: nowrap;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.nd-day {
  left: 0.095rem;
  top: 0.24rem;
}

.nd-year {
  left: 1.045rem;
  top: 0.15rem;
}

.nd-slash {
  position: absolute;
  left: 0.09rem;
  top: 0.21rem;
  width: 0.32rem;
  height: 0.34rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.nd-slash img {
  width: 0.4669rem;
  height: 0.02rem;
  max-width: none;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-transform: rotate(133.26deg);
  -ms-transform: rotate(133.26deg);
  transform: rotate(133.26deg);
}

.nd-month {
  position: absolute;
  left: 0.77rem;
  top: 0.73rem;
  width: 0.72rem;
  height: 0.54rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  color: #000;
  font-size: 0.64rem;
  font-weight: 400;
  letter-spacing: 0.01rem;
  line-height: 0.54rem;
  text-align: center;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.nd-label {
  left: 0.71rem;
  top: 1.6rem;
}

.nd-main {
  width: 100%;
  min-width: 0;
}

.nd-title {
  color: #000;
  font-size: 0.18rem;
  font-weight: 500;
  letter-spacing: 0.01rem;
  line-height: 0.3rem;
  margin-bottom: 0.16rem;
}

.nd-hero {
  width: 100%;
  overflow: hidden;
  background: #d9d9d9;
  aspect-ratio: 910 / 690;
}

.nd-hero img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: 42% 50%;
  object-position: 42% 50%;
}

.nd-body {
  margin-top: 0.22rem;
  color: #000;
  font-size: 0.14rem;
  font-weight: 400;
  letter-spacing: 0.01rem;
  line-height: 0.3rem;
}

.nd-nav {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
  -ms-flex-align: end;
  align-items: flex-end;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 0.16rem 0.24rem;
  margin-top: 0.4rem;
  padding-top: 0.16rem;
  border-top: 1px solid #c4c4c4;
}

.nd-nav-side {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.nd-nav-side.is-disabled {
  color: #bfbfbf;
  pointer-events: none;
}

.nd-nav-ico {
  width: 0.3rem;
  height: 0.3rem;
  max-width: none;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.nd-nav-ico--next {
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}

.nd-nav-text {
  padding: 0.1rem;
  font-size: 0.14rem;
  font-weight: 700;
  line-height: 0.28rem;
  text-align: center;
}

.nd-nav-prev .nd-nav-text {
  width: 1.45rem;
  color: #bfbfbf;
}

.nd-nav-next .nd-nav-text {
  color: #000;
}

.nd-back {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 2.2rem;
  height: 0.48rem;
  border: 1px solid #a4815a;
  color: #a4815a;
  font-size: 0.16rem;
  font-weight: 700;
  letter-spacing: 0.021rem;
  line-height: 0.3rem;
}

/* ---------- Tablet ---------- */
@media screen and (min-width: 768px) {
  .header-top {
    height: 0.84rem;
    padding: 0 0.24rem;
  }

  .logo {
    width: 2.08rem;
    height: 0.7rem;
  }

  .search {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 2.8rem;
  }

  .nav {
    height: 0.7rem;
  }

  .mega-item {
    width: 50%;
  }

  .list-card {
    width: calc(33.333% - 0.12rem);
  }

  .modal-dialog {
    width: 6.9rem;
    min-height: 2.71rem;
  }

  .modal-btn {
    width: 2.12rem;
    max-width: none;
  }

  .detail-name {
    font-size: 0.24rem;
  }

  .detail-price b {
    font-size: 0.32rem;
  }

  .detail-buy-head {
    gap: 0.3rem;
  }

  .hero-copy-yume,
  .hero-copy-wa,
  .hero-copy-shin {
    font-size: 0.96rem;
  }

  .hero-copy-v1,
  .hero-copy-v2,
  .hero-copy-line,
  .hero-copy-line3 {
    font-size: 0.36rem;
  }

  .hero-arrow {
    width: 0.61rem;
    height: 0.61rem;
  }

  .page {
    padding: 0 0.32rem 0.8rem;
  }

  .news-card {
    width: calc(50% - 0.08rem);
  }

  .news-card-name {
    font-size: 0.16rem;
  }

  .page--concept .concept-company {
    width: calc(100% + 0.64rem);
    margin: 0 -0.32rem -0.8rem;
    padding: 0.8rem 0.32rem 0.8rem;
  }

  .concept-title {
    font-size: 0.32rem;
    line-height: 0.48rem;
  }

  .concept-point p {
    font-size: 0.16rem;
    line-height: 0.3rem;
  }

  .section-title {
    font-size: 0.32rem;
  }

  .life-en {
    font-size: 0.56rem;
  }

  .about-actions {
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
  }

  .about-btn {
    width: 2.14rem;
  }

  .footer-nav {
    gap: 0.35rem;
  }

  .footer-bottom {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 0.2rem 0.4rem 0.2rem;
  }

  .footer-legal {
    gap: 0.35rem;
  }
}

/* ---------- PC / 设计稿 1440 ---------- */
@media screen and (min-width: 1200px) {
  .header {
    height: 1.54rem;
  }

  .header-top {
    height: 0.84rem;
    padding: 0 0.39rem 0 0.39rem;
  }

  .logo {
    width: 2.48rem;
    height: 0.83rem;
  }

  .search {
    width: 3.8rem;
    margin-left: auto;
    margin-right: 0.16rem;
  }

  .nav {
    height: 0.7rem;
    overflow: visible;
  }

  .nav-item-wrap {
    -webkit-flex: 1 1 0;
    -ms-flex: 1 1 0px;
    flex: 1 1 0;
    min-width: 0;
  }

  .nav-item-wrap:hover .mega-menu,
  .nav-item-wrap:focus-within .mega-menu {
    display: block;
  }

  .nav-item {
    -webkit-flex: 1 1 0;
    -ms-flex: 1 1 0px;
    flex: 1 1 0;
    min-width: 0;
    width: auto;
    padding: 0 0.2rem;
  }

  .mega-inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    min-height: 6.79rem;
    padding: 0;
  }

  .mega-cats {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 4rem;
    padding: 0.25rem 0 0 1.13rem;
    border-right: 1px solid #eaeaea;
  }

  .mega-cat {
    width: 2.7rem;
  }

  .mega-panels {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 auto;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    margin-top: 0;
    padding: 0.385rem 0 0 0.55rem;
  }

  .mega-grid {
    width: 9.01rem;
  }

  .mega-item {
    width: 2.99rem;
    margin-right: 0.02rem;
  }

  .mega-item:nth-child(3n) {
    margin-right: 0;
  }

  .hero-swiper .swiper-slide {
    width: 10.26rem;
  }

  .hero-copy--1 {
    right: 1.2rem;
    top: 0.48rem;
  }

  .hero-copy--2 {
    left: 50%;
  }

  .hero-copy--3 {
    left: 0.43rem;
    top: 1.02rem;
  }

  .hero-arrow--prev {
    left: 0;
  }

  .hero-arrow--next {
    right: 0;
  }

  .page {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
    gap: 1.25rem;
    padding: 0.72rem 0.59rem 0.8rem;
  }

  .sidebar {
    width: 2.21rem;
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
  }

  .main {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 auto;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
  }

  .section-new .section-head {
    position: relative;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-bottom: 0.61rem;
  }

  .section-new .pager {
    position: absolute;
    right: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
  }

  .section-ranking {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 0.64rem;
    margin-top: 0.9rem;
    padding: 0.76rem 0.59rem 0.76rem 0.59rem;
  }

  .ranking-intro {
    width: 1.71rem;
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-bottom: 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 0.4rem;
  }

  .ranking-desc {
    margin: 0;
  }

  .product-swiper--rank {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 auto;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    min-width: 0;
  }

  .section-life {
    margin-top: 1.08rem;
    padding: 0;
  }

  .section-life .section-title {
    margin-bottom: 0.72rem;
  }

  .life-panel {
    padding: 1px 0 0.8rem;
  }

  .life-en {
    font-size: 0.64rem;
    line-height: 0.87rem;
    margin: -0.48rem 0 0.2rem;
  }

  .life-lead {
    margin: 0 0 0.86rem;
    max-width: 4.83rem;
  }

  .feature-list {
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    gap: 0.2rem;
  }

  .feature-card {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 calc((100% - 0.6rem) / 4);
    -ms-flex: 0 0 calc((100% - 0.6rem) / 4);
    flex: 0 0 calc((100% - 0.6rem) / 4);
    width: calc((100% - 0.6rem) / 4);
    max-width: calc((100% - 0.6rem) / 4);
  }

  .more-btn {
    margin-top: 0.56rem;
  }

  .section-about {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
    -ms-flex-align: end;
    align-items: flex-end;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: 0;
    margin-top: 0.88rem;
    padding: 0.44917rem 0 0;
  }

  .about-photos {
    width: 4.13233rem;
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
  }

  .about-photo--1 {
    height: 2.95552rem;
  }

  .about-photo--2 {
    height: 2.695rem;
  }

  .about-body {
    width: 5.26rem;
    padding-left: 0.4rem;
  }

  .about-title {
    letter-spacing: 0.058212rem;
  }

  .footer-inner {
    padding: 0.64rem 0 0.32rem;
    gap: 0.55rem;
  }

  .footer-bottom {
    padding: 0.2rem 0.63rem 0.2rem;
  }

  .page--list {
    gap: 0.6rem;
    padding-top: 0.17rem;
  }

  .page--list .catalog {
    -webkit-box-ordinal-group: 1;
    -webkit-order: 0;
    -ms-flex-order: 0;
    order: 0;
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 10.11rem;
    -ms-flex: 0 0 10.11rem;
    flex: 0 0 10.11rem;
    width: 10.11rem;
    max-width: 100%;
  }

  .crumb {
    padding: 0 0.6rem;
  }

  .list-head {
    margin-bottom: 0.64rem;
  }

  .list-title {
    font-size: 0.32rem;
  }

  .list-en {
    margin-top: 0.19rem;
  }

  .list-lead {
    margin-top: 0.34rem;
  }

  .list-toolbar {
    margin-bottom: 0.13rem;
  }

  .list-grid {
    gap: 0.68rem 0.17rem;
  }

  .list-card {
    width: 2.4rem;
  }

  .list-pager {
    margin-top: 0.82rem;
  }

  .page--detail {
    gap: 0.51rem;
    padding-top: 0.17rem;
  }

  .page--detail .detail {
    -webkit-box-ordinal-group: 1;
    -webkit-order: 0;
    -ms-flex-order: 0;
    order: 0;
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 auto;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    max-width: 10.28rem;
  }

  .detail-top {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
    gap: 0.45rem;
  }

  .detail-gallery {
    width: 5.8rem;
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
  }

  .detail-buy {
    width: 4.03rem;
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
  }

  .detail-info {
    width: 5.8rem;
    margin-top: 0.35rem;
  }

  .detail-related {
    margin-top: 0.72rem;
  }

  .detail-related .section-title {
    font-size: 0.32rem;
    letter-spacing: 0.01rem;
    line-height: 0.3rem;
    margin-bottom: 0.55rem;
  }

  .detail-related .list-grid {
    gap: 0.17rem;
  }

  .page--cart,
  .page--pay,
  .page--feat {
    gap: 0.6rem;
    padding-top: 0.17rem;
  }

  .page--cart .cart,
  .page--pay .pay {
    -webkit-box-ordinal-group: 1;
    -webkit-order: 0;
    -ms-flex-order: 0;
    order: 0;
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 10.15rem;
    -ms-flex: 0 0 10.15rem;
    flex: 0 0 10.15rem;
    width: 10.15rem;
    max-width: 100%;
  }

  .page--feat .feat {
    -webkit-box-ordinal-group: 1;
    -webkit-order: 0;
    -ms-flex-order: 0;
    order: 0;
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 auto;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    min-width: 0;
  }

  .cart-title {
    font-size: 0.32rem;
    margin-bottom: 0.4rem;
  }

  .cart-head {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }

  .cart-head .cart-col {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    height: 0.43rem;
    background: #eff0f0;
    border: 1px solid #d9d9d9;
    font-size: 0.12rem;
    font-weight: 700;
    letter-spacing: 0.01rem;
    line-height: 0.3rem;
    text-align: center;
  }

  .cart-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    gap: 0;
    padding: 0;
    border: 0;
    background: transparent;
  }

  .cart-row + .cart-row {
    border-top: 0;
  }

  .cart-col--info {
    width: 5.84rem;
    -webkit-flex: 0 0 5.84rem;
    -ms-flex: 0 0 5.84rem;
    flex: 0 0 5.84rem;
  }

  .cart-col--qty {
    width: 2.2rem;
    -webkit-flex: 0 0 2.2rem;
    -ms-flex: 0 0 2.2rem;
    flex: 0 0 2.2rem;
  }

  .cart-col--price {
    width: 2.11rem;
    -webkit-flex: 0 0 2.11rem;
    -ms-flex: 0 0 2.11rem;
    flex: 0 0 2.11rem;
  }

  .cart-row .cart-col--info,
  .cart-row .cart-col--qty,
  .cart-row .cart-col--price {
    border: 1px solid #d9d9d9;
    background: #fbfbfb;
  }

  .cart-row .cart-col--info {
    height: 1.82rem;
    padding: 0 0.16rem 0 0.63rem;
    gap: 0.27rem;
  }

  .cart-row .cart-col--qty {
    height: 1.82rem;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
  }

  .cart-row .cart-col--price {
    height: 1.82rem;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 0.41rem;
    padding: 0.48rem 0 0;
  }

  .cart-qty {
    width: 1.65rem;
  }

  .cart-qty .detail-qty-btn,
  .cart-qty .detail-qty-num {
    height: 0.455rem;
    font-size: 0.16256rem;
  }

  .cart-qty .detail-qty-btn {
    width: 0.455rem;
  }

  .cart-qty .detail-qty-minus {
    font-size: 0.12192rem;
  }

  .cart-qty .detail-qty-num {
    width: 0.74rem;
  }

  .cart-name {
    font-size: 0.2rem;
  }

  .cart-foot {
    min-height: 2.46rem;
    padding: 0.36rem 0.73rem 0.45rem;
    gap: 0.21rem;
    border-top: 1px solid #d9d9d9;
  }

  .pay-table .cart-head .cart-col {
    background: #f8f8f8;
  }

  .pay-table .cart-row .cart-col--info,
  .pay-table .cart-row .cart-col--qty,
  .pay-table .cart-row .cart-col--price {
    background: #fff;
  }

  .pay-table .cart-row .cart-col--price {
    padding: 0;
    gap: 0;
  }

  .pay-col-label {
    display: none;
  }

  .pay-foot {
    min-height: 1.45rem;
    padding: 0.26rem 0.73rem;
    border-top: 1px solid #afafaf;
  }

  .pay-saved,
  .pay-card {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
  }

  .pay-saved-label,
  .pay-card-label {
    width: 2.63rem;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    border-right: 1px solid #cbcbcb;
    border-bottom: 0;
  }

  .pay-saved-label {
    padding: 0.16rem 0.16rem 0 0.08rem;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
  }

  .pay-form th {
    width: 26%;
    padding-right: 0.22rem;
  }

  .pay-form td {
    padding-left: 0.25rem;
  }

  .feat-filter {
    margin-bottom: 0.78rem;
  }

  .feat-grid {
    gap: 0.8rem 0.15rem;
  }

  .feat-card {
    width: calc(25% - 0.1125rem);
  }

  .feat-card-name {
    font-size: 0.16rem;
  }

  .page--feat .list-pager {
    margin-top: 0.8rem;
  }

  .page--fa {
    gap: 0.6rem;
    padding: 0.17rem 0.85rem 0;
  }

  .page--fa:not(:has(.fa-related)) {
    padding-bottom: 0.8rem;
  }

  .page--fa .fa {
    -webkit-box-ordinal-group: 1;
    -webkit-order: 0;
    -ms-flex-order: 0;
    order: 0;
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 auto;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    min-width: 0;
  }

  .fa-title {
    font-size: 0.32rem;
    margin-bottom: 0.4rem;
  }

  .fa-hero {
    margin-bottom: 0.4rem;
  }

  .fa-intro {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 0.72rem;
    margin-bottom: 0.4rem;
  }

  .fa-quote {
    width: 4.7rem;
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    font-size: 0.2rem;
  }

  .fa-lead {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 auto;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
  }

  .fa-gallery {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 0.4rem;
  }

  .fa-shot--tall {
    width: 48%;
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
  }

  .fa-gallery-side {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    gap: 0.24rem;
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 auto;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    min-width: 0;
  }

  .fa-related {
    margin-top: 0.72rem;
    padding: 0.7rem 0 0.8rem;
  }

  .fa-related .section-title {
    font-size: 0.32rem;
    margin-bottom: 0.73rem;
  }

  .fa-related .list-grid {
    padding: 0;
    gap: 0.17rem;
  }

  .page--concept {
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-column-gap: 0.6rem;
    -moz-column-gap: 0.6rem;
    column-gap: 0.6rem;
    row-gap: 0;
    padding-top: 0.17rem;
    padding-bottom: 0;
  }

  .page--concept .concept {
    -webkit-box-ordinal-group: 1;
    -webkit-order: 0;
    -ms-flex-order: 0;
    order: 0;
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 auto;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    min-width: 0;
  }

  .page--concept .concept-company {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
    -ms-flex-order: 1;
    order: 1;
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 100%;
    -ms-flex: 1 1 100%;
    flex: 1 1 100%;
    width: calc(100% + 1.18rem);
    margin: 0 -0.59rem 0;
    padding: 1.14rem 1.2rem 0.8rem;
  }

  .concept-intro {
    min-height: 9.3rem;
  }

  .concept-copy {
    position: relative;
    z-index: 1;
    width: 4.75rem;
  }

  .concept-title {
    width: 7.59rem;
    font-size: 0.4rem;
    line-height: 0.6rem;
  }

  .concept-points {
    gap: 0.4rem;
    margin-top: 1.05rem;
  }

  .concept-point-title {
    font-size: 0.2rem;
  }

  .concept-visual {
    position: absolute;
    top: 0.54rem;
    right: 0;
    width: 7.39rem;
    height: 8.75rem;
    display: block;
    margin-top: 0;
  }

  .concept-deco {
    display: block;
    position: absolute;
    left: 0.75rem;
    top: 0;
    width: 6.64rem;
    height: 6.38rem;
    background: #f0d9c1;
    opacity: 0.2;
    -webkit-mask-image: url("../img/concept-deco.png");
    mask-image: url("../img/concept-deco.png");
    -webkit-mask-mode: luminance;
    mask-mode: luminance;
    -webkit-mask-size: 6.64457rem 6.92rem;
    mask-size: 6.64457rem 6.92rem;
    -webkit-mask-position: 0 -0.54rem;
    mask-position: 0 -0.54rem;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
  }

  .concept-photo {
    position: absolute;
  }

  .concept-photo--1 {
    top: 0.76rem;
    left: 1.69rem;
    width: 4.11rem;
    height: 2.77rem;
    aspect-ratio: auto;
    grid-column: auto;
  }

  .concept-photo--2 {
    top: 4.1rem;
    left: 0;
    width: 2.28rem;
    height: 3.1rem;
    aspect-ratio: auto;
  }

  .concept-photo--3 {
    top: 6.2rem;
    left: 2.77rem;
    width: 3.9rem;
    height: 2.55rem;
    aspect-ratio: auto;
  }

  .concept-biz {
    margin-top: 1.28rem;
  }

  .concept-biz-title {
    margin-bottom: 0.27rem;
    font-size: 0.32rem;
  }

  .concept-biz-item {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 0.67rem;
    height: 2.67rem;
    padding: 0;
  }

  .concept-biz-thumb {
    width: 2.55rem;
    height: 1.79rem;
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
  }

  .concept-biz-thumb img {
    width: 2.55rem;
    height: 1.79rem;
    aspect-ratio: auto;
  }

  .concept-biz-item:nth-child(1) img {
    -o-object-position: center 18%;
    object-position: center 18%;
  }

  .concept-biz-item:nth-child(2) img {
    -o-object-position: 26% 40%;
    object-position: 26% 40%;
  }

  .concept-biz-body {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 auto;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    min-width: 0;
  }

  .concept-biz-text {
    max-width: 6.79rem;
    margin-top: 0.2rem;
  }

  .concept-company-title {
    margin-bottom: 0.5rem;
    font-size: 0.32rem;
  }

  .concept-info {
    max-width: 12.01rem;
    margin: 0 auto;
    gap: 0.45rem;
  }

  .concept-info-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    gap: 0;
    min-height: 0.8rem;
    padding-bottom: 0;
    font-size: 0.16rem;
  }

  .concept-info-row dt {
    width: 3rem;
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
  }

  .concept-info-row dd {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 auto;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    max-width: 5.5rem;
  }

  .concept-info-row--addr {
    min-height: 1.54rem;
  }

  .concept-info-row--biz {
    min-height: 1.84rem;
  }

  .concept-map {
    max-width: 12.01rem;
    margin: 0.45rem auto 0;
  }

  .page--guide {
    display: block;
    padding-top: 0.17rem;
  }

  .page--guide .cart-title {
    margin-bottom: 0.72rem;
  }

  .guide-layout {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
    gap: 0.73rem;
    max-width: 11.87rem;
    margin: 0 auto;
  }

  .guide-toc {
    width: 2.79rem;
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
  }

  .guide-body {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 auto;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    width: 8.35rem;
  }

  .guide-text,
  .guide-text li {
    font-size: 0.16rem;
  }

  .page--faq {
    display: block;
    padding-top: 0.17rem;
  }

  .page--faq .cart-title {
    margin-bottom: 0.72rem;
  }

  .faq-q,
  .faq-a {
    font-size: 0.16rem;
  }

  .page--contact {
    display: block;
    padding-top: 0.17rem;
  }

  .page--contact .cart-title {
    margin-bottom: 0.4rem;
  }

  .ct-lead {
    max-width: 8.71rem;
    margin-bottom: 0.55rem;
    font-size: 0.16rem;
  }

  .ct-grid {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 0.2rem;
    max-width: 8.89rem;
    margin: 0 auto;
  }

  .ct-fields {
    width: 5.48rem;
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
  }

  .ct-label {
    width: 1.87rem;
    padding: 0.1rem;
    line-height: 0.3rem;
  }

  .ct-message {
    width: 3.21rem;
    min-height: 0;
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
  }

  .ct-label--msg {
    width: 100%;
    min-height: 0.45rem;
  }

  .ct-area {
    min-height: 0;
  }

  .ct-foot {
    max-width: 8.89rem;
    margin-top: 0.55rem;
    margin-left: auto;
    margin-right: auto;
  }

  .page--login {
    display: block;
    padding-top: 0.17rem;
  }

  .page--login .cart-title {
    margin-bottom: 0.4rem;
  }

  .lg-lead {
    max-width: 10.71rem;
    margin-bottom: 0.55rem;
    font-size: 0.16rem;
  }

  .lg-cols {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 0.49rem;
    max-width: 10.87rem;
    margin: 0 auto;
  }

  .lg-card {
    width: 5.19rem;
    padding: 0.46rem 0.4rem 0.28rem;
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
  }

  .page--register {
    display: block;
    padding-top: 0.17rem;
  }

  .page--register .cart-title {
    margin-bottom: 0.4rem;
  }

  .page--register .lg-lead {
    max-width: 10.71rem;
    margin-bottom: 0.55rem;
    font-size: 0.16rem;
  }

  .rg-card {
    width: 5.19rem;
    padding: 0.38rem 0.4rem 0.43rem;
  }

  .page--password {
    display: block;
    padding-top: 0.17rem;
  }

  .page--password .cart-title {
    margin-bottom: 0.4rem;
  }

  .page--password .lg-lead {
    max-width: 10.71rem;
    margin-bottom: 0.55rem;
    font-size: 0.16rem;
  }

  .pw-card {
    width: 5.19rem;
    padding: 0.36rem 0.4rem 0.48rem;
  }

  .page--mypage {
    display: block;
    padding-top: 0.17rem;
  }

  .page--mypage .mp-title {
    margin-bottom: 0.79rem;
  }

  .mp-tabs {
    gap: 0.18rem;
    margin-bottom: 0.66rem;
  }

  .mp-tab {
    width: 2.64rem;
    max-width: none;
  }

  .mp-card {
    padding: 0.16rem 0.32rem 0.24rem;
  }

  .page--orders {
    display: block;
    padding-top: 0.17rem;
  }

  .page--orders .mp-title {
    margin-bottom: 0.79rem;
  }

  .page--orders .mp-tabs {
    margin-bottom: 0.84rem;
  }

  .od-meta {
    padding: 0.1rem 0.62rem;
    border-bottom: 0;
  }

  .od-table .cart-head .cart-col {
    background: #f8f8f8;
  }

  .od-foot {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
    min-height: 1.7rem;
    padding: 0.16rem 0.63rem 0.2rem;
  }

  .od-status {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    height: 0.64rem;
    padding: 0 0.63rem;
    gap: 0;
  }

  .od-status p {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 0;
    -ms-flex: 1 1 0px;
    flex: 1 1 0;
  }

  .od-status p:nth-child(2) {
    text-align: center;
  }

  .od-status p:nth-child(3) {
    text-align: right;
  }

  .page--privacy,
  .page--terms,
  .page--tokusho {
    display: block;
    padding-top: 0.17rem;
  }

  .page--privacy .cart-title,
  .page--terms .cart-title,
  .page--tokusho .cart-title {
    margin-bottom: 0.55rem;
  }

  .page--terms .pv-lead {
    margin-bottom: 0.55rem;
  }

  .pv-lead,
  .pv-body,
  .tk-row dt,
  .tk-row dd {
    font-size: 0.16rem;
  }

  .page--news {
    display: block;
    padding-top: 0.17rem;
  }

  .page--news .cart-title {
    margin-bottom: 0.7rem;
  }

  .news-grid {
    max-width: 11.5rem;
    margin: 0 auto;
    gap: 0.55rem 0.56rem;
  }

  .news-card {
    width: 3.46rem;
  }

  .page--news .list-pager {
    margin-top: 0.8rem;
  }

  .page--nd {
    display: block;
    padding: 0.42rem 1.22rem 0.8rem;
  }

  .nd-inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
    gap: 0;
    max-width: 11.96rem;
    margin: 0 auto;
  }

  .nd-date {
    width: 2.86rem;
    height: 1.72rem;
  }

  .nd-main {
    width: 9.1rem;
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
  }

  .nd-title {
    font-size: 0.2rem;
    margin-bottom: 0.17rem;
  }

  .nd-hero {
    width: 9.1rem;
    height: 6.9rem;
    aspect-ratio: auto;
  }

  .nd-body {
    font-size: 0.16rem;
  }

  .nd-nav {
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    gap: 0.4rem;
    height: 0.81rem;
    margin-top: 0.72rem;
    padding-top: 0;
  }

  .nd-nav-text {
    font-size: 0.16rem;
  }
}

