﻿@charset "UTF-8";
:root {
  --base-font-size: 62.5%;
  --base-line-height: 1.3;
  --color-darkest: #2e2e2e;
  --color-black: #000;
  --color-lightest: #fff;
  --color-conversion: #f43b21;
  --color-conversion-hover: #e31e05;
  --color-link: #40507b;
  --color-link-emphasis: #2d2f36;
  --color-text-gray: #737373;
  --color-line-gray: #ccc;
  --color-bg-gray: #f3f6f7;
  --color-bg-gray-02: #fafbfc;
  --color-bg-red: #fff9f7;
  --color-more-emphasis: #ea4450;
  --color-emphasis: #f0820f;
  --color-yellow: #fff253;
  --color-brown: #ebc080;
  --color-rate-star-on: #f9b300;
  --color-rate-star-off: #acacac;
  --base-font-color: var(--color-darkest);
  --border-color: var(--color-darkest);
  --wishlist-button-bg-color: rgba(165 165 165 / 50%);
  --modal-overlay-color: rgb(46 46 46 / 50%);
  --shadowColor: rgb(0 0 0 / 15%);
  --color-bg-ranking-upper: #fff;
  --color-bg-ranking-lower: #d9d9d9;
  --color-glow: #0570c7;
  --color-select-review: #c9caca;
  --color-bg-disabled: #e0e0e0;
  --content-width: 48rem;
  --wide-layout-width: 62rem;
  --font-family-body: Noto Sans JP, sans-serif;
  --font-family-secondary: Outfit, Noto Sans JP, sans-serif;
  --font-family-heading: Helvetica, Noto Sans JP, sans-serif;
  --font-size-h1: 4em;
  --font-size-h2: 2.66667em;
  --font-size-h3: 2em;
  --font-size-h4: 1.6em;
  --font-size-h5: 1.33333em;
  --font-size-h6: 1.14286em;
  font-size: var(--base-font-size);
  scroll-behavior: smooth;
}

/* stylelint-disable selector-max-universal -- this is universal selector rules */
*, *::before, *::after {
  box-sizing: border-box;
}
*:target {
  scroll-margin-top: 15rem;
}
@media (max-width: 767px) {
  *:target {
    scroll-margin-top: 6.5rem;
  }
}

/* stylelint-enable selector-max-universal */
body {
  padding: 0;
  margin: 0;
  font-family: var(--font-family-body);
  font-size: 1.6rem;
  line-height: var(--base-line-height);
  color: var(--base-font-color);
  overflow-wrap: anywhere;
}

button {
  border-radius: 0;
}

img {
  min-inline-size: 0;
  min-block-size: 0;
}

.c-page {
  --size-0: 0;
  --size-xs: 0.2rem;
  --size-sm: 0.4rem;
  --size-md: 0.8rem;
  --size-lg: 1.6rem;
  --size-xl: 2.4rem;
  --size-2xl: 3.2rem;
  --size-3xl: 4rem;
  --size-4xl: 4.8rem;
  --size-5xl: 5.6rem;
  --size-6xl: 6.4rem;
  --size-7xl: 7.2rem;
  --size-8xl: 8rem;
  --size-9xl: 9.6rem;
  --margin-none: 0;
  --margin-sm: 1.6rem;
  --margin-sm-sp: 1.6rem;
  --margin-md: 4rem;
  --margin-md-sp: 3.2rem;
  --margin-lg: 7.2rem;
  --margin-lg-sp: 6.4rem;
  --max-w: 115.2rem;
  --max-w-sp: var(--max-w);
}
@media (max-width: 767px) {
  .c-page:has(.c-product-detail__info-submit-sp-follow) {
    padding-block-end: var(--sp-follow-height);
  }
}
@media (max-width: 991px) {
  .c-page:has(.c-page__footer-order) {
    padding-block-end: var(--sp-aside-height);
  }
}
@media (max-width: 767px) {
  .c-page {
    --margin-none: 0;
    --margin-sm: var(--margin-sm-sp);
    --margin-md: var(--margin-md-sp);
    --margin-lg: var(--margin-lg-sp);
  }
}
.c-page__header {
  display: contents;
}
.c-page__header-purchase {
  position: sticky;
  inset-block-start: 0;
  z-index: 100;
}
@media (max-width: 767px) {
  .c-page__header-purchase {
    position: static;
  }
}
.c-page__main {
  --mt: var(--margin-none);
  --mt-sp: var(--mt);
  --mb: 9.6rem;
  --mb-sp: var(--mb);
  margin-block: var(--mt) var(--mb);
}
@media (max-width: 767px) {
  .c-page__main {
    margin-block: var(--mt-sp) var(--mb-sp);
  }
}
.c-page__main[data-mt=true] {
  --mt: var(--margin-md);
}
.c-page__container {
  --px: var(--margin-sm);
  --px-sp: var(--px);
  --mb: var(--margin-md);
  --mb-sp: var(--mb);
  max-inline-size: var(--max-w);
  padding-inline: var(--px);
  margin-block-end: var(--mb);
  margin-inline: auto;
}
@media (max-width: 767px) {
  .c-page__container {
    max-inline-size: var(--max-w-sp);
    padding-inline: var(--px-sp);
    margin-block-end: var(--mb-sp);
  }
}
.c-page__main > main > .c-page__container:last-child, .c-page__main > main > .c-page__bg:last-child, .c-page__bg > .c-page__container:last-child {
  --mb: var(--margin-none);
}
.c-page__bg {
  --pt: var(--margin-md);
  --pt-sp: var(--pt);
  --pb: var(--margin-lg);
  --pb-sp: var(--pb);
  --py: var(--size-0);
  --py-sp: var(--py);
  --mb: var(--margin-md);
  --mb-sp: var(--mb);
  --bg: var(--color-bg-gray);
  --bg-sp: var(--bg);
  padding-block: var(--pt) var(--pb);
  padding-inline: var(--py);
  margin-block-end: var(--mb);
  background-color: var(--bg);
}
@media (max-width: 767px) {
  .c-page__bg {
    padding-block: var(--pt-sp) var(--pb-sp);
    padding-inline: var(--py-sp);
    margin-block-end: var(--mb-sp);
    background-color: var(--bg-sp);
  }
}
.c-page__container .c-page__bg {
  --bg: var(--color-bg-gray-02);
  --py: var(--size-lg);
  border-radius: 0.4rem;
}
.c-page__flex-center, .c-page__flex-start, .c-page__flex-end {
  display: flex;
  flex-wrap: wrap;
  gap: 1.6rem;
  align-items: center;
}
.c-page__flex-center {
  justify-content: center;
}
.c-page__flex-start {
  justify-content: flex-start;
}
.c-page__flex-end {
  justify-content: flex-end;
}
.c-page__product-index {
  --px: var(--margin-sm);
  --px-sp: var(--px);
  --mb: 7.2rem;
  --mb-sp: 4.8rem;
  display: grid;
  grid-template-columns: 20.6rem 1fr;
  column-gap: 3.3rem;
  max-inline-size: var(--max-w);
  padding-inline: var(--px);
  margin-block: var(--margin-md) var(--mb);
  margin-inline: auto;
}
@media (max-width: 767px) {
  .c-page__product-index {
    grid-template-columns: 1fr;
    max-inline-size: var(--max-w-sp);
    padding-inline: var(--px-sp);
    margin-block: var(--margin-none) var(--mb-sp);
  }
}
.c-page__product-index-main .c-page__container {
  --px: var(--margin-none);
}
.c-page__product-index-main .c-page__container:last-child {
  --mb: var(--margin-none);
}
.c-page__order {
  --px: var(--margin-sm);
  --px-sp: var(--px);
  --mb: 7.2rem;
  --mb-sp: 4.8rem;
  display: grid;
  grid-template-columns: 1fr 30.6rem;
  column-gap: 3.2rem;
  max-inline-size: var(--max-w);
  padding-inline: var(--px);
  margin-block-end: var(--mb);
  margin-inline: auto;
}
@media (max-width: 991px) {
  .c-page__order {
    grid-template-columns: 1fr;
    max-inline-size: var(--max-w-sp);
    padding-inline: var(--px-sp);
    margin-block-end: var(--mb-sp);
  }
}
.c-page__order .c-page__container {
  --px: var(--margin-none);
}
.c-page__order .c-page__container:last-child {
  --mb: var(--margin-none);
}

.c-page-home {
  inline-size: 100%;
  block-size: 100%;
}
.c-page-home__base {
  display: grid;
  grid-template: "header" auto "nav-global" auto "main" 1fr "nav-sitemap" auto "footer" auto/1fr;
  inline-size: 100%;
  block-size: 100%;
}
.c-page-home__header {
  grid-area: header;
}
.c-page-home__nav-global {
  grid-area: nav-global;
}
.c-page-home__main {
  grid-area: main;
}
.c-page-home__main > * {
  inline-size: var(--content-width);
  padding-inline: 1rem;
  margin-inline: auto;
}
.c-page-home__nav-sitemap {
  grid-area: nav-sitemap;
}
.c-page-home__footer {
  grid-area: footer;
}

.c-page-sub {
  inline-size: 100%;
  block-size: 100%;
}
.c-page-sub__base {
  display: grid;
  grid-template: "header" auto "nav-global" auto "main" 1fr "nav-sitemap" auto "footer" auto/1fr;
  inline-size: 100%;
  block-size: 100%;
}
.c-page-sub__header {
  grid-area: header;
}
.c-page-sub__nav-global {
  grid-area: nav-global;
}
.c-page-sub__main {
  grid-area: main;
}
.c-page-sub__nav-sitemap {
  grid-area: nav-sitemap;
}
.c-page-sub__footer {
  grid-area: footer;
}
.c-page-sub__content {
  padding-inline: 2em;
}
.c-page-sub__title-page {
  max-inline-size: var(--wide-layout-width);
  margin-block-end: 1em;
  margin-inline: auto;
}
.c-page-sub__nav-breadcrumb {
  max-inline-size: var(--wide-layout-width);
  margin-block-end: 2em;
  margin-inline: auto;
}
.c-page-sub__content-index {
  max-inline-size: var(--content-width);
  padding-block-end: 3.5294117647em;
  margin-inline: auto;
}
.c-page-sub__content-main {
  max-inline-size: var(--content-width);
  margin-inline: auto;
}

.c-header {
  display: contents;
}
.c-header__pc {
  display: contents;
}
@media (max-width: 991px) {
  .c-header__pc {
    display: none;
  }
}
.c-header__sp {
  display: contents;
}
@media (min-width: 992px) {
  .c-header__sp {
    display: none;
  }
}

.c-header-pc {
  position: sticky;
  inset-block-start: 0;
  z-index: 100;
  padding-block: 1.6rem;
  padding-inline: 4rem;
  background: var(--color-lightest);
  box-shadow: 0 0 1rem 0 rgba(0, 0, 0, 0.15);
}
.c-header-pc__body {
  display: flex;
  gap: 0 3.2rem;
  justify-content: space-between;
}
.c-header-pc__brand {
  flex: 1 0 18rem;
  max-inline-size: 24rem;
}
.c-header-pc__logo {
  margin-block-end: 0.8rem;
}
.c-header-pc__logo img {
  display: block;
  max-inline-size: 100%;
  block-size: auto;
}
.c-header-pc__category {
  position: relative;
}
.c-header-pc__category-button {
  display: block;
  inline-size: 24rem;
  max-inline-size: 100%;
  padding-block: 1rem;
  padding-inline: 1.6rem 3.6rem;
  font-weight: 500;
  color: var(--color-lightest);
  cursor: pointer;
  background: var(--color-link-emphasis) url("/images/parts/icon-ar-category.svg") no-repeat;
  background-position: right 1.6rem center;
  background-size: 1.4rem auto;
  border-radius: 0.4rem;
}
.c-header-pc__search {
  flex: 1 0 46rem;
  margin-inline-start: 1.4rem;
}
.c-header-pc__search-container {
  flex-grow: 1;
}
.c-header-pc__search-form {
  position: relative;
}
.c-header-pc__search-suggest {
  --inline-size: 100%;
  position: absolute;
  inset: calc(100% + 0.75rem) 0 auto auto;
  inline-size: var(--inline-size);
  min-inline-size: min(57rem, 100%);
  padding: 0.8rem;
  background-color: var(--color-lightest);
  border: 1px solid var(--color-line-gray);
  border-radius: 0.4rem;
}
@media (height <= 40rem) {
  .c-header-pc__search-suggest {
    block-size: 100%;
    min-block-size: calc(100vh - 8rem);
  }
}
.c-header-pc__search-suggest[aria-hidden=true] {
  display: none;
}
.c-header-pc__search-suggest-inner {
  block-size: 100%;
}
.c-header-pc__search-suggest-body {
  display: flex;
  gap: 0.8rem;
  block-size: 100%;
}
.c-header-pc__search-suggest-list, .c-header-pc__search-suggest-products {
  max-block-size: 54.4rem;
  overflow: auto;
}
@media (height <= 40rem) {
  .c-header-pc__search-suggest-list, .c-header-pc__search-suggest-products {
    block-size: 100%;
    min-block-size: calc(100vh - 9rem);
  }
}
.c-header-pc__search-suggest-list {
  flex: 1 0 0;
}
.c-header-pc__search-suggest-list-body {
  display: grid;
  gap: 0.2rem;
}
.c-header-pc__search-suggest-list-links {
  display: block;
  padding-block: 0.4rem;
  padding-inline: 2.4rem 0.4rem;
  font-weight: 500;
  background-repeat: no-repeat;
  background-position: 1rem center;
}
@media (hover: hover) {
  .c-header-pc__search-suggest-list-links:hover {
    color: var(--color-link);
    background-color: var(--color-bg-gray);
    background-image: url("/images/parts/icon-ar-link-small.svg");
  }
}
.c-header-pc__search-suggest-list-links[data-active=true] {
  color: var(--color-link);
  background-color: var(--color-bg-gray);
  background-image: url("/images/parts/icon-ar-link-small.svg");
}
.c-header-pc__search-suggest-products {
  inline-size: 42.6900584795%;
  min-inline-size: 24rem;
  padding-inline-start: 0.8rem;
  border-inline-start: 1px solid var(--color-line-gray);
}
.c-header-pc__search-suggest-products-list {
  overflow: hidden;
  border-radius: 0.4rem;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.15);
}
.c-header-pc__search-suggest-products-item {
  border-block-end: 1px solid var(--color-line-gray);
}
.c-header-pc__search-suggest-products-item:last-child {
  border: 0;
}
.c-header-pc__search-suggest-products-links {
  display: flex;
}
.c-header-pc__search-suggest-products-info {
  display: flex;
  flex: 1 0 0;
  flex-direction: column;
  justify-content: space-between;
  padding: 0.8rem;
}
.c-header-pc__search-suggest-products-th {
  inline-size: 8.8rem;
}
.c-header-pc__search-suggest-products-title {
  font-weight: 500;
}
.c-header-pc__search-suggest-products-price {
  font-family: var(--font-family-secondary);
  font-size: 1.4rem;
  color: var(--color-more-emphasis);
  text-align: end;
}
.c-header-pc__search-suggest-products-price span {
  margin-inline-start: 0.2rem;
  font-size: 1.8rem;
  font-weight: 600;
}
.c-header-pc__search-inner {
  display: flex;
  padding-block: 0.5rem;
  padding-inline: 0.8rem 1.6rem;
  border: 1px solid var(--color-darkest);
  border-radius: 0.4rem;
}
.c-header-pc__search-select {
  padding-block: 0.2rem;
  padding-inline: 0.4rem 2.8rem;
  font-size: 1.4rem;
  cursor: pointer;
  background: url("/images/parts/icon-select-circle.svg") no-repeat;
  background-position: calc(100% - 0.9rem) center;
  background-size: 1.4rem auto;
}
.c-header-pc__search-select:focus {
  outline: none;
}
.c-header-pc__search-select:focus-visible {
  border-radius: 3px;
  outline: 1px solid var(--color-glow);
}
.c-header-pc__search-body {
  position: relative;
  flex: 1 0 0;
}
.c-header-pc__search-input {
  inline-size: 100%;
  padding-block: 0.4rem;
  padding-inline: 0.8rem 3.2rem;
  font-weight: 500;
}
.c-header-pc__search-input:focus {
  outline: none;
}
.c-header-pc__search-input:focus-visible {
  border-radius: 3px;
  outline: 1px solid var(--color-glow);
}
.c-header-pc__search-submit {
  position: absolute;
  inset-inline-end: 0;
  inline-size: 2.4rem;
  block-size: 100%;
  min-block-size: 2.4rem;
  text-indent: -9999px;
  cursor: pointer;
  background: url("/images/parts/icon-search.svg") no-repeat center center/2rem auto;
}
.c-header-pc__search:not(:has(.c-header-pc__keyword)) {
  display: flex;
  align-items: center;
}
.c-header-pc__search-container:has(+ .c-header-pc__keyword) {
  margin-block-end: 1.6rem;
}
.c-header-pc__keyword {
  display: flex;
  flex-wrap: wrap;
  gap: 0 1.2rem;
  align-items: center;
}
.c-header-pc__keyword-heading {
  padding-inline-end: 1.1rem;
  font-size: 1.4rem;
  background: url("/images/parts/icon-ar-link-small.svg") no-repeat right 0.45rem/0.7rem auto;
}
.c-header-pc__keyword ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem 1.6rem;
}
.c-header-pc__keyword ul a {
  font-size: 1.4rem;
  color: var(--color-link);
  text-decoration: underline;
}
@media (max-width: 767px) {
  .c-header-pc__keyword ul a {
    font-size: 1.2rem;
  }
}
@media (hover: hover) {
  .c-header-pc__keyword ul a:hover {
    text-decoration: none;
  }
}
.c-header-pc__member-upper {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 1.6rem;
  align-items: flex-end;
  justify-content: flex-end;
  margin-block: 0.2rem 1.6rem;
}
.c-header-pc__member-wishlist a {
  position: relative;
  font-size: 1.4rem;
}
.c-header-pc__member-wishlist a img {
  opacity: 0;
}
.c-header-pc__member-wishlist a::before {
  position: absolute;
  inset-block-start: 0.3rem;
  inset-inline-start: 0.05rem;
  display: block;
  inline-size: 1.9rem;
  block-size: 1.75rem;
  content: "";
  background: url("/images/parts/icon-wishlist.svg") no-repeat left top/100% auto;
}
@media (hover: hover) {
  .c-header-pc__member-wishlist a:hover {
    color: var(--color-link);
    text-decoration: underline;
  }
  .c-header-pc__member-wishlist a:hover::before {
    background-image: url("/images/parts/icon-wishlist-hover.svg");
  }
}
.c-header-pc__member-wishlist span {
  margin-inline-start: 0.4rem;
}
.c-header-pc__member-wishlist img {
  position: relative;
}
.c-header-pc__member-lower {
  display: flex;
  gap: 0 0.8rem;
  justify-content: flex-end;
}
.c-header-pc__member-content {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 1.6rem;
  align-items: center;
  justify-content: flex-end;
}
.c-header-pc__member-cart a {
  display: flex;
  font-size: 1.4rem;
}
@media (hover: hover) {
  .c-header-pc__member-cart a:hover {
    color: var(--color-link);
    text-decoration: underline;
  }
}
.c-header-pc__member-cart a span {
  margin-inline-start: 0.6rem;
}
.c-header-pc__member-cart-icon {
  position: relative;
}
.c-header-pc__member-cart-icon span {
  position: absolute;
  inset-block-start: -0.8rem;
  inset-inline-end: -0.6rem;
  min-inline-size: 1.2rem;
  padding-block: 0.2rem;
  padding-inline: 0.2rem;
  font-family: var(--font-family-secondary);
  font-size: 1rem;
  font-weight: 600;
  line-height: 1;
  color: var(--color-lightest);
  text-align: center;
  white-space: nowrap;
  background: var(--color-more-emphasis);
  border-radius: 3.6rem;
}
.c-header-pc__member-cart-icon span:empty {
  display: none;
}
.c-header-pc__member-login a, .c-header-pc__member-registration a {
  display: block;
  padding-block: 0.75rem;
  padding-inline: 1.6rem 1.6rem;
  font-size: 1.6rem;
  font-weight: 500;
  border: 1px solid var(--color-link-emphasis);
  border-radius: 0.4rem;
}
.c-header-pc__member-login a span, .c-header-pc__member-registration a span {
  margin-inline-start: 0.4rem;
}
.c-header-pc__member-name {
  position: relative;
}
.c-header-pc__member-name-button {
  display: flex;
  flex-wrap: wrap;
  gap: 0.2rem;
  align-items: flex-end;
  padding-block-end: 0.2rem;
  color: var(--color-link);
  border-block-end: 1px solid currentcolor;
}
.c-header-pc__member-name-button small {
  font-size: 1.4rem;
}
.c-header-pc__member-name-links {
  position: absolute;
  inset-block-start: calc(100% - 0.1rem);
  inset-inline-end: 0;
  z-index: 2;
  display: none;
  gap: 0.8rem 0;
  inline-size: 100%;
  min-inline-size: 14rem;
  padding: 1.6rem;
  background: var(--color-lightest);
  border-radius: 0 0 0.4rem 0.4rem;
  box-shadow: 0 0 1rem 0 rgba(0, 0, 0, 0.15);
}
.c-header-pc__member-name-links li {
  position: relative;
  padding-inline-start: 1.8rem;
  margin-block-end: 1.2rem;
}
.c-header-pc__member-name-links li:last-child {
  margin-block-end: 0;
}
.c-header-pc__member-name-links li::before {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 0.2rem;
  display: inline-block;
  inline-size: 1.4rem;
  block-size: 1.4rem;
  content: "";
  background: url("/images/parts/icon-ar-circle.svg") no-repeat center center/100% auto;
  transform: translate(0, -50%);
}
.c-header-pc__member-name-links li a {
  font-weight: 500;
}
@media (hover: hover) {
  .c-header-pc__member-name-links li a:hover {
    color: var(--color-link);
    text-decoration: underline;
  }
}
.c-header-pc__member-name-icon {
  position: relative;
  display: inline-block;
}
.c-header-pc__member-name-icon-new {
  position: absolute;
  inset: -0.15rem -0.2rem auto auto;
}
.c-header-pc__member-point-head {
  margin-block-end: 0.2rem;
  font-size: 1.4rem;
  font-weight: 500;
  text-align: center;
}
.c-header-pc__member-point-content {
  display: flex;
  gap: 0.2rem;
  align-items: center;
}
.c-header-pc__member-point-content span {
  font-family: var(--font-family-secondary);
  font-size: 2.2rem;
  font-weight: 600;
}
.c-header-pc__nav {
  position: absolute;
  inset-block-start: calc(100% - 0.4rem);
  inset-inline-start: 0;
  z-index: 10;
  display: none;
  inline-size: 104.8rem;
  max-inline-size: calc(100vw - 6rem);
}
.c-header-pc__nav-container {
  background: var(--color-lightest);
  border: 4px solid var(--color-link-emphasis);
  border-radius: 0 0.4rem 0.4rem 0.4rem;
}
.c-header-pc__nav-category-button {
  display: block;
  inline-size: 23.6rem;
  padding-block: 0.8rem;
  padding-inline: 1.6rem 3.6rem;
  font-weight: 500;
  color: var(--color-lightest);
  background: var(--color-link-emphasis) url("/images/parts/icon-ar-bold-white.svg") no-repeat;
  background-position: right 1.8rem center;
  background-size: 0.7rem auto;
  border-block-start: 1px solid var(--color-bg-gray);
}
.c-header-pc__nav-category-button[aria-expanded=true] {
  color: var(--color-darkest);
  background-color: var(--color-lightest);
  background-image: url("/images/parts/icon-ar-link-small.svg");
}
.c-header-pc__nav-category:last-child .c-header-pc__nav-category-button {
  border-block-end: 0;
}
.c-header-pc__nav-child {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 24rem;
  display: none;
  grid-template-rows: auto 1fr;
  inline-size: calc(100% - 24rem);
  max-block-size: 100%;
  padding-block: 0.8rem 0.8rem;
  padding-inline: 0.8rem 0.8rem;
}
.c-header-pc__nav-child[data-visible] {
  display: grid;
}
.c-header-pc__nav-child-head {
  margin-block-end: 1.6rem;
}
.c-header-pc__nav-child-head a {
  display: flex;
  gap: 0.8rem;
  align-items: center;
  padding-block: 0.4rem;
  padding-inline: 0.4rem 3.8rem;
  font-size: 2.2rem;
  font-weight: 500;
  color: var(--color-link);
  text-decoration: none;
  text-underline-offset: 0.2rem;
  border: 2px solid var(--color-link);
  border-radius: 0.4rem;
  transition: 200ms;
}
.c-header-pc__nav-child-head a > span {
  position: relative;
  display: inline-block;
  padding-inline: 0 2rem;
}
.c-header-pc__nav-child-head a > span::after {
  position: absolute;
  inset-block: 0.4rem 0;
  inset-inline: auto 0;
  display: block;
  inline-size: 1rem;
  block-size: 1.7rem;
  margin-block: auto;
  content: "";
  background: url("/images/parts/icon-ar-link.svg") no-repeat center/contain;
}
@media (hover: hover) {
  .c-header-pc__nav-child-head a:hover {
    color: var(--color-lightest);
    background-color: var(--color-link);
    text-decoration: underline;
  }
  .c-header-pc__nav-child-head a:hover > span::after {
      background: url("/images/parts/icon-ar-link-white.svg") no-repeat center/contain;
   }
}
.c-header-pc__nav-child-content {
  block-size: 100%;
  padding-block-end: 0.8rem;
  padding-inline-end: 0.8rem;
  overflow: auto;
}
.c-header-pc__nav-child ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.6rem 2.4rem;
  margin-block-end: 2.4rem;
}
.c-header-pc__nav-child ul li a {
  position: relative;
  display: block;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  padding-inline-start: 2rem;
  font-weight: 500;
  line-height: 1.4;
}
@media (hover: hover) {
  .c-header-pc__nav-child ul li a:hover {
    text-decoration: underline;
  }
}
.c-header-pc__nav-child ul li a::before {
  position: absolute;
  inset-inline-start: 0.2rem;
  display: inline-block;
  inline-size: 1.4rem;
  block-size: 1.4rem;
  content: "";
  background: url("/images/parts/icon-ar-circle.svg") no-repeat center center/100% auto;
  inset-block-start: 0.5rem;
  transform: none;
}
.c-header-pc__nav-child-sale a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  padding-block: 0.4rem;
  padding-inline: 2.6rem 2.2rem;
  font-size: 1.4rem;
  color: var(--color-lightest);
  background-color: var(--color-more-emphasis);
  background-image: url("/images/parts/icon-sale.svg");
  background-repeat: no-repeat;
  background-position: 0.6rem center;
  background-size: 1.3rem auto;
  border: 1px solid var(--color-more-emphasis);
  border-radius: 0.4rem;
  transition: 200ms;
}
@media (max-width: 767px) {
  .c-header-pc__nav-child-sale a {
    font-size: 1.2rem;
  }
}
@media (hover: hover) {
  .c-header-pc__nav-child-sale a:hover {
    background-color: var(--color-conversion-hover);
  }
}
.c-header-pc__nav-child-sale a::after {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-end: 0.8rem;
  display: block;
  inline-size: 0.7rem;
  block-size: 1rem;
  content: "";
  background: url("/images/parts/icon-ar-bold-white.svg") no-repeat center center;
  background-size: 100% auto;
  transform: translate(0, -50%);
}

.c-header-sp {
  display: contents;
}
.c-header-sp__wrapper {
  position: sticky;
  inset-block-start: 0;
  inset-inline-start: 0;
  z-index: 100;
  inline-size: 100%;
  background: var(--color-lightest);
}
.c-header-sp__upper {
  display: flex;
  gap: 0 2rem;
  align-items: center;
  justify-content: space-between;
}
.c-header-sp__body {
  padding-block: 0.8rem;
  padding-inline: 1.6rem;
  box-shadow: 0 0 1rem 0 rgba(0, 0, 0, 0.15);
}
.c-header-sp__links {
  display: flex;
  gap: 0 1.6rem;
  align-items: center;
  justify-content: flex-end;
}
.c-header-sp__links a > span {
  position: absolute;
  inline-size: 0.1rem;
  block-size: 0.1rem;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}
.c-header-sp__cart a {
  display: flex;
  font-size: 1.4rem;
}
.c-header-sp__cart a span {
  margin-inline-start: 0.6rem;
}
.c-header-sp__cart-icon {
  position: relative;
}
.c-header-sp__cart-icon span {
  position: absolute;
  inset-block-start: -0.8rem;
  inset-inline-end: -0.6rem;
  min-inline-size: 1.2rem;
  padding-block: 0.2rem;
  padding-inline: 0.2rem;
  font-family: var(--font-family-secondary);
  font-size: 1rem;
  font-weight: 600;
  line-height: 1;
  color: var(--color-lightest);
  text-align: center;
  white-space: nowrap;
  background: var(--color-more-emphasis);
  border-radius: 3.6rem;
}
.c-header-sp__cart-icon span:empty {
  display: none;
}
.c-header-sp__menu {
  position: relative;
}
.c-header-sp__menu-button {
  display: block;
  inline-size: 4rem;
  block-size: 4rem;
  cursor: pointer;
  background: var(--color-link-emphasis);
  border: 0;
  border-radius: 0.4rem;
}
.c-header-sp__menu-button[aria-expanded=true] span {
  background: transparent;
}
.c-header-sp__menu-button[aria-expanded=true] span::before {
  transform: translateX(0) translateY(0.7rem) rotate(-45deg);
}
.c-header-sp__menu-button[aria-expanded=true] span::after {
  transform: translateX(0) translateY(-0.7rem) rotate(45deg);
}
.c-header-sp__menu-button span {
  position: absolute;
  inset-block-start: 1.9rem;
  inset-inline-start: 0.8rem;
  box-sizing: border-box;
  display: inline-block;
  inline-size: 2.4rem;
  block-size: 0.2rem;
  background: var(--color-lightest);
  border-radius: 0.2rem;
  transition: all 400ms;
}
.c-header-sp__menu-button span::before, .c-header-sp__menu-button span::after {
  position: absolute;
  inset-inline-start: 0;
  display: block;
  inline-size: 2.4rem;
  block-size: 0.2rem;
  content: "";
  background: var(--color-lightest);
  border-radius: 0.2rem;
  transition: all 400ms;
}
.c-header-sp__menu-button span::before {
  inset-block-start: -0.7rem;
}
.c-header-sp__menu-button span::after {
  inset-block-start: 0.7rem;
}
.c-header-sp__category {
  position: relative;
}
.c-header-sp__category-button {
  display: block;
  inline-size: 24rem;
  padding-block: 1rem;
  padding-inline: 1.6rem 3.6rem;
  font-weight: 500;
  color: var(--color-lightest);
  cursor: pointer;
  background: var(--color-link-emphasis) url("/images/parts/icon-ar-category.svg") no-repeat;
  background-position: right 1.6rem center;
  background-size: 1.4rem auto;
  border-radius: 0.4rem;
}
.c-header-sp__search-inner, .c-header-sp__nav-search-inner, .c-header-sp__lower-search-inner {
  display: flex;
  gap: 1px;
  padding-block: 0.8rem;
  padding-inline: 0.8rem 1.6rem;
  border: 1px solid var(--color-darkest);
  border-radius: 0.4rem;
}
.c-header-sp__search-form, .c-header-sp__nav-search-form, .c-header-sp__lower-search-form {
  position: relative;
}
.c-header-sp__search-suggest, .c-header-sp__nav-search-suggest, .c-header-sp__lower-search-suggest {
  --inline-size: 100%;
  position: absolute;
  inset: calc(100% + 0.75rem) 0 auto auto;
  z-index: 10;
  inline-size: var(--inline-size);
  min-inline-size: min(26.3rem, 100%);
  padding: 0.8rem;
  background-color: var(--color-lightest);
  border: 1px solid var(--color-line-gray);
  border-radius: 0.4rem;
}
.c-header-sp__search-suggest[aria-hidden=true], .c-header-sp__nav-search-suggest[aria-hidden=true], .c-header-sp__lower-search-suggest[aria-hidden=true] {
  display: none;
}
.c-header-sp__search-suggest-list-body, .c-header-sp__nav-search-suggest-list-body, .c-header-sp__lower-search-suggest-list-body {
  display: grid;
  gap: 0.2rem;
}
.c-header-sp__search-suggest-list-links, .c-header-sp__nav-search-suggest-list-links, .c-header-sp__lower-search-suggest-list-links {
  display: block;
  padding-block: 0.4rem;
  padding-inline: 2.4rem 0.4rem;
  font-size: 1.4rem;
  font-weight: 500;
  background-image: url("/images/parts/icon-ar-link-small.svg");
  background-repeat: no-repeat;
  background-position: 0.8rem center;
}
@media (hover: hover) {
  .c-header-sp__search-suggest-list-links:hover, .c-header-sp__nav-search-suggest-list-links:hover, .c-header-sp__lower-search-suggest-list-links:hover {
    color: var(--color-link);
  }
}
.c-header-sp__search-select, .c-header-sp__nav-search-select, .c-header-sp__lower-search-select {
  max-inline-size: 7rem;
  padding-block: 0.2rem;
  padding-inline: 0.4rem 2.8rem;
  overflow: hidden;
  font-size: 1.2rem;
  text-overflow: ellipsis;
  white-space: nowrap;
  cursor: pointer;
  background: url("/images/parts/icon-select-circle.svg") no-repeat;
  background-position: calc(100% - 0.9rem) center;
  background-size: 1.4rem auto;
}
.c-header-sp__search-select:focus, .c-header-sp__nav-search-select:focus, .c-header-sp__lower-search-select:focus {
  outline: none;
}
.c-header-sp__search-select:focus-visible, .c-header-sp__nav-search-select:focus-visible, .c-header-sp__lower-search-select:focus-visible {
  border-radius: 3px;
  outline: 1px solid var(--color-glow);
}
.c-header-sp__search-body, .c-header-sp__nav-search-body, .c-header-sp__lower-search-body {
  position: relative;
  flex: 1 0 0;
  border-inline-start: 1px solid var(--color-bg-gray);
}
.c-header-sp__search-input, .c-header-sp__nav-search-input, .c-header-sp__lower-search-input {
  inline-size: 100%;
  padding-block: 0.4rem;
  padding-inline: 0.8rem 3.2rem;
  font-weight: 500;
}
.c-header-sp__search-input::placeholder, .c-header-sp__nav-search-input::placeholder, .c-header-sp__lower-search-input::placeholder {
  font-size: 1.4rem;
}
.c-header-sp__search-input:focus, .c-header-sp__nav-search-input:focus, .c-header-sp__lower-search-input:focus {
  outline: none;
}
.c-header-sp__search-input:focus-visible, .c-header-sp__nav-search-input:focus-visible, .c-header-sp__lower-search-input:focus-visible {
  border-radius: 3px;
  outline: 1px solid var(--color-glow);
}
.c-header-sp__search-submit, .c-header-sp__nav-search-submit, .c-header-sp__lower-search-submit {
  position: absolute;
  inset-inline-end: 0;
  inline-size: 2.4rem;
  block-size: 100%;
  min-block-size: 2.4rem;
  text-indent: -9999px;
  cursor: pointer;
  background: url("/images/parts/icon-search.svg") no-repeat center center/2rem auto;
}
.c-header-sp__search {
  position: absolute;
  inset-block-start: 100%;
  display: none;
  inline-size: 100%;
  background: var(--color-lightest);
  box-shadow: 0 0.5rem 0.5rem 0 var(--shadowColor);
}
.c-header-sp__search-container {
  padding-block: 0 1.6rem;
  padding-inline: 1.6rem;
}
.c-header-sp__keyword {
  margin-block-start: 0.8rem;
}
.c-header-sp__keyword-heading {
  position: relative;
  display: block;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  padding-inline-end: 1.8rem;
  margin-inline: auto;
  font-size: 1.2rem;
  line-height: 1.3;
}
.c-header-sp__keyword-heading::after {
  position: absolute;
  inset: 0 0 0 auto;
  display: block;
  inline-size: 1.6rem;
  block-size: 1.6rem;
  margin-block: auto;
  content: "";
  background: url("/images/parts/icon-select-circle.svg") no-repeat center/min(1.4rem, 100%);
  transition: rotate 200ms;
}
.c-header-sp__keyword-heading[aria-expanded=true]::after {
  rotate: 180deg;
}
.c-header-sp__keyword-list[aria-hidden=true] {
  display: none;
}
.c-header-sp__keyword-list > ul {
  display: flex;
  flex-wrap: wrap;
  gap: 1.6rem;
  padding-block-start: 0.8rem;
}
.c-header-sp__keyword-list a {
  font-size: 1.2rem;
  line-height: 1.3;
  color: var(--color-link);
  text-decoration: underline;
}
.c-header-sp__nav {
  position: absolute;
  inset-inline-start: 0;
  z-index: 10;
  display: none;
  inline-size: 100%;
  block-size: calc(100lvh - 100%);
  padding-block-end: calc(100lvh - 100svh);
  overflow: auto;
  background: var(--color-lightest);
}
.c-header-sp__nav-upper {
  padding-block: 0.8rem 1.6rem;
  padding-inline: 1.6rem;
}
.c-header-sp__nav-buttons {
  display: flex;
  gap: 0 0.8rem;
}
.c-header-sp__nav-buttons-login, .c-header-sp__nav-buttons-registration {
  inline-size: 100%;
}
.c-header-sp__nav-buttons-login a, .c-header-sp__nav-buttons-registration a {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-block: 0.9rem;
  padding-inline: 1.6rem 1.8rem;
  font-size: 1.4rem;
  font-weight: 500;
  text-align: center;
  border: 1px solid var(--color-link-emphasis);
  border-radius: 0.4rem;
}
.c-header-sp__nav-buttons-login a span, .c-header-sp__nav-buttons-registration a span {
  margin-inline-start: 0.4rem;
}
.c-header-sp__nav-search-container {
  margin-block-start: 0.8rem;
}
.c-header-sp__nav-name {
  display: flex;
  flex-wrap: wrap;
  gap: 1.6rem;
  align-items: center;
  justify-content: space-between;
  margin-block-end: 1.6rem;
}
.c-header-sp__nav-name-element {
  display: flex;
  gap: 0 0.4rem;
  font-size: 1.4rem;
  font-weight: 500;
}
.c-header-sp__nav-name-icon {
  position: relative;
  display: inline-block;
}
.c-header-sp__nav-name-icon-new {
  position: absolute;
  inset: -0.15rem -0.2rem auto auto;
}
.c-header-sp__nav-name-logout a {
  font-size: 1.2rem;
  color: var(--color-link);
  text-decoration: underline;
}
.c-header-sp__nav-links ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
.c-header-sp__nav-links li {
  position: relative;
  padding-inline-start: 1.9rem;
}
.c-header-sp__nav-links li:last-child {
  margin-block-end: 0;
}
.c-header-sp__nav-links li::before {
  position: absolute;
  inset-block-start: 0.45rem;
  inset-inline-start: 0;
  display: inline-block;
  inline-size: 1.4rem;
  block-size: 1.4rem;
  content: "";
  background: url("/images/parts/icon-ar-circle.svg") no-repeat center center/100% auto;
}
.c-header-sp__nav-links li a {
  font-size: 1.4rem;
  font-weight: 500;
}
.c-header-sp__nav-container {
  background: var(--color-lightest);
  border: 4px solid var(--color-link-emphasis);
  border-radius: 0 0.4rem 0.4rem 0.4rem;
}
.c-header-sp__nav-category {
  padding-block: 1.6rem 2.4rem;
  padding-inline: 1.6rem;
  background: var(--color-bg-gray);
  border-block-start: 1px solid var(--color-line-gray);
}
.c-header-sp__nav-category-head {
  margin-block-end: 1.6rem;
  font-size: 1.6rem;
  font-weight: 500;
}
.c-header-sp__nav-category-container {
  display: grid;
  gap: 0.8rem 0;
}
.c-header-sp__nav-category-content:has(.c-header-sp__nav-category-block:nth-child(2)) {
  background: var(--color-lightest);
  border-radius: 0.4rem;
  box-shadow: 0 0 1rem 0 rgba(0, 0, 0, 0.15);
}
.c-header-sp__nav-category-tabs {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
.c-header-sp__nav-category-tabs:not(:has(.c-header-sp__nav-category-block:nth-child(2))) {
  grid-template-columns: 1fr;
  inline-size: 50%;
  background: var(--color-lightest);
  border-radius: 0.4rem;
  box-shadow: 0 0 1rem 0 rgba(0, 0, 0, 0.15);
}
.c-header-sp__nav-category-tabs:not(:has(.c-header-sp__nav-category-block:nth-child(2))):has([aria-expanded=true]) {
  border-end-start-radius: 0;
  border-end-end-radius: 0;
}
.c-header-sp__nav-category-block:not(:last-child) {
  border-inline-end: 1px solid var(--color-line-gray);
}
.c-header-sp__nav-category-button {
  position: relative;
  display: flex;
  gap: 0.8rem;
  align-items: center;
  inline-size: 100%;
  padding-block: 0.4rem;
  padding-inline: 0.4rem 2.8rem;
  font-size: 1.4rem;
  font-weight: 500;
  color: var(--color-darkest);
}
.c-header-sp__nav-category-button::before, .c-header-sp__nav-category-button::after {
  position: absolute;
  inset-inline-end: 1.7rem;
  display: block;
  inline-size: 0.14rem;
  block-size: 1.2rem;
  content: "";
  background: var(--color-link);
  border-radius: 0.4rem;
}
.c-header-sp__nav-category-button::after {
  transform: rotate(90deg);
}
.c-header-sp__nav-category-button[aria-expanded=true] span::after {
  position: absolute;
  inset-block-end: -1px;
  inset-inline-start: 0;
  display: block;
  inline-size: 100%;
  block-size: 2px;
  content: "";
  background: var(--color-lightest);
}
.c-header-sp__nav-category-button[aria-expanded=true]::before {
  transform: rotate(270deg);
}
.c-header-sp__nav-category-button[aria-expanded=true]::after {
  transform: rotate(-90deg);
}
.c-header-sp__nav-category-button img {
  min-inline-size: 4rem;
  border-radius: 0.2rem;
}
.c-header-sp__nav-category-button span {
  display: flex;
  flex-wrap: wrap;
}
.c-header-sp__nav-category-child {
  display: none;
  padding: 0.4rem;
  background: var(--color-lightest);
  border-block-start: 1px solid var(--color-line-gray);
}
.c-header-sp__nav-category-child-body {
  background: var(--color-bg-gray-02);
}
.c-header-sp__nav-category-child-content ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
.c-header-sp__nav-category-child-content ul:has(+ .c-block-sale) {
  margin-block-end: 0.8rem;
}
.c-header-sp__nav-category-child-content li {
  border-block-end: 1px solid var(--color-line-gray);
}
.c-header-sp__nav-category-child-content li:nth-child(odd) {
  border-inline-end: 1px solid var(--color-line-gray);
}
.c-header-sp__nav-category-child-content li a {
  position: relative;
  display: flex;
  align-items: center;
  block-size: 100%;
  padding-block: 1.2rem;
  padding-inline: 0.8rem 2.6rem;
  font-size: 1.4rem;
}
.c-header-sp__nav-category-child-content li a::after {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-end: 1.2rem;
  display: block;
  inline-size: 0.7rem;
  block-size: 1rem;
  content: "";
  background: url("/images/parts/icon-ar-link-small.svg") no-repeat center center;
  background-size: 100% auto;
  transform: translate(0, -50%);
}
.c-header-sp__nav-category-child-head {
  border-block-end: 1px solid var(--color-line-gray);
}
.c-header-sp__nav-category-child-head a {
  position: relative;
  display: block;
  padding-block: 1.2rem;
  padding-inline: 0.8rem 2.6rem;
  font-size: 1.4rem;
  font-weight: 500;
  text-align: end;
}
.c-header-sp__nav-category-child-head a::after {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-end: 1.2rem;
  display: block;
  inline-size: 0.7rem;
  block-size: 1rem;
  content: "";
  background: url("/images/parts/icon-ar-link-small.svg") no-repeat center center;
  background-size: 100% auto;
  transform: translate(0, -50%);
}
.c-header-sp__nav-category-child-sale {
  display: flex;
  justify-content: center;
  padding-block: 1.6rem 1.2rem;
  background: var(--color-lightest);
}
.c-header-sp__nav-category-child-sale a {
  position: relative;
  display: flex;
  gap: 0.2rem;
  align-items: center;
  justify-content: center;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  min-inline-size: 21rem;
  padding-block: 0.8rem;
  padding-inline: 2.6rem 2.2rem;
  font-size: 1.6rem;
  color: var(--color-lightest);
  background-color: var(--color-more-emphasis);
  border: 1px solid var(--color-more-emphasis);
  border-radius: 0.4rem;
}
.c-header-sp__nav-category-child-sale a::before {
  display: inline-block;
  inline-size: 1.5rem;
  block-size: 1.5rem;
  margin-block-start: 0.1rem;
  margin-inline-start: -1.5rem;
  content: "";
  background-image: url("/images/parts/icon-sale.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 1.5rem auto;
}
.c-header-sp__nav-category-child-sale a::after {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-end: 0.8rem;
  display: block;
  inline-size: 0.7rem;
  block-size: 1.1rem;
  content: "";
  background: url("/images/parts/icon-ar-bold-white.svg") no-repeat center center;
  background-size: 100% auto;
  transform: translate(0, -50%);
}
.c-header-sp__nav-lower {
  padding-block: 1.6rem 3.2rem;
  padding-inline: 1.6rem;
}
.c-header-sp__nav-other {
  margin-block-end: 2.4rem;
}
.c-header-sp__nav-other-head {
  margin-block-end: 0.8rem;
  font-size: 1.6rem;
  font-weight: 500;
}
.c-header-sp__nav-other ul li {
  border-block-end: 1px solid var(--color-bg-gray-02);
}
.c-header-sp__nav-other ul a {
  position: relative;
  display: flex;
  gap: 0 10px;
  align-items: center;
  padding-block: 1.8rem;
  padding-inline: 1rem 2.6rem;
  font-weight: 500;
}
.c-header-sp__nav-other ul a img {
  inline-size: 20px;
}
.c-header-sp__nav-other ul a::after {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-end: 1.2rem;
  display: block;
  inline-size: 0.7rem;
  block-size: 1rem;
  content: "";
  background: url("/images/parts/icon-ar-link-small.svg") no-repeat center center;
  background-size: 100% auto;
  transform: translate(0, -50%);
}
.c-header-sp__nav-banner {
  margin-block-end: 2.4rem;
}
.c-header-sp__nav-banner ul {
  display: grid;
  gap: 1.6rem;
}
.c-header-sp__nav-banner img {
  inline-size: 100%;
  block-size: auto;
}
.c-header-sp__nav-sns ul {
  display: flex;
  gap: 2.4rem;
  justify-content: center;
}
.c-header-sp__lower-search {
  padding: 1.6rem;
}
.c-header-sp__member {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem 1.6rem;
  justify-content: center;
  padding-block: 0.8rem;
  padding-inline: 1.6rem;
  background: var(--color-bg-gray);
}
.c-header-sp__member-name-button {
  display: flex;
  gap: 0.2rem;
  align-items: flex-end;
  padding-block-end: 0.2rem;
  font-size: 1.4rem;
  color: var(--color-link);
  border-block-end: 1px solid currentcolor;
}
.c-header-sp__member-name-button small {
  font-size: 1.2rem;
}
.c-header-sp__member-name-icon {
  position: relative;
  display: inline-block;
}
.c-header-sp__member-name-icon-new {
  position: absolute;
  inset: -0.15rem -0.2rem auto auto;
}
.c-header-sp__member-point {
  display: flex;
  align-items: center;
}
.c-header-sp__member-point-head {
  margin-inline-end: 0.2rem;
  font-size: 1.2rem;
  font-weight: 500;
  text-align: center;
}
.c-header-sp__member-point-content {
  display: flex;
  gap: 0.2rem;
  align-items: center;
}
.c-header-sp__member-point-content span {
  font-family: var(--font-family-secondary);
  font-size: 2rem;
  font-weight: 600;
}

.c-footer {
  padding-block: 3.2rem;
  padding-inline: 4rem;
}
@media (max-width: 767px) {
  .c-footer {
    padding-inline: 1.6rem;
  }
}
.c-footer__body {
  margin-block: 0;
  margin-inline: auto;
}
@media (max-width: 767px) {
  .c-footer__logo {
    margin-block-end: 2.5rem;
    text-align: center;
  }
}
.c-footer__logo a {
  transition: opacity 300ms;
}
@media (hover: hover) {
  .c-footer__logo a:hover {
    opacity: 0.7;
  }
}
@media (max-width: 767px) {
  .c-footer__logo img {
    inline-size: 32.2rem;
    block-size: auto;
  }
}
.c-footer__upper {
  display: flex;
  gap: 0 3.2rem;
  justify-content: space-between;
  margin-block-end: 3.2rem;
}
@media (max-width: 767px) {
  .c-footer__upper {
    display: block;
  }
}
.c-footer__upper-links {
  display: flex;
  gap: 0 2.4rem;
  align-items: center;
}
@media (max-width: 767px) {
  .c-footer__upper-links {
    display: block;
  }
}
.c-footer__upper-sns {
  display: flex;
  gap: 1.6rem;
}
@media (max-width: 767px) {
  .c-footer__upper-sns {
    justify-content: center;
    margin-block-end: 2.4rem;
  }
}
.c-footer__upper-sns a {
  transition: opacity 300ms;
}
@media (hover: hover) {
  .c-footer__upper-sns a:hover {
    opacity: 0.7;
  }
}
@media (max-width: 767px) {
  .c-footer__upper-sns a img {
    max-inline-size: 60rem;
    block-size: auto;
  }
}
@media (max-width: 767px) {
  .c-footer__upper-contact {
    display: flex;
    justify-content: center;
  }
}
.c-footer__upper-contact a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  padding-block: 1.1rem;
  padding-inline: 2.8rem;
  font-size: 1.4rem;
  font-weight: 500;
  color: var(--color-lightest);
  background-color: var(--color-link-emphasis);
  border: 1.5px solid var(--color-link-emphasis);
  border-radius: 0.4rem;
}
@media (max-width: 767px) {
  .c-footer__upper-contact a {
    inline-size: 100%;
    padding-block: 1.6rem;
    font-size: 1.4rem;
  }
}
.c-footer__upper-contact a span {
  display: inline-block;
  padding-inline-start: 2.7rem;
  background: url("/images/parts/icon-contact.svg") no-repeat left center;
}
@media (max-width: 767px) {
  .c-footer__upper-contact a span {
    position: relative;
    padding-inline-end: 1em;
  }
}
.c-footer__upper-contact a span::after {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-end: 1.2rem;
  display: block;
  inline-size: 0.7rem;
  block-size: 1rem;
  content: "";
  background: url("/images/parts/icon-ar-bold-white.svg") no-repeat center center;
  background-size: 100% auto;
  transform: translate(0, -50%);
}
@media (max-width: 767px) {
  .c-footer__upper-contact a span::after {
    inset-inline-end: 0;
  }
}
.c-footer__nav {
  margin-block-end: 4.8rem;
}
@media (max-width: 767px) {
  .c-footer__nav {
    margin-block-end: 3.2rem;
  }
}
.c-footer__nav-body {
  display: flex;
  flex-wrap: wrap;
  gap: 2.4rem 4rem;
  justify-content: center;
  max-inline-size: 80rem;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .c-footer__nav-body {
    gap: 1.5em 2em;
  }
}
.c-footer__nav a {
  position: relative;
  display: flex;
  font-weight: 500;
  background-repeat: no-repeat;
  background-position: left center;
}
@media (max-width: 767px) {
  .c-footer__nav a {
    font-size: 1.4rem;
  }
}
@media (hover: hover) {
  .c-footer__nav a:hover {
    color: var(--color-link);
  }
  .c-footer__nav a:hover::before {
    opacity: 1;
  }
}
.c-footer__nav a img {
  display: inline-block;
  inline-size: 1.6rem;
  block-size: auto;
  margin-inline-end: 0.8rem;
  vertical-align: middle;
}
@media (max-width: 767px) {
  .c-footer__nav a img {
    inline-size: 1.4rem;
    margin-inline-end: 0.6rem;
  }
}
.c-footer__nav a::before {
  position: absolute;
  display: block;
  content: "";
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% auto;
  opacity: 0;
}
.c-footer__nav a[data-nav=cargo]::before {
  inline-size: 1.6rem;
  block-size: 100%;
  background-image: url("/images/parts/icon-cargo-link.svg");
}
.c-footer__nav a[data-nav=calendar]::before {
  inline-size: 1.6rem;
  block-size: 100%;
  background-image: url("/images/parts/icon-calendar-link.svg");
}
.c-footer__nav a[data-nav=ranking]::before {
  inline-size: 1.6rem;
  block-size: 100%;
  background-image: url("/images/parts/icon-ranking-link.svg");
}
.c-footer__nav a[data-nav=beginner]::before {
  inline-size: 1.6rem;
  block-size: 100%;
  background-image: url("/images/parts/icon-beginner-link.svg");
}
.c-footer__nav a[data-nav=document]::before {
  inline-size: 1.6rem;
  block-size: 100%;
  background-image: url("/images/parts/icon-document-link.svg");
}
.c-footer__nav a[data-nav=faq]::before {
  inline-size: 1.6rem;
  block-size: 100%;
  background-image: url("/images/parts/icon-faq-link.svg");
}
.c-footer__nav a[data-nav=mail-magazine]::before {
  inline-size: 1.6rem;
  block-size: 100%;
  background-image: url("/images/parts/icon-mail-magazine-link.svg");
}
.c-footer__nav a[data-nav=registration]::before {
  inline-size: 1.6rem;
  block-size: 100%;
  background-image: url("/images/parts/icon-registration-link.svg");
}
.c-footer__nav a[data-nav=my-page]::before {
  inline-size: 1.6rem;
  block-size: 100%;
  background-image: url("/images/parts/icon-my-page-link.svg");
}
.c-footer__links {
  padding: 0.8rem;
  margin-block-end: 1.6rem;
}
@media (max-width: 767px) {
  .c-footer__links {
    padding: 0;
    margin-block-end: 3.2rem;
  }
}
.c-footer__links ul {
  display: flex;
  flex-wrap: wrap;
  gap: 3.2rem;
  justify-content: center;
}
@media (max-width: 767px) {
  .c-footer__links ul {
    gap: 1em 0.8rem;
  }
}
.c-footer__links li {
  display: block;
  padding: 0;
  margin-block: 0;
}
@media (max-width: 767px) {
  .c-footer__links li {
    inline-size: calc(50% - 0.8rem);
    text-align: center;
  }
}
.c-footer__links a {
  display: block;
  font-size: 1.4rem;
  color: inherit;
  text-decoration: none;
}
@media (hover: hover) {
  .c-footer__links a:hover {
    color: var(--color-link);
    text-decoration: underline;
  }
}
@media (max-width: 767px) {
  .c-footer__links a {
    font-size: 1.2rem;
  }
}
.c-footer__links a[target=_blank]::after {
  display: inline-block;
  inline-size: 1.2rem;
  block-size: 1.2rem;
  margin-inline-start: 0.4rem;
  vertical-align: middle;
  content: "";
  background: url("/images/parts/icon-external.svg") no-repeat;
  background-size: 100% auto;
}
.c-footer__copyright {
  display: block;
  font-size: 1.4rem;
  color: var(--color-text-gray);
  text-align: center;
}
@media (max-width: 767px) {
  .c-footer__copyright {
    font-size: 1.2rem;
  }
}

@media (max-width: 767px) {
  .c-nav-breadcrumb {
    overflow: auto hidden;
  }
}
.c-nav-breadcrumb ol {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem 0;
  justify-content: flex-start;
  padding: 0;
  margin: 0;
  font-size: 1.5rem;
}
@media (min-width: 768px) {
  .c-nav-breadcrumb ol {
    display: inline-block;
  }
}
@media (max-width: 767px) {
  .c-nav-breadcrumb ol {
    font-size: 1.2rem;
    word-break: keep-all;
    white-space: nowrap;
  }
}
.c-nav-breadcrumb ol > li {
  display: flex;
  align-items: center;
  color: var(--color-text-gray);
  list-style: none;
}
@media (min-width: 768px) {
  .c-nav-breadcrumb ol > li {
    display: inline-flex;
    flex-wrap: wrap;
  }
}
.c-nav-breadcrumb ol > li::after {
  position: relative;
  inset-block-start: 0.07em;
  display: inline-block;
  inline-size: 1.6rem;
  block-size: 1.6rem;
  margin-inline: 0.4rem 0.4rem;
  vertical-align: middle;
  content: "";
  background: url("/images/parts/icon-ar-breadcrumb.svg") no-repeat center center;
}
@media (min-width: 768px) {
  .c-nav-breadcrumb ol > li::after {
    inset-block-start: 0.05em;
    margin-inline: 0.4rem 0.1rem;
  }
}
.c-nav-breadcrumb ol > li:last-child::after {
  display: none;
}
.c-nav-breadcrumb a {
  display: inline-block;
  color: var(--color-link);
  text-decoration: underline;
}
@media (hover: hover) {
  .c-nav-breadcrumb a:hover {
    text-decoration: none;
  }
}
@media (max-width: 767px) {
  .c-nav-breadcrumb a {
    display: flex;
  }
}
.c-nav-breadcrumb__item {
  display: inline-block;
  flex-shrink: 0;
  padding: 0;
  margin: 0;
}
.c-nav-breadcrumb__item[data-breadcrumb=current] a {
  text-decoration: none;
}

.c-title-page h1 {
  margin: 0;
  font-size: var(--font-size-h1);
  text-align: start;
  border: 1px solid transparent;
  border-radius: 5px;
}

.c-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  clear: both;
  font-family: var(--font-family-secondary);
  text-align: center;
}
.c-pagination a {
  color: currentcolor;
  text-decoration: none;
  background: none;
}
.c-pagination__prev a, .c-pagination__next a {
  position: relative;
  display: flex;
  align-items: center;
  inline-size: 4rem;
  block-size: 4rem;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% auto;
  border-radius: 50%;
}
@media (max-width: 767px) {
  .c-pagination__prev a, .c-pagination__next a {
    inline-size: 2.2rem;
    block-size: 2.2rem;
  }
}
.c-pagination__prev a[data-disabled=true], .c-pagination__next a[data-disabled=true] {
  pointer-events: none;
  opacity: 0.3;
}
.c-pagination__prev a span, .c-pagination__next a span {
  position: absolute;
  inline-size: 0.1rem;
  block-size: 0.1rem;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}
.c-pagination__prev {
  order: 1;
}
.c-pagination__prev a {
  background-image: url("/images/parts/icon-pagination-prev.svg");
}
.c-pagination__next {
  order: 3;
}
.c-pagination__next a {
  background-image: url("/images/parts/icon-pagination-next.svg");
}
.c-pagination__numbers {
  display: flex;
  gap: 0.8rem;
  align-items: center;
  order: 2;
  padding: 0;
  margin-block: 0;
  margin-inline: 2rem;
  font-weight: 600;
  list-style: none;
}
@media (max-width: 767px) {
  .c-pagination__numbers {
    margin-inline: 2.4rem;
  }
}
.c-pagination__number {
  display: block;
  margin-block: 0;
  list-style: none;
}
.c-pagination__number a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-inline-size: 3.2rem;
  block-size: 3.2rem;
  padding-inline: 0.2rem;
  font-size: 2rem;
  color: var(--color-link);
  text-align: center;
  border-radius: 0.2rem;
}
@media (max-width: 767px) {
  .c-pagination__number a {
    min-inline-size: 2.4rem;
    block-size: 2.4rem;
    font-size: 1.8rem;
  }
}
.c-pagination__number a[aria-current=page] {
  color: var(--color-text-gray);
  background: var(--color-bg-gray);
}
.c-pagination__number a::after {
  display: none;
}
.c-pagination__omit {
  display: block;
  min-inline-size: 3.2rem;
  block-size: 3.2rem;
  padding-inline: 0.2rem;
  background: url("/images/parts/icon-omit.svg") no-repeat center center/2rem auto;
}
@media (max-width: 767px) {
  .c-pagination__omit {
    min-inline-size: 2.4rem;
    block-size: 2.4rem;
  }
}

.c-mv-carousel:has(li.c-mv-carousel__element:only-child) ul.c-mv-carousel__list {
  display: flex;
  justify-content: center;
}
.c-mv-carousel:has(li.c-mv-carousel__element:only-child) div.c-mv-carousel__control {
  display: none;
}
.c-mv-carousel__list {
  position: relative;
}
.c-mv-carousel__list > li {
  list-style: "";
}
.c-mv-carousel__list a {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: 0.4rem;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.15);
}
.c-mv-carousel__list a::before {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  z-index: 2;
  display: block;
  inline-size: 100%;
  block-size: 100%;
  content: "";
  background: var(--color-black);
  opacity: 0;
  transition: 300ms;
}
@media (hover: hover) {
  .c-mv-carousel__list a:hover::before {
    opacity: 0.3;
  }
}
.c-mv-carousel__list img {
  display: block;
  inline-size: 100%;
  block-size: auto;
  object-fit: cover;
}
.c-mv-carousel__track {
  padding-block-end: 3.2rem;
}
@media (max-width: 767px) {
  .c-mv-carousel__track {
    padding-block-end: 1.6rem;
  }
}
.c-mv-carousel__element {
  position: relative;
  max-inline-size: 64rem;
  padding-block-start: 0.5rem;
}
@media (max-width: 767px) {
  .c-mv-carousel__element {
    inline-size: 31.2rem;
  }
}
.c-mv-carousel__pict {
  position: relative;
  overflow: hidden;
}
.c-mv-carousel__special {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  z-index: 2;
  padding-block: 0.4rem;
  padding-inline: 0.8rem;
  font-size: 1.4rem;
  font-weight: 500;
  color: var(--color-lightest);
  background: var(--color-conversion);
  border-radius: 0 0 4px 0;
}
@media (max-width: 767px) {
  .c-mv-carousel__special {
    font-size: 1.2rem;
    border-block-end: 1px solid var(--color-lightest);
    border-inline-end: 1px solid var(--color-lightest);
  }
}
.c-mv-carousel__info {
  position: absolute;
  inset-block-end: 0;
  inset-inline-start: 0;
  z-index: 2;
  padding: 1rem;
  color: var(--color-lightest);
}
@media (max-width: 767px) {
  .c-mv-carousel__info {
    padding: 0.8rem;
  }
}
.c-mv-carousel__title {
  font-size: 2rem;
  font-weight: bold;
}
@media (max-width: 767px) {
  .c-mv-carousel__title {
    font-size: 1.8rem;
  }
}
.c-mv-carousel__description {
  margin-block-start: 0.4rem;
  font-size: 1.6rem;
  font-weight: 500;
}
@media (max-width: 767px) {
  .c-mv-carousel__description {
    font-size: 1.4rem;
  }
}
.c-mv-carousel__control {
  display: flex;
  place-content: center center;
  align-items: center;
  inline-size: 100%;
  max-inline-size: 115.2rem;
  padding-inline: 1.6rem;
  margin-inline: auto;
}
@media (width >= 1540px) {
  .c-mv-carousel__control {
    max-inline-size: calc(100% - 32rem);
  }
}
@media (max-width: 767px) {
  .c-mv-carousel__control {
    flex-direction: column;
    gap: 0;
  }
}
.c-mv-carousel__control-buttons {
  display: flex;
  gap: 0 1.6rem;
  align-items: center;
}
@media (max-width: 767px) {
  .c-mv-carousel__control-buttons {
    gap: 0 2.4rem;
    margin-inline-end: -1.6rem;
  }
}
.c-mv-carousel__arrow {
  position: absolute;
  inset-block-start: 50%;
  z-index: 2;
  inline-size: 4rem;
  block-size: 4rem;
  text-indent: -9999px;
  background-repeat: no-repeat;
  background-size: 100% auto;
  transform: translate(0, calc(-50% - 2.4rem));
}
.c-mv-carousel__arrows-next {
  inset-inline-start: calc(50% + 32.4rem);
  background-image: url("/images/parts/icon-slider-next.svg");
}
@media (max-width: 767px) {
  .c-mv-carousel__arrows-next {
    inset-inline-start: calc(50% + 14.4rem);
  }
}
.c-mv-carousel__arrows-prev {
  inset-inline-end: calc(50% + 32.4rem);
  background-image: url("/images/parts/icon-slider-prev.svg");
}
@media (max-width: 767px) {
  .c-mv-carousel__arrows-prev {
    inset-inline-end: calc(50% + 14.4rem);
  }
}
.c-mv-carousel__pagination {
  position: static;
  gap: 0 0.8rem;
  padding: 0;
}
.c-mv-carousel__pagination-page {
  display: block;
  inline-size: 0.8rem;
  block-size: 0.8rem;
  margin: 0;
  background-color: var(--color-bg-gray);
  border-radius: 50%;
  opacity: 1;
  transform: none;
}
.c-mv-carousel__pagination-page.is-active {
  background-color: var(--color-link);
}
.c-mv-carousel__progress {
  flex: 1 1 0;
  inline-size: 100%;
  max-inline-size: 100rem;
  block-size: 0.4rem;
  margin-inline-end: 4rem;
  background: var(--color-bg-gray);
  border-radius: 0.4rem;
}
@media (width >= 1540px) {
  .c-mv-carousel__progress {
    max-inline-size: none;
    padding-inline: 0;
  }
}
@media (max-width: 767px) {
  .c-mv-carousel__progress {
    inline-size: 31.2rem;
    padding-inline: 0;
    margin-block-end: 1.2rem;
    margin-inline-end: 0;
  }
}
.c-mv-carousel__progress-bar {
  block-size: 0.4rem;
  background: var(--color-link);
  border-radius: 0.4rem;
}
.c-mv-carousel__toggle {
  display: block;
  padding: 0;
  appearance: none;
  background-color: transparent;
  border: 0;
}
.c-mv-carousel__toggle span {
  display: inline-block;
  inline-size: 1.6rem;
  block-size: 1.6rem;
  background-color: var(--color-link);
  background-repeat: no-repeat;
  border-radius: 0.4rem;
}
.c-mv-carousel__toggle span span {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  border: 0;
}
.c-mv-carousel__toggle-play {
  background-image: url("/images/parts/icon-slide-play.svg");
  background-position: calc(50% + 0.1rem) center;
  background-size: 0.6rem auto;
}
.c-mv-carousel__toggle-pause {
  display: none !important;
  background-image: url("/images/parts/icon-slide-pause.svg");
  background-position: center center;
  background-size: 0.6rem auto;
}
.c-mv-carousel__toggle.is-active .c-mv-carousel__toggle-pause {
  display: inline-block !important;
}
.c-mv-carousel__toggle.is-active .c-mv-carousel__toggle-play {
  display: none;
}

@media (max-width: 767px) {
  .c-head-banner {
    margin-inline: calc(var(--px-sp)*-1) calc(var(--px-sp)*-1);
  }
}
@media (min-width: 768px) {
  .c-head-banner:has(li.c-head-banner__element:only-child) ul.c-head-banner__list {
    grid-template-columns: min(33%, 352px);
    justify-content: center;
  }
}
@media (max-width: 767px) {
  .c-head-banner:has(li.c-head-banner__element:only-child) ul.c-head-banner__list {
    display: flex;
    justify-content: center;
  }
}
.c-head-banner:has(li.c-head-banner__element:only-child) div.c-head-banner__control {
  display: none;
}
.c-head-banner__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.4rem 3.2rem;
}
@media (min-width: 768px) {
  .c-head-banner__list {
    display: grid !important;
  }
}
@media (max-width: 767px) {
  .c-head-banner__list {
    display: flex;
    grid-template-columns: 1fr;
    gap: 0;
  }
}
.c-head-banner__list > li {
  list-style: "";
}
.c-head-banner__list a {
  display: block;
  overflow: hidden;
  border: 0.5px solid transparent;
  border-radius: 0.4rem;
  transition: 200ms;
}
@media (hover: hover) {
  .c-head-banner__list a:hover {
    border-color: var(--color-link);
  }
}
.c-head-banner__list img {
  display: block;
  inline-size: 100%;
  block-size: auto;
  object-fit: cover;
}
@media (max-width: 767px) {
  .c-head-banner__element {
    inline-size: 28rem;
  }
}
.c-head-banner__control {
  display: flex;
  gap: 2.4rem;
  place-content: center center;
  align-items: center;
  margin-block-start: 1.6rem;
}
@media (min-width: 768px) {
  .c-head-banner__control {
    display: none;
  }
}
.c-head-banner__arrow {
  position: absolute;
  inset-block-start: 50%;
  z-index: 2;
  inline-size: 4rem;
  block-size: 4rem;
  text-indent: -9999px;
  background-repeat: no-repeat;
  background-size: 100% auto;
  transform: translate(0, calc(-50% - 1.6rem));
}
.c-head-banner__arrows-next {
  inset-inline-start: calc(50% + 14.4rem);
  background-image: url("/images/parts/icon-slider-next.svg");
}
.c-head-banner__arrows-prev {
  inset-inline-end: calc(50% + 14.4rem);
  background-image: url("/images/parts/icon-slider-prev.svg");
}
.c-head-banner__pagination {
  position: static;
  gap: 0 0.8rem;
  padding: 0;
}
.c-head-banner__pagination-page {
  display: block;
  inline-size: 0.8rem;
  block-size: 0.8rem;
  margin: 0;
  background-color: var(--color-bg-gray);
  border-radius: 50%;
  opacity: 1;
  transform: none;
}
.c-head-banner__pagination-page.is-active {
  background-color: var(--color-link);
}
.c-head-banner__toggle {
  display: block;
  padding: 0;
  appearance: none;
  background-color: transparent;
  border: 0;
}
.c-head-banner__toggle span {
  display: inline-block;
  inline-size: 1.6rem;
  block-size: 1.6rem;
  background-color: var(--color-link);
  background-repeat: no-repeat;
  border-radius: 0.4rem;
}
.c-head-banner__toggle span span {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  border: 0;
}
.c-head-banner__toggle-play {
  background-image: url("/images/parts/icon-slide-play.svg");
  background-position: calc(50% + 0.1rem) center;
  background-size: 0.6rem auto;
}
.c-head-banner__toggle-pause {
  display: none !important;
  background-image: url("/images/parts/icon-slide-pause.svg");
  background-position: center center;
  background-size: 0.6rem auto;
}
.c-head-banner__toggle.is-active .c-head-banner__toggle-pause {
  display: inline-block !important;
}
.c-head-banner__toggle.is-active .c-head-banner__toggle-play {
  display: none;
}

.c-genre-list__body {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.6rem;
}
@media (max-width: 767px) {
  .c-genre-list__body {
    grid-template-columns: repeat(2, 1fr);
  }
}
.c-genre-list__element a {
  display: flex;
  overflow: hidden;
  background: var(--color-lightest);
  border-radius: 0.4rem;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
}
@media (max-width: 767px) {
  .c-genre-list__element a {
    min-block-size: 5.3rem;
  }
}
@media (hover: hover) {
  .c-genre-list__element a:hover {
    color: var(--color-link);
    text-decoration: underline;
  }
}
.c-genre-list__ph img {
  display: block;
  inline-size: 80px;
  block-size: 100%;
  object-fit: cover;
}
@media (max-width: 767px) {
  .c-genre-list__ph img {
    inline-size: 50px;
  }
}
.c-genre-list__title {
  display: flex;
  flex: 1 0 0;
  flex-wrap: wrap;
  align-items: center;
  padding: 0.8rem;
  font-weight: bold;
}
@media (max-width: 767px) {
  .c-genre-list__title {
    font-size: 1.4rem;
  }
}

.c-card {
  container-type: inline-size;
  position: relative;
  display: flex;
  flex-direction: column;
  block-size: 100%;
  background: var(--color-lightest);
}
.c-card__th {
  position: relative;
}
.c-card__th-element {
  position: relative;
  aspect-ratio: 14/17;
  background: var(--color-bg-gray);
}
.c-card__th-element img {
  inline-size: 100%;
  block-size: 100%;
  object-fit: contain;
}
.c-card__th-element-blur {
  position: absolute;
  inset: 0;
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
}
.c-card__th-links {
  position: relative;
  display: block;
  block-size: 100%;
  overflow: hidden;
}
@media (max-width: 767px) {
  .c-card__th-links {
    block-size: auto;
  }
}
.c-card__th-links::before {
  position: absolute;
  inline-size: 100%;
  block-size: 100%;
  content: "";
  background: var(--color-darkest);
  opacity: 0;
  transition: opacity 300ms;
}
@media (hover: hover) {
  .c-card__th-links:hover::before {
    opacity: 0.3;
  }
}
.c-card__badges {
  position: absolute;
  inset-block-start: 0;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  padding-inline-end: 4rem;
}
.c-card__badges-ranking {
  display: flex;
  align-items: center;
  justify-content: center;
  inline-size: 4rem;
  block-size: 4rem;
  font-family: var(--font-family-secondary);
  font-size: 1.8rem;
  font-weight: bold;
  background-color: var(--color-bg-ranking-upper);
  border-block-end: 1px solid var(--color-line-gray);
  border-inline-end: 1px solid var(--color-line-gray);
  border-radius: 0 0 4px 0;
}
@media (max-width: 767px) {
  .c-card__badges-ranking {
    inline-size: 2.4rem;
    block-size: 2.4rem;
    font-size: 1.6rem;
  }
}
.c-card__badges-ranking[data-ranking=lower] {
  background-color: var(--color-bg-ranking-lower);
}
.c-card__badges-sale {
  padding-block: 0.2rem;
  padding-inline: 2.5rem 0.9rem;
  margin-block-start: 0.9rem;
  margin-inline-start: 0.8rem;
  font-size: 1.2rem;
  font-weight: 500;
  color: var(--color-lightest);
  background: var(--color-more-emphasis) url("/images/parts/icon-sale.svg") no-repeat 0.8rem center/1.4rem auto;
  border: 1px solid var(--color-lightest);
  border-radius: 10rem;
}
@media (max-width: 767px) {
  .c-card__badges-sale {
    margin-block-start: 0.5rem;
    font-size: 1rem;
  }
}
.c-card__wishlist-button {
  position: absolute;
  inset-block-start: 0.6rem;
  inset-inline-end: 0.6rem;
  z-index: 1;
  display: block;
  inline-size: 3.2rem;
  block-size: 3.2rem;
  cursor: pointer;
  background-color: var(--wishlist-button-bg-color);
  border-radius: 50%;
}
@media (max-width: 767px) {
  .c-card__wishlist-button {
    inline-size: 3rem;
    block-size: 3rem;
  }
}
.c-card__wishlist-button[data-json-failed] {
  background-image: url("/images/parts/icon-wishlist-off.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 2.4rem auto;
}
@media (max-width: 767px) {
  .c-card__wishlist-button[data-json-failed] {
    background-size: 1.4rem auto;
  }
}
.c-card__wishlist-button[data-json-failed][aria-pressed=true] {
  background-image: url("/images/parts/icon-wishlist-on.svg");
}
.c-card__wishlist-button span {
  position: absolute;
  inline-size: 0.1rem;
  block-size: 0.1rem;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}
.c-card__wishlist-button > svg {
  position: absolute;
  inset: 50% auto auto 50%;
  inline-size: auto !important;
  block-size: auto !important;
  translate: -50% -50%;
}
@media (max-width: 767px) {
  .c-card__wishlist-button > svg {
    inline-size: calc(100% + 1rem) !important;
    block-size: calc(100% + 1rem) !important;
  }
}
.c-card__tags {
  position: absolute;
  inset-block-end: 0;
  font-weight: 500;
}
.c-card__tags-special {
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  padding-inline: 0.7rem 1.1rem;
  margin-block-end: 0.4rem;
  font-size: 1.2rem;
  color: var(--color-lightest);
  background-color: var(--color-more-emphasis);
  border: 1px solid var(--color-lightest);
  border-inline-start: 0;
  border-radius: 0 10rem 10rem 0;
}
@media (max-width: 767px) {
  .c-card__tags-special {
    padding-inline: 0.4rem 0.8rem;
    font-size: 1rem;
  }
}
.c-card__tags-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.2rem;
}
.c-card__tags-list li {
  padding-inline: 0.4rem;
  font-size: 1.2rem;
  background: var(--color-lightest);
  border: 1px solid var(--color-line-gray);
}
@media (max-width: 767px) {
  .c-card__tags-list li {
    font-size: 1rem;
  }
}
.c-card__tags-list li[data-tags=new] {
  color: var(--color-lightest);
  background-color: var(--color-emphasis);
}
.c-card__tags-list li[data-tags=em] {
  color: var(--color-more-emphasis);
}
.c-card__info {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  block-size: 100%;
  padding: 1.6rem;
}
@media (max-width: 767px) {
  .c-card__info {
    padding: 0.8rem;
  }
}
.c-card__info-links {
  display: block;
}
.c-card__maker {
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  padding-block: 0.2rem 0.2rem;
  padding-inline: 0.4rem 0.4rem;
  font-size: 1.2rem;
  font-weight: 500;
  color: var(--color-text-gray);
  border: 1px solid var(--color-line-gray);
  border-radius: 0.2rem;
}
@media (max-width: 767px) {
  .c-card__maker {
    font-size: 1rem;
  }
}
.c-card__release {
  margin-block-start: 0.4rem;
  font-size: 1.2rem;
}
@media (max-width: 767px) {
  .c-card__release {
    font-size: 1rem;
  }
}
.c-card__release span {
  font-family: var(--font-family-secondary);
  font-size: 1.6rem;
}
@media (max-width: 767px) {
  .c-card__release span {
    font-size: 1.4rem;
  }
}
.c-card__title {
  display: -webkit-box;
  max-block-size: 3lh;
  margin-block-start: 0.7rem;
  overflow: clip;
  font-size: 1.8rem;
  font-weight: 500;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  -webkit-box-orient: vertical;
}
@media (hover: hover) {
  .c-card__title:hover {
    color: var(--color-link);
    text-decoration: underline;
  }
}
@media (max-width: 767px) {
  .c-card__title {
    margin-block-start: 0.4rem;
    font-size: 1.4rem;
  }
}
@media (max-width: 767px) {
  .c-card__text {
    font-size: 1.4rem;
  }
}
.c-card__original {
  margin-block-start: 1.15rem;
  font-size: 1.4rem;
  font-weight: 500;
  color: var(--color-text-gray);
}
@media (max-width: 767px) {
  .c-card__original {
    margin-block-start: 0.8rem;
    font-size: 1.2rem;
  }
}
.c-card__price {
  margin-block-start: 0.75rem;
}
.c-card__price-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-block-end: 0.2rem;
}
@media (max-width: 767px) {
  .c-card__price-tags {
    margin-block-end: 0.2rem;
  }
}
.c-card__price-tags-special {
  padding-block: 0.15rem;
  padding-inline: 0.2rem 0.2rem;
  font-size: 1.4rem;
  color: var(--color-lightest);
  background: var(--color-more-emphasis);
}
@media (max-width: 767px) {
  .c-card__price-tags-special {
    font-size: 1.2rem;
  }
}
.c-card__price-tags-discount {
  padding-inline: 0.2rem;
  font-family: var(--font-family-secondary);
  font-size: 1.2rem;
  font-weight: 500;
  color: var(--color-more-emphasis);
  border: 1px solid var(--color-more-emphasis);
}
@media (max-width: 767px) {
  .c-card__price-tags-discount {
    font-size: 1rem;
  }
}
.c-card__price-tags-discount span {
  font-size: 1.6rem;
}
@media (max-width: 767px) {
  .c-card__price-tags-discount span {
    font-size: 1.4rem;
  }
}
.c-card__price-body {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  align-items: flex-end;
  font-family: var(--font-family-secondary);
}
.c-card__price-element {
  font-size: 1.4rem;
  color: var(--color-more-emphasis);
}
@media (max-width: 767px) {
  .c-card__price-element {
    font-size: 1.2rem;
  }
}
.c-card__price-element span {
  margin-inline-start: 0.2rem;
  font-size: 2.4rem;
  font-weight: 600;
}
@media (max-width: 767px) {
  .c-card__price-element span {
    font-size: 2.2rem;
  }
}
.c-card__price-proper {
  padding-block-end: 0.2rem;
  font-size: 1.2rem;
}
@media (max-width: 767px) {
  .c-card__price-proper {
    font-size: 1rem;
  }
}
.c-card__price-proper del {
  margin-inline-start: 0.2rem;
  font-size: 1.4rem;
  text-decoration: line-through;
}
@media (max-width: 767px) {
  .c-card__price-proper del {
    font-size: 1.2rem;
  }
}
.c-card__price-cart-button {
  display: flex;
  gap: 0.2rem;
  align-items: center;
  justify-content: center;
  inline-size: 100%;
  padding: 0.4rem;
  font-size: 1.4rem;
  color: var(--color-lightest);
  background: var(--color-conversion);
  border: 1px solid var(--color-conversion);
  border-radius: 0.4rem;
  transition: 300ms;
}
@media (max-width: 767px) {
  .c-card__price-cart-button {
    font-size: 1.1rem;
  }
}
.c-card__price-cart-button::before {
  display: block;
  inline-size: 1.5rem;
  block-size: 1.5rem;
  content: "";
  background: url("/images/parts/icon-cart-white.svg") no-repeat center top/100% auto;
}
@media (max-width: 767px) {
  .c-card__price-cart-button::before {
    inline-size: 1.1rem;
    block-size: 1.1rem;
  }
}
.c-card__price-cart-button[disabled] {
  color: var(--color-text-gray);
  background: var(--color-bg-gray);
  border-color: var(--color-line-gray);
}
.c-card__price-cart-button[disabled]::before {
  display: none;
}
@media (hover: hover) {
  .c-card__price-cart-button:hover {
    background-color: var(--color-conversion-hover);
  }
}
[data-slide-size=sm] .c-card__th-element {
  aspect-ratio: 16/19.4;
}
@media (max-width: 767px) {
  [data-slide-size=sm] .c-card__th-element {
    aspect-ratio: 14/17;
  }
}
[data-slide-size=sm] .c-card__badges-ranking {
  inline-size: 2.4rem;
  block-size: 2.4rem;
  font-size: 1.6rem;
}
@media (max-width: 767px) {
  [data-slide-size=sm] .c-card__badges-ranking {
    inline-size: 2.4rem;
    block-size: 2.4rem;
    font-size: 1.6rem;
  }
}
[data-slide-size=sm] .c-card__badges-sale {
  margin-block-start: 0.5rem;
  font-size: 1rem;
}
@media (max-width: 767px) {
  [data-slide-size=sm] .c-card__badges-sale {
    margin-block-start: 0.5rem;
    font-size: 1rem;
  }
}
[data-slide-size=sm] .c-card__tags-list li {
  font-size: 1rem;
}
@media (max-width: 767px) {
  [data-slide-size=sm] .c-card__tags-list li {
    font-size: 1rem;
  }
}
[data-slide-size=sm] .c-card__info {
  padding-inline: 0.8rem;
}
@media (max-width: 767px) {
  [data-slide-size=sm] .c-card__release {
    font-size: 1rem;
  }
}
[data-slide-size=sm] .c-card__release span {
  font-size: 1.4rem;
}
@media (max-width: 767px) {
  [data-slide-size=sm] .c-card__release span {
    font-size: 1.2rem;
  }
}
[data-slide-size=sm] .c-card__title {
  font-size: 1.4rem;
}
@media (max-width: 767px) {
  [data-slide-size=sm] .c-card__title {
    font-size: 1.2rem;
  }
}
[data-slide-size=sm] .c-card__original {
  font-size: 1.4rem;
}
@media (max-width: 767px) {
  [data-slide-size=sm] .c-card__original {
    font-size: 1rem;
  }
}
@media (max-width: 767px) {
  [data-slide-size=sm] .c-card__price-tags {
    gap: 0.2rem;
  }
}
[data-slide-size=sm] .c-card__price-element span {
  font-size: 2.2rem;
}
@media (max-width: 767px) {
  [data-slide-size=sm] .c-card__price-element span {
    font-size: 2rem;
  }
}

@media (max-width: 767px) {
  .c-product-carousel:has(.is-initialized):not(:has(.is-active)) {
    margin-inline-end: 0;
  }
}
.c-product-carousel__track {
  border-radius: 0.4rem;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.15);
}
.c-product-carousel__arrow {
  position: absolute;
  inset-block-start: 50%;
  z-index: 2;
  inline-size: 4rem;
  block-size: 4rem;
  text-indent: -9999px;
  background-repeat: no-repeat;
  background-size: 100% auto;
  transform: translate(0, calc(-50% - 1.6rem));
}
.c-product-carousel__arrows-next {
  inset-inline-end: -5.4rem;
  background-image: url("/images/parts/icon-slider-next.svg");
}
@media (width <= 1260px) {
  .c-product-carousel__arrows-next {
    inset-inline-end: -1.5rem;
  }
}
@media (max-width: 767px) {
  .c-product-carousel__arrows-next {
    inset-inline-end: -1.2rem;
  }
}
.c-product-carousel__arrows-prev {
  inset-inline-start: -5.4rem;
  background-image: url("/images/parts/icon-slider-prev.svg");
}
@media (width <= 1260px) {
  .c-product-carousel__arrows-prev {
    inset-inline-start: -1.5rem;
  }
}
@media (max-width: 767px) {
  .c-product-carousel__arrows-prev {
    inset-inline-start: -1.2rem;
  }
}
.c-product-carousel__arrows[data-carousel-arrow=narrow] button.c-product-carousel__arrows-next {
  inset-inline-end: -2.4rem;
}
@media (width <= 1260px) {
  .c-product-carousel__arrows[data-carousel-arrow=narrow] button.c-product-carousel__arrows-next {
    inset-inline-end: -1.5rem;
  }
}
@media (max-width: 767px) {
  .c-product-carousel__arrows[data-carousel-arrow=narrow] button.c-product-carousel__arrows-next {
    inset-inline-end: 0.4rem;
  }
}
.c-product-carousel__arrows[data-carousel-arrow=narrow] button.c-product-carousel__arrows-prev {
  inset-inline-start: -2.4rem;
}
@media (width <= 1260px) {
  .c-product-carousel__arrows[data-carousel-arrow=narrow] button.c-product-carousel__arrows-prev {
    inset-inline-start: -1.5rem;
  }
}
@media (max-width: 767px) {
  .c-product-carousel__arrows[data-carousel-arrow=narrow] button.c-product-carousel__arrows-prev {
    inset-inline-start: -1.2rem;
  }
}
.c-product-carousel__body.is-initialized:not(.is-active) .c-product-carousel__track {
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  max-inline-size: 100%;
}
.c-product-carousel__body.is-initialized:not(.is-active) .c-product-carousel__list {
  display: flex;
}
.c-product-carousel__body.is-initialized:not(.is-active) .c-product-carousel__item {
  flex-shrink: 1;
  inline-size: 22.5rem;
  max-inline-size: 100%;
}
@media (max-width: 767px) {
  .c-product-carousel__body.is-initialized:not(.is-active) .c-product-carousel__item {
    inline-size: 50%;
  }
}
[data-slide-size=sm] .c-product-carousel__body.is-initialized:not(.is-active) .c-product-carousel__item {
  inline-size: 16rem;
}
@media (max-width: 767px) {
  [data-slide-size=sm] .c-product-carousel__body.is-initialized:not(.is-active) .c-product-carousel__item {
    inline-size: 11.6rem;
  }
}

.c-product-list {
  position: relative;
  z-index: 0;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  overflow: hidden;
  background-color: var(--color-bg-gray-02);
  border-radius: 4px;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.15);
}
@media (max-width: 767px) {
  .c-product-list {
    grid-template-columns: repeat(2, 1fr);
  }
  .c-product-list:not(:has(.c-product-list__item:nth-of-type(2))) {
    grid-template-columns: 1fr;
    inline-size: 50%;
  }
  .c-product-list[data-slide-size=sm] {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 768px) {
  .c-product-list[data-col="4"] {
    grid-template-columns: repeat(4, 1fr);
  }
}
.c-product-list[data-col-auto="6"] {
  grid-template-columns: repeat(auto-fill, minmax(min(14.4rem, 100%), 1fr));
  overflow: unset;
  background-color: unset;
  box-shadow: unset;
}
@media (max-width: 767px) {
  .c-product-list[data-col-auto="6"] {
    grid-template-columns: repeat(auto-fill, minmax(min(11rem, 100%), 1fr));
  }
}
.c-product-list[data-col-auto="6"]::before {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  z-index: -1;
  display: block;
  inline-size: min(var(--_element-width), 100%);
  block-size: 100%;
  content: "";
  background-color: var(--color-bg-gray-02);
  border-radius: 4px;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.15);
}
@media (max-width: 767px) {
  .c-product-list[data-col-auto="6"]:not(:has(.c-product-list__item:nth-of-type(2))) {
    grid-template-columns: repeat(auto-fill, minmax(min(11rem, 100%), 1fr));
    inline-size: auto;
  }
}
@media (min-width: 768px) {
  .c-product-list:not([data-col="4"]):not([data-col-auto]):not(:has(.c-product-list__item:nth-of-type(5))) {
    grid-template-columns: repeat(4, 1fr);
    inline-size: 80%;
  }
}
@media (min-width: 768px) {
  .c-product-list:not([data-col="4"]):not([data-col-auto]):not(:has(.c-product-list__item:nth-of-type(4))) {
    grid-template-columns: repeat(3, 1fr);
    inline-size: 60%;
  }
}
@media (min-width: 768px) {
  .c-product-list:not([data-col="4"]):not([data-col-auto]):not(:has(.c-product-list__item:nth-of-type(3))) {
    grid-template-columns: repeat(2, 1fr);
    inline-size: 40%;
  }
}
@media (min-width: 768px) {
  .c-product-list:not([data-col="4"]):not([data-col-auto]):not(:has(.c-product-list__item:nth-of-type(2))) {
    grid-template-columns: repeat(1, 1fr);
    inline-size: 20%;
  }
}
@media (min-width: 768px) {
  .c-product-list[data-col="4"]:not(:has(.c-product-list__item:nth-of-type(4))) {
    grid-template-columns: repeat(3, 1fr);
    inline-size: 75%;
  }
}
@media (min-width: 768px) {
  .c-product-list[data-col="4"]:not(:has(.c-product-list__item:nth-of-type(3))) {
    grid-template-columns: repeat(2, 1fr);
    inline-size: 50%;
  }
}
@media (min-width: 768px) {
  .c-product-list[data-col="4"]:not(:has(.c-product-list__item:nth-of-type(2))) {
    grid-template-columns: repeat(1, 1fr);
    inline-size: 25%;
  }
}

.c-product-list-scroll__main {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  overflow: hidden;
  border-radius: 4px;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.15);
}
@media (max-width: 991px) {
  .c-product-list-scroll__main {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media (max-width: 767px) {
  .c-product-list-scroll__main {
    display: flex;
    flex-wrap: nowrap;
    overflow: auto;
  }
}
@media (min-width: 768px) {
  .c-product-list-scroll__main[data-col="4"] {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media (min-width: 768px) {
  .c-product-list-scroll__main:not([data-col="4"]):not(:has(.c-product-list-scroll__item:nth-of-type(5))) {
    grid-template-columns: repeat(4, 1fr);
    inline-size: 100%;
  }
}
@media (min-width: 992px) {
  .c-product-list-scroll__main:not([data-col="4"]):not(:has(.c-product-list-scroll__item:nth-of-type(5))) {
    grid-template-columns: repeat(4, 1fr);
    inline-size: 80%;
  }
}
@media (min-width: 768px) {
  .c-product-list-scroll__main:not([data-col="4"]):not(:has(.c-product-list-scroll__item:nth-of-type(4))) {
    grid-template-columns: repeat(3, 1fr);
    inline-size: 75%;
  }
}
@media (min-width: 992px) {
  .c-product-list-scroll__main:not([data-col="4"]):not(:has(.c-product-list-scroll__item:nth-of-type(4))) {
    grid-template-columns: repeat(3, 1fr);
    inline-size: 60%;
  }
}
@media (min-width: 768px) {
  .c-product-list-scroll__main:not([data-col="4"]):not(:has(.c-product-list-scroll__item:nth-of-type(3))) {
    grid-template-columns: repeat(2, 1fr);
    inline-size: 50%;
  }
}
@media (min-width: 992px) {
  .c-product-list-scroll__main:not([data-col="4"]):not(:has(.c-product-list-scroll__item:nth-of-type(3))) {
    grid-template-columns: repeat(2, 1fr);
    inline-size: 40%;
  }
}
@media (min-width: 768px) {
  .c-product-list-scroll__main:not([data-col="4"]):not(:has(.c-product-list-scroll__item:nth-of-type(2))) {
    grid-template-columns: repeat(1, 1fr);
    inline-size: 25%;
  }
}
@media (min-width: 992px) {
  .c-product-list-scroll__main:not([data-col="4"]):not(:has(.c-product-list-scroll__item:nth-of-type(2))) {
    grid-template-columns: repeat(1, 1fr);
    inline-size: 20%;
  }
}
@media (min-width: 768px) {
  .c-product-list-scroll__main[data-col="4"]:not(:has(.c-product-list-scroll__item:nth-of-type(4))) {
    grid-template-columns: repeat(3, 1fr);
    inline-size: 75%;
  }
}
@media (min-width: 768px) {
  .c-product-list-scroll__main[data-col="4"]:not(:has(.c-product-list-scroll__item:nth-of-type(3))) {
    grid-template-columns: repeat(2, 1fr);
    inline-size: 50%;
  }
}
@media (min-width: 768px) {
  .c-product-list-scroll__main[data-col="4"]:not(:has(.c-product-list-scroll__item:nth-of-type(2))) {
    grid-template-columns: repeat(1, 1fr);
    inline-size: 25%;
  }
}
@media (max-width: 767px) {
  .c-product-list-scroll__item {
    flex-shrink: 0;
    inline-size: 14rem;
  }
}
@media (min-width: 768px) {
  .c-product-list-scroll__note {
    display: none;
  }
}
.c-product-list-scroll__note-inner {
  display: flex;
  column-gap: 0.2rem;
  align-items: center;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  padding-block: 0.2rem;
  padding-inline: 0.4rem;
  margin-block-start: 1.6rem;
  margin-inline: auto;
  font-size: 1.4rem;
  color: var(--color-lightest);
  background-color: var(--color-link);
  border-radius: 0.2rem;
}
.c-product-list-scroll__note > img {
  display: block;
  inline-size: 1.6rem;
  block-size: auto;
}

.c-card-col1 {
  overflow: hidden;
  border-radius: 4px;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.15);
}
.c-card-col1__item {
  border-block-end: 1px solid var(--color-line-gray);
}
.c-card-col1__item:last-child {
  border: 0;
}
.c-card-col1 .c-card {
  display: grid;
  grid-template-columns: 18.5rem 1fr;
  align-items: flex-start;
}
@media (max-width: 767px) {
  .c-card-col1 .c-card {
    grid-template-columns: 12rem 1fr;
  }
  .c-card-col1 .c-card__th {
    block-size: 100%;
  }
  .c-card-col1 .c-card__th-element {
    block-size: 100%;
  }
  .c-card-col1 .c-card__th-element img {
    max-inline-size: 12rem;
  }
}
.c-card-col1[data-size=sm] .c-card {
  grid-template-columns: 12.8rem 1fr;
  align-items: stretch;
}
@media (max-width: 767px) {
  .c-card-col1[data-size=sm] .c-card {
    grid-template-columns: 12rem 1fr;
  }
}
.c-card-col1[data-size=sm] .c-card__th-links {
  block-size: 100%;
}
.c-card-col1[data-size=sm] .c-card__maker {
  display: inline-block;
}
.c-card-col1[data-size=sm] .c-card__release {
  display: inline-block;
  margin-block: 0;
  margin-inline-start: 0.8rem;
}
.c-card-col1[data-size=sm] .c-card__release span {
  font-size: 1.2rem;
}
.c-card-col1[data-size=sm] .c-card__title {
  margin-block-start: 0.4rem;
  font-size: 1.4rem;
}
.c-card-col1[data-size=sm] .c-card__original {
  margin-block-start: 0.6rem;
  font-size: 1.2rem;
}
.c-card-col1[data-size=sm] .c-card__tags-special {
  font-size: 1.2rem;
}
.c-card-col1[data-size=sm] .c-card__tags-discount span {
  font-size: 1.2rem;
}
.c-card-col1[data-size=sm] .c-card__price-element span {
  font-size: 2rem;
}

.c-block-products {
  align-items: center;
}
@media (max-width: 767px) {
  .c-block-products {
    display: grid;
    grid-template-rows: repeat(3, auto);
    grid-template-columns: 1fr;
  }
}
.c-block-products__header {
  display: flex;
  flex-wrap: wrap;
  gap: 1.6rem;
  align-items: center;
  justify-content: space-between;
  margin-block-end: 1.6rem;
}
@media (max-width: 767px) {
  .c-block-products__header {
    display: contents;
  }
}
.c-block-products__heading {
  grid-area: 1/1/2/4;
}
@media (max-width: 767px) {
  .c-block-products__heading {
    grid-area: 1/1/2/2;
  }
}
@media (min-width: 768px) {
  .c-block-products__heading .c-h2 {
    margin-block-end: 0;
  }
}
.c-block-products__link {
  display: flex;
  grid-area: 1/4/2/6;
  gap: 0.8rem;
  justify-content: flex-end;
}
@media (max-width: 767px) {
  .c-block-products__link {
    flex-direction: column;
    grid-area: 3/1/4/2;
    gap: 1.6rem;
    align-items: center;
    justify-content: center;
    margin-block-start: 2.4rem;
  }
}
@media (max-width: 767px) {
  .c-block-products__link-element {
    inline-size: 100%;
  }
}
.c-block-products__link-button {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  max-inline-size: 55.2rem;
  padding-block: 0.4rem;
  padding-inline: 1.2rem 2.2rem;
  font-size: 1.4rem;
  color: var(--color-lightest);
  background-color: var(--color-link-emphasis);
  border: 1px solid var(--color-link-emphasis);
  border-radius: 0.4rem;
  transition: 300ms;
}
@media (hover: hover) {
  .c-block-products__link-button:hover {
    background-color: var(--color-black);
  }
}
@media (max-width: 767px) {
  .c-block-products__link-button {
    inline-size: 100%;
    font-size: 1.6rem;
  }
}
.c-block-products__link-button::after {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-end: 0.8rem;
  display: block;
  inline-size: 0.7rem;
  block-size: 1rem;
  content: "";
  background: url("/images/parts/icon-ar-bold-white.svg") no-repeat center center;
  background-size: 100% auto;
  transform: translate(0, -50%);
}
@media (max-width: 767px) {
  .c-block-products__link-button::after {
    inset-inline-end: 1rem;
    inline-size: 0.5em;
    block-size: 1em;
  }
}
.c-block-products__main {
  grid-area: 2/1/3/6;
}
@media (max-width: 767px) {
  .c-block-products__main {
    grid-area: 2/1/3/2;
  }
}

.c-block-sale {
  container-name: block-sale;
  container-type: inline-size;
  display: grid;
  row-gap: 1.6rem;
  padding-block: 2.4rem;
  padding-inline: 2.4rem;
  background-color: var(--color-bg-gray);
}
@media (max-width: 767px) {
  .c-block-sale {
    row-gap: 0.8rem;
    padding-block: 1.6rem;
    padding-inline: 1.6rem;
  }
}
.c-block-sale:where(.c-header-pc *, .c-header-sp *) {
  border-radius: 0.4rem;
}
@media (max-width: 767px) {
  .c-block-sale:where(.c-header-pc *, .c-header-sp *) {
    padding-block: 0.8rem;
    padding-inline: 0.8rem;
  }
}
.c-block-sale__goods {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 1.6rem;
}
@container block-sale (max-inline-size: 80rem) {
  .c-block-sale__goods {
    column-gap: 0.8rem;
  }
}

.c-foot-faq {
  padding-block: 2rem 4rem;
  padding-inline: 2.4rem;
  background: var(--color-bg-gray);
  border-radius: 0.4rem;
}
@media (max-width: 767px) {
  .c-foot-faq {
    padding-block: 2.4rem 4rem;
    padding-inline: 1.6rem;
  }
}
.c-foot-faq__body {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1.6rem 2.4rem;
}
@media (max-width: 767px) {
  .c-foot-faq__body {
    grid-template-columns: 1fr;
  }
}
.c-foot-faq__button {
  display: flex;
  justify-content: center;
  margin-block-start: 3.6rem;
}
.c-foot-faq__head {
  margin-block-end: 0.8rem;
  font-weight: bold;
  text-align: center;
}
@media (max-width: 767px) {
  .c-foot-faq__head {
    display: flex;
    gap: 0 0.6rem;
    align-items: center;
    justify-content: center;
    inline-size: calc(100% - 2.5rem);
    padding-block: 0.4rem;
    margin-inline: auto;
    background: var(--color-lightest);
    border-radius: 4.8rem;
  }
}
.c-foot-faq__head span {
  display: block;
  padding-block: 0.2rem;
  padding-inline: 0.8rem;
  background: var(--color-lightest);
  border-radius: 4.8rem;
}
@media (max-width: 767px) {
  .c-foot-faq__head span {
    padding: 0;
    font-size: 1.4rem;
  }
}
@media (max-width: 767px) {
  .c-foot-faq__head[data-head=payment] img {
    inline-size: 2.9rem;
  }
}
@media (max-width: 767px) {
  .c-foot-faq__head[data-head=shipping] img {
    inline-size: 3rem;
  }
}
@media (max-width: 767px) {
  .c-foot-faq__head[data-head=postage] img {
    inline-size: 2.9rem;
  }
}
@media (max-width: 767px) {
  .c-foot-faq__head[data-head=inquiries] img {
    inline-size: 3rem;
  }
}
@media (max-width: 767px) {
  .c-foot-faq__head[data-head=entry] img {
    inline-size: 2.7rem;
  }
}
.c-foot-faq__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  inline-size: 12rem;
  block-size: 12rem;
  margin-inline: auto auto;
}
@media (max-width: 767px) {
  .c-foot-faq__icon {
    inline-size: 3.2rem;
    block-size: 3.2rem;
    margin: 0;
  }
  .c-foot-faq__icon img {
    block-size: auto;
  }
}
.c-foot-faq__content {
  font-size: 1.4rem;
}
@media (max-width: 767px) {
  .c-foot-faq__content {
    font-size: 1.2rem;
  }
}
.c-foot-faq__content p {
  padding-inline: 0.8rem;
  margin-block-end: 0.8rem;
}
.c-foot-faq__content p:last-child {
  margin-block-end: 0;
}
.c-foot-faq__content ul {
  padding-inline-start: 0.8rem;
}
@media (max-width: 767px) {
  .c-foot-faq__content ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.4rem;
    padding-inline-end: 0.8rem;
    margin: 0;
  }
  .c-foot-faq__content ul[data-col=full] {
    grid-template-columns: 1fr;
  }
}
.c-foot-faq__content ul li {
  position: relative;
  padding-inline-start: 1.8rem;
  margin-block-end: 0.6rem;
}
@media (max-width: 767px) {
  .c-foot-faq__content ul li {
    margin: 0;
  }
}
.c-foot-faq__content ul li:last-child {
  margin-block-end: 0;
}
.c-foot-faq__content ul li::before {
  position: absolute;
  inset-block-start: 0.5rem;
  inset-inline-start: 0;
  display: block;
  inline-size: 0.8rem;
  block-size: 0.8rem;
  content: "";
  background: currentcolor;
  border-radius: 0.1rem;
}

.c-foot-banner__body {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.6rem 4rem;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .c-foot-banner__body {
    grid-template-columns: 1fr;
  }
}
@media (min-width: 768px) {
  .c-foot-banner__body:has(li:only-child) {
    grid-template-columns: min(50%, 540px);
    justify-content: center;
  }
}
.c-foot-banner li a {
  position: relative;
  display: block;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  overflow: hidden;
  border-radius: 0.4rem;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.15);
}
.c-foot-banner li a::after {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  display: block;
  inline-size: 100%;
  block-size: 100%;
  content: "";
  border: 1px solid var(--color-link);
  border-radius: 0.4rem;
  opacity: 0;
  transition: 200ms;
}
@media (hover: hover) {
  .c-foot-banner li a:hover::after {
    opacity: 1;
  }
}
.c-foot-banner li a img {
  display: block;
  inline-size: 100%;
  block-size: auto;
  object-fit: cover;
}

.c-notice {
  padding-block: 1.6rem 1.6rem;
  padding-inline: 2.4rem;
  color: var(--color-more-emphasis);
  overflow-wrap: normal;
  background-color: var(--color-bg-red);
  border: 1px solid var(--color-more-emphasis);
  border-radius: 0.4rem;
}
@media (max-width: 767px) {
  .c-notice {
    padding: 1.6rem;
  }
}
.c-notice__heading {
  margin-block-end: 0.4rem;
  font-size: 2rem;
  font-weight: bold;
}
@media (max-width: 767px) {
  .c-notice__heading {
    margin-block-end: 0.8rem;
    font-size: 1.8rem;
  }
}
.c-notice__element {
  padding: 0.4rem;
  padding-block-start: 0.4em;
  padding-inline-end: 0.4rem;
  margin-block-end: 0.2rem;
  border-block-end: 1px solid currentcolor;
}
@media (max-width: 767px) {
  .c-notice__element {
    padding-block-end: 0.8rem;
  }
}
.c-notice__element:nth-child(1):not(:has(+ .c-notice__element)) {
  border-block-end: 0;
}
.c-notice__links {
  position: relative;
  display: flex;
  padding-inline-end: 2.2rem;
}
@media (max-width: 767px) {
  .c-notice__links {
    align-items: center;
    font-size: 1.2rem;
  }
}
@media (hover: hover) {
  .c-notice__links:hover::after {
    inset-inline-end: -0.2rem;
  }
}
.c-notice__links::after {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-end: 0.1rem;
  display: block;
  inline-size: 1.4rem;
  block-size: 1.4rem;
  margin-block-start: -0.7rem;
  content: "";
  background: currentcolor url("/images/parts/icon-ar-white.svg") no-repeat center center;
  background-size: 0.5rem auto;
  border-radius: 50%;
  transition: 300ms;
}
@media (max-width: 767px) {
  .c-notice__links::after {
    inset-inline-end: -0.2rem;
    background-size: 0.4rem auto;
  }
}
.c-notice__time {
  display: grid;
  grid-template-columns: 8.2rem 0.8rem;
  gap: 0.8rem;
  align-items: center;
  margin-inline-end: 0.8rem;
  font-family: var(--font-family-secondary);
}
@media (max-width: 767px) {
  .c-notice__time {
    grid-template-columns: 3.2rem 0.4rem;
    word-break: break-word;
  }
}
.c-notice__time::after {
  grid-template-columns: subgrid;
  inline-size: 0.8rem;
  block-size: 0.1rem;
  content: "";
  background: currentcolor;
}
@media (max-width: 767px) {
  .c-notice__time::after {
    inline-size: 0.4rem;
  }
}
.c-notice__title {
  flex: 1 0 0;
}

.c-h2 {
  margin: 0 0 16px;
  font-size: 3.2rem;
  font-weight: bold;
}
@media (max-width: 767px) {
  .c-h2 {
    font-size: 2.8rem;
  }
}

.c-h3 {
  margin: 0 0 16px;
  font-size: 2.8rem;
  font-weight: bold;
  line-height: 1.5;
}
@media (max-width: 767px) {
  .c-h3 {
    font-size: 2.6rem;
  }
}

.c-button-normal {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  min-inline-size: 20.8rem;
  max-inline-size: 55.2rem;
  padding-block: 1.6rem;
  padding-inline: 2.4rem 4.2rem;
  font-weight: 500;
  color: var(--color-link);
  background-color: var(--color-lightest);
  border: 1.5px solid currentcolor;
  border-radius: 0.4rem;
  transition: 300ms;
}
@media (max-width: 767px) {
  .c-button-normal {
    font-size: 1.6rem;
  }
}
.c-button-normal::after {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-end: 2.2rem;
  display: block;
  inline-size: 1rem;
  block-size: 1.7rem;
  content: "";
  background: url("/images/parts/icon-ar-link.svg") no-repeat center center;
  background-size: 100% auto;
  transition: 300ms;
  transform: translate(0, -50%);
}
@media (hover: hover) {
  .c-button-normal:hover {
    color: var(--color-lightest);
    background-color: var(--color-link);
  }
  .c-button-normal:hover::after {
    background-image: url("/images/parts/icon-ar-link-white.svg");
  }
}
.c-button-normal:disabled {
  color: var(--color-text-gray);
  background: var(--color-bg-disabled);
  border-color: var(--color-line-gray);
}

.c-button-normal-sm {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  min-inline-size: 20.8rem;
  max-inline-size: 55.2rem;
  padding-block: 0.4rem;
  padding-inline: 1.2rem 2.2rem;
  font-size: 1.4rem;
  color: var(--color-link);
  background-color: var(--color-lightest);
  border: 1px solid currentcolor;
  border-radius: 0.4rem;
  transition: 300ms;
}
@media (max-width: 767px) {
  .c-button-normal-sm {
    font-size: 1.2rem;
  }
}
@media (hover: hover) {
  .c-button-normal-sm:hover {
    color: var(--color-lightest);
    background-color: var(--color-link);
  }
  .c-button-normal-sm:hover::after {
    background-image: url("/images/parts/icon-ar-bold-white.svg");
  }
}
.c-button-normal-sm::after {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-end: 0.8rem;
  display: block;
  inline-size: 0.7rem;
  block-size: 1rem;
  content: "";
  background: url("/images/parts/icon-ar-link-small.svg") no-repeat center center;
  background-size: 100% auto;
  transition: 300ms;
  transform: translate(0, -50%);
}
.c-button-normal-sm:disabled {
  color: var(--color-text-gray);
  background: var(--color-bg-disabled);
  border-color: var(--color-line-gray);
}

.c-button-em {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  min-inline-size: 20.8rem;
  max-inline-size: 55.2rem;
  padding-block: 1.6rem;
  padding-inline: 2.4rem 4.2rem;
  font-weight: 500;
  color: var(--color-lightest);
  background-color: var(--color-link-emphasis);
  border: 1.5px solid var(--color-link-emphasis);
  border-radius: 0.4rem;
  transition: 300ms;
}
@media (max-width: 767px) {
  .c-button-em {
    font-size: 1.6rem;
  }
}
@media (hover: hover) {
  .c-button-em:hover {
    background-color: var(--color-black);
  }
}
.c-button-em::after {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-end: 2.2rem;
  display: block;
  inline-size: 1rem;
  block-size: 1.7rem;
  content: "";
  background: url("/images/parts/icon-ar-link-white.svg") no-repeat center center;
  background-size: 100% auto;
  transform: translate(0, -50%);
}
.c-button-em[type=submit][value] {
  text-align: center;
  background-image: url("/images/parts/icon-ar-link-white.svg");
  background-repeat: no-repeat;
  background-position: right 2.2rem center;
  background-size: 1rem auto;
}
.c-button-em:disabled {
  color: var(--color-text-gray);
  background: var(--color-bg-disabled);
  border-color: var(--color-line-gray);
}

.c-button-em-sm {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  min-inline-size: 20.8rem;
  max-inline-size: 55.2rem;
  padding-block: 0.4rem;
  padding-inline: 1.2rem 2.2rem;
  font-size: 1.4rem;
  color: var(--color-lightest);
  background-color: var(--color-link-emphasis);
  border: 1px solid var(--color-link-emphasis);
  border-radius: 0.4rem;
  transition: 300ms;
}
@media (max-width: 767px) {
  .c-button-em-sm {
    font-size: 1.2rem;
  }
}
@media (hover: hover) {
  .c-button-em-sm:hover {
    background-color: var(--color-black);
  }
}
.c-button-em-sm::after {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-end: 0.8rem;
  display: block;
  inline-size: 0.7rem;
  block-size: 1rem;
  content: "";
  background: url("/images/parts/icon-ar-bold-white.svg") no-repeat center center;
  background-size: 100% auto;
  transform: translate(0, -50%);
}
.c-button-em-sm:disabled {
  color: var(--color-text-gray);
  background: var(--color-bg-disabled);
  border-color: var(--color-line-gray);
}

.c-button-back {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  min-inline-size: 20.8rem;
  max-inline-size: 55.2rem;
  padding-block: 1.6rem;
  padding-inline: 4.2rem 2.4rem;
  font-weight: 500;
  color: var(--base-font-color);
  background-color: var(--color-bg-gray);
  border: 1.5px solid var(--color-line-gray);
  border-radius: 0.4rem;
  transition: 300ms;
}
@media (max-width: 767px) {
  .c-button-back {
    font-size: 1.6rem;
  }
}
@media (hover: hover) {
  .c-button-back:hover {
    color: var(--color-text-gray);
    background-color: var(--color-lightest);
  }
}
.c-button-back::before {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 2.2rem;
  display: block;
  inline-size: 1rem;
  block-size: 1.7rem;
  content: "";
  background: url("/images/parts/icon-ar-back.svg") no-repeat center center;
  background-size: 100% auto;
  transform: translate(0, -50%);
}
.c-button-back:disabled {
  color: var(--color-text-gray);
  background: var(--color-bg-disabled);
  border-color: var(--color-line-gray);
}

.c-button-back-sm {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  min-inline-size: 20.8rem;
  max-inline-size: 55.2rem;
  padding-block: 0.4rem;
  padding-inline: 2.2rem 1.2rem;
  font-size: 1.4rem;
  color: var(--base-font-color);
  background-color: var(--color-bg-gray);
  border: 1px solid var(--color-line-gray);
  border-radius: 0.4rem;
  transition: 300ms;
}
@media (max-width: 767px) {
  .c-button-back-sm {
    font-size: 1.2rem;
  }
}
@media (hover: hover) {
  .c-button-back-sm:hover {
    color: var(--color-text-gray);
    background-color: var(--color-lightest);
  }
}
.c-button-back-sm::before {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 0.8rem;
  display: block;
  inline-size: 0.7rem;
  block-size: 1rem;
  content: "";
  background: url("/images/parts/icon-ar-back-small.svg") no-repeat center center;
  background-size: 100% auto;
  transform: translate(0, -50%);
}
.c-button-back-sm:disabled {
  color: var(--color-text-gray);
  background: var(--color-bg-disabled);
  border-color: var(--color-line-gray);
}

.c-button-cv {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  min-inline-size: 20.8rem;
  max-inline-size: 55.2rem;
  padding-block: 1.6rem;
  padding-inline: 4.2rem 2.4rem;
  font-size: 2rem;
  font-weight: 500;
  color: var(--color-lightest);
  background-color: var(--color-conversion);
  background-image: url("/images/parts/icon-cart-white.svg");
  background-repeat: no-repeat;
  background-position: 1.6rem center;
  background-size: 2.2rem auto;
  border: 1.5px solid var(--color-conversion);
  border-radius: 0.4rem;
  transition: 300ms;
}
@media (max-width: 767px) {
  .c-button-cv {
    font-size: 1.8rem;
  }
}
@media (hover: hover) {
  .c-button-cv:hover {
    background-color: var(--color-conversion-hover);
  }
}
.c-button-cv:disabled {
  color: var(--color-text-gray);
  background: var(--color-bg-disabled);
  border-color: var(--color-line-gray);
}

.c-button-cv-sm {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  min-inline-size: 20.8rem;
  max-inline-size: 55.2rem;
  padding-block: 0.4rem;
  padding-inline: 2.2rem 1.2rem;
  font-size: 1.4rem;
  color: var(--color-lightest);
  background-color: var(--color-conversion);
  background-image: url("/images/parts/icon-cart-white.svg");
  background-repeat: no-repeat;
  background-position: 0.6rem center;
  background-size: 1.4rem auto;
  border: 1px solid var(--color-conversion);
  border-radius: 0.4rem;
  transition: 300ms;
}
@media (max-width: 767px) {
  .c-button-cv-sm {
    font-size: 1.2rem;
  }
}
@media (hover: hover) {
  .c-button-cv-sm:hover {
    background-color: var(--color-conversion-hover);
  }
}
.c-button-cv-sm:disabled {
  color: var(--color-text-gray);
  background: var(--color-bg-disabled);
  border-color: var(--color-line-gray);
}

.c-button-sale {
  position: relative;
  display: flex;
  gap: 0.8rem;
  align-items: center;
  justify-content: center;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  min-inline-size: min(36rem, 100%);
  padding-block: 0.8rem;
  padding-inline: 1.6rem;
  margin-inline: auto;
  font-size: 1.6rem;
  color: var(--color-lightest);
  background-color: var(--color-more-emphasis);
  border-radius: 0.4rem;
  transition: background-color 200ms;
}
@media (max-width: 767px) {
  .c-button-sale {
    padding-block: 0.6rem;
    font-size: 1.2rem;
  }
}
@media (hover) {
  .c-button-sale:hover {
    background-color: var(--color-conversion-hover);
  }
}
.c-button-sale::before {
  display: inline-block;
  inline-size: 2.1rem;
  block-size: 2.1rem;
  content: "";
  background: url("/images/parts/icon-sale.svg") no-repeat center/contain;
}
@media (max-width: 767px) {
  .c-button-sale::before {
    inline-size: 1.6rem;
    block-size: 1.6rem;
  }
}
.c-button-sale::after {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-end: 0.8rem;
  display: block;
  inline-size: 0.7rem;
  block-size: 1rem;
  content: "";
  background: url("/images/parts/icon-ar-bold-white.svg") no-repeat center center;
  background-size: 100% auto;
  transform: translate(0, -50%);
}
@media (max-width: 767px) {
  .c-button-sale::after {
    display: none;
  }
}

.c-button-em-icon {
  --_width: fit-content;
  position: relative;
  display: flex;
  gap: 0.4rem 0.8rem;
  align-items: center;
  justify-content: center;
  inline-size: var(--_width);
  min-inline-size: min(20.8rem, 100%);
  max-inline-size: 55.2rem;
  padding-block: 1.1rem;
  padding-inline: 2.4rem 4.2rem;
  font-size: 2rem;
  font-weight: 500;
  color: var(--color-lightest);
  background-color: var(--color-link-emphasis);
  border: 1.5px solid var(--color-link-emphasis);
  border-radius: 0.4rem;
  transition: background-color 300ms;
}
@media (max-width: 767px) {
  .c-button-em-icon {
    flex-wrap: wrap;
    padding-block: 0.9rem;
    padding-inline: 0.4rem;
    font-size: 1.8rem;
  }
}
.c-button-em-icon:where(.c-header-pc *, .c-header-sp *) {
  font-size: 1.8rem;
}
@media (max-width: 767px) {
  .c-button-em-icon:where(.c-header-pc *, .c-header-sp *) {
    font-size: 1.6rem;
  }
}
@media (hover) {
  .c-button-em-icon:hover {
    background-color: var(--color-black);
  }
}
.c-button-em-icon:where(.c-block-sale *) {
  --_width: 100%;
  block-size: 100%;
}
.c-button-em-icon__icon {
  inline-size: 3.2rem;
}
@media (max-width: 767px) {
  .c-button-em-icon__icon {
    display: block;
    inline-size: 2.4rem;
  }
}
.c-button-em-icon__icon img {
  display: block;
  max-inline-size: 100%;
  block-size: auto;
  margin-inline: auto;
}
@media (max-width: 767px) {
  .c-button-em-icon__text {
    display: block;
    inline-size: 100%;
    text-align: center;
  }
}
@media (max-width: 767px) {
  .c-button-em-icon__text-label {
    display: block;
  }
}
@media (max-width: 767px) {
  .c-button-em-icon__text-action {
    display: block;
    font-size: 1.4rem;
  }
}
.c-button-em-icon::after {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-end: 2.2rem;
  display: block;
  inline-size: 1rem;
  block-size: 1.7rem;
  content: "";
  background: url("/images/parts/icon-ar-link-white.svg") no-repeat center center;
  background-size: 100% auto;
  transform: translate(0, -50%);
}
@media (max-width: 767px) {
  .c-button-em-icon::after {
    display: none;
  }
}
.c-button-em-icon[type=submit][value] {
  text-align: center;
  background-image: url("/images/parts/icon-ar-link-white.svg");
  background-repeat: no-repeat;
  background-position: right 2.2rem center;
  background-size: 1rem auto;
}
@media (max-width: 767px) {
  .c-button-em-icon[type=submit][value] {
    background-image: none;
  }
}
.c-button-em-icon:disabled {
  color: var(--color-text-gray);
  background: var(--color-bg-disabled);
  border-color: var(--color-line-gray);
}

@media (max-width: 767px) {
  .c-side-narrow__pc {
    display: none;
  }
}
.c-side-narrow__body {
  margin-block-end: 1.6rem;
  overflow: hidden;
  background-color: var(--color-bg-gray);
  border: 1px solid var(--color-line-gray);
  border-radius: 0.4rem;
}
.c-side-narrow__body:last-child {
  margin-block-end: 0;
}
.c-side-narrow__terms {
  padding: 1.6rem;
  background: var(--color-lightest);
  border-block-end: 1px solid var(--color-line-gray);
}
.c-side-narrow__terms-heading {
  margin-block-end: 0.8rem;
  font-size: 1.8rem;
  font-weight: 500;
  color: var(--color-link-emphasis);
}
.c-side-narrow__terms-list {
  display: grid;
  gap: 0.8rem;
  margin-block-end: 0.8rem;
}
.c-side-narrow__terms-list a,
.c-side-narrow__terms-list button,
.c-side-narrow__terms-list input[type=submit] {
  display: block;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  padding-block: 0.8rem;
  padding-inline: 0.8rem 2.6rem;
  font-size: 1.4rem;
  white-space: normal;
  cursor: pointer;
  background: url("/images/parts/icon-remove.svg") no-repeat;
  background-position: right 1.2rem center;
  background-size: 1rem auto;
  border: 1px solid var(--color-line-gray);
  border-radius: 0.4rem;
}
.c-side-narrow__terms-clear {
  display: flex;
  justify-content: flex-end;
}
.c-side-narrow__terms-clear-button {
  padding-block-end: 0.2rem;
  font-size: 1.6rem;
  font-weight: 500;
  color: var(--color-link);
  border-block-end: 1px solid var(--color-link);
}
.c-side-narrow__lower {
  padding-inline: 0.8rem;
}
.c-side-narrow__block {
  padding-block: 1.6rem 1.6rem;
  padding-inline: 0.8rem;
  border-block-start: 1px solid var(--color-line-gray);
}
@media (max-width: 767px) {
  .c-side-narrow__block {
    padding-inline: 1.6rem;
  }
}
.c-side-narrow__block:first-child {
  border: 0;
}
.c-side-narrow__block-heading {
  margin-block-end: 0.8rem;
  font-size: 1.8rem;
  font-weight: 500;
  color: var(--color-link-emphasis);
}
.c-side-narrow__block-num {
  margin-inline-start: 0.3rem;
  color: var(--color-text-gray);
}
.c-side-narrow__block-padding {
  padding: 0rem 0.7rem 1rem 0.7rem;
}
.c-side-narrow__number {
  display: flex;
  gap: 0 0.2rem;
  align-items: baseline;
  justify-content: flex-end;
  font-size: 1.4rem;
  font-weight: bold;
}
.c-side-narrow__number span {
  font-family: var(--font-family-secondary);
  font-size: 2.4rem;
  font-weight: 600;
}
.c-side-narrow__links {
  display: flex;
  justify-content: flex-end;
}
.c-side-narrow__links a {
  display: inline-block;
  padding-inline-start: 1.8rem;
  font-size: 1.6rem;
  font-weight: 500;
  background: url("/images/parts/icon-ar-circle.svg") no-repeat left center;
  background-size: 1.4rem auto;
}
@media (hover: hover) {
  .c-side-narrow__links a:hover {
    text-decoration: underline;
  }
}
.c-side-narrow__checkbox-wrapper {
  display: grid;
  gap: 1rem;
}
.c-side-narrow__link-list {
  display: grid;
  gap: 0.8rem;
}
.c-side-narrow__link-list li a {
  display: inline-block;
  padding-inline-start: 1.8rem;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.5; 
  background: url("/images/parts/icon-ar-circle.svg") no-repeat left 0.5rem; 
  background-size: 1.4rem auto;
}
@media (hover: hover) {
  .c-side-narrow__link-list li a:hover {
    text-decoration: underline;
  }
}
.c-side-narrow__link-list-middle {
  display: grid;
  gap: 0.8rem;
  padding-block-end: 0.2rem;
}
.c-side-narrow__link-list-middle li a {
  display: inline-block;
  padding-inline-start: 1.8rem;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.5; 
  background: url("/images/parts/icon-ar-circle.svg") no-repeat left 0.5rem; 
  background-size: 1.4rem auto;
}
@media (hover: hover) {
  .c-side-narrow__link-list-middle li a:hover {
    text-decoration: underline;
  }
}
.c-side-narrow__link-list-small {
  display: grid;
  gap:0.4rem;
}
.c-side-narrow__link-list-small li a {
  display: inline-block;
  padding-inline-start: 1.8rem;
  font-size: 1.3rem;
  font-weight: 500;
  background: url("/images/parts/icon-ar-circle.svg") no-repeat left 0.3rem;
  background-size: 1.4rem auto;
  line-height: 1.5;
  margin-left:10px;
}
@media (hover: hover) {
  .c-side-narrow__link-list-small li a:hover {
    text-decoration: underline;
  }
}
.c-side-narrow__checkbox {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.c-side-narrow__checkbox input, .c-side-narrow__checkbox-label {
  display: block;
  padding: 0;
  padding-inline-start: 2.6rem;
  margin: 0;
  line-height: 1;
  vertical-align: middle;
  appearance: none;
  cursor: pointer;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
}
.c-side-narrow__checkbox input::before, .c-side-narrow__checkbox input::after, .c-side-narrow__checkbox-label::before, .c-side-narrow__checkbox-label::after {
  position: absolute;
  display: block;
  content: "";
}
.c-side-narrow__checkbox input::before, .c-side-narrow__checkbox-label::before {
  inset-block-start: 0.1rem;
  inset-inline-start: 0.2rem;
  inline-size: 2rem;
  block-size: 2rem;
  border: 1.5px solid var(--color-link);
  border-radius: 0.2rem;
}
.c-side-narrow__checkbox input::after, .c-side-narrow__checkbox-label::after {
  inset-block-start: 0.65rem;
  inset-inline-start: 0.7rem;
  inline-size: 1.1rem;
  block-size: 0.6rem;
  border-block-end: 2px solid #fff;
  border-inline-start: 2px solid #fff;
  opacity: 0;
  transform: rotate(-45deg);
}
.c-side-narrow__checkbox input:checked::before, .c-side-narrow__checkbox input[data-sort=true]::before, .c-side-narrow__checkbox-label:checked::before, .c-side-narrow__checkbox-label[data-sort=true]::before {
  background-color: var(--color-link);
}
.c-side-narrow__checkbox input:checked::after, .c-side-narrow__checkbox input[data-sort=true]::after, .c-side-narrow__checkbox-label:checked::after, .c-side-narrow__checkbox-label[data-sort=true]::after {
  opacity: 1;
}
.c-side-narrow__checkbox input span, .c-side-narrow__checkbox-label span {
  line-height: 1.3;
}
.c-side-narrow__checkbox input:disabled::after, .c-side-narrow__checkbox-label:disabled::after {
  opacity: 1;
}
.c-side-narrow__checkbox input:disabled::before, .c-side-narrow__checkbox-label:disabled::before {
  background: var(--color-line-gray);
  border-color: var(--color-line-gray);
}
.c-side-narrow__checkbox label {
  font-size: 1.6rem;
  font-weight: 500;
  cursor: pointer;
}
.c-side-narrow__checkbox input[type=submit] {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}
.c-side-narrow__checkbox-label:has(input[type=submit]:disabled)::after {
  opacity: 1;
}
.c-side-narrow__checkbox-label:has(input[type=submit]:disabled)::before {
  background: var(--color-line-gray);
  border-color: var(--color-line-gray);
}
.c-side-narrow__button {
  margin-block-start: 1.6rem;
}
.c-side-narrow__button a {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  inline-size: 100%;
  padding-block: 0.4rem;
  padding-inline: 1.2rem 2.2rem;
  font-size: 1.4rem;
  color: var(--color-link);
  text-align: center;
  background: var(--color-lightest) url("/images/parts/icon-ar-link-small.svg") no-repeat;
  background-position: right 0.8rem center;
  background-size: 0.7rem auto;
  border: 1.5px solid currentcolor;
  border-radius: 0.4rem;
  transition: 300ms;
}
@media (hover: hover) {
  .c-side-narrow__button a:hover {
    color: var(--color-lightest);
    background-color: var(--color-link);
    background-image: url("/images/parts/icon-ar-bold-white.svg");
  }
}
.c-side-narrow__more {
  display: flex;
  justify-content: center;
  margin-block-start: 1.6rem;
}
.c-side-narrow__more-button {
  display: flex;
  flex-direction: column;
  align-items: center;
  inline-size: 100%;
  padding-block: 0.4rem;
  padding-inline: 1.1rem 2.3rem;
  font-size: 1.4rem;
  color: var(--color-link);
  text-align: center;
  cursor: pointer;
  background: var(--color-lightest);
  border: 1px solid var(--color-link);
  border-radius: 0.4rem;
  transition: 300ms;
}
.c-side-narrow__more-button span {
  display: block;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  padding-inline: 1.6rem 1.6rem;
  background: url("/images/parts/icon-ar-down.svg") no-repeat;
  background-position: right 0.6rem;
  transition: background 300ms;
}
.c-side-narrow__more-button span[data-text=close] {
  display: none;
  background-image: url("/images/parts/icon-ar-up.svg");
}
@media (hover: hover) {
  .c-side-narrow__more-button:hover {
    color: var(--color-lightest);
    background-color: var(--color-link);
  }
  .c-side-narrow__more-button:hover span {
    background-image: url("/images/parts/icon-ar-down-white.svg");
  }
  .c-side-narrow__more-button:hover span[data-text=close] {
    background-image: url("/images/parts/icon-ar-up-white.svg");
  }
}
.c-side-narrow__more-button[aria-expanded=true] [data-text=close] {
  display: block;
}
.c-side-narrow__more-button[aria-expanded=true] [data-text=open] {
  display: none;
}
.c-side-narrow__submit {
  display: flex;
  justify-content: center;
  padding-block: 1.6rem 1.6rem;
  border-block-start: 1px solid var(--color-line-gray);
}
.c-side-narrow__submit-button {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  inline-size: 100%;
  max-inline-size: 55.2rem;
  padding-block: 0.4rem 0.5rem;
  padding-inline: 1.2rem 2.2rem;
  font-size: 1.4rem;
  color: var(--color-lightest);
  text-align: center;
  background: var(--color-link-emphasis) url("/images/parts/icon-ar-bold-white.svg") no-repeat;
  background-position: right 0.8rem center;
  background-size: 0.7rem auto;
  border: 1px solid var(--color-link-emphasis);
  border-radius: 0.4rem;
  transition: 300ms;
}
@media (hover: hover) {
  .c-side-narrow__submit-button:hover {
    background-color: var(--color-black);
  }
}
.c-side-narrow__submit-line {
  padding-block-start: 1.0rem;
  border-block-start: 1px solid var(--color-line-gray);
}
.c-side-narrow__hidden-area {
  display: none;
  margin-block-start: 0.8rem;
}
.c-side-narrow__dialog {
  inset-block-start: 0;
  inset-inline: auto 0;
  z-index: 10;
  inline-size: 100%;
  max-inline-size: none;
  block-size: auto;
  max-block-size: none;
  padding: 0;
  padding-block-end: 3.2rem;
  margin: 0;
  overflow: auto;
  background: transparent;
}
.c-side-narrow__dialog-bg {
  position: fixed;
  inset-block-start: 0;
  inset-inline-start: 0;
  display: block;
  inline-size: 100%;
  block-size: 100%;
  content: "";
  background: var(--color-darkest);
  opacity: 0.8;
}
.c-side-narrow__dialog-body {
  position: relative;
  inline-size: calc(100% - 4rem);
  margin-block-end: 1.6rem;
  margin-inline-start: auto;
  background-color: var(--color-bg-gray);
  border-radius: 0.4rem 0 0 0.4rem;
}
.c-side-narrow__dialog-body:last-child {
  margin-block-end: 0;
}
.c-side-narrow__dialog-header {
  position: sticky;
  inset-block-start: 0;
  z-index: 1;
  display: flex;
  gap: 0 1.6rem;
  align-items: center;
  inline-size: calc(100% - 4rem);
  padding-block: 0.8rem;
  padding-inline: 1.6rem 1.6rem;
  margin-inline-start: auto;
  background: var(--color-lightest);
  border-block-end: 1px solid var(--color-line-gray);
}
.c-side-narrow__dialog-close-button {
  inline-size: 4rem;
  block-size: 4rem;
  background: transparent url("/images/parts/icon-close.svg") no-repeat center center/100% auto;
}
.c-side-narrow__dialog-number {
  display: flex;
  gap: 0.4rem;
  align-items: center;
}
.c-side-narrow__dialog-number-heading {
  font-size: 1.4rem;
}
.c-side-narrow__dialog-number-content {
  display: flex;
  gap: 0 0.2rem;
  align-items: baseline;
  justify-content: flex-end;
  font-size: 1.2rem;
  font-weight: bold;
}
.c-side-narrow__dialog-number-content span {
  font-family: var(--font-family-secondary);
  font-size: 2.2rem;
  font-weight: 600;
}
.c-side-narrow__dialog-terms {
  padding: 1.6rem;
  background: var(--color-lightest);
  border-block-end: 1px solid var(--color-line-gray);
}
.c-side-narrow__dialog-terms-heading {
  margin-block-end: 0.8rem;
  font-size: 1.6rem;
  font-weight: 500;
  color: var(--color-link-emphasis);
}
.c-side-narrow__dialog-terms-list {
  display: grid;
  gap: 0.8rem;
  margin-block-end: 0.8rem;
}
.c-side-narrow__dialog-terms-list a,
.c-side-narrow__dialog-terms-list button,
.c-side-narrow__dialog-terms-list input[type=submit] {
  display: block;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  padding-block: 0.8rem;
  padding-inline: 0.8rem 2.6rem;
  font-size: 1.2rem;
  white-space: normal;
  cursor: pointer;
  background: url("/images/parts/icon-remove.svg") no-repeat;
  background-position: right 1.2rem center;
  background-size: 1rem auto;
  border: 1px solid var(--color-line-gray);
  border-radius: 0.4rem;
}
.c-side-narrow__dialog-terms-clear {
  display: flex;
  justify-content: flex-end;
}
.c-side-narrow__dialog-terms-clear-button {
  padding-block-end: 0.2rem;
  font-size: 1.4rem;
  font-weight: 500;
  color: var(--color-link);
  border-block-end: 1px solid var(--color-link);
}
.c-side-narrow__dialog-lower {
  padding-inline: 0.8rem;
}
.c-side-narrow__dialog-block {
  padding-block: 2.4rem;
  padding-inline: 0.8rem;
  border-block-start: 1px solid var(--color-line-gray);
}
.c-side-narrow__dialog-block:first-child {
  border: 0;
}
.c-side-narrow__dialog-block-heading {
  font-size: 1.6rem;
  font-weight: 500;
  color: var(--color-link-emphasis);
}
.c-side-narrow__dialog-block-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.c-side-narrow__dialog-block-num {
  margin-inline-start: 0.3rem;
  color: var(--color-text-gray);
}
.c-side-narrow__dialog-links {
  display: flex;
  justify-content: flex-end;
}
.c-side-narrow__dialog-links a {
  display: inline-block;
  padding-inline-start: 1.8rem;
  font-size: 1.4rem;
  font-weight: 500;
  background: url("/images/parts/icon-ar-circle.svg") no-repeat left center;
  background-size: 1.4rem auto;
}
.c-side-narrow__dialog-toggle {
  position: relative;
  display: block;
  inline-size: 100%;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.3;
}
.c-side-narrow__dialog-toggle::before, .c-side-narrow__dialog-toggle::after {
  position: absolute;
  inset-block-start: 0.4rem;
  inset-inline-end: 0.9rem;
  display: block;
  inline-size: 0.14rem;
  block-size: 1.5rem;
  content: "";
  background: var(--color-darkest);
  border-radius: 0.4rem;
  transition: 500ms;
}
.c-side-narrow__dialog-toggle::after {
  transform: rotate(90deg);
}
.c-side-narrow__dialog-toggle[aria-expanded=true]::before {
  transform: rotate(270deg);
}
.c-side-narrow__dialog-toggle[aria-expanded=true]::after {
  transform: rotate(-90deg);
}
.c-side-narrow__dialog-toggle-contents {
  display: none;
  padding-block-start: 1rem;
}
.c-side-narrow__dialog-checkbox-wrapper {
  display: grid;
  gap: 1.2rem;
}
.c-side-narrow__dialog-checkbox {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.c-side-narrow__dialog-checkbox input, .c-side-narrow__dialog-checkbox-label {
  display: block;
  padding: 0;
  padding-inline-start: 2.6rem;
  margin: 0;
  line-height: 1;
  vertical-align: middle;
  appearance: none;
  cursor: pointer;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
}
.c-side-narrow__dialog-checkbox input::before, .c-side-narrow__dialog-checkbox input::after, .c-side-narrow__dialog-checkbox-label::before, .c-side-narrow__dialog-checkbox-label::after {
  position: absolute;
  display: block;
  content: "";
}
.c-side-narrow__dialog-checkbox input::before, .c-side-narrow__dialog-checkbox-label::before {
  inset-block-start: 0.1rem;
  inset-inline-start: 0.2rem;
  inline-size: 2rem;
  block-size: 2rem;
  border: 1.5px solid var(--color-link);
  border-radius: 0.2rem;
}
.c-side-narrow__dialog-checkbox input::after, .c-side-narrow__dialog-checkbox-label::after {
  inset-block-start: 0.65rem;
  inset-inline-start: 0.7rem;
  inline-size: 1.1rem;
  block-size: 0.6rem;
  border-block-end: 2px solid #fff;
  border-inline-start: 2px solid #fff;
  opacity: 0;
  transform: rotate(-45deg);
}
.c-side-narrow__dialog-checkbox input:checked::before, .c-side-narrow__dialog-checkbox input[data-sort=true]::before, .c-side-narrow__dialog-checkbox-label:checked::before, .c-side-narrow__dialog-checkbox-label[data-sort=true]::before {
  background-color: var(--color-link);
}
.c-side-narrow__dialog-checkbox input:checked::after, .c-side-narrow__dialog-checkbox input[data-sort=true]::after, .c-side-narrow__dialog-checkbox-label:checked::after, .c-side-narrow__dialog-checkbox-label[data-sort=true]::after {
  opacity: 1;
}
.c-side-narrow__dialog-checkbox input:disabled::after, .c-side-narrow__dialog-checkbox-label:disabled::after {
  opacity: 1;
}
.c-side-narrow__dialog-checkbox input:disabled::before, .c-side-narrow__dialog-checkbox-label:disabled::before {
  background: var(--color-line-gray);
  border-color: var(--color-line-gray);
}
.c-side-narrow__dialog-checkbox input span, .c-side-narrow__dialog-checkbox-label span {
  line-height: 1.3;
}
.c-side-narrow__dialog-checkbox-label:has(input[type=submit]:disabled)::after {
  opacity: 1;
}
.c-side-narrow__dialog-checkbox-label:has(input[type=submit]:disabled)::before {
  background: var(--color-line-gray);
  border-color: var(--color-line-gray);
}
.c-side-narrow__dialog-checkbox label {
  font-size: 1.4rem;
  font-weight: 500;
  cursor: pointer;
}
.c-side-narrow__dialog-checkbox input[type=submit] {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}
.c-side-narrow__dialog-more {
  display: flex;
  justify-content: center;
  margin-block-start: 1.6rem;
}
.c-side-narrow__dialog-more-button {
  display: block;
  inline-size: 100%;
  padding-block: 0.4rem;
  padding-inline: 1.1rem 2.3rem;
  font-size: 1.2rem;
  color: var(--color-link);
  text-align: center;
  cursor: pointer;
  background: var(--color-lightest);
  border: 1px solid var(--color-link);
  border-radius: 0.4rem;
}
.c-side-narrow__dialog-more-button span {
  display: inline-block;
  padding-inline: 1.6rem 1.6rem;
  background: url("/images/parts/icon-ar-down.svg") no-repeat;
  background-position: right 0.55rem;
  background-size: 0.9rem auto;
}
.c-side-narrow__dialog-more-button span[data-text=close] {
  display: none;
  background-image: url("/images/parts/icon-ar-up.svg");
}
.c-side-narrow__dialog-more-button[aria-expanded=true] [data-text=close] {
  display: block;
}
.c-side-narrow__dialog-more-button[aria-expanded=true] [data-text=open] {
  display: none;
}
.c-side-narrow__dialog-submit {
  display: flex;
  justify-content: center;
  padding-block-end: 1.6rem;
}
.c-side-narrow__dialog-submit-button {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  inline-size: 100%;
  max-inline-size: 55.2rem;
  padding-block: 1.6rem 1.6rem;
  padding-inline: 1.2rem 2.2rem;
  font-size: 1.6rem;
  color: var(--color-lightest);
  text-align: center;
  background-color: var(--color-link-emphasis);
  background-image: url("/images/parts/icon-ar-bold-white.svg");
  background-repeat: no-repeat;
  background-position: right 5rem center;
  background-size: 0.7rem auto;
  border: 1px solid var(--color-link-emphasis);
  border-radius: 0.4rem;
}
.c-side-narrow__dialog-hidden-area {
  display: none;
  margin-block-start: 0.8rem;
}
.c-side-narrow__sort-toggle {
  position: fixed;
  inset-block-end: 9.8rem;
  inset-inline-end: 0.8rem;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  inline-size: 5rem;
  block-size: 5rem;
  font-size: 0.8rem;
  font-weight: 500;
  line-height: 1.2;
  color: var(--color-lightest);
  text-align: center;
  background-color: var(--color-link);
  background-image: url("/images/parts/icon-sort-toggle.svg");
  background-repeat: no-repeat;
  background-position: center 0.4rem;
  background-size: 2.4rem auto;
  border: 2px solid var(--color-lightest);
  border-radius: 9999px;
}
@media (min-width: 768px) {
  .c-side-narrow__sort-toggle {
    display: none;
  }
}
.c-side-narrow__sort-toggle span {
  padding-block-start: 1.8rem;
}
.c-side-narrow__sort-toggle [data-text=filtered] {
  display: none;
}
.c-side-narrow__sort-toggle[data-filtered=true] {
  color: var(--color-link);
  background-color: var(--color-lightest);
  background-image: url("/images/parts/icon-sort-toggle-filter.svg");
  background-position: center 0.5rem;
  border-color: var(--color-link);
}
.c-side-narrow__sort-toggle[data-filtered=true] span {
  padding-block-start: 1.4rem;
}
.c-side-narrow__sort-toggle[data-filtered=true] [data-text=filter] {
  display: none;
}
.c-side-narrow__sort-toggle[data-filtered=true] [data-text=filtered] {
  display: block;
}

.c-product-index__sort {
  display: flex;
  gap: 0 2.4rem;
  justify-content: flex-end;
  margin-block-end: 1.6rem;
}
@media (max-width: 767px) {
  .c-product-index__sort {
    display: block;
    align-items: center;
    padding: 1.6rem;
    margin-inline: calc(var(--margin-sm)*-1);
    background: var(--color-bg-gray);
    border-block-end: 1px solid var(--color-line-gray);
  }
}
@media (max-width: 767px) {
  .c-product-index__sort-upper {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
    align-items: flex-end;
    justify-content: space-between;
    margin-block-end: 1.2rem;
  }
}
.c-product-index__sort-container {
  display: flex;
  gap: 0 0.4rem;
}
.c-product-index__sort-number {
  display: flex;
  gap: 0 0.4rem;
  align-items: center;
}
@media (min-width: 768px) {
  .c-product-index__sort-number {
    display: none;
  }
}
.c-product-index__sort-number-heading {
  font-size: 1.2rem;
}
.c-product-index__sort-number-content {
  display: flex;
  gap: 0 0.2rem;
  align-items: baseline;
  justify-content: flex-end;
  font-size: 1.2rem;
  font-weight: bold;
}
.c-product-index__sort-number-content span {
  font-family: var(--font-family-secondary);
  font-size: 2.2rem;
  font-weight: 600;
}
.c-product-index__sort-select {
  display: flex;
  gap: 0 0.8rem;
  align-items: center;
}
.c-product-index__sort-select label {
  font-size: 1.6rem;
}
@media (max-width: 767px) {
  .c-product-index__sort-select label {
    display: none;
  }
}
.c-product-index__sort-select select {
  padding-block: 0.8rem;
  padding-inline: 1.6rem 3.4rem;
  cursor: pointer;
  background: var(--color-lightest) url("/images/parts/icon-select.svg") no-repeat;
  background-position: right 1rem center;
  background-size: 1rem auto;
  border: 1px solid var(--color-line-gray);
  border-radius: 0.4rem;
}
@media (max-width: 767px) {
  .c-product-index__sort-select select {
    padding-block: 0.7rem;
    padding-inline: 0.7rem 2.5rem;
    font-size: 1.4rem;
  }
}
.c-product-index__sort-toggle-button {
  padding-block: 0.8rem 0.8rem;
  padding-inline: 3rem 0.8rem;
  font-size: 1.2rem;
  font-weight: 500;
  background: var(--color-lightest) url("/images/parts/icon-sort.svg") no-repeat 0.4rem center/2.4rem;
  border: 1px solid var(--color-line-gray);
  border-radius: 0.4rem;
}
@media (min-width: 768px) {
  .c-product-index__sort-toggle-button {
    display: none;
  }
}
.c-product-index__sort-toggle-button [data-text=filtered] {
  display: none;
}
.c-product-index__sort-toggle-button[data-filtered=true] {
  background-image: url("/images/parts/icon-sort-filter.svg");
  background-position: 0.7rem center;
  background-size: 1.8rem auto;
}
.c-product-index__sort-toggle-button[data-filtered=true] [data-text=filter] {
  display: none;
}
.c-product-index__sort-toggle-button[data-filtered=true] [data-text=filtered] {
  display: block;
}
@media (max-width: 767px) {
  .c-product-index__sort-display {
    display: flex;
    gap: 0 1.2rem;
    align-items: center;
    justify-content: flex-end;
  }
}
.c-product-index__sort-display-heading {
  font-size: 1.2rem;
}
@media (min-width: 768px) {
  .c-product-index__sort-display-heading {
    display: none;
  }
}
.c-product-index__sort-display-list {
  display: flex;
  gap: 0.4rem;
  padding: 0.4rem;
  background: var(--color-bg-gray);
  border-radius: 0.4rem;
}
@media (max-width: 767px) {
  .c-product-index__sort-display-list {
    padding: 0;
  }
}
.c-product-index__sort-display-button {
  display: block;
  inline-size: 3.2rem;
  block-size: 3.2rem;
  text-indent: -9999px;
  background: var(--color-lightest);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 2.4rem;
  border-radius: 0.2rem;
}
.c-product-index__sort-display-button[data-active=true] {
  background-color: var(--color-link);
}
.c-product-index__sort-display-button[data-display=grid] {
  background-image: url("/images/parts/icon-sort-grid.svg");
}
.c-product-index__sort-display-button[data-display=grid][data-active=true] {
  background-image: url("/images/parts/icon-sort-grid-on.svg");
}
.c-product-index__sort-display-button[data-display="1col"] {
  background-image: url("/images/parts/icon-sort-1col.svg");
}
.c-product-index__sort-display-button[data-display="1col"][data-active=true] {
  background-image: url("/images/parts/icon-sort-1col-on.svg");
}
.c-product-index__sort-display-button[data-display=col] {
  background-image: url("/images/parts/icon-sort-col.svg");
}
.c-product-index__sort-display-button[data-display=col][data-active=true] {
  background-image: url("/images/parts/icon-sort-col-on.svg");
}
.c-product-index__pagination {
  padding-block-end: 6rem;
  margin-block-start: 3.2rem;
  border-block-end: 1px solid var(--color-line-gray);
}
@media (max-width: 767px) {
  .c-product-index__pagination {
    padding-block-end: 4.8rem;
    margin-block-start: 4.2rem;
  }
}

.c-product-detail {
  font-size: 1.6rem;
  font-weight: 500;
}
@media (max-width: 767px) {
  .c-product-detail {
    font-size: 1.2rem;
  }
}
.c-product-detail__banner {
  margin-block-end: 3.2rem;
  overflow: hidden;
  border-radius: 0.4rem;
  box-shadow: 0 0 1rem 0 rgba(0, 0, 0, 0.15);
}
.c-product-detail__banner > a {
  position: relative;
  display: block;
}
.c-product-detail__banner > a::after {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  display: block;
  inline-size: 100%;
  block-size: 100%;
  content: "";
  border: 1px solid var(--color-link);
  border-radius: 0.4rem;
  opacity: 0;
  transition: 200ms;
}
@media (hover: hover) {
  .c-product-detail__banner > a:hover::after {
    opacity: 1;
  }
}
.c-product-detail__banner img {
  display: block;
  max-inline-size: 100%;
  block-size: auto;
}
.c-product-detail__main {
  display: flex;
  column-gap: 3.2rem;
}
@media (max-width: 767px) {
  .c-product-detail__main {
    display: grid;
    grid-template-columns: 1fr;
  }
}
.c-product-detail__carousel {
  inline-size: 48rem;
}
@media (max-width: 767px) {
  .c-product-detail__carousel {
    order: 2;
    inline-size: 100%;
    margin-block-end: 1.6rem;
  }
}
.c-product-detail__carousel-splide {
  position: relative;
  block-size: 58.2rem;
  margin-block-end: 1.6rem;
  background-color: var(--color-bg-gray);
}
@media (max-width: 767px) {
  .c-product-detail__carousel-splide {
    block-size: auto;
  }
}
.c-product-detail__carousel-splide-track {
  block-size: 100%;
}
.c-product-detail__carousel-splide-slide {
  position: relative;
  display: flex;
  aspect-ratio: 480/582;
  text-align: center;
}
@media (max-width: 767px) {
  .c-product-detail__carousel-splide-slide {
    aspect-ratio: unset;
  }
}
.c-product-detail__carousel-splide-slide-inner {
  margin: auto;
  overflow: hidden;
  vertical-align: middle;
  border-radius: 0.4rem;
}
.c-product-detail__carousel-splide-slide-img {
  position: relative;
  display: inline-block;
}
.c-product-detail__carousel-splide-slide-img img {
  inline-size: auto;
  max-inline-size: 100%;
  block-size: auto;
  max-block-size: 58.2rem;
  cursor: zoom-in;
}
@media (max-width: 767px) {
  .c-product-detail__carousel-splide-slide-img img {
    max-block-size: calc(121.2828vw - 3.2rem);
  }
}
.c-product-detail__carousel-splide-lens {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  inline-size: 200px;
  max-inline-size: 100%;
  block-size: 200px;
  max-block-size: 100%;
  pointer-events: none;
  background-color: var(--color-darkest);
  border-radius: 0.4rem;
  opacity: 0;
}
@media (max-width: 767px) {
  .c-product-detail__carousel-splide-lens {
    display: none;
  }
}
[data-image-zoom=true] .c-product-detail__carousel-splide-lens {
  opacity: 0.3;
}
.c-product-detail__carousel-thumbnail {
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  padding: 0.8rem;
  margin-block-end: 1.6rem;
  background-color: var(--color-bg-gray);
  border-radius: 0.4rem;
}
@media (max-width: 767px) {
  .c-product-detail__carousel-thumbnail {
    display: flex;
    overflow: auto;
  }
}
.c-product-detail__carousel-thumbnail-item, .c-product-detail__carousel-thumbnail-item-more {
  position: relative;
  aspect-ratio: 580/704;
}
@media (max-width: 767px) {
  .c-product-detail__carousel-thumbnail-item, .c-product-detail__carousel-thumbnail-item-more {
    min-inline-size: 5.8rem;
  }
}
.c-product-detail__carousel-thumbnail-item::before, .c-product-detail__carousel-thumbnail-item::after, .c-product-detail__carousel-thumbnail-item-more::before, .c-product-detail__carousel-thumbnail-item-more::after {
  position: absolute;
  inset: 0;
  display: none;
  inline-size: 100%;
  block-size: 100%;
  content: "";
}
.c-product-detail__carousel-thumbnail-item::before, .c-product-detail__carousel-thumbnail-item-more::before {
  background-color: var(--color-darkest);
  opacity: 0.4;
}
.c-product-detail__carousel-thumbnail-item::after, .c-product-detail__carousel-thumbnail-item-more::after {
  border: 2px solid var(--color-more-emphasis);
}
.c-product-detail__carousel-thumbnail-item[data-current]::before, .c-product-detail__carousel-thumbnail-item[data-current]::after, .c-product-detail__carousel-thumbnail-item-more[data-current]::before, .c-product-detail__carousel-thumbnail-item-more[data-current]::after {
  display: block;
}
.c-product-detail__carousel-thumbnail-item button, .c-product-detail__carousel-thumbnail-item-more button {
  inline-size: 100%;
  block-size: 100%;
}
.c-product-detail__carousel-thumbnail-item img, .c-product-detail__carousel-thumbnail-item-more img {
  display: block;
  inline-size: 100%;
  block-size: 100%;
  object-fit: contain;
  object-position: center;
}
.c-product-detail__carousel-thumbnail-item-more-label {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  inline-size: 100%;
  block-size: 100%;
}
.c-product-detail__carousel-thumbnail-item-more-label::before {
  position: absolute;
  inset: 0;
  display: block;
  inline-size: 100%;
  block-size: 100%;
  content: "";
  background-color: var(--color-darkest);
  opacity: 0.4;
}
.c-product-detail__carousel-thumbnail-item-more-label img {
  position: relative;
  inline-size: 1.6rem;
  block-size: 1.6rem;
}
.c-product-detail__carousel-thumbnail-item-more-label > span {
  position: relative;
  font-size: 1rem;
  font-weight: 500;
  color: var(--color-lightest);
  text-align: center;
}
.c-product-detail__carousel-thumbnail-item-more-label > span > span {
  display: block;
}
.c-product-detail__carousel-control .splide__arrow {
  position: absolute;
  inset-block: 0;
  inline-size: 4rem;
  block-size: 4rem;
  margin-block: auto;
  background: no-repeat center/contain;
}
@media (max-width: 767px) {
  .c-product-detail__carousel-control .splide__arrow {
    inline-size: 3rem;
    block-size: 3rem;
  }
}
.c-product-detail__carousel-control .splide__arrow > svg {
  display: none;
}
.c-product-detail__carousel-control .splide__arrow--prev {
  inset-inline-start: -2rem;
  background-image: url("/images/parts/icon-slider-prev.svg");
}
@media (max-width: 767px) {
  .c-product-detail__carousel-control .splide__arrow--prev {
    inset-inline-start: -1.5rem;
  }
}
.c-product-detail__carousel-control .splide__arrow--next {
  inset-inline-end: -2rem;
  background-image: url("/images/parts/icon-slider-next.svg");
}
@media (max-width: 767px) {
  .c-product-detail__carousel-control .splide__arrow--next {
    inset-inline-end: -1.5rem;
  }
}
.c-product-detail__carousel-button > button {
  display: flex;
  align-items: center;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  padding: 1rem 5rem;
  margin-inline: auto;
  font-size: 1.8rem;
  line-height: 1.3;
  color: var(--color-lightest);
  text-align: center;
  background-color: var(--color-link-emphasis);
  border: 1px solid var(--color-link-emphasis);
  border-radius: 0.4rem;
  transition: 300ms;
}
@media (max-width: 767px) {
  .c-product-detail__carousel-button > button {
    justify-content: center;
    inline-size: 100%;
    font-size: 1.6rem;
  }
}
@media (hover: hover) {
  .c-product-detail__carousel-button > button:hover {
    background-color: var(--color-black);
    border-color: var(--color-black);
  }
}
.c-product-detail__carousel-button-icon {
  flex-shrink: 0;
}
.c-product-detail__carousel-button-icon > img {
  display: block;
  block-size: auto;
  margin-inline-start: 0.2rem;
}
.c-product-detail__carousel-modal {
  inline-size: 100%;
  max-inline-size: none;
  block-size: 100%;
  max-block-size: none;
  padding-block: 5.6rem;
  padding-inline: 8rem;
  background-color: transparent;
}
@media (max-width: 767px) {
  .c-product-detail__carousel-modal {
    padding-block-start: 9.6rem;
    padding-inline: 1.6rem;
  }
}
.c-product-detail__carousel-modal::backdrop {
  background-color: var(--modal-overlay-color);
}
.c-product-detail__carousel-modal-button > button {
  display: block;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  padding: 0.4rem;
  margin-inline: auto;
  font-size: 1.4rem;
  color: var(--color-link);
  background-color: var(--color-lightest);
  border: 1px solid var(--color-link);
  border-radius: 0.4rem;
}
.c-product-detail__carousel-modal-close {
  position: absolute;
  inset-block-start: 0;
  inset-inline-end: -6rem;
}
@media (max-width: 767px) {
  .c-product-detail__carousel-modal-close {
    inset-block-start: -5rem;
    inset-inline-end: 0;
  }
}
.c-product-detail__carousel-modal-close img {
  display: block;
  max-inline-size: 100%;
  block-size: auto;
}
.c-product-detail__info {
  position: relative;
  flex-grow: 1;
  inline-size: 55rem;
  min-block-size: 10rem;
}
@media (max-width: 767px) {
  .c-product-detail__info {
    display: contents;
  }
}
.c-product-detail__info-zoom {
  position: absolute;
  inset: 0 0 auto;
  z-index: 1;
  margin: auto;
  overflow: hidden;
  pointer-events: none;
  opacity: 0;
  transition: opacity 300ms;
}
@media (max-width: 767px) {
  .c-product-detail__info-zoom {
    display: none;
  }
}
[data-image-zoom=true] .c-product-detail__info-zoom {
  opacity: 1;
}
.c-product-detail__info-zoom img {
  display: block;
}
@media (max-width: 767px) {
  .c-product-detail__info-header {
    order: 1;
  }
}
@media (max-width: 767px) {
  .c-product-detail__info-body {
    order: 3;
  }
}
.c-product-detail__info-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.2rem;
}
.c-product-detail__info-tags li {
  padding-inline: 0.4rem;
  font-size: 1.2rem;
  background: var(--color-lightest);
  border: 1px solid var(--color-line-gray);
}
@media (max-width: 767px) {
  .c-product-detail__info-tags li {
    font-size: 1rem;
  }
}
.c-product-detail__info-tags li[data-tags=new] {
  color: var(--color-lightest);
  background-color: var(--color-emphasis);
}
.c-product-detail__info-tags li[data-tags=em] {
  color: var(--color-more-emphasis);
}
.c-product-detail__info-title {
  margin-block-end: 1.6rem;
  font-size: 3.2rem;
  font-weight: bold;
  line-height: 1.3;
}
@media (max-width: 767px) {
  .c-product-detail__info-title {
    font-size: 1.8rem;
  }
}
.c-product-detail__info-form {
  padding: 2.4rem;
  margin-block-end: 1.6rem;
  background-color: var(--color-bg-gray);
  border-radius: 0.4rem;
}
@media (max-width: 767px) {
  .c-product-detail__info-form {
    padding: 1.6rem;
  }
}
.c-product-detail__info-status {
  padding-block: 0.3rem;
  padding-inline: 1.5rem;
  margin-block-end: 1.6rem;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.3;
  color: var(--color-lightest);
  text-align: center;
  background-color: var(--color-emphasis);
  border: 1px solid var(--color-emphasis);
  border-radius: 0.2rem;
}
@media (max-width: 767px) {
  .c-product-detail__info-status {
    font-size: 1.6rem;
  }
}
.c-product-detail__info-status[data-status=unavailable] {
  color: var(--base-font-color);
  background-color: var(--color-bg-gray-02);
  border-color: var(--color-line-gray);
}
.c-product-detail__info-status[data-status=draw] {
  color: var(--color-more-emphasis);
  background-color: var(--color-bg-gray-02);
  border-color: var(--color-line-gray);
}
.c-product-detail__info-price {
  margin-block-end: 1.6rem;
}
@media (max-width: 767px) {
  .c-product-detail__info-price {
    margin-block-end: 0.8rem;
  }
}
.c-product-detail__info-price-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-block-end: 0.8rem;
}
@media (max-width: 767px) {
  .c-product-detail__info-price-tags {
    margin-block-end: 0.2rem;
  }
}
.c-product-detail__info-price-tags-special {
  padding-block: 0.15rem;
  padding-inline: 0.2rem 0.2rem;
  font-size: 1.4rem;
  color: var(--color-lightest);
  background: var(--color-more-emphasis);
}
@media (max-width: 767px) {
  .c-product-detail__info-price-tags-special {
    font-size: 1.2rem;
  }
}
.c-product-detail__info-price-tags-discount {
  padding-inline: 0.2rem;
  font-family: var(--font-family-secondary);
  font-size: 1.2rem;
  font-weight: 500;
  color: var(--color-more-emphasis);
  background-color: var(--color-lightest);
  border: 1px solid var(--color-more-emphasis);
}
@media (max-width: 767px) {
  .c-product-detail__info-price-tags-discount {
    font-size: 1rem;
  }
}
.c-product-detail__info-price-tags-discount span {
  font-size: 1.6rem;
}
@media (max-width: 767px) {
  .c-product-detail__info-price-tags-discount span {
    font-size: 1.4rem;
  }
}
.c-product-detail__info-price-body {
  display: flex;
  flex-wrap: wrap;
  column-gap: 0.8rem;
  align-items: center;
  justify-content: flex-start;
}
.c-product-detail__info-price-label {
  font-size: 1.6rem;
  font-weight: 500;
}
@media (max-width: 767px) {
  .c-product-detail__info-price-label {
    font-size: 1.4rem;
  }
}
.c-product-detail__info-price-element {
  font-family: var(--font-family-secondary);
  font-size: 1.8rem;
  font-weight: 500;
  color: var(--color-more-emphasis);
}
.c-product-detail__info-price-element > span {
  margin-inline-start: 0.2rem;
  font-size: 3.2rem;
  font-weight: 600;
}
@media (max-width: 767px) {
  .c-product-detail__info-price-element > span {
    font-size: 2.8rem;
  }
}
.c-product-detail__info-price-postage {
  font-size: 1.4rem;
  font-weight: 500;
  color: var(--color-text-gray);
}
.c-product-detail__info-price-del {
  inline-size: 100%;
  font-size: 1.4rem;
  font-weight: 500;
  color: var(--color-text-gray);
}
.c-product-detail__info-point {
  display: flex;
  column-gap: 0.8rem;
  align-items: center;
  margin-block-end: 1.6rem;
  font-weight: 500;
}
.c-product-detail__info-point-main {
  display: flex;
  column-gap: 0.4rem;
  align-items: center;
}
.c-product-detail__info-point-main > span > span {
  font-family: var(--font-family-secondary);
  font-size: 2.2rem;
  font-weight: normal;
}
@media (max-width: 767px) {
  .c-product-detail__info-point-main > span > span {
    font-size: 2rem;
  }
}
.c-product-detail__info-quantity {
  display: flex;
  flex-wrap: wrap;
  column-gap: 1.6rem;
  align-items: center;
  margin-block-end: 1.6rem;
}
.c-product-detail__info-quantity-select {
  display: flex;
  flex-wrap: wrap;
  column-gap: 0.8rem;
  align-items: center;
}
.c-product-detail__info-quantity-select > select {
  min-inline-size: 6.6rem;
  padding-block: 0.8rem;
  padding-inline: 1.6rem 3.4rem;
  background: url("/images/parts/icon-ar-down.svg") no-repeat top calc(50% + 0.2rem) right 0.8rem/1rem;
  background-color: var(--color-lightest);
  border: 1px solid var(--color-line-gray);
  border-radius: 0.4rem;
}
.c-product-detail__info-quantity-note {
  color: var(--color-text-gray);
}
.c-product-detail__info-error {
  padding: 0.4rem;
  margin-block-end: 1.6rem;
  font-size: 1.4rem;
  color: var(--color-more-emphasis);
  background-color: var(--color-bg-red);
  border: 1px solid var(--color-more-emphasis);
  border-radius: 0.2rem;
}
@media (max-width: 767px) {
  .c-product-detail__info-error {
    font-size: 1.2rem;
  }
}
.c-product-detail__info-error > li {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.2rem;
}
.c-product-detail__info-submit {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem 2rem;
  align-items: center;
  margin-block-end: 0.8rem;
}
.c-product-detail__info-submit:last-child {
  margin-block-end: 0;
}
@media (max-width: 767px) {
  .c-product-detail__info-submit > div {
    inline-size: 100%;
  }
}
@media (max-width: 767px) {
  .c-product-detail__info-submit-button {
    order: 1;
  }
}
.c-product-detail__info-submit-button-primary, .c-product-detail__info-submit-button-secondary {
  position: relative;
  display: flex;
  align-items: center;
  min-inline-size: 27.4rem;
  padding: 1.6rem;
  font-size: 2rem;
  color: var(--color-lightest);
  background-color: var(--color-conversion);
  border: 1px solid var(--color-conversion);
  border-radius: 0.4rem;
  cursor: pointer;
}
@media (max-width: 767px) {
  .c-product-detail__info-submit-button-primary, .c-product-detail__info-submit-button-secondary {
    inline-size: 100%;
    padding-inline: 3.45rem;
    font-size: 1.6rem;
  }
}
.c-product-detail__info-submit-button-primary[data-animation=true], .c-product-detail__info-submit-button-secondary[data-animation=true] {
  padding-inline-start: 4.6rem;
}
.c-product-detail__info-submit-button-primary-icon, .c-product-detail__info-submit-button-secondary-icon {
  display: block;
  padding-inline-end: 0.2rem;
}
.c-product-detail__info-submit-button-primary-icon > svg, .c-product-detail__info-submit-button-secondary-icon > svg {
  inline-size: auto !important;
}
.c-product-detail__info-submit-button-primary-icon img, .c-product-detail__info-submit-button-secondary-icon img {
  display: block;
  block-size: auto;
}
.c-product-detail__info-submit-button-primary[data-animation=true] .c-product-detail__info-submit-button-primary-icon, .c-product-detail__info-submit-button-primary[data-animation=true] .c-product-detail__info-submit-button-secondary-icon, .c-product-detail__info-submit-button-secondary[data-animation=true] .c-product-detail__info-submit-button-primary-icon, .c-product-detail__info-submit-button-secondary[data-animation=true] .c-product-detail__info-submit-button-secondary-icon {
  position: absolute;
  inset: 0 auto 0 0;
  margin-block: auto;
}
.c-product-detail__info-submit-button-primary-label, .c-product-detail__info-submit-button-secondary-label {
  display: block;
  flex-grow: 1;
  text-align: center;
}
.c-product-detail__info-submit-button-primary input[type=submit], .c-product-detail__info-submit-button-secondary input[type=submit] {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}
.c-product-detail__info-submit-button-primary {
  transition: background-color 300ms;
}
@media (hover: hover) {
  .c-product-detail__info-submit-button-primary:hover {
    background-color: var(--color-conversion-hover);
  }
}
.c-product-detail__info-submit-button-secondary {
  font-size: 1.8rem;
  color: var(--color-link);
  background-color: var(--color-lightest);
  border: 1px solid var(--color-link);
  transition: background-color 300ms, color 300ms;
}
@media (max-width: 767px) {
  .c-product-detail__info-submit-button-secondary {
    font-size: 1.6rem;
  }
}
.c-product-detail__info-submit-button-secondary::after {
  display: block;
  inline-size: 2rem;
  block-size: 2rem;
  content: "";
  background: url("/images/parts/icon-ar-link.svg") no-repeat center/contain;
}
.c-product-detail__info-submit-button-secondary-icon {
  position: relative;
  inline-size: 2.6rem;
}
.c-product-detail__info-submit-button-secondary-icon img {
  inline-size: 100%;
}
.c-product-detail__info-submit-button-secondary-icon::before {
  position: absolute;
  inset: 0;
  display: block;
  inline-size: calc(100% - 0.2rem);
  aspect-ratio: 1/1;
  margin: auto;
  content: "";
  background: url("/images/parts/icon-mail-link-white.svg") no-repeat center center;
  background-size: 100% auto;
  opacity: 0;
  transition: 300ms;
}
@media (hover: hover) {
  .c-product-detail__info-submit-button-secondary:hover {
    color: var(--color-lightest);
    background-color: var(--color-link);
  }
  .c-product-detail__info-submit-button-secondary:hover::after {
    background-image: url("/images/parts/icon-ar-link-white.svg");
  }
}
@media (hover: hover) {
  .c-product-detail__info-submit-button-secondary:hover .c-product-detail__info-submit-button-secondary-icon img {
    opacity: 0;
  }
  .c-product-detail__info-submit-button-secondary:hover .c-product-detail__info-submit-button-secondary-icon::before {
    opacity: 1;
  }
}
.c-product-detail__info-submit-wishlist {
  display: flex;
  gap: 0.8rem;
  align-items: center;
}
@media (max-width: 767px) {
  .c-product-detail__info-submit-wishlist {
    justify-content: center;
    order: 3;
  }
}
.c-product-detail__info-submit-wishlist-button {
  position: relative;
  display: block;
  inline-size: 3.2rem;
  block-size: 3.2rem;
  cursor: pointer;
  background-color: var(--wishlist-button-bg-color);
  border-radius: 50%;
}
@media (max-width: 767px) {
  .c-product-detail__info-submit-wishlist-button {
    inline-size: 3rem;
    block-size: 3rem;
  }
}
.c-product-detail__info-submit-wishlist-button[data-json-failed] {
  background-image: url("/images/parts/icon-wishlist-off.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 2.4rem auto;
}
@media (max-width: 767px) {
  .c-product-detail__info-submit-wishlist-button[data-json-failed] {
    background-size: 1.4rem auto;
  }
}
.c-product-detail__info-submit-wishlist-button[data-json-failed][aria-pressed=true] {
  background-image: url("/images/parts/icon-wishlist-on.svg");
}
.c-product-detail__info-submit-wishlist-button span {
  position: absolute;
  inline-size: 0.1rem;
  block-size: 0.1rem;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}
.c-product-detail__info-submit-wishlist-button > svg {
  position: absolute;
  inset: 50% auto auto 50%;
  inline-size: calc(100% + 1rem) !important;
  block-size: calc(100% + 1rem) !important;
  translate: -50% -50%;
}
.c-product-detail__info-submit-sp-follow {
  position: fixed;
  inset: auto 0 0 0;
  z-index: 10;
  display: none;
  padding: 1.6rem;
  background-color: var(--color-bg-gray);
}
@media (max-width: 767px) {
  .c-product-detail__info-submit-sp-follow {
    display: block;
  }
}
.c-product-detail__info-submit-note {
  inline-size: 100%;
}
@media (max-width: 767px) {
  .c-product-detail__info-submit-note {
    order: 2;
    text-align: center;
  }
}
.c-product-detail__info-submit-note-list {
  color: var(--color-text-gray);
  list-style: "";
}
.c-product-detail__info-submit-note > p {
  font-size: 1.8rem;
}
@media (max-width: 767px) {
  .c-product-detail__info-submit-note > p {
    font-size: 1.6rem;
  }
}
.c-product-detail__info-submit-note > p:not(:last-child) {
  margin-block-end: 0.8rem;
}
.c-product-detail__info-submit-note a {
  color: var(--color-link);
  text-decoration-line: underline;
}
@media (hover: hover) {
  .c-product-detail__info-submit-note a:hover {
    text-decoration: none;
  }
}
.c-product-detail__info-sub-option {
  margin-block-end: 1.6rem;
}
.c-product-detail__info-sub-category {
  margin-block-end: 1.6rem;
}
.c-product-detail__info-sub-share {
  display: flex;
  flex-wrap: wrap;
  gap: 1.6rem;
  align-items: center;
}
@media (max-width: 767px) {
  .c-product-detail__info-sub-share {
    justify-content: center;
  }
}
.c-product-detail__info-sub-share > ul {
  display: flex;
  gap: 0.8rem;
}
@media (max-width: 767px) {
  .c-product-detail__info-sub-share > ul {
    justify-content: center;
    inline-size: 100%;
  }
}
.c-product-detail__info-sub-share > ul img {
  display: block;
  max-inline-size: 100%;
  block-size: auto;
}
.c-product-detail__info-sub-share > ul a {
  transition: 300ms opacity;
}
@media (hover: hover) {
  .c-product-detail__info-sub-share > ul a:hover {
    opacity: 0.7;
  }
}

.c-product-banner {
  display: grid;
  gap: 2.4rem;
}
@media (max-width: 767px) {
  .c-product-banner {
    gap: 0.8rem;
  }
}
.c-product-banner__element img {
  max-inline-size: 100%;
  block-size: auto;
}
.c-product-banner__element a {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: 0.4rem;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.15);
}
.c-product-banner__element a::after {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  display: block;
  inline-size: 100%;
  block-size: 100%;
  content: "";
  border: 1px solid var(--color-link);
  border-radius: 0.4rem;
  opacity: 0;
  transition: 200ms;
}
@media (hover: hover) {
  .c-product-banner__element a:hover::after {
    opacity: 1;
  }
}

.c-product-review__header {
  display: flex;
  gap: 0 2rem;
  align-items: center;
  justify-content: space-between;
  margin-block-end: 1.6rem;
}
@media (max-width: 767px) {
  .c-product-review__header {
    flex-wrap: wrap;
    gap: 1.6rem;
  }
}
.c-product-review__heading {
  font-size: 3.2rem;
  font-weight: bold;
}
.c-product-review__info {
  padding-block-end: 1.6rem;
  margin-block-end: 1.6rem;
  border-block-end: 1px solid var(--color-line-gray);
}
@media (max-width: 767px) {
  .c-product-review__info {
    padding-block-end: 0;
    margin-block-end: 2.4rem;
    border-block-end: 0;
  }
}
.c-product-review__info-header {
  display: flex;
  gap: 0 1.6rem;
  align-items: center;
  margin-block-end: 0.8rem;
}
.c-product-review__info-heading {
  font-size: 2rem;
  font-weight: bold;
}
@media (max-width: 767px) {
  .c-product-review__info-heading {
    font-size: 1.8rem;
  }
}
.c-product-review__info-notice a {
  font-size: 1.4rem;
  color: var(--color-link);
  text-decoration: underline;
}
@media (hover: hover) {
  .c-product-review__info-notice a:hover {
    text-decoration: none;
  }
}
@media (max-width: 767px) {
  .c-product-review__info-notice a {
    font-size: 1.2rem;
  }
}
.c-product-review__info-container {
  display: flex;
}
@media (max-width: 767px) {
  .c-product-review__info-container {
    display: block;
  }
}
.c-product-review__rating {
  flex-grow: 1;
  inline-size: min(40rem, 100%);
  padding-inline-end: 3.2rem;
  border-inline-end: 1px solid var(--color-line-gray);
}
@media (max-width: 767px) {
  .c-product-review__rating {
    inline-size: 100%;
    padding-block-end: 1.6rem;
    padding-inline-end: 0;
    margin-block-end: 1.6rem;
    border-block-end: 1px solid var(--color-line-gray);
    border-inline-end: 0;
  }
}
.c-product-review__rating-rate {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: center;
}
.c-product-review__rating-input {
  display: flex;
  gap: 0.35rem;
  align-items: center;
  justify-content: start;
}
.c-product-review__rating-input-item {
  --evaluation: 1;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  inline-size: 3.2rem;
  block-size: 3.2rem;
  font-family: var(--font-family-secondary);
  font-size: 3rem;
  line-height: 1.3;
  cursor: pointer;
  background-color: var(--color-rate-star-off);
  mask: url("/images/parts/icon-star.svg") no-repeat center/contain;
}
.c-product-review__rating-input-item:focus-within {
  outline: var(--color-glow) auto 1px;
}
.c-product-review__rating-input-item > span {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}
.c-product-review__rating-input-item::before, .c-product-review__rating-input-item::after {
  position: absolute;
  inset: 0;
  inline-size: 100%;
  block-size: 100%;
  margin: auto;
  content: "";
  background-color: var(--color-rate-star-on);
  mask: url("/images/parts/icon-star.svg") no-repeat center/contain;
}
.c-product-review__rating-input-item::before {
  clip-path: url('data:image/svg+xml;utf8,%3Csvg xmlns="http://www.w3.org/2000/svg"%3E%3Cdefs%3E%3CclipPath id="p" clipPathUnits="objectBoundingBox"%3E%3Cpolygon points="0 1, 0 0, calc(var(--evaluation) * 100%25) 0, calc(var(--evaluation) * 100%25) 1"/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E#p');
  clip-path: polygon(0 100%, 0 0, calc(var(--evaluation)*100%) 0, calc(var(--evaluation)*100%) 100%);
}
.c-product-review__rating-input-item::after {
  opacity: 0;
}
.c-product-review__rating-input-item:focus-within ~ .c-product-review__rating-input-item::after, .c-product-review__rating-input-item:hover ~ .c-product-review__rating-input-item::after {
  background-color: var(--color-rate-star-off);
  opacity: 1;
}
.c-product-review__rating-input-item input[type=submit] {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}
.c-product-review__rating-input:focus-within .c-product-review__rating-input-item::after, .c-product-review__rating-input:has(.c-product-review__rating-input-item:hover) .c-product-review__rating-input-item::after {
  opacity: 1;
}
.c-product-review__rating-number {
  font-family: var(--font-family-secondary);
  font-size: 1.8rem;
  font-weight: 500;
}
.c-product-review__rating-text {
  margin-block-end: 0.8rem;
  font-size: 1.4rem;
  font-weight: 500;
}
@media (max-width: 767px) {
  .c-product-review__rating-text {
    display: flex;
    flex-wrap: wrap;
    font-size: 1.2rem;
  }
}
.c-product-review__rating-text span span {
  margin-inline: 0.25rem;
  font-family: var(--font-family-secondary);
  font-size: 2.2rem;
  font-weight: 500;
}
@media (max-width: 767px) {
  .c-product-review__rating-text span span {
    font-size: 2rem;
  }
}
.c-product-review__rating-info {
  padding-block: 0.4rem;
  padding-inline: 0.8rem;
  font-weight: 500;
  text-align: center;
  background: var(--color-bg-gray);
  border-radius: 0.4rem;
}
@media (max-width: 767px) {
  .c-product-review__rating-info {
    padding-block: 0.6rem;
    font-size: 1.2rem;
  }
}
.c-product-review__rating-info p span {
  font-family: var(--font-family-secondary);
  font-size: 2.2rem;
  font-weight: 500;
}
@media (max-width: 767px) {
  .c-product-review__rating-info p span {
    font-size: 2rem;
  }
}
.c-product-review__overall {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem 1.6rem;
  padding-inline-start: 2.4rem;
}
@media (max-width: 767px) {
  .c-product-review__overall {
    display: block;
    padding-inline-start: 0;
  }
}
.c-product-review__overall-heading {
  font-size: 1.6rem;
  font-weight: 500;
}
@media (max-width: 767px) {
  .c-product-review__overall-heading {
    margin-block-end: 0.8rem;
    font-size: 1.4rem;
  }
}
.c-product-review__overall-contents {
  display: grid;
  gap: 0.4rem;
}
@media (max-width: 767px) {
  .c-product-review__overall-contents {
    display: table;
    inline-size: 100%;
  }
}
.c-product-review__overall-block {
  display: flex;
  align-items: center;
}
@media (max-width: 767px) {
  .c-product-review__overall-block {
    display: table-row;
  }
}
.c-product-review__overall-rate {
  position: relative;
  overflow-wrap: normal;
}
@media (min-width: 768px) {
  .c-product-review__overall-rate {
    inline-size: 12rem;
    block-size: 2.4rem;
    margin-inline-end: 1.6rem;
    line-height: 2.4rem;
  }
}
@media (max-width: 767px) {
  .c-product-review__overall-rate {
    display: table-cell;
    align-items: center;
    min-inline-size: 4rem;
    margin-inline-end: 1.3rem;
    font-family: var(--font-family-secondary);
    font-size: 2rem;
    font-weight: 500;
    vertical-align: middle;
  }
}
@media (max-width: 767px) {
  .c-product-review__overall-rate-inner {
    display: flex;
    align-items: center;
  }
}
@media (min-width: 768px) {
  .c-product-review__overall-rate-inner > span {
    position: absolute;
    inline-size: 0.1rem;
    block-size: 0.1rem;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
  }
}
.c-product-review__overall-stars {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
}
@media (max-width: 767px) {
  .c-product-review__overall-stars {
    display: block;
  }
}
.c-product-review__overall-stars img {
  display: block;
  inline-size: 100%;
  block-size: auto;
}
@media (max-width: 767px) {
  .c-product-review__overall-stars img:not(:first-child) {
    display: none;
  }
}
@media (max-width: 767px) {
  .c-product-review__overall-graph-wrapper {
    display: table-cell;
    inline-size: 100%;
    padding-inline: 0.8rem;
    vertical-align: middle;
  }
}
.c-product-review__overall-graph {
  position: relative;
  inline-size: 20rem;
  block-size: 1.8rem;
  overflow: hidden;
  background: var(--color-bg-gray);
  border-radius: 0.2rem;
  outline: 1px solid var(--color-line-gray);
  outline-offset: -1px;
}
@media (max-width: 767px) {
  .c-product-review__overall-graph {
    inline-size: 100%;
    vertical-align: middle;
  }
}
.c-product-review__overall-graph::after {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  display: block;
  inline-size: calc(var(--ratio)*100%);
  block-size: 100%;
  content: "";
  background: var(--color-emphasis);
}
.c-product-review__overall-number {
  margin-inline-start: 0.8rem;
  font-size: 1.2rem;
  color: var(--color-text-gray);
}
@media (max-width: 767px) {
  .c-product-review__overall-number {
    display: table-cell;
    font-size: 1rem;
    white-space: nowrap;
    vertical-align: middle;
  }
}
.c-product-review__overall-number span {
  font-family: var(--font-family-secondary);
  font-size: 1.4rem;
}
@media (max-width: 767px) {
  .c-product-review__overall-number span {
    font-size: 1.2rem;
  }
}
.c-product-review__comment {
  margin-block-end: 4rem;
}
.c-product-review__comment-heading {
  margin-block-end: 0.8rem;
  font-size: 2rem;
  font-weight: bold;
}
@media (max-width: 767px) {
  .c-product-review__comment-heading {
    font-size: 1.8rem;
  }
}
.c-product-review__comment-body {
  padding: 2.4rem;
  background: var(--color-bg-gray);
  border-radius: 0.4rem;
}
@media (max-width: 767px) {
  .c-product-review__comment-body {
    padding: 1.6rem;
  }
}
.c-product-review__comment-container {
  max-block-size: 44rem;
  padding-inline-end: 2.4rem;
  overflow: auto;
}
@media (max-width: 767px) {
  .c-product-review__comment-container {
    max-block-size: 44.8rem;
    padding-inline-end: 1.6rem;
  }
}
.c-product-review__comment-block {
  padding-block-end: 1.6rem;
  margin-block-end: 1.6rem;
  border-block-end: 1px solid var(--color-line-gray);
}
.c-product-review__comment-block:last-child {
  padding-block-end: 0;
  margin-block-end: 0;
  border-block-end: 0;
}
.c-product-review__comment-info {
  margin-block-end: 0.8rem;
  font-weight: 500;
  color: var(--color-link);
}
.c-product-review__comment-pict {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  margin-block-end: 1.2rem;
}
.c-product-review__comment-pict > li {
  inline-size: 13.6rem;
  block-size: 13.6rem;
  overflow: hidden;
  border-radius: 0.2rem;
}
.c-product-review__comment-pict-button > img {
  display: block;
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
}
.c-product-review__comment-text {
  margin-block-end: 0.8rem;
  font-weight: 500;
}
.c-product-review__comment-foot {
  display: flex;
  gap: 0 2rem;
  align-items: center;
  justify-content: space-between;
}
.c-product-review__comment-good-button {
  display: flex;
  gap: 0.8rem;
  align-items: center;
  font-weight: 500;
  cursor: pointer;
}
.c-product-review__comment-good-button::before {
  display: inline-block;
  inline-size: 3.2rem;
  block-size: 3.2rem;
  content: "";
  background-color: var(--wishlist-button-bg-color);
  background-image: url("/images/parts/icon-review-good-off.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 1.9rem auto;
  border-radius: 50%;
}
.c-product-review__comment-good-button[aria-pressed=true]::before {
  background-image: url("/images/parts/icon-review-good-on.svg");
}
.c-product-review__comment-report a {
  font-size: 1.4rem;
  color: var(--color-link);
  text-decoration: underline;
}
@media (hover: hover) {
  .c-product-review__comment-report a:hover {
    text-decoration: none;
  }
}
.c-product-review__thanks {
  position: relative;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  padding-inline: 2rem;
  margin-block-end: 1.6rem;
  margin-inline: auto;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.3;
  text-align: center;
}
@media (max-width: 767px) {
  .c-product-review__thanks {
    padding-inline: 1rem;
    font-size: 1.6rem;
  }
}
.c-product-review__thanks > span {
  display: inline-block;
}
.c-product-review__thanks::before, .c-product-review__thanks::after {
  position: absolute;
  inset-block: 0;
  display: block;
  inline-size: 2rem;
  block-size: 2px;
  margin-block: auto;
  content: "";
  background-color: var(--color-emphasis);
  border-radius: 1rem;
}
.c-product-review__thanks::before {
  inset-inline-start: 0;
  transform: rotate(60deg);
}
@media (max-width: 767px) {
  .c-product-review__thanks::before {
    inset-inline-start: -0.6rem;
  }
}
.c-product-review__thanks::after {
  inset-inline-end: 0;
  transform: rotate(-60deg);
}
@media (max-width: 767px) {
  .c-product-review__thanks::after {
    inset-inline-end: -0.6rem;
  }
}
.c-product-review__modal-button {
  display: flex;
  justify-content: center;
}
.c-product-review__modal-button-element {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  min-inline-size: 27.5rem;
  max-inline-size: 55.2rem;
  padding-block: 1.6rem;
  padding-inline: 2.4rem 4.2rem;
  font-weight: 500;
  color: var(--color-link);
  background-color: var(--color-lightest);
  border: 1.5px solid currentcolor;
  border-radius: 0.4rem;
  transition: 300ms;
}
@media (max-width: 767px) {
  .c-product-review__modal-button-element {
    font-size: 1.6rem;
  }
}
.c-product-review__modal-button-element::after {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-end: 1.4rem;
  display: block;
  inline-size: 2.4rem;
  block-size: 2rem;
  content: "";
  background: url("/images/parts/icon-modal.svg") no-repeat center center;
  background-size: 100% auto;
  transition: 300ms;
  transform: translate(0, -50%);
}
@media (hover: hover) {
  .c-product-review__modal-button-element:hover {
    color: var(--color-lightest);
    background-color: var(--color-link);
  }
  .c-product-review__modal-button-element:hover::after {
    background-image: url("/images/parts/icon-modal-white.svg");
  }
}

.c-category-title {
  position: relative;
  padding-block: 2.4rem;
  padding-inline: 1.6rem;
  overflow: hidden;
  background-color: var(--bg-color);
}
@media (max-width: 767px) {
  .c-category-title {
    padding: 1.6rem;
    background-position: calc(100% + 7.6rem) center;
  }
}
.c-category-title__bg {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: calc(50% + 16.2rem);
  block-size: 100%;
}
@media (max-width: 767px) {
  .c-category-title__bg {
    inset-inline: auto -16.5rem;
  }
}
.c-category-title__bg img {
  block-size: 100%;
  object-fit: contain;
}
.c-category-title__container {
  position: relative;
  max-inline-size: 112rem;
  margin-inline: auto;
}
.c-category-title__element {
  font-size: 3.2rem;
  font-weight: bold;
}
@media (max-width: 767px) {
  .c-category-title__element {
    font-size: 2rem;
  }
}

.c-tags__list {
  display: flex;
  flex-wrap: wrap;
  gap: 1.6rem;
}
.c-tags__list a {
  font-size: 1.4rem;
  color: var(--color-link);
  text-decoration: underline;
}
@media (hover: hover) {
  .c-tags__list a:hover {
    text-decoration: none;
  }
}
@media (max-width: 767px) {
  .c-tags__list a {
    font-size: 1.2rem;
  }
}

.c-text-h1 {
  margin-block: 0 3.2rem;
  font-size: 3.2rem;
  font-weight: bold;
}
@media (max-width: 767px) {
  .c-text-h1 {
    font-size: 2.8rem;
  }
}
.c-text-h1:first-child,
.c-text-h1 + .c-text-h2 {
  margin-block-start: 0;
}

.c-text-h2 {
  position: relative;
  padding-block-end: 1.3rem;
  margin-block: 5.6rem 2.4rem;
  font-size: 2.8rem;
  font-weight: bold;
  border-block-end: 3px solid var(--color-line-gray);
}
@media (max-width: 767px) {
  .c-text-h2 {
    font-size: 2.6rem;
  }
}
.c-text-h2:first-child {
  margin-block-start: 0;
}
.c-text-h2::after {
  position: absolute;
  inset-block-end: -0.3rem;
  inset-inline-start: 0;
  inline-size: 8rem;
  block-size: 0.3rem;
  content: "";
  background: var(--color-link-emphasis);
}
.c-text-h2 + .c-text-h3 {
  margin-block-start: 0;
}

.c-text-h3 {
  padding-block-end: 0.8rem;
  margin-block: 5.6rem 1.6rem;
  font-size: 2.4rem;
  font-weight: bold;
  border-block-end: 1px solid var(--color-line-gray);
}
@media (max-width: 767px) {
  .c-text-h3 {
    margin-block-start: 4.8rem;
    font-size: 2.2rem;
  }
}
.c-text-h3:first-child,
.c-text-h3 + .c-text-h4 {
  margin-block-start: 0;
}

.c-text-h4 {
  margin-block-end: 1.6rem;
  font-size: 2.2rem;
  font-weight: bold;
}
@media (max-width: 767px) {
  .c-text-h4 {
    font-size: 2rem;
  }
}

.c-text-h5 {
  margin-block-end: 1.6rem;
  font-size: 2rem;
  font-weight: bold;
}

.c-text-h6 {
  margin-block-end: 1.6rem;
  font-size: 1.8rem;
  font-weight: bold;
}

.c-text-special-offer {
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  padding-block: 0.55rem;
  padding-inline: 3.4rem 0.8rem;
  margin-block-end: 1.6rem;
  color: var(--color-lightest);
  background: var(--color-darkest) url("/images/parts/icon-special.svg") no-repeat 8px center/2.2rem auto;
  border-radius: 0.4rem;
}
@media (max-width: 767px) {
  .c-text-special-offer {
    padding-block: 0.7rem;
    font-size: 1.4rem;
  }
}

.c-text-p-group {
  margin-block-end: 1.6rem;
}
@media (max-width: 767px) {
  .c-text-p-group {
    font-size: 1.4rem;
  }
}
.c-text-p-group p {
  margin: 0 0 1em;
}
.c-text-p-group p:last-child {
  margin-block-end: 0;
}
.c-text-p-group a {
  color: var(--color-link);
  text-decoration: underline;
}
@media (hover: hover) {
  .c-text-p-group a:hover {
    text-decoration: none;
  }
}

.c-text-notion {
  display: grid;
  gap: 0.4rem;
  font-size: 1.4rem;
  color: var(--color-text-gray);
}
@media (max-width: 767px) {
  .c-text-notion {
    font-size: 1.2rem;
  }
}
.c-text-notion li {
  display: grid;
  grid-template-columns: 1em 1fr;
}

.c-text-red {
  color: var(--color-more-emphasis);
}

.c-spec {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.9rem 3.2rem;
}
@media (max-width: 767px) {
  .c-spec {
    gap: 0.8rem;
  }
}
.c-spec[data-col="2"] {
  grid-template-columns: repeat(2, 1fr);
}
@media (max-width: 767px) {
  .c-spec[data-col="2"] {
    grid-template-columns: 1fr;
  }
}
.c-spec dt {
  inline-size: 8rem;
  padding-block: 0.2rem;
  padding-inline: 0.8rem 0.8rem;
  font-size: 1.2rem;
  font-weight: normal;
  text-align: center;
  border: 1px solid var(--color-line-gray);
  border-radius: 1.5rem;
}
.c-spec dd {
  flex: 0 0 1;
  font-weight: 500;
}
@media (max-width: 767px) {
  .c-spec dd {
    font-size: 1.4rem;
  }
}
.c-spec > div {
  display: flex;
  gap: 0.8rem;
  align-items: flex-start;
}
.c-spec a {
  color: var(--color-link);
  text-decoration: underline;
}
@media (hover: hover) {
  .c-spec a:hover {
    text-decoration: none;
  }
}

.c-modal {
  inline-size: auto;
  max-inline-size: none;
  block-size: auto;
  max-block-size: none;
  padding-block: 5.6rem;
  padding-inline: 6rem;
  background-color: var(--modal-overlay-color);
  border: unset;
}
@media (max-width: 991px) {
  .c-modal {
    padding-inline: 1.6rem;
  }
}
.c-modal__body {
  position: relative;
  inline-size: 96rem;
  max-inline-size: 100%;
  block-size: 100%;
  margin-inline: auto;
}
.c-modal__main {
  max-block-size: 100%;
  padding-block: 4rem;
  padding-inline: 4rem;
  overflow: auto;
  background-color: var(--color-bg-gray-02);
  border-radius: 0.4rem;
}
@media (max-width: 991px) {
  .c-modal__main {
    padding-block: 2.4rem 5.3rem;
    padding-inline: 1.6rem;
  }
}
.c-modal__container {
  --px: var(--margin-sm);
  --px-sp: var(--px);
  --mb: var(--margin-md);
  --mb-sp: var(--mb);
  max-inline-size: var(--max-w);
  padding-inline: var(--px);
  margin-block-end: var(--mb);
  margin-inline: auto;
}
@media (max-width: 767px) {
  .c-modal__container {
    max-inline-size: var(--max-w-sp);
    padding-inline: var(--px-sp);
    margin-block-end: var(--mb-sp);
  }
}
.c-modal__main > main > .c-modal__container:last-child, .c-modal__main > main > .c-modal__bg:last-child, .c-modal__bg > .c-modal__container:last-child {
  --mb: var(--margin-none);
}
.c-modal__bg {
  --pt: var(--margin-md);
  --pt-sp: var(--pt);
  --pb: var(--margin-lg);
  --pb-sp: var(--pb);
  --py: var(--size-0);
  --py-sp: var(--py);
  --mb: var(--margin-md);
  --mb-sp: var(--mb);
  --bg: var(--color-bg-gray);
  --bg-sp: var(--bg);
  padding-block: var(--pt) var(--pb);
  padding-inline: var(--py);
  margin-block-end: var(--mb);
  background-color: var(--bg);
}
@media (max-width: 767px) {
  .c-modal__bg {
    padding-block: var(--pt-sp) var(--pb-sp);
    padding-inline: var(--py-sp);
    margin-block-end: var(--mb-sp);
    background-color: var(--bg-sp);
  }
}
.c-modal__container .c-modal__bg {
  --bg: var(--color-bg-gray-02);
  --py: var(--size-lg);
  border-radius: 0.4rem;
}
.c-modal__flex-center, .c-modal__flex-start, .c-modal__flex-end {
  display: flex;
  flex-wrap: wrap;
  gap: 1.6rem;
  align-items: center;
}
.c-modal__flex-center {
  justify-content: center;
}
.c-modal__flex-start {
  justify-content: flex-start;
}
.c-modal__flex-end {
  justify-content: flex-end;
}
.c-modal__close {
  position: absolute;
  inset-block-start: 0;
  inset-inline-end: -4.5rem;
  inline-size: 3.2rem;
}
@media (max-width: 991px) {
  .c-modal__close {
    inset-block-start: -4.7rem;
    inset-inline-end: 0;
  }
}
.c-modal__close-button {
  inline-size: 100%;
  block-size: 100%;
}
.c-modal__close-button img {
  display: block;
  inline-size: 100%;
  block-size: auto;
}

.c-modal-review__dialog-input, .c-modal-review__dialog-confirm {
  inline-size: auto;
  max-inline-size: none;
  block-size: auto;
  max-block-size: none;
  padding-block: 5.6rem;
  padding-inline: 6rem;
  font-size: 1.6rem;
  font-weight: 500;
  background-color: var(--modal-overlay-color);
  border: unset;
}
@media (max-width: 767px) {
  .c-modal-review__dialog-input, .c-modal-review__dialog-confirm {
    padding-inline: 1.6rem;
    font-size: 1.4rem;
  }
}
.c-modal-review__body {
  position: relative;
  inline-size: 88.6rem;
  max-inline-size: 100%;
  block-size: 100%;
  margin-inline: auto;
}
.c-modal-review__main {
  max-block-size: 100%;
  padding-block: 4rem;
  padding-inline: 4rem;
  overflow: auto;
  background-color: var(--color-bg-gray-02);
  border-radius: 0.4rem;
}
@media (max-width: 767px) {
  .c-modal-review__main {
    padding-block: 2.4rem;
    padding-inline: 1.6rem;
  }
}
.c-modal-review__close {
  position: absolute;
  inset-block-start: 0;
  inset-inline-end: -4.5rem;
  inline-size: 3.2rem;
}
@media (max-width: 767px) {
  .c-modal-review__close {
    inset-block-start: -4.7rem;
    inset-inline-end: 0;
  }
}
.c-modal-review__close-button {
  inline-size: 100%;
  block-size: 100%;
}
.c-modal-review__close-button img {
  display: block;
  inline-size: 100%;
  block-size: auto;
}
.c-modal-review__heading {
  margin-block-end: 2.4rem;
  font-size: 3.2rem;
  font-weight: bold;
}
@media (max-width: 767px) {
  .c-modal-review__heading {
    font-size: 2.8rem;
  }
}
.c-modal-review__note {
  padding: 0.8rem;
  margin-block-end: 1.6rem;
  color: var(--color-more-emphasis);
  background: var(--color-bg-red);
  border: 1px solid var(--color-more-emphasis);
  border-radius: var(--round-scale-small, 0.2rem);
}
@media (max-width: 767px) {
  .c-modal-review__note {
    margin-block-end: 0;
  }
}
.c-modal-review__form-fieldset {
  display: grid;
  grid-template-columns: 14rem 1fr;
  gap: 0.8rem 2.4rem;
  padding-block: 1.6rem;
  border-block-end: 1px solid var(--color-line-gray);
}
@media (max-width: 767px) {
  .c-modal-review__form-fieldset {
    grid-template-columns: 1fr;
    padding-block-end: 2.4rem;
  }
}
.c-modal-review__form-fieldset-heading {
  font-size: 1.8rem;
}
.c-modal-review__form-fieldset > fieldset,
.c-modal-review__form-fieldset > div {
  display: contents;
}
.c-modal-review__form-heading {
  font-size: 1.8rem;
}
@media (max-width: 767px) {
  .c-modal-review__form-heading {
    font-size: 1.6rem;
  }
}
.c-modal-review__form-image {
  display: flex;
  gap: 0.8rem;
}
.c-modal-review__form-image-item {
  position: relative;
  inline-size: 8rem;
  aspect-ratio: 1/1;
  background-position: center;
  background-size: cover;
  border: 1px dashed var(--color-line-gray);
  border-radius: 0.2rem;
}
.c-modal-review__form-image-item > input[type=file] {
  position: absolute;
  inset: 0;
  inline-size: 100%;
  block-size: 100%;
}
.c-modal-review__form-image-item > input[type=file]::file-selector-button {
  opacity: 0;
}
.c-modal-review__form-image-item::after {
  position: absolute;
  inset: 0;
  display: block;
  inline-size: 2.2rem;
  block-size: 2.2rem;
  margin: auto;
  content: "";
  background: url("/images/parts/icon-plus.svg") no-repeat center/contain;
}
.c-modal-review__form-image-item[style] {
  border: 0;
}
.c-modal-review__form-image-item[style]::after {
  display: none;
}
.c-modal-review__form-text > input:not([type]),
.c-modal-review__form-text > input[type=text] {
  inline-size: 44rem;
  max-inline-size: 100%;
  padding-block: 0.8rem;
  padding-inline: 1.6rem;
  background: var(--color-lightest);
  border: 1px solid var(--color-line-gray);
  border-radius: 0.2rem;
}
.c-modal-review__form-textarea > textarea {
  inline-size: 100%;
  min-block-size: 13.5rem;
  padding-block: 0.8rem;
  padding-inline: 1.6rem;
  background: var(--color-lightest);
  border: 1px solid var(--color-line-gray);
  border-radius: 0.2rem;
}
.c-modal-review__form-textarea:has(+ .c-modal-review__form-notion) {
  margin-block-end: 0.8rem;
}
.c-modal-review__form-agree {
  padding-block: 1.6rem;
}
@media (max-width: 767px) {
  .c-modal-review__form-agree {
    margin-block-end: 0.8rem;
  }
}
.c-modal-review__form-agree-text {
  display: flex;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  margin-inline: auto;
}
.c-modal-review__form-agree-check {
  position: relative;
  flex-shrink: 0;
  inline-size: 2rem;
  block-size: 2rem;
  margin-inline-end: 0.4rem;
  border: 1px solid var(--color-link);
  border-radius: 0.2rem;
}
.c-modal-review__form-agree-check:checked {
  background-color: var(--color-link);
}
.c-modal-review__form-agree-check:checked::after {
  position: absolute;
  inset-block-start: 0.45rem;
  inset-inline-start: 0.4rem;
  display: block;
  inline-size: 1.1rem;
  block-size: 0.6rem;
  content: "";
  border-block-end: 2px solid var(--color-lightest);
  border-inline-start: 2px solid var(--color-lightest);
  transform: rotate(-45deg);
}
.c-modal-review__form-agree-label a {
  color: var(--color-link);
  text-decoration: underline;
}
@media (hover: hover) {
  .c-modal-review__form-agree-label a:hover {
    text-decoration: none;
  }
}
.c-modal-review__form-confirm {
  display: flex;
  justify-content: center;
}
.c-modal-review__confirm-fieldset {
  display: grid;
  grid-template-columns: 14rem 1fr;
  gap: 0.8rem 2.4rem;
  padding-block: 1.6rem;
  border-block-end: 1px solid var(--color-line-gray);
}
@media (max-width: 767px) {
  .c-modal-review__confirm-fieldset {
    grid-template-columns: 1fr;
    padding-block-end: 2.4rem;
  }
}
.c-modal-review__confirm-fieldset-heading {
  font-size: 1.8rem;
}
@media (max-width: 767px) {
  .c-modal-review__confirm-fieldset-heading {
    font-size: 1.6rem;
  }
}
.c-modal-review__confirm-image {
  display: flex;
  gap: 0.8rem;
}
.c-modal-review__confirm-image-item {
  position: relative;
  inline-size: 12rem;
  aspect-ratio: 1/1;
  background-position: center;
  background-size: cover;
  border: 1px solid var(--color-line-gray);
}
.c-modal-review__confirm-image-item > img {
  display: block;
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
}
.c-modal-review__confirm-submit {
  display: flex;
  flex-wrap: wrap;
  gap: 1.6rem 2.4rem;
  justify-content: center;
  margin-block-start: 1.6rem;
}
@media (max-width: 767px) {
  .c-modal-review__confirm-submit {
    flex-direction: column-reverse;
    align-items: center;
    margin-block-start: 3.2rem;
  }
}
.c-modal-cart-in {
  inline-size: auto;
  max-inline-size: none;
  block-size: auto;
  max-block-size: none;
  padding-block: 5.6rem;
  padding-inline: 6rem;
  background-color: var(--modal-overlay-color);
  border: unset;
}
@media (max-width: 991px) {
  .c-modal-cart-in {
    padding-inline: 1.6rem;
  }
}
.c-modal-cart-in__body {
  position: relative;
  inline-size: 96rem;
  max-inline-size: 100%;
  block-size: 100%;
  margin-inline: auto;
}
.c-modal-cart-in__main {
  max-block-size: 100%;
  padding-block: 4rem;
  padding-inline: 4rem;
  overflow: auto;
  background-color: var(--color-bg-gray-02);
  border-radius: 0.4rem;
}
@media (max-width: 991px) {
  .c-modal-cart-in__main {
    padding-block: 2.4rem 5.3rem;
    padding-inline: 1.6rem;
  }
}
.c-modal-cart-in__close {
  position: absolute;
  inset-block-start: 0;
  inset-inline-end: -4.5rem;
  inline-size: 3.2rem;
}
@media (max-width: 991px) {
  .c-modal-cart-in__close {
    inset-block-start: -4.7rem;
    inset-inline-end: 0;
  }
}
.c-modal-cart-in__close-button {
  inline-size: 100%;
  block-size: 100%;
}
.c-modal-cart-in__close-button img {
  display: block;
  inline-size: 100%;
  block-size: auto;
}
.c-modal-cart-in__heading {
  margin-block-end: 2.4rem;
  text-align: center;
}
@media (max-width: 991px) {
  .c-modal-cart-in__heading {
    margin-block-end: 1.6rem;
  }
}
.c-modal-cart-in__heading-icon {
  display: inline-block;
  padding-block: 0.9rem 0.7rem;
  padding-inline: 0.7rem 1.7rem;
  background: url("/images/parts/icon-cart-bg-balloon.svg") no-repeat center/contain;
}
@media (max-width: 991px) {
  .c-modal-cart-in__heading-icon {
    display: block;
    inline-size: -moz-fit-content;
    inline-size: fit-content;
    padding-block: 1.1rem 1.6rem;
    padding-inline: 1rem;
    margin-block-end: 0.8rem;
    margin-inline: auto;
    background-image: url("/images/parts/icon-cart-bg-balloon-sp.svg");
  }
}
.c-modal-cart-in__heading-icon > span {
  position: relative;
  display: inline-block;
}
.c-modal-cart-in__heading-icon > span > span {
  position: absolute;
  inset: 0 0 auto auto;
  display: flex;
  align-items: center;
  justify-content: center;
  min-inline-size: 1rem;
  min-block-size: 1rem;
  padding-block: 0.15rem;
  padding-inline: 0.2rem;
  font-size: 0.7rem;
  line-height: 1;
  color: var(--color-lightest);
  background-color: var(--color-more-emphasis);
  border-radius: 9999px;
}
.c-modal-cart-in__heading-text {
  font-size: 2.2rem;
  font-weight: bold;
}
@media (max-width: 991px) {
  .c-modal-cart-in__heading-text {
    font-size: 1.8rem;
  }
}
.c-modal-cart-in__card {
  display: grid;
  grid-template-columns: 12.9rem 1fr;
  align-items: start;
  margin-block-end: 4rem;
  overflow: hidden;
  border-radius: 0.4rem;
  box-shadow: 0 0 1rem 0 var(--shadowColor);
}
@media (max-width: 991px) {
  .c-modal-cart-in__card {
    grid-template-columns: 11.3rem 1fr;
    margin-block-end: 3.2rem;
  }
}
.c-modal-cart-in__card-thumbnail {
  position: relative;
  background-color: var(--color-bg-gray);
}
.c-modal-cart-in__card-thumbnail-img {
  block-size: 100%;
  aspect-ratio: 12.9/15.7;
}
@media (max-width: 991px) {
  .c-modal-cart-in__card-thumbnail-img {
    aspect-ratio: 11.3/14;
  }
}
.c-modal-cart-in__card-thumbnail-img > img {
  display: block;
  inline-size: 100%;
  block-size: 100%;
  object-fit: contain;
}
.c-modal-cart-in__card-tags {
  position: absolute;
  inset-block-end: 0;
  font-weight: 500;
}
.c-modal-cart-in__card-tags-special {
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  padding-inline: 0.7rem 1.1rem;
  margin-block-end: 0.4rem;
  font-size: 1.2rem;
  color: var(--color-lightest);
  background-color: var(--color-more-emphasis);
  border: 1px solid var(--color-lightest);
  border-inline-start: 0;
  border-radius: 0 10rem 10rem 0;
}
@media (max-width: 991px) {
  .c-modal-cart-in__card-tags-special {
    padding-inline: 0.4rem 0.8rem;
    font-size: 1rem;
  }
}
.c-modal-cart-in__card-tags-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.2rem;
}
.c-modal-cart-in__card-tags-list li {
  padding-inline: 0.4rem;
  font-size: 1.2rem;
  background: var(--color-lightest);
  border: 1px solid var(--color-line-gray);
}
@media (max-width: 991px) {
  .c-modal-cart-in__card-tags-list li {
    font-size: 1rem;
  }
}
.c-modal-cart-in__card-tags-list li[data-tags=new] {
  color: var(--color-lightest);
  background-color: var(--color-emphasis);
}
.c-modal-cart-in__card-tags-list li[data-tags=em] {
  color: var(--color-more-emphasis);
}
.c-modal-cart-in__card-info {
  display: flex;
  align-items: center;
  padding-block: 0.8rem;
  padding-inline: 1.6rem;
}
@media (max-width: 991px) {
  .c-modal-cart-in__card-info {
    padding-inline: 0.8rem;
  }
}
.c-modal-cart-in__card-title {
  margin-block-end: 1.2rem;
  font-size: 2.2rem;
  font-weight: bold;
}
@media (max-width: 991px) {
  .c-modal-cart-in__card-title {
    margin-block-end: 0.8rem;
    font-size: 1.8rem;
  }
}
.c-modal-cart-in__card-code {
  margin-block-end: 0.8rem;
  font-size: 1.4rem;
  color: var(--color-text-gray);
}
@media (max-width: 991px) {
  .c-modal-cart-in__card-code {
    margin-block-end: 0.2rem;
    font-size: 1.2rem;
  }
}
.c-modal-cart-in__card-code-label {
  position: relative;
  padding-inline-end: 0.8rem;
  margin-inline-end: 0.8rem;
}
.c-modal-cart-in__card-code-label::after {
  position: absolute;
  inset: 0 0 0 auto;
  display: block;
  block-size: 0.8rem;
  margin-block: auto;
  content: "";
  border-inline-end: 1px solid var(--color-line-gray);
}
.c-modal-cart-in__card-number {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem 1.6rem;
}
.c-modal-cart-in__card-price-label {
  margin-inline-end: 0.8rem;
  font-size: 1.6rem;
}
@media (max-width: 991px) {
  .c-modal-cart-in__card-price-label {
    font-size: 1.4rem;
  }
}
.c-modal-cart-in__card-price-main {
  font-family: var(--font-family-secondary);
  font-size: 1.4rem;
  color: var(--color-more-emphasis);
}
.c-modal-cart-in__card-price-main > span {
  font-size: 2.4rem;
  font-weight: 600;
}
@media (max-width: 991px) {
  .c-modal-cart-in__card-price-main > span {
    font-size: 2rem;
  }
}
.c-modal-cart-in__card-quantity-label {
  margin-inline-end: 0.8rem;
  font-size: 1.6rem;
}
@media (max-width: 991px) {
  .c-modal-cart-in__card-quantity-label {
    font-size: 1.4rem;
  }
}
.c-modal-cart-in__card-quantity-main {
  font-size: 2.4rem;
}
@media (max-width: 991px) {
  .c-modal-cart-in__card-quantity-main {
    font-size: 2rem;
  }
}
.c-modal-cart-in__button {
  display: flex;
  flex-wrap: wrap;
  gap: 1.6rem;
  justify-content: center;
  margin-block-end: 4rem;
}
@media (max-width: 991px) {
  .c-modal-cart-in__button {
    margin-block-end: 3.2rem;
  }
}
@media (max-width: 991px) {
  .c-modal-cart-in__button > div {
    inline-size: 27.5rem;
    max-inline-size: 100%;
  }
}
.c-modal-cart-in__button > div > .c-button-normal,
.c-modal-cart-in__button > div > .c-button-cv {
  block-size: 100%;
}
@media (max-width: 991px) {
  .c-modal-cart-in__button > div > .c-button-normal,
  .c-modal-cart-in__button > div > .c-button-cv {
    inline-size: 100%;
  }
}
.c-modal-cart-in__products-heading > .c-h2 {
  font-size: 2rem;
}

.c-modal-image-carousel {
  inline-size: auto;
  max-inline-size: none;
  block-size: auto;
  max-block-size: none;
  padding-block: 5.6rem;
  padding-inline: 6rem;
  overflow: auto;
  background-color: var(--modal-overlay-color);
  border: unset;
}
@media (max-width: 767px) {
  .c-modal-image-carousel {
    padding-inline: 0.8rem;
  }
}
.c-modal-image-carousel__body {
  position: relative;
  inline-size: 112rem;
  max-inline-size: 100%;
  margin-inline: auto;
}
.c-modal-image-carousel__splide {
  margin-block-end: 0.8rem;
  overflow: hidden;
  background-color: var(--color-lightest);
  border-radius: 0.4rem;
}
.c-modal-image-carousel__splide-slide {
  position: relative;
  aspect-ratio: 1120/700;
}
@media (max-width: 767px) {
  .c-modal-image-carousel__splide-slide {
    block-size: 56rem;
    aspect-ratio: none;
  }
}
.c-modal-image-carousel__splide-slide img {
  position: absolute;
  inset: 0;
  display: block;
  inline-size: 100%;
  block-size: 100%;
  margin: auto;
  object-fit: contain;
}
.c-modal-image-carousel__control .splide__arrow {
  position: absolute;
  inset-block: 0;
  inline-size: 4rem;
  block-size: 4rem;
  margin-block: auto;
  background: no-repeat center/contain;
}
@media (max-width: 767px) {
  .c-modal-image-carousel__control .splide__arrow {
    display: none;
  }
}
.c-modal-image-carousel__control .splide__arrow > svg {
  display: none;
}
.c-modal-image-carousel__control .splide__arrow--prev {
  inset-inline-start: 1rem;
  background-image: url("/images/parts/icon-slider-prev.svg");
}
.c-modal-image-carousel__control .splide__arrow--next {
  inset-inline-end: 1rem;
  background-image: url("/images/parts/icon-slider-next.svg");
}
.c-modal-image-carousel__description {
  padding: 0.4rem;
  margin-block-end: 1.6rem;
  font-size: 1.4rem;
  text-align: center;
  background-color: var(--color-lightest);
  border-radius: 0.4rem;
}
.c-modal-image-carousel__description > div {
  display: none;
}
.c-modal-image-carousel__description > div[data-active] {
  display: block;
}
.c-modal-image-carousel__thumbnail {
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  max-inline-size: 100%;
  padding: 0.8rem;
  margin-inline: auto;
  background-color: var(--color-bg-gray);
  border-radius: 0.4rem;
}
.c-modal-image-carousel__thumbnail-list {
  display: flex;
  max-inline-size: 100%;
  overflow: auto;
}
.c-modal-image-carousel__thumbnail-item {
  position: relative;
  flex-shrink: 0;
  inline-size: 5.8rem;
  block-size: 7rem;
}
.c-modal-image-carousel__thumbnail-item::before, .c-modal-image-carousel__thumbnail-item::after {
  position: absolute;
  inset: 0;
  display: none;
  inline-size: 100%;
  block-size: 100%;
  content: "";
}
.c-modal-image-carousel__thumbnail-item::before {
  background-color: var(--color-darkest);
  opacity: 0.4;
}
.c-modal-image-carousel__thumbnail-item::after {
  border: 2px solid var(--color-more-emphasis);
}
.c-modal-image-carousel__thumbnail-item[data-current]::before, .c-modal-image-carousel__thumbnail-item[data-current]::after {
  display: block;
}
.c-modal-image-carousel__thumbnail-item button {
  inline-size: 100%;
  block-size: 100%;
}
.c-modal-image-carousel__thumbnail-item img {
  display: block;
  inline-size: 100%;
  block-size: 100%;
  object-fit: contain;
}
.c-modal-image-carousel__thumbnail-note-inner {
  display: flex;
  column-gap: 0.2rem;
  align-items: center;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  padding-block: 0.2rem;
  padding-inline: 0.4rem;
  margin-block-start: 0.8rem;
  margin-inline: auto;
  font-size: 1.4rem;
  color: var(--color-lightest);
  background-color: var(--color-link);
  border-radius: 0.2rem;
}
.c-modal-image-carousel__thumbnail-note > img {
  display: block;
  inline-size: 1.6rem;
  block-size: auto;
}
.c-modal-image-carousel__button {
  margin-block-start: 1.6rem;
}
.c-modal-image-carousel__button > button {
  display: block;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  padding: 0.4rem;
  margin-inline: auto;
  font-size: 1.4rem;
  color: var(--color-link);
  background-color: var(--color-lightest);
  border: 1px solid var(--color-link);
  border-radius: 0.4rem;
}
.c-modal-image-carousel__close {
  position: absolute;
  inset-block-start: 0;
  inset-inline-end: -4.5rem;
  inline-size: 3.2rem;
}
@media (max-width: 767px) {
  .c-modal-image-carousel__close {
    inset-block-start: -4.7rem;
    inset-inline-end: 0;
  }
}
.c-modal-image-carousel__close-button {
  inline-size: 100%;
  block-size: 100%;
}
.c-modal-image-carousel__close-button img {
  display: block;
  inline-size: 100%;
  block-size: auto;
}

.c-modal-image-single {
  inline-size: 88.6rem;
  max-inline-size: 100%;
  max-block-size: 100%;
  overflow: auto;
}
.c-modal-image-single__img {
  aspect-ratio: 1120/700;
  overflow: hidden;
  background-color: var(--color-lightest);
  border-radius: 0.4rem;
}
.c-modal-image-single__img > img {
  display: block;
  inline-size: 100%;
  block-size: 100%;
  object-fit: contain;
}
.c-modal-image-single__img:has(+ .c-modal-image-single__img) {
  margin-block-end: 2rem;
}

.c-text-ranking {
  display: flex;
  flex-wrap: wrap;
  gap: 0.2rem;
  align-items: center;
  margin-block: 0.8rem;
  font-size: 1.6rem;
  font-weight: 500;
}
@media (max-width: 767px) {
  .c-text-ranking {
    font-size: 1.4rem;
  }
}
.c-text-ranking__icon {
  display: block;
  max-inline-size: 100%;
  block-size: auto;
}
@media (max-width: 767px) {
  .c-text-ranking__icon {
    inline-size: 2rem;
  }
}
.c-text-ranking__number {
  margin-inline-start: 0.4rem;
  font-size: 2.2rem;
  font-weight: 600;
}
@media (max-width: 767px) {
  .c-text-ranking__number {
    font-size: 1.4rem;
  }
}
.c-text-ranking__unit {
  margin-inline-start: 0.2rem;
  font-size: 1.4rem;
}

.c-step {
  max-inline-size: 100.8rem;
  margin-inline: auto;
}
@media (max-width: 767px) {
  .c-step {
    max-inline-size: 45.8rem;
  }
}
.c-step__body {
  display: flex;
  justify-content: space-between;
}
.c-step__num {
  margin-block-end: 0.2rem;
  font-family: var(--font-family-secondary);
  font-size: 1.8rem;
  font-weight: 600;
  color: var(--color-more-emphasis);
}
@media (max-width: 767px) {
  .c-step__num {
    font-size: 1.2rem;
  }
}
.c-step__text {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-block-start: 0.8rem;
  font-weight: bold;
  color: var(--color-darkest);
}
@media (min-width: 768px) {
  .c-step__text br {
    display: none;
  }
}
@media (max-width: 767px) {
  .c-step__text {
    font-size: 0.9rem;
  }
}
.c-step__icon {
  position: relative;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  inline-size: 6rem;
  block-size: 6rem;
  margin-inline: auto;
  background: var(--color-more-emphasis);
  border-radius: 50%;
}
@media (max-width: 767px) {
  .c-step__icon {
    inline-size: 4rem;
    block-size: 4rem;
  }
  .c-step__icon img {
    inline-size: 2.4rem;
    block-size: auto;
  }
}
.c-step__element {
  position: relative;
  flex: 1 1 0%;
  justify-content: center;
  text-align: center;
}
.c-step__element::before {
  position: absolute;
  inset-block-start: 5.4rem;
  inset-inline-start: -50%;
  z-index: 2;
  display: block;
  inline-size: 100%;
  block-size: 0.6rem;
  content: "";
  background-color: var(--color-more-emphasis);
}
@media (max-width: 767px) {
  .c-step__element::before {
    inset-block-start: 3.65rem;
    block-size: 0.4rem;
  }
}
.c-step__element:first-child::before {
  display: none;
}
.c-step__element[aria-current=step] ~ li .c-step__num {
  color: var(--color-text-gray);
}
.c-step__element[aria-current=step] ~ li .c-step__icon {
  background: var(--color-line-gray);
}
.c-step__element[aria-current=step] ~ li .c-step__text {
  font-weight: 500;
  color: var(--color-text-gray);
}
.c-step__element[aria-current=step] ~ li::before {
  z-index: 1;
  inline-size: 100%;
  background-color: var(--color-line-gray);
}
.c-step__element[aria-current=step]:first-child::before,
.c-step__element[aria-current=step]:first-child ~ li::before {
  z-index: 1;
  background-color: var(--color-line-gray);
}

.c-alert {
  display: flex;
  gap: 1rem;
  align-items: center;
  padding-block: 1.6rem;
  padding-inline: 1.6em 3.2rem;
  color: var(--color-more-emphasis);
  background: var(--color-bg-red);
  border: 1px solid var(--color-more-emphasis);
  border-radius: 0.4rem;
}
@media (max-width: 767px) {
  .c-alert {
    flex-direction: column;
    padding-block: 1.2rem 1.6rem;
    padding-inline: 1.6rem;
    font-size: 1.4rem;
  }
}
.c-alert p {
  margin-block-end: 0.4rem;
}
.c-alert p:last-child {
  margin-block-end: 0;
}

.c-member-benefits__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2.4rem;
}
@media (max-width: 767px) {
  .c-member-benefits__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.8rem;
  }
}
.c-member-benefits__list-element {
  padding: 2.4rem;
  background: var(--color-bg-gray-02);
}
@media (max-width: 767px) {
  .c-member-benefits__list-element {
    padding: 1.6rem;
    font-size: 1.4rem;
  }
}
.c-member-benefits__list-element p {
  font-weight: 500;
}
.c-member-benefits__list-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  block-size: 4rem;
  margin-block-end: 0.8rem;
}
@media (max-width: 767px) {
  .c-member-benefits__list-icon {
    margin-block-end: 0.4rem;
  }
}
.c-member-benefits__list-heading {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-block-end: 1.6rem;
  font-size: 2.2rem;
  font-weight: bold;
}
@media (max-width: 767px) {
  .c-member-benefits__list-heading {
    margin-block-end: 0.8rem;
    font-size: 2rem;
  }
}
.c-member-benefits__list-button {
  display: flex;
  justify-content: center;
  margin-block-start: 1.6rem;
}
.c-member-benefits__list-button a {
  min-inline-size: 14.1rem;
}

.c-form-certification {
  padding: 4rem;
  background: var(--color-bg-gray-02);
  border-radius: 0.4rem;
}
@media (max-width: 767px) {
  .c-form-certification {
    padding-block: 2.4rem;
    padding-inline: 1.6rem 1.6rem;
    font-size: 1.4rem;
  }
}
.c-form-certification__lead {
  margin-block-end: 1.6rem;
  font-weight: 500;
  text-align: center;
}
@media (max-width: 767px) {
  .c-form-certification__lead {
    text-align: start;
  }
}
.c-form-certification__form, .c-form-certification__code {
  max-inline-size: 44rem;
  margin-inline: auto;
}
.c-form-certification__form-block + .c-form-certification__form-block {
  margin-block-start: 3.2rem;
}
.c-form-certification__head {
  padding-block-end: 0.8rem;
  margin-block-end: 1.6rem;
  font-weight: 500;
  border-block-end: 1px solid var(--color-line-gray);
}
.c-form-certification__input-error {
  display: flex;
  gap: 0 0.2rem;
  margin-block-end: 0.8rem;
  font-size: 1.6rem;
  color: var(--color-more-emphasis);
}
@media (max-width: 767px) {
  .c-form-certification__input-error {
    font-size: 1.4rem;
  }
}
.c-form-certification__input-error:last-child {
  margin-block-end: 0;
}
.c-form-certification__input-error span {
  display: block;
  min-inline-size: 1em;
}
.c-form-certification__input-example {
  font-size: 1.4rem;
}
@media (max-width: 767px) {
  .c-form-certification__input-example {
    font-size: 1.2rem;
  }
}
.c-form-certification__code-block {
  display: flex;
  gap: 0.8rem;
  justify-content: center;
}
@media (max-width: 767px) {
  .c-form-certification__code-block {
    display: block;
  }
}
.c-form-certification__code-head {
  padding-block-start: 0.8rem;
  font-size: 1.8rem;
  font-weight: 500;
}
@media (max-width: 767px) {
  .c-form-certification__code-head {
    padding-block-start: 0;
    margin-block-end: 0.8rem;
    font-size: 1.6rem;
  }
}
.c-form-certification__code-input {
  inline-size: 20rem;
}
@media (max-width: 767px) {
  .c-form-certification__code-input {
    inline-size: 100%;
  }
}
.c-form-certification__input-element, .c-form-certification__code-input-element {
  display: block;
  inline-size: 100%;
  padding-block: 0.8rem;
  padding-inline: 1.6rem;
  margin-block-end: 0.8rem;
  background: var(--color-lightest);
  border: 1px solid var(--color-line-gray);
  border-radius: 0.2rem;
}
.c-form-certification__submit {
  display: flex;
  justify-content: center;
  margin-block-start: 1.6rem;
}
.c-form-certification__submit-send, .c-form-certification__submit-normal {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  min-inline-size: 30rem;
  max-inline-size: 55.2rem;
  padding-block: 1.6rem;
  padding-inline: 2.4rem 4.2rem;
  font-weight: 500;
  color: var(--color-link);
  text-align: center;
  white-space: normal;
  background-color: var(--color-lightest);
  background-image: url("/images/parts/icon-ar-link.svg");
  background-repeat: no-repeat;
  background-position: right 2.2rem center;
  background-size: 1rem auto;
  border: 1.5px solid currentcolor;
  border-radius: 0.4rem;
  transition: 300ms;
}
@media (max-width: 767px) {
  .c-form-certification__submit-send, .c-form-certification__submit-normal {
    inline-size: 100%;
    min-inline-size: 27.5rem;
    font-size: 1.4rem;
  }
}
@media (hover: hover) {
  .c-form-certification__submit-send:hover, .c-form-certification__submit-normal:hover {
    color: var(--color-lightest);
    background-color: var(--color-link);
    background-image: url("/images/parts/icon-ar-link-white.svg");
  }
}
.c-form-certification__submit-send::after, .c-form-certification__submit-normal::after {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-end: 2.2rem;
  display: block;
  inline-size: 1rem;
  block-size: 1.7rem;
  content: "";
  background: url("/images/parts/icon-ar-link.svg") no-repeat center center;
  background-size: 100% auto;
  transform: translate(0, -50%);
}
.c-form-certification__submit-send {
  padding-inline-start: 4.5rem;
  background-image: url("/images/parts/icon-send.svg"), url("/images/parts/icon-ar-link.svg");
  background-position: 1.6rem center, right 2.2rem center;
  background-size: 2.4rem auto, 1rem auto;
}
@media (hover: hover) {
  .c-form-certification__submit-send:hover {
    color: var(--color-lightest);
    background-color: var(--color-link);
    background-image: url("/images/parts/icon-send-white.svg"), url("/images/parts/icon-ar-link-white.svg");
  }
  .c-form-certification__submit-send:hover::after {
    background-image: url("/images/parts/icon-ar-link-white.svg");
  }
}
.c-form-certification__submit-normal {
  min-inline-size: 27.5rem;
  text-align: center;
}
.c-form-certification__remember {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  margin-block-start: 2.4rem;
  margin-inline: auto;
}
.c-form-certification__remember input {
  display: block;
  padding: 0;
  padding-inline-start: 2.6rem;
  margin: 0;
  line-height: 1;
  vertical-align: middle;
  appearance: none;
  cursor: pointer;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
}
.c-form-certification__remember input::before, .c-form-certification__remember input::after {
  position: absolute;
  display: block;
  content: "";
}
.c-form-certification__remember input::before {
  inset-block-start: 0.1rem;
  inset-inline-start: 0.2rem;
  inline-size: 2rem;
  block-size: 2rem;
  border: 1.5px solid var(--color-link);
  border-radius: 0.2rem;
}
.c-form-certification__remember input::after {
  inset-block-start: 0.65rem;
  inset-inline-start: 0.7rem;
  inline-size: 1.1rem;
  block-size: 0.6rem;
  border-block-end: 2px solid #fff;
  border-inline-start: 2px solid #fff;
  opacity: 0;
  transform: rotate(-45deg);
}
.c-form-certification__remember input:checked::before {
  background-color: var(--color-link);
}
.c-form-certification__remember input:checked::after {
  opacity: 1;
}
.c-form-certification__remember label {
  font-size: 1.6rem;
  font-weight: 500;
  cursor: pointer;
}
@media (max-width: 767px) {
  .c-form-certification__remember label {
    margin-block-start: 0.1rem;
    font-size: 1.4rem;
  }
}
.c-form-certification__forgot {
  display: flex;
  justify-content: center;
  margin-block-start: 1.5rem;
}
.c-form-certification__forgot a {
  font-weight: 500;
  color: var(--color-link);
  text-decoration: underline;
}
@media (hover: hover) {
  .c-form-certification__forgot a:hover {
    text-decoration: none;
  }
}

.c-form-order__textarea textarea, .c-form-order__input input:not([type]),
.c-form-order__input input[type=text],
.c-form-order__input input[type=tel],
.c-form-order__input input[type=email] {
  display: inline-block;
  inline-size: 100%;
  padding-block: 0.8rem;
  padding-inline: 1.6rem;
  background: var(--color-lightest);
  border: 1px solid var(--color-line-gray);
  border-radius: 0.2rem;
}
@media (max-width: 767px) {
  .c-form-order__textarea textarea, .c-form-order__input input:not([type]),
  .c-form-order__input input[type=text],
  .c-form-order__input input[type=tel],
  .c-form-order__input input[type=email] {
    inline-size: 100%;
    padding-block: 1.3rem;
    font-size: 1.6rem;
  }
  .c-form-order__textarea textarea[size], .c-form-order__input input[size]:not([type]),
  .c-form-order__input input[size][type=text],
  .c-form-order__input input[size][type=tel],
  .c-form-order__input input[size][type=email] {
    inline-size: 100%;
  }
  .c-form-order__textarea textarea[maxlength="3"], .c-form-order__input input[maxlength="3"]:not([type]),
  .c-form-order__input input[maxlength="3"][type=text],
  .c-form-order__input input[maxlength="3"][type=tel],
  .c-form-order__input input[maxlength="3"][type=email], .c-form-order__textarea textarea[maxlength="4"], .c-form-order__input input[maxlength="4"]:not([type]),
  .c-form-order__input input[maxlength="4"][type=text],
  .c-form-order__input input[maxlength="4"][type=tel],
  .c-form-order__input input[maxlength="4"][type=email], .c-form-order__textarea textarea[maxlength="5"], .c-form-order__input input[maxlength="5"]:not([type]),
  .c-form-order__input input[maxlength="5"][type=text],
  .c-form-order__input input[maxlength="5"][type=tel],
  .c-form-order__input input[maxlength="5"][type=email] {
    inline-size: auto;
  }
}
.c-form-order__textarea textarea[data-size=full], .c-form-order__input input[data-size=full]:not([type]),
.c-form-order__input input[data-size=full][type=text],
.c-form-order__input input[data-size=full][type=tel],
.c-form-order__input input[data-size=full][type=email] {
  inline-size: 100%;
}
.c-form-order__textarea textarea:disabled, .c-form-order__input input:disabled:not([type]),
.c-form-order__input input[type=text]:disabled,
.c-form-order__input input[type=tel]:disabled,
.c-form-order__input input[type=email]:disabled {
  background: var(--color-bg-disabled);
}

.c-form-order__radio-element input[type=radio], .c-form-order__radio-item input[type=radio] {
  position: relative;
  display: block;
  padding-inline-start: 2rem;
  line-height: 1;
  appearance: none;
}
.c-form-order__radio-element input[type=radio]::before, .c-form-order__radio-item input[type=radio]::before {
  position: absolute;
  inset-block-start: 0.1rem;
  inset-inline-start: 0;
  display: block;
  inline-size: 2rem;
  block-size: 2rem;
  content: "";
  background-color: var(--color-lightest);
  border: solid 1.5px var(--color-link);
  border-radius: 50%;
}
@media (max-width: 767px) {
  .c-form-order__radio-element input[type=radio]::before, .c-form-order__radio-item input[type=radio]::before {
    inset-block-start: 0;
  }
}
.c-form-order__radio-element input[type=radio]:checked::after, .c-form-order__radio-item input[type=radio]:checked::after {
  position: absolute;
  inset-block-start: 0.6rem;
  inset-inline-start: 0.5rem;
  display: block;
  inline-size: 1rem;
  block-size: 1rem;
  content: "";
  background-color: var(--color-link);
  border-radius: 50%;
}
@media (max-width: 767px) {
  .c-form-order__radio-element input[type=radio]:checked::after, .c-form-order__radio-item input[type=radio]:checked::after {
    inset-block-start: 0.5rem;
  }
}
.c-form-order__radio-element input[type=radio] + label, .c-form-order__radio-item input[type=radio] + label {
  display: inline-block;
  padding-inline-start: 0.4rem;
  font-weight: 500;
  cursor: pointer;
}
.c-form-order__radio-element input[type=radio] + label a, .c-form-order__radio-item input[type=radio] + label a {
  color: var(--color-link);
  text-decoration: underline;
}
@media (hover: hover) {
  .c-form-order__radio-element input[type=radio] + label a:hover, .c-form-order__radio-item input[type=radio] + label a:hover {
    text-decoration: none;
  }
}
.c-form-order__radio-element input[type=radio]:disabled::before, .c-form-order__radio-item input[type=radio]:disabled::before {
  border-color: var(--color-line-gray);
}
.c-form-order__radio-element input[type=radio]:disabled:not(:checked)::before, .c-form-order__radio-item input[type=radio]:disabled:not(:checked)::before {
  background-color: var(--color-bg-disabled);
}
.c-form-order__radio-element input[type=radio]:disabled::after, .c-form-order__radio-item input[type=radio]:disabled::after {
  background-color: var(--color-line-gray);
}

.c-form-order__block-checkbox, .c-form-order__checkbox {
  position: relative;
  display: flex;
  align-items: center;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
}
.c-form-order__block-checkbox input, .c-form-order__checkbox input {
  display: block;
  padding: 0;
  padding-inline-start: 2.6rem;
  margin: 0;
  line-height: 1;
  vertical-align: middle;
  appearance: none;
  cursor: pointer;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
}
.c-form-order__block-checkbox input::before, .c-form-order__checkbox input::before, .c-form-order__block-checkbox input::after, .c-form-order__checkbox input::after {
  position: absolute;
  display: block;
  content: "";
}
.c-form-order__block-checkbox input::before, .c-form-order__checkbox input::before {
  inset-block-start: 0.1rem;
  inset-inline-start: 0.2rem;
  inline-size: 2rem;
  block-size: 2rem;
  background-color: var(--color-lightest);
  border: 1.5px solid var(--color-link);
  border-radius: 0.2rem;
}
.c-form-order__block-checkbox input::after, .c-form-order__checkbox input::after {
  inset-block-start: 0.65rem;
  inset-inline-start: 0.7rem;
  inline-size: 1.1rem;
  block-size: 0.6rem;
  border-block-end: 2px solid #fff;
  border-inline-start: 2px solid #fff;
  opacity: 0;
  transform: rotate(-45deg);
}
.c-form-order__block-checkbox input:checked::before, .c-form-order__checkbox input:checked::before {
  background-color: var(--color-link);
}
.c-form-order__block-checkbox input:checked::after, .c-form-order__checkbox input:checked::after {
  opacity: 1;
}
.c-form-order__block-checkbox input:disabled::before, .c-form-order__checkbox input:disabled::before {
  border-color: var(--color-line-gray);
}
.c-form-order__block-checkbox input:disabled:not(:checked)::before, .c-form-order__checkbox input:disabled:not(:checked)::before {
  background-color: var(--color-bg-disabled);
}
.c-form-order__block-checkbox input:disabled:checked::before, .c-form-order__checkbox input:disabled:checked::before {
  background: var(--color-line-gray);
}
.c-form-order__block-checkbox input:disabled:checked::after, .c-form-order__checkbox input:disabled:checked::after {
  border-color: var(--color-lightest);
  opacity: 1;
}
.c-form-order__block-checkbox label, .c-form-order__checkbox label {
  font-size: 1.6rem;
  font-weight: 500;
  cursor: pointer;
}
@media (max-width: 767px) {
  .c-form-order__block-checkbox label, .c-form-order__checkbox label {
    margin-block-start: 0.1rem;
    font-size: 1.4rem;
  }
}

.c-form-order__input select {
  padding-block: 0.8rem;
  padding-inline: 1.6rem 3.4rem;
  cursor: pointer;
  background: url("/images/parts/icon-ar-down.svg") no-repeat top calc(50% + 0.1rem) right 1rem/1rem;
  background-color: var(--color-lightest);
  border: 1px solid var(--color-line-gray);
  border-radius: 0.4rem;
}
@media (max-width: 767px) {
  .c-form-order__input select {
    padding-block: 1.3rem;
    font-size: 1.6rem;
  }
}
.c-form-order__input select:disabled {
  color: var(--color-text-gray);
  background-color: var(--color-bg-disabled);
  background-image: url("/images/parts/icon-ar-down-disabled.svg");
}

.c-form-order__heading {
  margin-block-end: 2.4rem;
}
.c-form-order__heading-sub {
  padding-inline: 0.8rem;
}
.c-form-order__contents {
  margin-block-end: 4rem;
}
@media (max-width: 767px) {
  .c-form-order__contents {
    font-size: 1.4rem;
  }
}
.c-form-order__information {
  display: grid;
  flex: 1 0 0;
  gap: 0.8rem;
  padding-inline-start: 0.8rem;
}
@media (max-width: 767px) {
  .c-form-order__information {
    padding-inline: 0.4rem;
  }
}
.c-form-order__information-element {
  display: flex;
  flex-wrap: wrap;
  font-size: 1.8rem;
  font-weight: 500;
}
@media (max-width: 767px) {
  .c-form-order__information-element {
    font-size: 1.6rem;
  }
}
.c-form-order__detail {
  padding: 1.6rem;
  margin-block-start: 1.6rem;
  background: var(--color-bg-gray);
  border-radius: 0.4rem;
}
.c-form-order__detail-heading {
  padding-block-start: 0.8rem;
}
@media (max-width: 767px) {
  .c-form-order__detail-heading {
    padding-block-start: 0;
    margin-block-end: 0.8rem;
  }
}
.c-form-order__detail-heading label {
  margin-inline-end: 0.8rem;
  font-weight: 500;
}
.c-form-order__detail-links {
  margin-block-end: 0.8rem;
}
.c-form-order__detail-links a {
  font-weight: 500;
  color: var(--color-link);
  text-decoration: underline;
  word-break: break-all;
}
@media (hover: hover) {
  .c-form-order__detail-links a:hover {
    text-decoration: none;
  }
}
.c-form-order__detail-links a[target=_blank]::after {
  display: inline-block;
  inline-size: 1.8rem;
  block-size: 1.8rem;
  margin-inline-start: 0.5rem;
  vertical-align: middle;
  content: "";
  background: url("/images/parts/icon-external-blue.svg") no-repeat;
  background-size: 100% auto;
}
@media (max-width: 767px) {
  .c-form-order__detail-links a[target=_blank]::after {
    margin-block-start: -0.2rem;
  }
}
.c-form-order__detail-head {
  margin-block-end: 0.8rem;
  font-weight: 500;
}
.c-form-order__detail-item p {
  font-size: 1.4rem;
}
@media (max-width: 767px) {
  .c-form-order__detail-item p {
    font-size: 1.2rem;
  }
}
.c-form-order__detail-text {
  margin-block-end: 1.6rem;
}
@media (max-width: 767px) {
  .c-form-order__detail-text {
    margin-block-end: 0.8rem;
  }
}
.c-form-order__detail-text:last-child {
  margin-block-end: 0;
}
.c-form-order__detail-contents {
  display: grid;
  grid-template-columns: 22rem 1fr;
  margin-block-end: 1.6rem;
}
@media (max-width: 767px) {
  .c-form-order__detail-contents {
    display: block;
  }
}
.c-form-order__detail-registered-card > div {
  display: grid;
  grid-template-columns: 20rem 1fr;
  gap: 0.8rem;
  margin-block-end: 0.8rem;
}
@media (max-width: 767px) {
  .c-form-order__detail-registered-card > div {
    grid-template-columns: 7.8rem 1fr;
  }
}
.c-form-order__detail-registered-card > div:last-child {
  margin-block-end: 0;
}
.c-form-order__detail-registered-card dt,
.c-form-order__detail-registered-card dd {
  font-weight: 500;
}
.c-form-order__detail-card-notion {
  display: flex;
  gap: 0.8rem;
  align-items: center;
  padding: 0.8rem;
  margin-block-start: 0.8rem;
  background: var(--color-lightest);
  border-radius: 0.4rem;
}
@media (max-width: 767px) {
  .c-form-order__detail-card-notion img {
    inline-size: 8.9rem;
    block-size: auto;
  }
}
.c-form-order__detail-card-notion span {
  flex: 1 0 0;
  font-size: 1.2rem;
}
@media (max-width: 767px) {
  .c-form-order__detail-card-notion span {
    font-size: 1rem;
  }
}
.c-form-order__detail-campaign {
  display: flex;
  flex-wrap: wrap;
  gap: 1.6rem 3.2rem;
  align-items: center;
}
@media (max-width: 767px) {
  .c-form-order__detail-campaign {
    display: block;
  }
}
@media (max-width: 767px) {
  .c-form-order__detail-campaign-banner img {
    inline-size: 100%;
    max-inline-size: 27rem;
    block-size: auto;
  }
}
.c-form-order__card-register {
  padding-block: 1.6rem 0.8rem;
  border-block-start: 1px solid var(--color-line-gray);
}
@media (max-width: 767px) {
  .c-form-order__card-register {
    padding-block-start: 0.8rem;
  }
}
.c-form-order__col {
  display: flex;
  gap: 0.8rem;
  align-items: center;
  margin-block-end: 0.8rem;
}
@media (max-width: 767px) {
  .c-form-order__col {
    display: block;
  }
}
.c-form-order__attachment {
  font-weight: 500;
}
@media (max-width: 767px) {
  .c-form-order__attachment {
    margin-block: 0.8rem 0.8rem;
  }
}
.c-form-order__wrapper {
  padding-inline: 2.4rem 1.8rem;
}
@media (max-width: 767px) {
  .c-form-order__wrapper {
    padding-inline-end: 1.2rem;
  }
}
.c-form-order__checkbox {
  margin-block: 0.8rem -0.8rem;
}
.c-form-order__checkbox:last-child {
  margin-block-end: 0;
}
.c-form-order__lower {
  padding-block-start: 1.6rem;
  border-block-start: 1px solid var(--color-line-gray);
}
.c-form-order__radio-item {
  padding-block-end: 1.6rem;
  padding-inline: 0.8rem;
  margin-block-end: 1.6rem;
  border-block-end: 0.05rem dashed var(--color-line-gray);
}
.c-form-order__radio-item:last-child {
  margin-block-end: 0;
}
.c-form-order__radio-input {
  display: inline-flex;
  justify-content: flex-start;
}
.c-form-order__radio-block {
  padding-block-start: 1rem;
}
.c-form-order__radio-element {
  margin-block-end: 1.6rem;
}
.c-form-order__radio-element:last-child {
  margin-block-end: 0;
}
.c-form-order__radio-element-text {
  padding-inline-start: 2.4rem;
  margin-block-start: 0.8rem;
  font-size: 1.4rem;
}
@media (max-width: 767px) {
  .c-form-order__radio-element-text {
    font-size: 1.2rem;
  }
}
.c-form-order__radio-caption {
  align-items: center;
  margin-inline-start: 1.6rem;
  font-size: 1.4rem;
  line-height: 1.6;
  color: var(--color-text-gray);
}
@media (max-width: 767px) {
  .c-form-order__radio-caption {
    font-size: 1.2rem;
  }
}
.c-form-order__radio-caption[data-color=red] {
  color: var(--color-more-emphasis);
}
.c-form-order__radio-caption > span {
  display: inline-block;
  margin-inline-start: 0.4rem;
  font-family: var(--font-family-secondary);
  font-size: 1.4rem;
}
@media (max-width: 767px) {
  .c-form-order__radio-caption > span {
    font-size: 1.2rem;
  }
}
.c-form-order__radio-caption > span span {
  margin-inline-end: 0.2rem;
  font-family: var(--font-family-secondary);
  font-size: 1.2rem;
}
@media (max-width: 767px) {
  .c-form-order__radio-caption > span span {
    font-size: 1rem;
  }
}
.c-form-order__radio-shipping {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem 1.6rem;
  margin-block-start: 1.6rem;
}
.c-form-order__radio-shipping-date, .c-form-order__radio-shipping-time {
  display: flex;
  gap: 0.8rem;
  align-items: center;
}
@media (max-width: 767px) {
  .c-form-order__radio-shipping-date label, .c-form-order__radio-shipping-time label {
    min-inline-size: 4em;
  }
}
.c-form-order__radio-notes {
  display: grid;
  gap: 0.8rem;
  margin-block-start: 0.8rem;
  font-size: 1.4rem;
  color: var(--color-text-gray);
}
@media (max-width: 767px) {
  .c-form-order__radio-notes {
    font-size: 1.2rem;
  }
}
.c-form-order__radio-notes li {
  display: grid;
  grid-template-columns: 1em 1fr;
}
.c-form-order__block {
  display: block;
  padding-inline: 0.8rem;
}
.c-form-order__block-text {
  margin-block-end: 1.6rem;
  font-size: 1.4rem;
}
@media (max-width: 767px) {
  .c-form-order__block-text {
    font-size: 1.2rem;
  }
}
.c-form-order__block-col {
  display: flex;
  gap: 0.8rem;
  align-items: center;
}
@media (max-width: 767px) {
  .c-form-order__block-col {
    align-items: flex-start;
  }
}
.c-form-order__magazine {
  display: flex;
  gap: 1.6rem;
  align-items: center;
  margin-block-end: 1.6rem;
}
.c-form-order__magazine-head {
  font-size: 1.8rem;
  font-weight: 500;
}
@media (max-width: 767px) {
  .c-form-order__magazine-head {
    font-size: 1.6rem;
  }
}
.c-form-order__input {
  display: flex;
  flex: 1 0 0;
  flex-wrap: wrap;
  gap: 0.4rem;
  align-items: center;
}
.c-form-order__input input[type=tel],
.c-form-order__input input[size] {
  inline-size: auto;
}
.c-form-order__input-hyphen {
  display: inline-block;
  margin-inline: 0.6rem 0.4rem;
  font-size: 1.8rem;
}
.c-form-order__input-after {
  display: flex;
  gap: 0.2rem;
  font-size: 1.4rem;
  color: var(--color-text-gray);
}
.c-form-order__input-text {
  display: grid;
  grid-template-columns: 1em 1fr;
  gap: 0.2rem;
  padding-block-start: 0.8rem;
  margin-inline-start: 0.4rem;
  font-size: 1.4rem;
  color: var(--color-text-gray);
}
@media (max-width: 767px) {
  .c-form-order__input-text {
    padding-block-start: 0;
    margin-inline-start: 0;
    font-size: 1.2rem;
  }
}
.c-form-order__input-card-name {
  display: flex;
  gap: 0.4rem;
  inline-size: 100%;
}
.c-form-order__input-card-name input {
  max-inline-size: 20rem;
}
.c-form-order__textarea textarea {
  block-size: 10rem;
}
@media (max-width: 767px) {
  .c-form-order__textarea textarea {
    block-size: 8rem;
  }
}
.c-form-order__required {
  display: inline-block;
  min-inline-size: 3.6rem;
  padding-block: 0.15rem;
  padding-inline: 0.4rem;
  font-size: 1.4rem;
  color: var(--color-lightest);
  background-color: var(--color-more-emphasis);
}
@media (max-width: 767px) {
  .c-form-order__required {
    min-inline-size: 3.2rem;
    margin-block-start: 0.2rem;
    font-size: 1.2rem;
  }
}
.c-form-order__error {
  display: grid;
  grid-template-columns: 1em 1fr;
  gap: 0.2rem;
  margin-block-start: 0.4rem;
  font-size: 1.4rem;
  font-weight: 500;
  color: var(--color-more-emphasis);
}
@media (max-width: 767px) {
  .c-form-order__error {
    font-size: 1.2rem;
  }
}
.c-form-order__agreement-text {
  margin-block-end: 0.8rem;
  font-weight: 500;
}
.c-form-order__agreement-block {
  padding: 1.6rem;
  background: var(--color-bg-red);
}
.c-form-order__agreement-block a {
  font-weight: 500;
  color: var(--color-link);
  text-decoration: underline;
}
@media (hover: hover) {
  .c-form-order__agreement-block a:hover {
    text-decoration: none;
  }
}
.c-form-order__agreement-block p {
  margin-block-end: 0.8rem;
}
.c-form-order__notice {
  block-size: 18rem;
  padding-block-start: 1.6rem;
  padding-inline: 2.4rem;
  margin-block-end: 0.8rem;
  background: var(--color-bg-gray);
}
@media (max-width: 767px) {
  .c-form-order__notice {
    padding-inline: 1.6rem;
  }
}
.c-form-order__notice-head {
  margin-block-end: 0.8rem;
  font-weight: 500;
}
@media (max-width: 767px) {
  .c-form-order__notice-head {
    font-size: 1.4rem;
  }
}
.c-form-order__notice-content {
  block-size: 14.8rem;
  padding-inline-end: 1.4rem;
  overflow: hidden auto;
}
.c-form-order__notice-content .simplebar-scrollbar::before {
  background-color: var(--color-text-gray);
}
.c-form-order__notice-content .simplebar-track.simplebar-vertical {
  inline-size: 1.2rem;
}
.c-form-order__notice-content .simplebar-track {
  inline-size: 0.6rem;
  background: var(--color-lightest);
}
.c-form-order__notice-content .simplebar-scrollbar {
  inset-block-start: 0;
  inset-inline-end: 2px;
  background: var(--color-text-gray);
  border-radius: 0.6rem;
}
.c-form-order__notice-body {
  padding-block-end: 1.6rem;
  font-size: 1.4rem;
}
@media (max-width: 767px) {
  .c-form-order__notice-body {
    padding-block-end: 0;
    font-size: 1.2rem;
  }
}
.c-form-order__submit {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
}
@media (max-width: 767px) {
  .c-form-order__submit {
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
    align-items: flex-start;
    inline-size: 100%;
    margin: 0 auto;
  }
}
.c-form-order__submit-back {
  justify-self: start;
}
@media (max-width: 767px) {
  .c-form-order__submit-back {
    order: 1;
  }
}
.c-form-order__submit-back-element {
  display: flex;
  gap: 0.3rem;
  align-items: center;
  font-weight: 500;
}
@media (max-width: 767px) {
  .c-form-order__submit-back-element {
    font-size: 1.4rem;
  }
}
@media (hover: hover) {
  .c-form-order__submit-back-element:hover {
    text-decoration: underline;
  }
}
.c-form-order__submit-back-element::before {
  inset-inline-end: 2.2rem;
  display: block;
  inline-size: 1.5rem;
  block-size: 1.5rem;
  content: "";
  background: url("/images/parts/icon-ar-circle-back.svg") no-repeat center center;
  background-size: 100% auto;
}
.c-form-order__submit-button {
  display: flex;
  grid-column: 2;
  justify-self: center;
}
@media (max-width: 991px) {
  .c-form-order__submit-button {
    order: 0;
    inline-size: 100%;
  }
}
.c-form-order__submit-button > * {
  min-inline-size: 27.4rem;
}
@media (max-width: 767px) {
  .c-form-order__submit-button > * {
    inline-size: 100%;
  }
}
.c-form-order__disclosure-panel {
  display: none;
}
.c-form-order__disclosure-input:has(input:checked) + .c-form-order__disclosure-panel {
  display: block;
}

.c-caution-authenticate {
  margin-block-end: 2.4rem;
}
.c-caution-authenticate__lead {
  margin-block-end: 1.6rem;
  font-size: 1.8rem;
  font-weight: 500;
  text-align: center;
}
@media (max-width: 767px) {
  .c-caution-authenticate__lead {
    font-size: 1.6rem;
  }
}
.c-caution-authenticate__mail {
  display: flex;
  gap: 0 0.55rem;
  place-content: center center;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  padding-block: 1.6rem;
  padding-inline: 2.4rem;
  margin-block-end: 1.6rem;
  margin-inline: auto;
  font-size: 2.4rem;
  font-weight: 500;
  background: var(--color-bg-red);
}
@media (max-width: 767px) {
  .c-caution-authenticate__mail {
    font-size: 2.2rem;
  }
}
.c-caution-authenticate__mail::before {
  display: block;
  inline-size: 4.6rem;
  block-size: 3.2rem;
  content: "";
  background: url("/images/parts/icon-mail-black.svg") no-repeat center center/100% auto;
}
.c-caution-authenticate__note {
  margin-block-end: 1.6rem;
  font-size: 1.8rem;
  font-weight: 500;
  text-align: center;
}
@media (max-width: 767px) {
  .c-caution-authenticate__note {
    font-size: 1.6rem;
  }
}
.c-caution-authenticate__note em {
  font-style: normal;
  font-weight: bold;
}
.c-caution-authenticate__caption {
  display: flex;
  gap: 0.2rem;
  font-weight: 500;
  color: var(--color-text-gray);
}
@media (max-width: 767px) {
  .c-caution-authenticate__caption {
    font-size: 1.4rem;
  }
}
.c-caution-authenticate__caption span {
  display: block;
  min-inline-size: 1em;
}

.c-register__col {
  display: grid;
  gap: 2.4rem;
}
@media (min-width: 768px) {
  .c-register__col {
    grid-template-columns: repeat(3, 1fr);
  }
}
.c-register__heading {
  padding-block-end: 0.8rem;
  margin-block-end: 1.6rem;
  font-size: 2.4rem;
  font-weight: bold;
  border-block-end: 1px solid var(--color-line-gray);
}
.c-register__content {
  background: var(--color-bg-gray-02);
  border-radius: 0.4rem;
}
.c-register__button {
  display: flex;
  justify-content: center;
  padding-block: 2.4rem;
  padding-inline: 2rem 2rem;
}
.c-register__button-element {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  inline-size: 100%;
  min-inline-size: 20.8rem;
  max-inline-size: 33rem;
  padding-block: 2.4rem;
  padding-inline: 5.5rem 4.5rem;
  font-weight: 500;
  color: var(--color-link);
  text-align: center;
  white-space: normal;
  background-color: var(--color-lightest);
  background-image: none, url("/images/parts/icon-ar-link.svg");
  background-repeat: no-repeat;
  background-position: 1.6rem center, right 2.2rem center;
  background-size: 4rem auto, 1rem auto;
  border: 1.5px solid currentcolor;
  border-radius: 0.4rem;
  transition: 300ms;
}
@media (hover: hover) {
  .c-register__button-element:hover {
    color: var(--color-lightest);
    background-color: var(--color-link);
  }
}
@media (max-width: 767px) {
  .c-register__button-element {
    font-size: 1.4rem;
  }
}
.c-register__button-element[data-button=line] {
  background-image: url("/images/parts/icon-line.svg"), url("/images/parts/icon-ar-link.svg");
}
@media (hover: hover) {
  .c-register__button-element[data-button=line]:hover {
    background-image: url("/images/parts/icon-line.svg"), url("/images/parts/icon-ar-link-white.svg");
  }
}
.c-register__button-element[data-button=yahoo] {
  background-image: url("/images/parts/icon-yahoo.svg"), url("/images/parts/icon-ar-link.svg");
}
@media (hover: hover) {
  .c-register__button-element[data-button=yahoo]:hover {
    background-image: url("/images/parts/icon-yahoo.svg"), url("/images/parts/icon-ar-link-white.svg");
  }
}
.c-register__button-element[data-button=apple] {
  background-image: url("/images/parts/icon-apple.svg"), url("/images/parts/icon-ar-link.svg");
}
@media (hover: hover) {
  .c-register__button-element[data-button=apple]:hover {
    background-image: url("/images/parts/icon-apple.svg"), url("/images/parts/icon-ar-link-white.svg");
  }
}

.c-register-user {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 4rem;
  background: var(--color-bg-gray-02);
  border-radius: 0.4rem;
}
.c-register-user__button {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  min-inline-size: 30rem;
  max-inline-size: 55.2rem;
  padding-block: 1.6rem;
  padding-inline: 2.4rem 4.2rem;
  font-weight: 500;
  color: var(--color-link);
  background-color: var(--color-lightest);
  border: 1.5px solid currentcolor;
  border-radius: 0.4rem;
  transition: 300ms;
}
@media (max-width: 767px) {
  .c-register-user__button {
    min-inline-size: 27.5rem;
    font-size: 1.4rem;
  }
}
.c-register-user__button::after {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-end: 2.2rem;
  display: block;
  inline-size: 1rem;
  block-size: 1.7rem;
  content: "";
  background: url("/images/parts/icon-ar-link.svg") no-repeat center center;
  background-size: 100% auto;
  transition: 300ms;
  transform: translate(0, -50%);
}
@media (hover: hover) {
  .c-register-user__button:hover {
    color: var(--color-lightest);
    background-color: var(--color-link);
  }
  .c-register-user__button:hover::after {
    background-image: url("/images/parts/icon-ar-link-white.svg");
  }
}

.c-order-aside {
  position: sticky;
  inset-block-start: 11rem;
  display: grid;
  grid-template-rows: auto 1fr auto;
  max-block-size: calc(100lvh - 13.5rem);
  padding: 1.6rem;
  background-color: var(--color-bg-gray-02);
  box-shadow: 0 0 1rem 0 rgba(0, 0, 0, 0.15);
}
@media (max-width: 991px) {
  .c-order-aside {
    position: fixed;
    inset-block: auto 0;
    inset-inline: 0;
    z-index: 5;
  }
}
.c-order-aside__toggle {
  display: flex;
  justify-content: center;
  margin-block-end: 1.6rem;
}
@media (min-width: 992px) {
  .c-order-aside__toggle {
    display: none;
  }
}
.c-order-aside__toggle-button {
  display: block;
  font-size: 1.2rem;
  font-weight: 500;
  text-align: center;
  cursor: pointer;
  border-radius: 0.4rem;
}
.c-order-aside__toggle-button span {
  display: inline-block;
  padding-inline: 2rem;
  background: url("/images/parts/icon-ar-circle-toggle-up.svg") no-repeat;
  background-position: left center;
  background-size: 1.4rem auto;
}
.c-order-aside__toggle-button span[data-text=close] {
  display: none;
  background-image: url("/images/parts/icon-ar-circle-toggle-down.svg");
}
.c-order-aside__toggle-button[aria-expanded=true] [data-text=close] {
  display: block;
}
.c-order-aside__toggle-button[aria-expanded=true] [data-text=open] {
  display: none;
}
.c-order-aside__body {
  overflow: auto;
}
@media (max-width: 991px) {
  .c-order-aside__body {
    display: none;
  }
}
.c-order-aside__block {
  margin-block-end: 1.6rem;
  overflow: hidden;
  background: var(--color-lightest);
  border: 1px solid var(--color-line-gray);
  border-radius: 0.4rem;
}
.c-order-aside__heading {
  padding: 0.8rem;
  font-size: 1.8rem;
  font-weight: 500;
  text-align: center;
  background: var(--color-bg-gray);
}
@media (max-width: 767px) {
  .c-order-aside__heading {
    font-size: 1.6rem;
  }
}
.c-order-aside__discount {
  display: flex;
  gap: 0 0.2rem;
  align-items: center;
  color: var(--color-more-emphasis);
}
.c-order-aside__details {
  border-block-end: 1px solid var(--color-line-gray);
}
.c-order-aside__details dl > div {
  display: flex;
  gap: 0 2rem;
  align-items: center;
  justify-content: space-between;
  padding: 0.8rem;
  border-block-end: 0.5px dashed var(--color-line-gray);
}
.c-order-aside__details dl > div:last-child {
  border: 0;
}
.c-order-aside__details dl dt {
  font-size: 1.4rem;
  font-weight: 500;
}
@media (max-width: 767px) {
  .c-order-aside__details dl dt {
    font-size: 1.2rem;
  }
}
.c-order-aside__details dl dd {
  font-family: var(--font-family-secondary);
  font-size: 1.8rem;
  font-weight: normal;
}
@media (max-width: 767px) {
  .c-order-aside__details dl dd {
    font-size: 1.6rem;
  }
}
.c-order-aside__details dl dd span {
  font-size: 1.4rem;
  font-weight: 500;
}
@media (max-width: 767px) {
  .c-order-aside__details dl dd span {
    font-size: 1.2rem;
  }
}
.c-order-aside__totals {
  padding-block: 0.8rem 0.4rem;
}
.c-order-aside__totals dl > div {
  display: flex;
  gap: 0 2rem;
  align-items: center;
  justify-content: space-between;
  padding-block-end: 0.4rem;
  padding-inline: 0.8rem;
}
.c-order-aside__totals dl dt {
  font-size: 1.6rem;
  font-weight: 500;
}
@media (max-width: 767px) {
  .c-order-aside__totals dl dt {
    font-size: 1.4rem;
  }
}
.c-order-aside__totals dl dd {
  font-family: var(--font-family-secondary);
  font-size: 1.8rem;
  font-weight: 500;
}
@media (max-width: 767px) {
  .c-order-aside__totals dl dd {
    font-size: 1.6rem;
  }
}
.c-order-aside__totals dl dd em {
  font-style: normal;
  font-weight: 600;
}
.c-order-aside__totals dl dd span {
  font-size: 1.6rem;
  font-weight: 500;
}
@media (max-width: 767px) {
  .c-order-aside__totals dl dd span {
    font-size: 1.4rem;
  }
}
.c-order-aside__totals-amount {
  font-size: 2.8rem;
  font-weight: 600;
}
@media (max-width: 767px) {
  .c-order-aside__totals-amount {
    font-size: 2.6rem;
  }
}
.c-order-aside__totals-amount span {
  margin-inline-end: 0.2rem;
}
.c-order-aside__button {
  display: flex;
  justify-content: center;
}
.c-order-aside__button > * {
  inline-size: 100%;
}

.c-order-list__body {
  margin-block-end: 4rem;
  overflow: hidden;
  border-radius: 4px;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.15);
}
@media (max-width: 767px) {
  .c-order-list__body {
    margin-block-end: 3.2rem;
  }
}
.c-order-list__element {
  position: relative;
  display: flex;
  background-color: var(--color-lightest);
  border-block-end: 1px solid var(--color-line-gray);
}
@media (max-width: 767px) {
  .c-order-list__element {
    align-items: flex-start;
    padding-inline-end: 0;
  }
}
.c-order-list__element:last-child {
  border: 0;
}
.c-order-list__element:has(.c-order-list__error) {
  background-color: var(--color-bg-red);
}
.c-order-list__element:has(.c-order-list__error) a {
  color: var(--color-more-emphasis);
}
.c-order-list__th {
  position: relative;
  display: flex;
  align-content: center;
  inline-size: 17rem;
}
@media (max-width: 767px) {
  .c-order-list__th {
    inline-size: 11.2rem;
  }
}
.c-order-list__th-element {
  inline-size: 100%;
  aspect-ratio: 14/17;
  background: var(--color-bg-gray);
}
.c-order-list__th-element img {
  inline-size: 100%;
  block-size: 100%;
  object-fit: contain;
}
.c-order-list__th-tags {
  position: absolute;
  inset-block-end: 0.8rem;
  font-weight: 500;
}
.c-order-list__th-tags-special {
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  padding-inline: 0.7rem 1.1rem;
  font-size: 1.2rem;
  color: var(--color-lightest);
  background-color: var(--color-more-emphasis);
  border: 1px solid var(--color-lightest);
  border-inline-start: 0;
  border-radius: 0 10rem 10rem 0;
}
@media (max-width: 767px) {
  .c-order-list__th-tags-special {
    padding-inline: 0.4rem 0.8rem;
    font-size: 1rem;
  }
}
.c-order-list__product {
  display: flex;
  flex: 1 0 0;
  flex-direction: column;
  justify-content: center;
  padding-block: 1.6rem;
  padding-inline: 1.6rem;
}
@media (max-width: 767px) {
  .c-order-list__product {
    padding-block: 0.8rem;
    padding-inline: 1.6rem;
  }
}
.c-order-list__product-tags {
  margin-block-end: 0.8rem;
}
.c-order-list__product-tags-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}
.c-order-list__product-tags-list li {
  padding-inline: 0.4rem;
  font-size: 1.2rem;
  background-color: var(--color-bg-gray-02);
  border: 1px solid var(--color-line-gray);
}
@media (max-width: 767px) {
  .c-order-list__product-tags-list li {
    font-size: 1rem;
  }
}
.c-order-list__product-tags-list li[data-tags=new] {
  color: var(--color-lightest);
  background-color: var(--color-emphasis);
}
.c-order-list__product-tags-list li[data-tags=em] {
  color: var(--color-more-emphasis);
}
.c-order-list__product-title {
  position: relative;
  display: flex;
  gap: 0 0.3rem;
  align-items: center;
  padding-inline-end: 3.2rem;
  margin-block-end: 0.8rem;
  font-size: 2.2rem;
  font-weight: bold;
}
@media (max-width: 767px) {
  .c-order-list__product-title {
    padding-inline-end: 1.6rem;
    margin-block-end: 0.8rem;
    font-size: 2rem;
  }
}
.c-order-list__product-title a {
  flex: 1 0 0;
}
@media (hover: hover) {
  .c-order-list__product-title a:hover {
    text-decoration: underline;
  }
}
.c-order-list__product-code {
  margin-block-end: 0.8rem;
  font-size: 1.4rem;
  font-weight: 500;
  color: var(--color-text-gray);
}
@media (max-width: 767px) {
  .c-order-list__product-code {
    font-size: 1.2rem;
  }
}
.c-order-list__product-code-head::after {
  display: inline-block;
  inline-size: 0.1rem;
  block-size: 0.8rem;
  margin-block-end: 0.1rem;
  margin-inline: 0.8rem;
  content: "";
  background: var(--color-line-gray);
}
.c-order-list__schedule {
  margin-block-end: 0.8rem;
  font-size: 1.4rem;
  font-weight: 500;
}
@media (max-width: 767px) {
  .c-order-list__schedule {
    font-size: 1.2rem;
  }
}
.c-order-list__schedule-head::after {
  display: inline-block;
  content: "：";
}
.c-order-list__info {
  display: flex;
  gap: 0 1.6rem;
  align-items: center;
}
@media (max-width: 767px) {
  .c-order-list__info {
    display: block;
  }
}
.c-order-list__num {
  display: flex;
  gap: 0.8rem;
  align-items: center;
}
.c-order-list__num-head {
  font-weight: 500;
}
@media (max-width: 767px) {
  .c-order-list__num-head {
    font-size: 1.4rem;
  }
}
.c-order-list__num-content {
  font-family: var(--font-family-secondary);
  font-size: 1.8rem;
}
@media (max-width: 767px) {
  .c-order-list__num-content {
    font-size: 1.6rem;
  }
}
.c-order-list__lower {
  display: flex;
  flex: 1 0 0;
  gap: 0 1.6rem;
  align-items: center;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .c-order-list__remove {
    margin-inline-start: 0;
  }
}
.c-order-list__remove-button {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  padding-block: 0.4rem;
  padding-inline: 1.2rem 2.2rem;
  font-size: 1.4rem;
  color: var(--color-link);
  background-color: var(--color-lightest);
  border: 1px solid currentcolor;
  border-radius: 0.4rem;
  transition: 300ms;
}
@media (max-width: 767px) {
  .c-order-list__remove-button {
    font-size: 1.2rem;
  }
}
.c-order-list__remove-button::after {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-end: 0.8rem;
  display: block;
  inline-size: 0.7rem;
  block-size: 1rem;
  content: "";
  background: url("/images/parts/icon-ar-link-small.svg") no-repeat center center;
  background-size: 100% auto;
  transition: 300ms;
  transform: translate(0, -50%);
}
@media (hover: hover) {
  .c-order-list__remove-button:hover {
    color: var(--color-lightest);
    background-color: var(--color-link);
  }
  .c-order-list__remove-button:hover::after {
    background-image: url("/images/parts/icon-ar-bold-white.svg");
  }
}
.c-order-list__attributes {
  padding-block: 1.6rem;
}
@media (max-width: 767px) {
  .c-order-list__attributes {
    padding: 0.8rem;
  }
}
.c-order-list__attributes-body {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  inline-size: 36.6rem;
  block-size: 100%;
  padding: 1.6rem;
  background: var(--color-bg-gray);
  border-radius: 0.4rem;
}
@media (max-width: 767px) {
  .c-order-list__attributes-body {
    inline-size: 100%;
  }
}
.c-order-list__error {
  position: absolute;
  inset-block-start: 1rem;
  inset-inline-end: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  inline-size: 4rem;
  block-size: 4rem;
  padding-block-end: 0.1rem;
  background: var(--color-more-emphasis);
  border-radius: 10rem;
}
@media (max-width: 767px) {
  .c-order-list__error {
    inset-block-start: 0.8rem;
    inset-inline-end: 0.8rem;
    inline-size: 2.4rem;
    block-size: 2.4rem;
  }
  .c-order-list__error img {
    inline-size: 1.5rem;
    block-size: auto;
  }
}
@media (max-width: 767px) {
  .c-order-list__price {
    margin-block-end: 0.4rem;
  }
}
.c-order-list__price-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-block-end: 0.4rem;
}
@media (max-width: 767px) {
  .c-order-list__price-tags {
    margin-block-end: 0.2rem;
  }
}
.c-order-list__price-tags-special {
  padding-block: 0.15rem;
  padding-inline: 0.2rem 0.2rem;
  font-size: 1.4rem;
  color: var(--color-lightest);
  background: var(--color-more-emphasis);
}
@media (max-width: 767px) {
  .c-order-list__price-tags-special {
    font-size: 1.2rem;
  }
}
.c-order-list__price-tags-discount {
  padding-inline: 0.2rem;
  font-family: var(--font-family-secondary);
  font-size: 1.2rem;
  font-weight: 500;
  color: var(--color-more-emphasis);
  background: var(--color-lightest);
  border: 1px solid var(--color-more-emphasis);
}
@media (max-width: 767px) {
  .c-order-list__price-tags-discount {
    font-size: 1rem;
  }
}
.c-order-list__price-tags-discount span {
  font-size: 1.6rem;
}
@media (max-width: 767px) {
  .c-order-list__price-tags-discount span {
    font-size: 1.4rem;
  }
}
.c-order-list__price-body {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  align-items: center;
  font-family: var(--font-family-secondary);
}
.c-order-list__price-head {
  font-family: var(--font-family-body);
  font-weight: 500;
}
@media (max-width: 767px) {
  .c-order-list__price-head {
    font-size: 1.4rem;
  }
}
.c-order-list__price-element {
  font-size: 1.4rem;
  font-weight: 500;
  color: var(--color-more-emphasis);
}
@media (max-width: 767px) {
  .c-order-list__price-element {
    font-size: 1.2rem;
  }
}
.c-order-list__price-element span {
  margin-inline-start: 0.2rem;
  font-size: 2.4rem;
  font-weight: 600;
}
@media (max-width: 767px) {
  .c-order-list__price-element span {
    font-size: 2.2rem;
  }
}
.c-order-list__point {
  display: flex;
  column-gap: 0.8rem;
  align-items: center;
  margin-block-end: 0.4rem;
  font-weight: 500;
}
@media (max-width: 767px) {
  .c-order-list__point {
    font-size: 1.4rem;
  }
}
.c-order-list__point-content {
  display: flex;
  column-gap: 0.4rem;
  align-items: center;
}
.c-order-list__point-content > span {
  display: flex;
  align-items: center;
}
.c-order-list__point-content > span > span {
  margin-block-start: -0.3rem;
  font-size: 2.2rem;
  font-weight: normal;
}
@media (max-width: 767px) {
  .c-order-list__point-content > span > span {
    font-size: 2rem;
  }
}
.c-order-list__quantity {
  display: flex;
  flex-wrap: wrap;
  column-gap: 1.6rem;
  align-items: center;
}
@media (max-width: 767px) {
  .c-order-list__quantity {
    gap: 0.8rem;
  }
}
.c-order-list__quantity-select {
  display: flex;
  flex-wrap: wrap;
  column-gap: 0.8rem;
  align-items: center;
}
@media (max-width: 767px) {
  .c-order-list__quantity-select {
    font-size: 1.4rem;
  }
}
.c-order-list__quantity-select > select {
  min-inline-size: 6.6rem;
  padding-block: 0.8rem;
  padding-inline: 1.6rem 3.4rem;
  cursor: pointer;
  background: url("/images/parts/icon-ar-down.svg") no-repeat top calc(50% + 0.2rem) right 0.8rem/1rem;
  background-color: var(--color-lightest);
  border: 1px solid var(--color-line-gray);
  border-radius: 0.4rem;
}
.c-order-list__quantity-note {
  color: var(--color-text-gray);
}
@media (max-width: 767px) {
  .c-order-list__quantity-note {
    font-size: 1.2rem;
  }
}
.c-order-list__free {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: center;
  padding-block: 0.8rem;
  padding-inline: 1.6rem;
  margin-block-end: 1.6rem;
  font-size: 1.8rem;
  font-weight: 500;
  background: var(--color-bg-red);
}
@media (max-width: 767px) {
  .c-order-list__free {
    font-size: 1.6rem;
  }
}
.c-order-list__free em {
  font-family: var(--font-family-secondary);
  font-size: 2.4rem;
  font-style: normal;
  font-weight: 600;
  color: var(--color-more-emphasis);
}
@media (max-width: 767px) {
  .c-order-list__free em {
    font-size: 2.2rem;
  }
}
.c-order-list__summary {
  padding-block-start: 1.6rem;
  padding-inline: 2.4rem 2.4rem;
  border-block-start: 1px solid var(--color-line-gray);
}
@media (max-width: 767px) {
  .c-order-list__summary {
    padding-block-start: 0.8rem;
    padding-inline: 0;
  }
}
.c-order-list__details {
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  min-inline-size: 34rem;
  margin-block-end: 0.8rem;
  margin-inline-start: auto;
  border-block-end: 2px solid var(--color-line-gray);
}
@media (max-width: 767px) {
  .c-order-list__details {
    inline-size: 100%;
    min-inline-size: 0;
  }
}
.c-order-list__details dl > div {
  display: flex;
  gap: 0 2rem;
  align-items: center;
  justify-content: space-between;
  padding: 0.8rem;
  border-block-end: 0.5px dashed var(--color-line-gray);
}
.c-order-list__details dl > div:last-child {
  border: 0;
}
.c-order-list__details dl dt {
  max-inline-size: 22.4rem;
  font-size: 1.8rem;
  font-weight: 500;
}
@media (max-width: 767px) {
  .c-order-list__details dl dt {
    max-inline-size: 25rem;
    font-size: 1.6rem;
  }
}
.c-order-list__details dl dd {
  font-family: var(--font-family-secondary);
  font-size: 2rem;
  font-weight: normal;
}
@media (max-width: 767px) {
  .c-order-list__details dl dd {
    font-size: 1.8rem;
  }
}
.c-order-list__details dl dd span {
  margin-inline-end: 0.2rem;
  font-size: 1.4rem;
  font-weight: 500;
}
@media (max-width: 767px) {
  .c-order-list__details dl dd span {
    font-size: 1.2rem;
  }
}
.c-order-list__totals {
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  min-inline-size: 34rem;
  margin-inline-start: auto;
}
@media (max-width: 767px) {
  .c-order-list__totals {
    inline-size: 100%;
    min-inline-size: 0;
  }
}
.c-order-list__totals-amount {
  font-weight: 500;
  color: var(--color-more-emphasis);
}
.c-order-list__totals-amount span {
  margin-inline-start: 0.2rem;
}
.c-order-list__totals dl {
  display: grid;
  gap: 0.4rem;
}
@media (max-width: 767px) {
  .c-order-list__totals dl {
    min-inline-size: 19rem;
  }
}
.c-order-list__totals dl > div {
  display: flex;
  gap: 0 2rem;
  align-items: baseline;
  justify-content: space-between;
  padding-inline: 0.8rem;
}
.c-order-list__totals dt {
  font-size: 1.8rem;
  font-weight: 500;
}
@media (max-width: 767px) {
  .c-order-list__totals dt {
    font-size: 1.6rem;
  }
}
.c-order-list__totals dd {
  font-size: 1.4rem;
  font-weight: bold;
}
@media (max-width: 767px) {
  .c-order-list__totals dd {
    font-size: 1.4rem;
  }
}
.c-order-list__totals dd span {
  margin-inline-end: 0.2rem;
  font-family: var(--font-family-secondary);
  font-size: 2.4rem;
  font-weight: 600;
}
@media (max-width: 767px) {
  .c-order-list__totals dd span {
    font-size: 2.2rem;
  }
}

.c-cart-list__body {
  margin-block-end: 4rem;
  overflow: hidden;
  border-radius: 4px;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.15);
}
@media (max-width: 767px) {
  .c-cart-list__body {
    margin-block-end: 3.2rem;
  }
}
.c-cart-list__element {
  display: flex;
  padding-inline-end: 1.6rem;
  background-color: var(--color-lightest);
  border-block-end: 1px solid var(--color-line-gray);
}
@media (max-width: 767px) {
  .c-cart-list__element {
    display: block;
    padding-inline-end: 0;
  }
}
.c-cart-list__element:last-child {
  border: 0;
}
.c-cart-list__element:has(.c-cart-list__error) {
  background-color: var(--color-bg-red);
}
.c-cart-list__th {
  position: relative;
  display: flex;
  align-items: flex-start;
  inline-size: 17rem;
}
@media (max-width: 767px) {
  .c-cart-list__th {
    inline-size: 11.2rem;
  }
}
.c-cart-list__th-element {
  inline-size: 100%;
  aspect-ratio: 14/17;
  background: var(--color-bg-gray);
}
.c-cart-list__th-element img {
  inline-size: 100%;
  block-size: 100%;
  object-fit: contain;
}
.c-cart-list__th-tags {
  position: absolute;
  inset-block-end: 0.8rem;
  font-weight: 500;
}
.c-cart-list__th-tags-special {
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  padding-inline: 0.7rem 1.1rem;
  font-size: 1.2rem;
  color: var(--color-lightest);
  background-color: var(--color-more-emphasis);
  border: 1px solid var(--color-lightest);
  border-inline-start: 0;
  border-radius: 0 10rem 10rem 0;
}
@media (max-width: 767px) {
  .c-cart-list__th-tags-special {
    padding-inline: 0.4rem 0.8rem;
    font-size: 1rem;
  }
}
.c-cart-list__info {
  display: flex;
  flex: 1 0 0;
  align-items: flex-start;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .c-cart-list__info {
    align-items: flex-start;
  }
}
.c-cart-list__product {
  display: flex;
  flex: 1 0 0;
  flex-direction: column;
  justify-content: center;
  padding-block: 1.6rem;
  padding-inline: 0 3.2rem;
  padding-inline-start: 1.6rem;
}
@media (max-width: 767px) {
  .c-cart-list__product {
    padding: 0.8rem;
  }
}
.c-cart-list__product-schedule {
  margin-block-end: 0.8rem;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.3;
  color: var(--color-text-gray);
}
.c-cart-list__product-schedule > span {
  display: inline-block;
  padding-block: 0.2rem;
  padding-inline: 0.4rem;
  border: 1px solid var(--color-text-gray);
}
.c-cart-list__product-tags {
  margin-block-end: 0.8rem;
}
.c-cart-list__product-tags-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}
.c-cart-list__product-tags-list li {
  padding-inline: 0.4rem;
  font-size: 1.2rem;
  background-color: var(--color-bg-gray-02);
  border: 1px solid var(--color-line-gray);
}
@media (max-width: 767px) {
  .c-cart-list__product-tags-list li {
    font-size: 1rem;
  }
}
.c-cart-list__product-tags-list li[data-tags=new] {
  color: var(--color-lightest);
  background-color: var(--color-emphasis);
}
.c-cart-list__product-tags-list li[data-tags=em] {
  color: var(--color-more-emphasis);
}
.c-cart-list__product-title {
  position: relative;
  display: flex;
  gap: 0 0.8rem;
  align-items: center;
  margin-block-end: 1.6rem;
  font-size: 2.2rem;
  font-weight: bold;
}
@media (max-width: 767px) {
  .c-cart-list__product-title {
    margin-block-end: 0.8rem;
    font-size: 1.6rem;
  }
}
.c-cart-list__product-title::before {
  inline-size: 2.2rem;
  block-size: 2.2rem;
  content: "";
  background: url("/images/parts/icon-ar-circle.svg") no-repeat center center/100% auto;
}
@media (max-width: 767px) {
  .c-cart-list__product-title::before {
    inline-size: 1.4rem;
    block-size: 1.4rem;
  }
}
.c-cart-list__product-title a {
  flex: 1 0 0;
}
@media (hover: hover) {
  .c-cart-list__product-title a:hover {
    text-decoration: underline;
  }
}
.c-cart-list__product-code {
  margin-block-end: 1.6rem;
  font-size: 1.4rem;
  font-weight: 500;
  color: var(--color-text-gray);
}
@media (max-width: 767px) {
  .c-cart-list__product-code {
    font-size: 1.2rem;
  }
}
.c-cart-list__product-code-head::after {
  display: inline-block;
  inline-size: 0.1rem;
  block-size: 0.8rem;
  margin-block-end: 0.1rem;
  margin-inline: 0.8rem;
  content: "";
  background: var(--color-line-gray);
}
.c-cart-list__remove {
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  margin-inline-start: auto;
}
@media (max-width: 767px) {
  .c-cart-list__remove {
    margin-inline-start: 0;
  }
}
.c-cart-list__remove-button {
  font-size: 1.4rem;
  color: var(--color-link);
  text-decoration: underline;
}
@media (hover: hover) {
  .c-cart-list__remove-button:hover {
    text-decoration: none;
  }
}
@media (max-width: 767px) {
  .c-cart-list__remove-button {
    font-size: 1.2rem;
  }
}
.c-cart-list__attributes {
  padding-block: 1.6rem;
}
@media (max-width: 767px) {
  .c-cart-list__attributes {
    padding: 0.8rem;
  }
}
.c-cart-list__attributes-body {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  inline-size: 36.6rem;
  block-size: 100%;
  padding: 1.6rem;
  background: var(--color-bg-gray);
  border-radius: 0.4rem;
}
@media (max-width: 767px) {
  .c-cart-list__attributes-body {
    inline-size: 100%;
  }
}
.c-cart-list__error {
  position: absolute;
  inset-block-start: -0.6rem;
  inset-inline-end: -0.6rem;
  display: flex;
  align-items: center;
  justify-content: center;
  inline-size: 4rem;
  block-size: 4rem;
  padding-block-end: 0.1rem;
  background: var(--color-more-emphasis);
  border-radius: 10rem;
}
@media (max-width: 767px) {
  .c-cart-list__error {
    inset-block-start: 0.2rem;
    inset-inline-end: 0.2rem;
  }
}
.c-cart-list__price {
  margin-block-end: 0.8rem;
}
@media (max-width: 767px) {
  .c-cart-list__price {
    margin-block-end: 0.4rem;
  }
}
.c-cart-list__price-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-block-end: 0.4rem;
}
@media (max-width: 767px) {
  .c-cart-list__price-tags {
    margin-block-end: 0.2rem;
  }
}
.c-cart-list__price-tags-special {
  padding-block: 0.15rem;
  padding-inline: 0.2rem 0.2rem;
  font-size: 1.4rem;
  color: var(--color-lightest);
  background: var(--color-more-emphasis);
}
@media (max-width: 767px) {
  .c-cart-list__price-tags-special {
    font-size: 1.2rem;
  }
}
.c-cart-list__price-tags-discount {
  padding-inline: 0.2rem;
  font-family: var(--font-family-secondary);
  font-size: 1.2rem;
  font-weight: 500;
  color: var(--color-more-emphasis);
  background: var(--color-lightest);
  border: 1px solid var(--color-more-emphasis);
}
@media (max-width: 767px) {
  .c-cart-list__price-tags-discount {
    font-size: 1rem;
  }
}
.c-cart-list__price-tags-discount span {
  font-size: 1.6rem;
}
@media (max-width: 767px) {
  .c-cart-list__price-tags-discount span {
    font-size: 1.4rem;
  }
}
.c-cart-list__price-body {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  align-items: center;
  font-family: var(--font-family-secondary);
}
.c-cart-list__price-head {
  font-family: var(--font-family-body);
  font-weight: 500;
}
@media (max-width: 767px) {
  .c-cart-list__price-head {
    font-size: 1.4rem;
  }
}
.c-cart-list__price-element {
  font-size: 1.4rem;
  font-weight: 500;
  color: var(--color-more-emphasis);
}
@media (max-width: 767px) {
  .c-cart-list__price-element {
    font-size: 1.2rem;
  }
}
.c-cart-list__price-element span {
  margin-inline-start: 0.2rem;
  font-size: 2.4rem;
  font-weight: 600;
}
@media (max-width: 767px) {
  .c-cart-list__price-element span {
    font-size: 2.2rem;
  }
}
.c-cart-list__point {
  display: flex;
  column-gap: 0.8rem;
  align-items: center;
  margin-block-end: 0.4rem;
  font-weight: 500;
}
@media (max-width: 767px) {
  .c-cart-list__point {
    font-size: 1.4rem;
  }
}
.c-cart-list__point-content {
  display: flex;
  column-gap: 0.4rem;
  align-items: center;
}
.c-cart-list__point-content > span {
  display: flex;
  align-items: center;
}
.c-cart-list__point-content > span > span {
  margin-block-start: -0.3rem;
  font-family: var(--font-family-secondary);
  font-size: 2.2rem;
  font-weight: normal;
}
@media (max-width: 767px) {
  .c-cart-list__point-content > span > span {
    font-size: 2rem;
  }
}
.c-cart-list__quantity {
  display: flex;
  flex-wrap: wrap;
  column-gap: 1.6rem;
  align-items: center;
}
@media (max-width: 767px) {
  .c-cart-list__quantity {
    gap: 0.8rem;
  }
}
.c-cart-list__quantity-select {
  display: flex;
  flex-wrap: wrap;
  column-gap: 0.8rem;
  align-items: center;
}
@media (max-width: 767px) {
  .c-cart-list__quantity-select {
    font-size: 1.4rem;
  }
}
.c-cart-list__quantity-select > select {
  min-inline-size: 6.6rem;
  padding-block: 0.8rem;
  padding-inline: 1.6rem 3.4rem;
  font-family: var(--font-family-secondary);
  cursor: pointer;
  background: url("/images/parts/icon-ar-down.svg") no-repeat top calc(50% + 0.2rem) right 0.8rem/1rem;
  background-color: var(--color-lightest);
  border: 1px solid var(--color-line-gray);
  border-radius: 0.4rem;
}
.c-cart-list__quantity-note {
  color: var(--color-text-gray);
}
@media (max-width: 767px) {
  .c-cart-list__quantity-note {
    font-size: 1.2rem;
  }
}
.c-cart-list__free {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: center;
  padding-block: 0.8rem;
  padding-inline: 1.6rem;
  margin-block-end: 1.6rem;
  font-size: 1.8rem;
  font-weight: 500;
  background: var(--color-bg-red);
  border-radius: 0.4rem;
}
@media (max-width: 767px) {
  .c-cart-list__free {
    font-size: 1.6rem;
  }
}
.c-cart-list__free em {
  font-family: var(--font-family-secondary);
  font-size: 2.4rem;
  font-style: normal;
  font-weight: 600;
  color: var(--color-more-emphasis);
}
@media (max-width: 767px) {
  .c-cart-list__free em {
    font-size: 2.2rem;
  }
}
.c-cart-list__totals {
  padding-block-start: 1.6rem;
  padding-inline: 2.4rem 2.4rem;
  border-block-start: 1px solid var(--color-line-gray);
}
@media (max-width: 767px) {
  .c-cart-list__totals {
    padding-block-start: 0.8rem;
    padding-inline: 0.8rem;
  }
}
.c-cart-list__totals-amount {
  font-weight: 500;
  color: var(--color-more-emphasis);
}
.c-cart-list__totals-amount span {
  margin-inline-start: 0.2rem;
}
.c-cart-list__totals dl {
  display: grid;
  gap: 0.4rem;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  min-inline-size: 23.5rem;
  margin-inline-start: auto;
}
@media (max-width: 767px) {
  .c-cart-list__totals dl {
    min-inline-size: 19rem;
  }
}
.c-cart-list__totals dl > div {
  display: flex;
  gap: 0 2rem;
  align-items: baseline;
  justify-content: space-between;
}
.c-cart-list__totals dt {
  font-size: 1.8rem;
  font-weight: 500;
}
@media (max-width: 767px) {
  .c-cart-list__totals dt {
    font-size: 1.6rem;
  }
}
.c-cart-list__totals dd {
  font-size: 1.4rem;
  font-weight: bold;
}
@media (max-width: 767px) {
  .c-cart-list__totals dd {
    font-size: 1.2rem;
  }
}
.c-cart-list__totals dd span {
  font-family: var(--font-family-secondary);
  font-size: 2.4rem;
  font-weight: 600;
}
@media (max-width: 767px) {
  .c-cart-list__totals dd span {
    font-size: 2.2rem;
  }
}

.c-cart-notion__list {
  padding-block: 1.6rem;
  padding-inline: 2.4rem;
  font-weight: 500;
  color: var(--color-text-gray);
  background: var(--color-bg-gray);
  border-radius: 0.4rem;
}
@media (max-width: 767px) {
  .c-cart-notion__list {
    padding: 1.6rem;
    font-size: 1.4rem;
  }
}
.c-cart-notion__list ul {
  display: grid;
  gap: 0.4rem;
}
.c-cart-notion__list li {
  display: grid;
  grid-template-columns: 1em 1fr;
}
.c-cart-notion__list li a {
  color: var(--color-link);
  text-decoration: underline;
}
@media (hover: hover) {
  .c-cart-notion__list li a:hover {
    text-decoration: none;
  }
}
.c-cart-notion__age-confirmation {
  padding-block: 1.6rem;
  padding-block-end: 2.4rem;
  padding-inline: 2.4rem;
  margin-block-start: 1.6rem;
  background: var(--color-bg-red);
  border-radius: 0.4rem;
}
@media (max-width: 767px) {
  .c-cart-notion__age-confirmation {
    padding-block-start: 1.6rem;
    padding-inline-end: 1.6rem;
    margin-block-start: 0.8rem;
  }
}
.c-cart-notion__age-confirmation-head {
  display: flex;
  gap: 0.2rem;
  align-items: center;
  justify-content: center;
  margin-block-end: 0.8rem;
  font-size: 2.2rem;
  font-weight: bold;
  color: var(--color-more-emphasis);
}
.c-cart-notion__age-confirmation-text {
  margin-block-end: 1.6rem;
  font-weight: 500;
  text-align: center;
}
@media (max-width: 767px) {
  .c-cart-notion__age-confirmation-text {
    font-size: 1.4rem;
    text-align: start;
  }
}
.c-cart-notion__age-confirmation-text em {
  font-style: normal;
  color: var(--color-more-emphasis);
}
.c-cart-notion__age-confirmation-agreement {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  margin-inline: auto;
}
.c-cart-notion__age-confirmation-agreement input {
  display: block;
  padding: 0;
  padding-inline-start: 2.6rem;
  margin: 0;
  line-height: 1;
  vertical-align: middle;
  appearance: none;
  cursor: pointer;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
}
.c-cart-notion__age-confirmation-agreement input::before, .c-cart-notion__age-confirmation-agreement input::after {
  position: absolute;
  display: block;
  content: "";
}
.c-cart-notion__age-confirmation-agreement input::before {
  inset-block-start: 0.1rem;
  inset-inline-start: 0.2rem;
  inline-size: 2rem;
  block-size: 2rem;
  border: 1.5px solid var(--color-link);
  border-radius: 0.2rem;
}
.c-cart-notion__age-confirmation-agreement input::after {
  inset-block-start: 0.65rem;
  inset-inline-start: 0.7rem;
  inline-size: 1.1rem;
  block-size: 0.6rem;
  border-block-end: 2px solid #fff;
  border-inline-start: 2px solid #fff;
  opacity: 0;
  transform: rotate(-45deg);
}
.c-cart-notion__age-confirmation-agreement input:checked::before {
  background-color: var(--color-link);
}
.c-cart-notion__age-confirmation-agreement input:checked::after {
  opacity: 1;
}
.c-cart-notion__age-confirmation-agreement label {
  font-size: 1.6rem;
  font-weight: 500;
  cursor: pointer;
}
@media (max-width: 767px) {
  .c-cart-notion__age-confirmation-agreement label {
    margin-block-start: 0.1rem;
    font-size: 1.4rem;
  }
}
.c-cart-notion__back {
  margin-block-start: 1.6rem;
}
@media (max-width: 767px) {
  .c-cart-notion__back {
    font-size: 1.4rem;
  }
}
.c-cart-notion__back a {
  display: flex;
  gap: 0.3rem;
  align-items: center;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  font-weight: 500;
}
@media (hover: hover) {
  .c-cart-notion__back a:hover {
    text-decoration: underline;
  }
}
.c-cart-notion__back a::before {
  inset-inline-end: 2.2rem;
  display: block;
  inline-size: 1.5rem;
  block-size: 1.5rem;
  content: "";
  background: url("/images/parts/icon-ar-circle-back.svg") no-repeat center center;
  background-size: 100% auto;
}

.c-amazon-pay {
  padding: 4rem;
  background: var(--color-bg-gray-02);
  border-radius: 0.4rem;
}
@media (max-width: 767px) {
  .c-amazon-pay {
    padding-block: 2.4rem;
    padding-inline: 1.6rem;
  }
}
.c-amazon-pay__button {
  display: flex;
  justify-content: center;
  margin-block-end: 1.6rem;
}
.c-amazon-pay__button img {
  max-inline-size: 100%;
  block-size: auto;
}
.c-amazon-pay__notice {
  padding-block: 0.8rem 1.6rem;
  padding-inline: 1.6rem;
  background: var(--color-lightest);
}
.c-amazon-pay__notice-head {
  margin-block-end: 0.4rem;
  font-size: 2rem;
  font-weight: 500;
}
@media (max-width: 767px) {
  .c-amazon-pay__notice-head {
    font-size: 1.8rem;
  }
}
.c-amazon-pay__notice ul {
  display: grid;
  gap: 0.4rem;
  font-weight: 500;
  color: var(--color-text-gray);
}
@media (max-width: 767px) {
  .c-amazon-pay__notice ul {
    font-size: 1.4rem;
  }
}
.c-amazon-pay__notice li {
  display: grid;
  grid-template-columns: 1em 1fr;
}

.c-mypage-notices__wrapper {
  padding-block: 1.2rem 1.2rem;
  padding-inline: 1.6rem;
  background-color: var(--color-bg-gray-02);
  border: 1px solid var(--color-line-gray);
  border-radius: 0.4rem;
}
@media (max-width: 767px) {
  .c-mypage-notices__wrapper {
    padding: 1.6rem;
  }
}
.c-mypage-notices__caption {
  display: grid;
  grid-template-columns: 1em 1fr;
  gap: 0.2rem;
  padding-inline-start: 2rem;
  margin-block-start: 0.4rem;
  font-size: 1.4rem;
  font-weight: 500;
  color: var(--color-text-gray);
}
@media (max-width: 767px) {
  .c-mypage-notices__caption {
    padding-inline-end: 2rem;
    font-size: 1.2rem;
  }
}
.c-mypage-notices__heading {
  margin-block-end: 0.4rem;
  font-size: 2rem;
  font-weight: bold;
}
@media (max-width: 767px) {
  .c-mypage-notices__heading {
    margin-block-end: 0.8rem;
    font-size: 1.8rem;
  }
}
.c-mypage-notices__element {
  position: relative;
  display: flex;
  padding-block-end: 0.8rem;
  padding-inline: 0.4rem;
  margin-block-end: 0.8rem;
  font-size: 1.4rem;
  border-block-end: 1px solid var(--color-line-gray);
}
@media (max-width: 767px) {
  .c-mypage-notices__element {
    flex-direction: column;
    gap: 0.4rem;
  }
}
.c-mypage-notices__element:last-child {
  padding-block-end: 0;
  margin-block-end: 0;
  border: 0;
}
.c-mypage-notices__time {
  display: grid;
  grid-template-columns: 7.8rem 0.8rem;
  gap: 0.8rem;
  align-items: center;
  margin-inline-end: 0.8rem;
  font-family: var(--font-family-secondary);
}
@media (max-width: 767px) {
  .c-mypage-notices__time {
    grid-template-columns: none;
    margin-inline-end: 0;
    word-break: break-word;
  }
}
.c-mypage-notices__time::after {
  grid-template-columns: subgrid;
  inline-size: 0.8rem;
  block-size: 0.1rem;
  content: "";
  background: currentcolor;
}
@media (max-width: 767px) {
  .c-mypage-notices__time::after {
    display: none;
    inline-size: 0.4rem;
  }
}
.c-mypage-notices__title {
  flex: 1 0 0;
}

.c-header-purchase {
  padding-block: 2.4rem;
  padding-inline: 4rem;
  background: var(--color-lightest);
  border-block-end: 1px solid var(--color-line-gray);
}
@media (max-width: 767px) {
  .c-header-purchase {
    padding: 1.6rem;
  }
}
.c-header-purchase__body {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 1.6rem;
  align-items: center;
}
@media (max-width: 767px) {
  .c-header-purchase__body {
    display: block;
    text-align: center;
  }
}
.c-header-purchase__title {
  font-size: 3.2rem;
  font-weight: bold;
}
@media (max-width: 767px) {
  .c-header-purchase__title {
    font-size: 2.8rem;
  }
}
.c-header-purchase__logo {
  position: relative;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
}
@media (max-width: 767px) {
  .c-header-purchase__logo {
    margin-block-end: 0.4rem;
    margin-inline: auto;
  }
}
.c-header-purchase__logo img {
  max-inline-size: 100%;
  block-size: auto;
}
@media (max-width: 767px) {
  .c-header-purchase__logo img {
    inline-size: 19rem;
    block-size: auto;
  }
}
.c-header-purchase__popup {
  position: absolute;
  inset-block-start: calc(100% + 1.3rem);
  inset-inline-start: 50%;
  display: none;
  padding-block: 1.6rem;
  padding-inline: 2.4rem;
  white-space: nowrap;
  background: var(--color-lightest);
  box-shadow: 0 0 1rem 0 rgba(0, 0, 0, 0.15);
  transform: translate(-50%, 0);
}
.c-header-purchase__popup::before {
  position: absolute;
  inset-block-end: calc(100% - 0.2rem);
  inset-inline-start: 50%;
  display: block;
  inline-size: 2.4rem;
  block-size: 1.3rem;
  clip-path: url('data:image/svg+xml;utf8,%3Csvg xmlns="http://www.w3.org/2000/svg"%3E%3Cdefs%3E%3CclipPath id="p" clipPathUnits="objectBoundingBox"%3E%3Cpolygon points="0.5 0, 0 1, 1 1"/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E#p');
  clip-path: polygon(50% 0, 0% 100%, 100% 100%);
  content: "";
  background: var(--color-lightest);
  box-shadow: 0 0 1rem 0 rgba(0, 0, 0, 0.15);
  transform: translate(-50%, 0);
}
.c-header-purchase__popup-label {
  margin-block-end: 0.8rem;
  font-size: 1.8rem;
  font-weight: 500;
}
@media (max-width: 767px) {
  .c-header-purchase__popup-label {
    font-size: 1.6rem;
  }
}
.c-header-purchase__popup-buttons {
  display: flex;
  gap: 0.8rem;
  justify-content: center;
  text-align: center;
}
.c-header-purchase__popup-close, .c-header-purchase__popup-back {
  display: block;
  inline-size: 100%;
  padding: 0.4rem;
  font-size: 1.4rem;
  border: 1px solid var(--color-line-gray);
  border-radius: 0.4rem;
}
.c-header-purchase__popup-back {
  color: var(--color-link);
  border-color: var(--color-link);
}

.c-footer-order {
  padding: 2.4rem;
  font-size: 1.4rem;
  text-align: center;
  border-block-start: 1px solid var(--color-line-gray);
}
@media (max-width: 991px) {
  .c-footer-order {
    padding: 1.6rem;
    font-size: 1.2rem;
  }
}
.c-footer-order a {
  color: var(--color-link);
  text-decoration: underline;
}
@media (hover: hover) {
  .c-footer-order a:hover {
    text-decoration: none;
  }
}

.c-footer-simple {
  padding-block: 3.2rem 2.4rem;
  padding-inline: 2.4rem;
  font-size: 1.4rem;
  text-align: center;
  border-block-start: 1px solid var(--color-line-gray);
}
@media (max-width: 767px) {
  .c-footer-simple {
    padding-block: 2.4rem;
  }
}
.c-footer-simple__logo {
  margin-block-end: 0.4rem;
}
.c-footer-simple__copyright {
  display: block;
  font-size: 1.4rem;
  color: var(--color-text-gray);
  text-align: center;
}
@media (max-width: 767px) {
  .c-footer-simple__copyright {
    font-size: 1.2rem;
  }
}

.c-confirm-order__block {
  margin-block-end: 4rem;
}
@media (max-width: 767px) {
  .c-confirm-order__block {
    margin-block-end: 3.2rem;
  }
}
.c-confirm-order__body {
  display: flex;
  gap: 1.6rem;
  justify-content: space-between;
}
.c-confirm-order__body:not(:last-child) {
  margin-block-end: 4rem;
}
@media (max-width: 767px) {
  .c-confirm-order__body:not(:last-child) {
    margin-block-end: 3.2rem;
  }
}
.c-confirm-order__content {
  display: grid;
  flex: 1 0 0;
  gap: 0.8rem;
  padding-inline-start: 0.8rem;
}
@media (max-width: 767px) {
  .c-confirm-order__content {
    padding-inline: 0.4rem;
  }
}
.c-confirm-order__content-element {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  font-size: 1.8rem;
  font-weight: 500;
}
@media (max-width: 767px) {
  .c-confirm-order__content-element {
    font-size: 1.6rem;
  }
}
.c-confirm-order__modify-button {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  padding-block: 0.4rem;
  padding-inline: 1.2rem 2.2rem;
  font-size: 1.4rem;
  color: var(--color-link);
  background-color: var(--color-lightest);
  border: 1px solid currentcolor;
  border-radius: 0.4rem;
  transition: 300ms;
}
@media (max-width: 767px) {
  .c-confirm-order__modify-button {
    font-size: 1.2rem;
  }
}
.c-confirm-order__modify-button::after {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-end: 0.8rem;
  display: block;
  inline-size: 0.7rem;
  block-size: 1rem;
  content: "";
  background: url("/images/parts/icon-ar-link-small.svg") no-repeat center center;
  background-size: 100% auto;
  transition: 300ms;
  transform: translate(0, -50%);
}
@media (hover: hover) {
  .c-confirm-order__modify-button:hover {
    color: var(--color-lightest);
    background-color: var(--color-link);
  }
  .c-confirm-order__modify-button:hover::after {
    background-image: url("/images/parts/icon-ar-bold-white.svg");
  }
}
.c-confirm-order__recaptcha {
  margin-block-end: 4rem;
}
.c-confirm-order__recaptcha > img {
  display: block;
  margin-inline: auto;
}
.c-confirm-order__submit {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
}
@media (max-width: 767px) {
  .c-confirm-order__submit {
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
    align-items: flex-start;
    inline-size: 100%;
    margin: 0 auto;
  }
}
.c-confirm-order__submit-back {
  justify-self: start;
}
@media (max-width: 767px) {
  .c-confirm-order__submit-back {
    order: 1;
  }
}
.c-confirm-order__submit-back-element {
  display: flex;
  gap: 0.3rem;
  align-items: center;
  font-weight: 500;
}
@media (max-width: 767px) {
  .c-confirm-order__submit-back-element {
    font-size: 1.4rem;
  }
}
.c-confirm-order__submit-back-element::before {
  inset-inline-end: 2.2rem;
  display: block;
  inline-size: 1.5rem;
  block-size: 1.5rem;
  content: "";
  background: url("/images/parts/icon-ar-circle-back.svg") no-repeat center center;
  background-size: 100% auto;
}
@media (hover: hover) {
  .c-confirm-order__submit-back-element:hover {
    text-decoration: underline;
  }
}
.c-confirm-order__submit-button {
  grid-column: 2;
  justify-self: center;
}
@media (max-width: 991px) {
  .c-confirm-order__submit-button {
    justify-content: center;
    order: 0;
    inline-size: 100%;
  }
}
.c-confirm-order__submit-button > * {
  min-inline-size: 27.4rem;
}
@media (max-width: 767px) {
  .c-confirm-order__submit-button > * {
    inline-size: 100%;
  }
}

.c-contact-information__head {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-block-end: 1.6rem;
  font-weight: 500;
  text-align: center;
}
@media (max-width: 767px) {
  .c-contact-information__head {
    font-size: 1.4rem;
  }
}
.c-contact-information__button {
  display: flex;
  flex-wrap: wrap;
  gap: 1.6rem;
  justify-content: center;
}
.c-contact-information__button-element {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  min-inline-size: 30rem;
  max-inline-size: 55.2rem;
  padding-block: 1.6rem;
  padding-inline: 4.5rem 4.2rem;
  font-weight: 500;
  color: var(--color-link);
  background-color: var(--color-lightest);
  border: 1.5px solid currentcolor;
  border-radius: 0.4rem;
  transition: 300ms;
}
@media (max-width: 767px) {
  .c-contact-information__button-element {
    font-size: 1.4rem;
  }
}
.c-contact-information__button-element::before {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 1.6rem;
  display: block;
  inline-size: 2.3rem;
  block-size: 1.8rem;
  content: "";
  background: url("/images/parts/icon-mail-link.svg") no-repeat center center;
  background-size: 100% auto;
  transition: 300ms;
  transform: translate(0, -50%);
}
.c-contact-information__button-element::after {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-end: 2.2rem;
  display: block;
  inline-size: 1rem;
  block-size: 1.7rem;
  content: "";
  background: url("/images/parts/icon-ar-link.svg") no-repeat center center;
  background-size: 100% auto;
  transition: 300ms;
  transform: translate(0, -50%);
}
@media (hover: hover) {
  .c-contact-information__button-element:hover {
    color: var(--color-lightest);
    background-color: var(--color-link);
  }
  .c-contact-information__button-element:hover::before {
    background-image: url("/images/parts/icon-mail-link-white.svg");
  }
  .c-contact-information__button-element:hover::after {
    background-image: url("/images/parts/icon-ar-link-white.svg");
  }
}
.c-contact-information__button-element input[type=submit] {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

.c-thanks {
  text-align: center;
}
.c-thanks__content {
  position: relative;
  inline-size: min(100%, 80rem);
  margin-block-end: 2.4rem;
  margin-inline: auto;
  text-align: center;
}
.c-thanks__content::before, .c-thanks__content::after {
  position: absolute;
  inset-block-start: 0.9rem;
  display: none;
  inline-size: 19.4rem;
  block-size: 11.7rem;
  content: "";
  background-repeat: no-repeat;
  background-size: 100% auto;
}
@media (max-width: 767px) {
  .c-thanks__content::before, .c-thanks__content::after {
    inset-block-start: 0.7rem;
    inline-size: 8.8rem;
    block-size: 11.1rem;
  }
}
.c-thanks__content::before {
  inset-inline-end: calc(100% + 2.4rem);
  background-image: url("/images/parts/bg-thanks-before.svg");
}
@media (max-width: 767px) {
  .c-thanks__content::before {
    inset-inline-end: calc(100% - 2.5rem);
    background-image: url("/images/parts/bg-thanks-before-sm.svg");
  }
}
.c-thanks__content::after {
  inset-inline-start: calc(100% + 2.4rem);
  background-image: url("/images/parts/bg-thanks-after.svg");
}
@media (max-width: 767px) {
  .c-thanks__content::after {
    inset-inline-start: calc(100% - 2.5rem);
    background-image: url("/images/parts/bg-thanks-after-sm.svg");
  }
}
.c-thanks__body {
  inline-size: 100%;
  aspect-ratio: 800/200;
  font-family: var(--font-family-secondary);
  font-size: 7.2rem;
  font-weight: 600;
  color: var(--color-more-emphasis);
}
@media (max-width: 767px) {
  .c-thanks__body {
    font-size: 5rem;
  }
}
.c-thanks__body > span {
  display: none;
}
.c-thanks__body > svg {
  opacity: 0;
  transition: opacity 100ms;
}
.c-thanks[data-json-failed=true] .c-thanks__content {
  inline-size: -moz-fit-content;
  inline-size: fit-content;
}
.c-thanks[data-json-failed=true] .c-thanks__body {
  aspect-ratio: unset;
}
.c-thanks[data-json-failed=true] .c-thanks__body > span, .c-thanks[data-json-failed=true] .c-thanks__content::before, .c-thanks[data-json-failed=true] .c-thanks__content::after {
  display: block;
}
.c-thanks__caption {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  font-weight: bold;
}
@media (max-width: 767px) {
  .c-thanks__caption {
    flex-direction: column;
    font-size: 1.6rem;
  }
}
.c-thanks__text {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  font-weight: 500;
}
@media (max-width: 767px) {
  .c-thanks__text {
    flex-direction: column;
    font-size: 1.4rem;
  }
}
.c-thanks__message {
  margin-block-start: 4rem;
  font-weight: 500;
}
@media (max-width: 767px) {
  .c-thanks__message {
    margin-block-start: 2.4rem;
    font-size: 1.4rem;
    text-align: start;
  }
}

.c-accept-orders {
  padding-block: 3.2rem 4rem;
  padding-inline: 4rem;
  background: var(--color-bg-gray-02);
}
@media (max-width: 767px) {
  .c-accept-orders {
    padding: 1.6rem;
  }
}
.c-accept-orders__text {
  display: grid;
  gap: 0.8rem;
  margin-block-end: 1.6rem;
  font-weight: 500;
  text-align: center;
}
@media (max-width: 767px) {
  .c-accept-orders__text {
    font-size: 1.4rem;
  }
}
.c-accept-orders__button {
  display: flex;
  flex-wrap: wrap;
  gap: 1.6rem;
  justify-content: center;
}
.c-accept-orders__button-element {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  min-inline-size: 30rem;
  max-inline-size: 55.2rem;
  padding-block: 1.6rem;
  padding-inline: 4.5rem 4.2rem;
  font-weight: 500;
  color: var(--color-link);
  background-color: var(--color-lightest);
  border: 1.5px solid currentcolor;
  border-radius: 0.4rem;
  transition: 300ms;
}
@media (max-width: 767px) {
  .c-accept-orders__button-element {
    font-size: 1.4rem;
  }
}
.c-accept-orders__button-element::before {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 1.6rem;
  display: block;
  inline-size: 2rem;
  block-size: 2rem;
  content: "";
  background: url("/images/parts/icon-my-page-blue.svg") no-repeat center center;
  background-size: 100% auto;
  transition: 300ms;
  transform: translate(0, -50%);
}
.c-accept-orders__button-element::after {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-end: 2.2rem;
  display: block;
  inline-size: 1rem;
  block-size: 1.7rem;
  content: "";
  background: url("/images/parts/icon-ar-link.svg") no-repeat center center;
  background-size: 100% auto;
  transition: 300ms;
  transform: translate(0, -50%);
}
@media (hover: hover) {
  .c-accept-orders__button-element:hover {
    color: var(--color-lightest);
    background-color: var(--color-link);
  }
  .c-accept-orders__button-element:hover::before {
    background-image: url("/images/parts/icon-my-page-white.svg");
  }
  .c-accept-orders__button-element:hover::after {
    background-image: url("/images/parts/icon-ar-link-white.svg");
  }
}
.c-accept-orders__button-element input[type=submit] {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

.c-error {
  padding: 1.6rem;
  background-color: var(--color-bg-gray);
  border-radius: 0.4rem;
  box-shadow: 0 0 1rem 0 var(--shadowColor);
}

.c-form-user__textarea textarea, .c-form-user__input input:not([type]),
.c-form-user__input input[type=text],
.c-form-user__input input[type=password],
.c-form-user__input input[type=tel],
.c-form-user__input input[type=email] {
  display: inline-block;
  inline-size: 100%;
  padding-block: 0.8rem;
  padding-inline: 1.6rem;
  background: var(--color-lightest);
  border: 1px solid var(--color-line-gray);
  border-radius: 0.2rem;
}
@media (max-width: 767px) {
  .c-form-user__textarea textarea, .c-form-user__input input:not([type]),
  .c-form-user__input input[type=text],
  .c-form-user__input input[type=password],
  .c-form-user__input input[type=tel],
  .c-form-user__input input[type=email] {
    inline-size: 100%;
    padding-block: 1.3rem;
    font-size: 1.6rem;
  }
  .c-form-user__textarea textarea[size], .c-form-user__input input[size]:not([type]),
  .c-form-user__input input[size][type=text],
  .c-form-user__input input[size][type=password],
  .c-form-user__input input[size][type=tel],
  .c-form-user__input input[size][type=email] {
    inline-size: 100%;
  }
  .c-form-user__textarea textarea[maxlength="3"], .c-form-user__input input[maxlength="3"]:not([type]),
  .c-form-user__input input[maxlength="3"][type=text],
  .c-form-user__input input[maxlength="3"][type=password],
  .c-form-user__input input[maxlength="3"][type=tel],
  .c-form-user__input input[maxlength="3"][type=email], .c-form-user__textarea textarea[maxlength="4"], .c-form-user__input input[maxlength="4"]:not([type]),
  .c-form-user__input input[maxlength="4"][type=text],
  .c-form-user__input input[maxlength="4"][type=password],
  .c-form-user__input input[maxlength="4"][type=tel],
  .c-form-user__input input[maxlength="4"][type=email], .c-form-user__textarea textarea[maxlength="5"], .c-form-user__input input[maxlength="5"]:not([type]),
  .c-form-user__input input[maxlength="5"][type=text],
  .c-form-user__input input[maxlength="5"][type=password],
  .c-form-user__input input[maxlength="5"][type=tel],
  .c-form-user__input input[maxlength="5"][type=email] {
    inline-size: auto;
  }
}
.c-form-user__textarea textarea[data-size=full], .c-form-user__input input[data-size=full]:not([type]),
.c-form-user__input input[data-size=full][type=text],
.c-form-user__input input[data-size=full][type=password],
.c-form-user__input input[data-size=full][type=tel],
.c-form-user__input input[data-size=full][type=email] {
  inline-size: 100%;
}

.c-form-user__radio-element input[type=radio], .c-form-user__radio-item input[type=radio] {
  position: relative;
  display: block;
  padding-inline-start: 2rem;
  line-height: 1;
  appearance: none;
}
.c-form-user__radio-element input[type=radio]::before, .c-form-user__radio-item input[type=radio]::before {
  position: absolute;
  inset-block-start: 0.1rem;
  inset-inline-start: 0;
  display: block;
  inline-size: 2rem;
  block-size: 2rem;
  content: "";
  background-color: var(--color-lightest);
  border: solid 1.5px var(--color-link);
  border-radius: 50%;
}
@media (max-width: 767px) {
  .c-form-user__radio-element input[type=radio]::before, .c-form-user__radio-item input[type=radio]::before {
    inset-block-start: 0;
  }
}
.c-form-user__radio-element input[type=radio]:checked::after, .c-form-user__radio-item input[type=radio]:checked::after {
  position: absolute;
  inset-block-start: 0.6rem;
  inset-inline-start: 0.5rem;
  display: block;
  inline-size: 1rem;
  block-size: 1rem;
  content: "";
  background-color: var(--color-link);
  border-radius: 50%;
}
@media (max-width: 767px) {
  .c-form-user__radio-element input[type=radio]:checked::after, .c-form-user__radio-item input[type=radio]:checked::after {
    inset-block-start: 0.5rem;
  }
}
.c-form-user__radio-element input[type=radio] + label, .c-form-user__radio-item input[type=radio] + label {
  display: inline-block;
  padding-inline-start: 0.4rem;
  font-weight: 500;
  cursor: pointer;
}
.c-form-user__radio-element input[type=radio] + label a, .c-form-user__radio-item input[type=radio] + label a {
  color: var(--color-link);
  text-decoration: underline;
}
@media (hover: hover) {
  .c-form-user__radio-element input[type=radio] + label a:hover, .c-form-user__radio-item input[type=radio] + label a:hover {
    text-decoration: none;
  }
}

.c-form-user__block-checkbox, .c-form-user__checkbox-item {
  position: relative;
  display: flex;
  align-items: center;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
}
.c-form-user__block-checkbox input, .c-form-user__checkbox-item input {
  display: block;
  padding: 0;
  padding-inline-start: 2.6rem;
  margin: 0;
  line-height: 1;
  vertical-align: middle;
  appearance: none;
  cursor: pointer;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
}
.c-form-user__block-checkbox input::before, .c-form-user__checkbox-item input::before, .c-form-user__block-checkbox input::after, .c-form-user__checkbox-item input::after {
  position: absolute;
  display: block;
  content: "";
}
.c-form-user__block-checkbox input::before, .c-form-user__checkbox-item input::before {
  inset-block-start: 0.1rem;
  inset-inline-start: 0.2rem;
  inline-size: 2rem;
  block-size: 2rem;
  background-color: var(--color-lightest);
  border: 1.5px solid var(--color-link);
  border-radius: 0.2rem;
}
.c-form-user__block-checkbox input::after, .c-form-user__checkbox-item input::after {
  inset-block-start: 0.65rem;
  inset-inline-start: 0.7rem;
  inline-size: 1.1rem;
  block-size: 0.6rem;
  border-block-end: 2px solid #fff;
  border-inline-start: 2px solid #fff;
  opacity: 0;
  transform: rotate(-45deg);
}
.c-form-user__block-checkbox input:checked::before, .c-form-user__checkbox-item input:checked::before {
  background-color: var(--color-link);
}
.c-form-user__block-checkbox input:checked::after, .c-form-user__checkbox-item input:checked::after {
  opacity: 1;
}
.c-form-user__block-checkbox label, .c-form-user__checkbox-item label {
  font-size: 1.6rem;
  font-weight: 500;
  cursor: pointer;
}
@media (max-width: 767px) {
  .c-form-user__block-checkbox label, .c-form-user__checkbox-item label {
    margin-block-start: 0.1rem;
    font-size: 1.4rem;
  }
}

.c-form-user__input select {
  padding-block: 0.8rem;
  padding-inline: 1.6rem 3.4rem;
  cursor: pointer;
  background: url("/images/parts/icon-ar-down.svg") no-repeat top calc(50% + 0.1rem) right 1rem/1rem;
  background-color: var(--color-lightest);
  border: 1px solid var(--color-line-gray);
  border-radius: 0.4rem;
}
@media (max-width: 767px) {
  .c-form-user__input select {
    padding-block: 1.3rem;
    font-size: 1.6rem;
  }
}
.c-form-user__input select:disabled {
  color: var(--color-text-gray);
  background-color: var(--color-bg-disabled);
  background-image: url("/images/parts/icon-ar-down-disabled.svg");
}

@media (max-width: 767px) {
  .c-form-user__heading {
    margin-block-end: 0.8rem;
  }
}
.c-form-user__heading-label {
  margin-inline-end: 0.8rem;
  font-size: 1.8rem;
  font-weight: 500;
}
@media (max-width: 767px) {
  .c-form-user__heading-label {
    font-size: 1.6rem;
  }
}
.c-form-user__heading-caption {
  display: block;
  margin-block-start: 0.4rem;
}
@media (max-width: 767px) {
  .c-form-user__heading-caption {
    display: inline-block;
    margin-block-start: 0;
    margin-inline-start: 0.4rem;
  }
}
.c-form-user__heading-sub {
  padding-inline: 0.8rem;
}
.c-form-user__contents {
  display: grid;
  grid-template-rows: 1fr auto;
  grid-template-columns: 28rem 1fr;
  padding-block-end: 1.6rem;
  padding-inline: 0.8rem;
  margin-block-end: 1.6rem;
  border-block-end: 0.05rem dashed var(--color-line-gray);
}
@media (max-width: 767px) {
  .c-form-user__contents {
    display: block;
    padding-inline: 0.4rem;
    font-size: 1.4rem;
  }
}
.c-form-user__mail {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  align-items: center;
}
@media (max-width: 767px) {
  .c-form-user__mail {
    display: block;
  }
}
.c-form-user__mail-input {
  font-size: 1.8rem;
  font-weight: 500;
}
@media (max-width: 767px) {
  .c-form-user__mail-input {
    margin-block-end: 0.8rem;
    font-size: 1.6rem;
  }
}
.c-form-user__attention {
  grid-column-start: 2;
  margin-block-start: 0.8rem;
}
@media (max-width: 767px) {
  .c-form-user__attention {
    margin-block-start: 0.4rem;
  }
}
.c-form-user__attention-comments {
  font-size: 1.4rem;
  color: var(--color-text-gray);
}
@media (max-width: 767px) {
  .c-form-user__attention-comments {
    font-size: 1.2rem;
  }
}
.c-form-user__attention-comments li {
  display: grid;
  grid-template-columns: 1em 1fr;
  gap: 0.2rem;
  margin-block-end: 0.2rem;
}
.c-form-user__attention-comments li:last-child {
  margin-block-end: 0;
}
.c-form-user__attention-notes {
  padding: 1.6rem;
  margin-block-start: 0.8rem;
  background: var(--color-bg-gray);
  border-radius: 0.4rem;
}
.c-form-user__attention-notes a {
  color: var(--color-link);
  text-decoration: underline;
}
@media (hover: hover) {
  .c-form-user__attention-notes a:hover {
    text-decoration: none;
  }
}
.c-form-user__attention-notes-head {
  margin-block-end: 0.8rem;
  font-weight: 500;
}
.c-form-user__attention-notes ol {
  counter-reset: list-count;
}
.c-form-user__attention-notes ol li {
  display: grid;
  grid-template-columns: 1.7em 1fr;
  margin-block-end: 0.4rem;
  counter-increment: list-count;
}
.c-form-user__attention-notes ol li:last-child {
  margin-block-end: 0;
}
.c-form-user__attention-notes ol li::before {
  font-family: var(--font-family-secondary);
  content: counter(list-count, decimal-leading-zero) ".";
}
.c-form-user__information {
  display: grid;
  flex: 1 0 0;
  gap: 0.8rem;
  padding-inline-start: 0.8rem;
}
@media (max-width: 767px) {
  .c-form-user__information {
    padding-inline: 0.4rem;
  }
}
.c-form-user__information-element {
  display: flex;
  flex-wrap: wrap;
  font-size: 1.8rem;
  font-weight: 500;
}
@media (max-width: 767px) {
  .c-form-user__information-element {
    font-size: 1.6rem;
  }
}
.c-form-user__col {
  display: flex;
  gap: 0.8rem;
  align-items: center;
  margin-block-end: 0.8rem;
}
@media (max-width: 767px) {
  .c-form-user__col {
    display: block;
  }
}
.c-form-user__attachment {
  font-weight: 500;
}
@media (max-width: 767px) {
  .c-form-user__attachment {
    margin-block: 0.8rem 0.8rem;
  }
}
.c-form-user__wrapper {
  padding-inline: 2.4rem 1.8rem;
}
@media (max-width: 767px) {
  .c-form-user__wrapper {
    padding-inline-end: 1.2rem;
  }
}
.c-form-user__checkbox {
  display: grid;
  gap: 0.8rem;
}
.c-form-user__checkbox-item:last-child {
  margin-block-end: 0;
}
.c-form-user__lower {
  padding-block-start: 1.6rem;
  border-block-start: 1px solid var(--color-line-gray);
}
.c-form-user__radio-item {
  padding-block-end: 1.6rem;
  padding-inline: 0.8rem;
  margin-block-end: 1.6rem;
  border-block-end: 0.05rem dashed var(--color-line-gray);
}
.c-form-user__radio-item:last-child {
  margin-block-end: 0;
}
.c-form-user__radio-input {
  display: inline-flex;
  justify-content: flex-start;
}
.c-form-user__radio-block {
  padding-block-start: 1rem;
}
.c-form-user__radio-element {
  margin-block-end: 1.6rem;
}
.c-form-user__radio-element:last-child {
  margin-block-end: 0;
}
.c-form-user__radio-element-text {
  padding-inline-start: 2.4rem;
  margin-block-start: 0.8rem;
  font-size: 1.4rem;
}
@media (max-width: 767px) {
  .c-form-user__radio-element-text {
    font-size: 1.2rem;
  }
}
.c-form-user__radio-caption {
  align-items: center;
  margin-inline-start: 1.6rem;
  font-size: 1.4rem;
  line-height: 1.6;
  color: var(--color-text-gray);
}
@media (max-width: 767px) {
  .c-form-user__radio-caption {
    font-size: 1.2rem;
  }
}
.c-form-user__radio-caption[data-color=red] {
  color: var(--color-more-emphasis);
}
.c-form-user__radio-caption > span {
  display: inline-block;
  margin-inline-start: 0.4rem;
  font-family: var(--font-family-secondary);
  font-size: 1.4rem;
}
@media (max-width: 767px) {
  .c-form-user__radio-caption > span {
    font-size: 1.2rem;
  }
}
.c-form-user__radio-caption > span span {
  margin-inline-end: 0.2rem;
  font-family: var(--font-family-secondary);
  font-size: 1.2rem;
}
@media (max-width: 767px) {
  .c-form-user__radio-caption > span span {
    font-size: 1rem;
  }
}
.c-form-user__radio-shipping {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem 1.6rem;
  margin-block-start: 1.6rem;
}
.c-form-user__radio-shipping-date, .c-form-user__radio-shipping-time {
  display: flex;
  gap: 0.8rem;
  align-items: center;
}
@media (max-width: 767px) {
  .c-form-user__radio-shipping-date label, .c-form-user__radio-shipping-time label {
    min-inline-size: 4em;
  }
}
.c-form-user__radio-notes {
  display: grid;
  gap: 0.8rem;
  margin-block-start: 0.8rem;
  font-size: 1.4rem;
  color: var(--color-text-gray);
}
@media (max-width: 767px) {
  .c-form-user__radio-notes {
    font-size: 1.2rem;
  }
}
.c-form-user__radio-notes li {
  display: grid;
  grid-template-columns: 1em 1fr;
}
.c-form-user__block {
  display: block;
  padding-inline: 0.8rem;
}
.c-form-user__block-text {
  margin-block-end: 1.6rem;
  font-size: 1.4rem;
}
@media (max-width: 767px) {
  .c-form-user__block-text {
    font-size: 1.2rem;
  }
}
.c-form-user__block-col {
  display: flex;
  gap: 0.8rem;
  align-items: center;
}
@media (max-width: 767px) {
  .c-form-user__block-col {
    align-items: flex-start;
  }
}
.c-form-user__magazine {
  display: flex;
  gap: 1.6rem;
  align-items: center;
  margin-block-end: 1.6rem;
}
.c-form-user__magazine-head {
  font-size: 1.8rem;
  font-weight: 500;
}
@media (max-width: 767px) {
  .c-form-user__magazine-head {
    font-size: 1.6rem;
  }
}
.c-form-user__input {
  display: flex;
  flex: 1 0 0;
  flex-wrap: wrap;
  gap: 0.4rem 0;
  align-items: center;
}
.c-form-user__input input[type=tel],
.c-form-user__input input[size] {
  inline-size: auto;
}
.c-form-user__input-hyphen {
  display: inline-block;
  margin-inline: 0.8rem 0.6rem;
  font-size: 1.8rem;
}
.c-form-user__input-after {
  display: flex;
  gap: 0.2rem;
  margin-inline-start: 0.4rem;
  font-size: 1.4rem;
  color: var(--color-text-gray);
}
.c-form-user__input-text {
  display: grid;
  grid-template-columns: 1em 1fr;
  gap: 0.2rem;
  padding-block-start: 0.8rem;
  margin-inline-start: 0.4rem;
  font-size: 1.4rem;
  color: var(--color-text-gray);
}
@media (max-width: 767px) {
  .c-form-user__input-text {
    padding-block-start: 0;
    margin-inline-start: 0;
    font-size: 1.2rem;
  }
}
.c-form-user__textarea textarea {
  block-size: 10rem;
}
@media (max-width: 767px) {
  .c-form-user__textarea textarea {
    block-size: 8rem;
  }
}
.c-form-user__required {
  display: inline-block;
  min-inline-size: 3.6rem;
  padding-block: 0.15rem;
  padding-inline: 0.4rem;
  font-size: 1.4rem;
  color: var(--color-lightest);
  background-color: var(--color-more-emphasis);
}
@media (max-width: 767px) {
  .c-form-user__required {
    min-inline-size: 3.2rem;
    font-size: 1.2rem;
  }
}
.c-form-user__error {
  display: grid;
  grid-template-columns: 1em 1fr;
  gap: 0.2rem;
  margin-block-start: 0.8rem;
  font-size: 1.4rem;
  font-weight: 500;
  color: var(--color-more-emphasis);
}
@media (max-width: 767px) {
  .c-form-user__error {
    margin-block-start: 0.4rem;
    font-size: 1.2rem;
  }
}
.c-form-user__agreement {
  margin-block-start: 4rem;
}
@media (max-width: 767px) {
  .c-form-user__agreement {
    margin-block-start: 1.6rem;
  }
}
.c-form-user__agreement-text {
  margin-block-end: 1.6rem;
  font-weight: 500;
  text-align: center;
}
@media (max-width: 767px) {
  .c-form-user__agreement-text {
    margin-block-end: 0.8rem;
    font-size: 1.4rem;
    text-align: start;
  }
}
.c-form-user__agreement-checkbox {
  display: flex;
  gap: 1rem;
  align-items: center;
  justify-content: center;
}
.c-form-user__notice {
  block-size: 15rem;
  padding-block-start: 1.6rem;
  padding-inline: 2.4rem;
  margin-block-end: 1.6rem;
  background: var(--color-bg-gray);
}
@media (max-width: 767px) {
  .c-form-user__notice {
    padding-inline: 1.6rem;
    margin-block-end: 0.8rem;
  }
}
.c-form-user__notice-head {
  margin-block-end: 0.8rem;
  font-weight: 500;
}
@media (max-width: 767px) {
  .c-form-user__notice-head {
    font-size: 1.4rem;
  }
}
.c-form-user__notice-content {
  block-size: 11.8rem;
  padding-inline-end: 1.4rem;
  overflow: hidden auto;
}
.c-form-user__notice-content .simplebar-scrollbar::before {
  background-color: var(--color-text-gray);
}
.c-form-user__notice-content .simplebar-track.simplebar-vertical {
  inline-size: 1.2rem;
}
.c-form-user__notice-content .simplebar-track {
  inline-size: 0.6rem;
  background: var(--color-lightest);
}
.c-form-user__notice-content .simplebar-scrollbar {
  inset-block-start: 0;
  inset-inline-end: 2px;
  background: var(--color-text-gray);
  border-radius: 0.6rem;
}
.c-form-user__notice-body {
  padding-block-end: 1.6rem;
  font-size: 1.4rem;
}
@media (max-width: 767px) {
  .c-form-user__notice-body {
    font-size: 1.2rem;
  }
}
.c-form-user__submit {
  display: flex;
  flex-wrap: wrap;
  gap: 1.6rem;
  align-items: center;
  justify-content: center;
  margin-block-start: 4rem;
}
@media (max-width: 767px) {
  .c-form-user__submit {
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
    align-items: flex-start;
    inline-size: 100%;
    margin-block-start: 3.2rem;
    margin-inline: auto;
  }
}
.c-form-user__submit-back {
  justify-self: start;
}
@media (max-width: 767px) {
  .c-form-user__submit-back {
    order: 1;
  }
}
.c-form-user__submit-back-element {
  display: flex;
  gap: 0.3rem;
  align-items: center;
  font-weight: 500;
}
@media (max-width: 767px) {
  .c-form-user__submit-back-element {
    font-size: 1.4rem;
  }
}
.c-form-user__submit-back-element::before {
  inset-inline-end: 2.2rem;
  display: block;
  inline-size: 1.5rem;
  block-size: 1.5rem;
  content: "";
  background: url("/images/parts/icon-ar-circle-back.svg") no-repeat center center;
  background-size: 100% auto;
}
.c-form-user__submit-button {
  display: flex;
  grid-column: 2;
  justify-self: center;
}
@media (max-width: 767px) {
  .c-form-user__submit-button {
    justify-content: center;
    order: 0;
    inline-size: 100%;
  }
}
.c-form-user__submit-button-element {
  position: relative;
  display: block;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  min-inline-size: 27.4rem;
  max-inline-size: 55.2rem;
  padding-block: 1.6rem;
  padding-inline: 2.4rem 4.2rem;
  font-weight: 500;
  color: var(--color-lightest);
  text-align: center;
  background-color: var(--color-link-emphasis);
  background-image: url("/images/parts/icon-ar-link-white.svg");
  background-repeat: no-repeat;
  background-position: right 2.2rem center;
  background-size: 1rem auto;
  border: 1.5px solid var(--color-link-emphasis);
  border-radius: 0.4rem;
}
@media (max-width: 767px) {
  .c-form-user__submit-button-element {
    inline-size: 100%;
    font-size: 1.4rem;
  }
}
.c-form-user__postcode-button {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  padding-block: 0.4rem;
  padding-inline: 1.2rem 2.2rem;
  margin-inline-start: 1.6rem;
  font-size: 1.4rem;
  color: var(--color-link);
  cursor: pointer;
  background-color: var(--color-lightest);
  border: 1px solid currentcolor;
  border-radius: 0.4rem;
}
@media (max-width: 767px) {
  .c-form-user__postcode-button {
    font-size: 1.2rem;
  }
}
.c-form-user__postcode-button::after {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-end: 0.8rem;
  display: block;
  inline-size: 0.7rem;
  block-size: 1rem;
  content: "";
  background: url("/images/parts/icon-ar-link-small.svg") no-repeat center center;
  background-size: 100% auto;
  transform: translate(0, -50%);
}

@media (max-width: 767px) {
  .c-confirm-user__heading {
    margin-block-end: 0.8rem;
  }
}
.c-confirm-user__heading-label {
  margin-inline-end: 0.8rem;
  font-size: 1.8rem;
  font-weight: 500;
}
@media (max-width: 767px) {
  .c-confirm-user__heading-label {
    font-size: 1.6rem;
  }
}
.c-confirm-user__heading-caption {
  display: block;
  margin-block-start: 0.4rem;
}
@media (max-width: 767px) {
  .c-confirm-user__heading-caption {
    display: inline-block;
    margin-block-start: 0;
    margin-inline-start: 0.4rem;
  }
}
.c-confirm-user__block {
  display: grid;
  grid-template-rows: 1fr auto;
  grid-template-columns: 28rem 1fr;
  align-items: center;
  padding-block-end: 1.6rem;
  padding-inline: 0.8rem;
  margin-block-end: 1.6rem;
  border-block-end: 0.05rem dashed var(--color-line-gray);
}
@media (max-width: 767px) {
  .c-confirm-user__block {
    display: block;
    padding-inline: 0.4rem;
    font-size: 1.4rem;
  }
}
.c-confirm-user__content {
  font-size: 1.8rem;
  font-weight: 500;
}
@media (max-width: 767px) {
  .c-confirm-user__content {
    font-size: 1.6rem;
  }
}
.c-confirm-user__recaptcha {
  margin-block-end: 4rem;
}
.c-confirm-user__recaptcha > img {
  display: block;
  margin-inline: auto;
}
.c-confirm-user__submit {
  display: flex;
  flex-wrap: wrap;
  gap: 1.6rem;
  align-items: center;
  justify-content: center;
  margin-block-start: 4rem;
}
@media (max-width: 767px) {
  .c-confirm-user__submit {
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
    align-items: flex-start;
    inline-size: 100%;
    margin-block-start: 3.2rem;
    margin-inline: auto;
  }
}
.c-confirm-user__submit-back {
  display: flex;
}
@media (max-width: 767px) {
  .c-confirm-user__submit-back {
    justify-content: center;
    order: 1;
    inline-size: 100%;
  }
}
.c-confirm-user__submit-back > * {
  min-inline-size: 27.4rem;
}
@media (max-width: 767px) {
  .c-confirm-user__submit-back > * {
    inline-size: 100%;
  }
}
.c-confirm-user__submit-button {
  display: flex;
}
@media (max-width: 767px) {
  .c-confirm-user__submit-button {
    justify-content: center;
    order: 0;
    inline-size: 100%;
  }
}
.c-confirm-user__submit-button-element {
  position: relative;
  display: block;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  min-inline-size: 27.4rem;
  max-inline-size: 55.2rem;
  padding-block: 1.6rem;
  padding-inline: 2.4rem 4.2rem;
  font-weight: 500;
  color: var(--color-lightest);
  text-align: center;
  background-color: var(--color-link-emphasis);
  background-image: url("/images/parts/icon-ar-link-white.svg");
  background-repeat: no-repeat;
  background-position: right 2.2rem center;
  background-size: 1rem auto;
  border: 1.5px solid var(--color-link-emphasis);
  border-radius: 0.4rem;
  transition: 300ms;
}
@media (max-width: 767px) {
  .c-confirm-user__submit-button-element {
    inline-size: 100%;
    font-size: 1.4rem;
  }
}
@media (hover: hover) {
  .c-confirm-user__submit-button-element:hover {
    background-color: var(--color-black);
  }
}

.c-purchasing-line {
  padding-block: 2.4rem;
  padding-inline: 2rem;
  background: var(--color-bg-gray-02);
  border-radius: 0.4rem;
}
@media (max-width: 767px) {
  .c-purchasing-line {
    padding-block: 1.6rem 2.4rem;
  }
}
.c-purchasing-line__heading {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-block-end: 2.4rem;
  font-size: 2rem;
  font-weight: 500;
}
@media (max-width: 767px) {
  .c-purchasing-line__heading {
    margin-block-end: 1.6rem;
    font-size: 1.8rem;
  }
}
.c-purchasing-line__button {
  display: flex;
  gap: 1.6rem;
  justify-content: center;
}
@media (max-width: 767px) {
  .c-purchasing-line__button {
    flex-direction: column;
    gap: 2.4rem;
    align-items: center;
  }
}
.c-purchasing-line__button-element {
  inline-size: 100%;
  max-inline-size: 30rem;
}
.c-purchasing-line__button-cv, .c-purchasing-line__button-mypage, .c-purchasing-line__button-toppage {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  inline-size: 100%;
  max-inline-size: 55.2rem;
  padding-block: 1.6rem;
  padding-inline: 4.5rem 4.2rem;
  font-weight: 500;
  color: var(--color-link);
  background-color: var(--color-lightest);
  border: 1.5px solid currentcolor;
  border-radius: 0.4rem;
  transition: 300ms;
}
@media (max-width: 767px) {
  .c-purchasing-line__button-cv, .c-purchasing-line__button-mypage, .c-purchasing-line__button-toppage {
    font-size: 1.4rem;
  }
}
.c-purchasing-line__button-mypage::before, .c-purchasing-line__button-toppage::before {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 1.6rem;
  display: block;
  inline-size: 2.3rem;
  block-size: 1.8rem;
  content: "";
  background: no-repeat center center;
  background-size: 100% auto;
  transition: 300ms;
  transform: translate(0, -50%);
}
.c-purchasing-line__button-mypage::after, .c-purchasing-line__button-toppage::after {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-end: 2.2rem;
  display: block;
  inline-size: 1rem;
  block-size: 1.7rem;
  content: "";
  background: url("/images/parts/icon-ar-link.svg") no-repeat center center;
  background-size: 100% auto;
  transition: 300ms;
  transform: translate(0, -50%);
}
@media (hover: hover) {
  .c-purchasing-line__button-mypage:hover, .c-purchasing-line__button-toppage:hover {
    color: var(--color-lightest);
    background-color: var(--color-link);
  }
  .c-purchasing-line__button-mypage:hover::after, .c-purchasing-line__button-toppage:hover::after {
    background-image: url("/images/parts/icon-ar-link-white.svg");
  }
}
.c-purchasing-line__button-cv {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  inline-size: 100%;
  max-inline-size: 55.2rem;
  padding-block: 1.4rem;
  padding-inline: 4.2rem 2.4rem;
  font-size: 2rem;
  font-weight: 500;
  color: var(--color-lightest);
  background-color: var(--color-conversion);
  background-image: url("/images/parts/icon-cart-white.svg");
  background-repeat: no-repeat;
  background-position: 3.2rem center;
  background-size: 2.1rem auto;
  border: 1.5px solid var(--color-conversion);
  border-radius: 0.4rem;
}
@media (max-width: 767px) {
  .c-purchasing-line__button-cv {
    font-size: 1.8rem;
  }
}
@media (hover: hover) {
  .c-purchasing-line__button-cv:hover {
    background-color: var(--color-conversion-hover);
  }
}
.c-purchasing-line__button-mypage::before {
  inline-size: 2rem;
  block-size: 2.1rem;
  content: "";
  background-image: url("/images/parts/icon-my-page-blue.svg");
}
@media (hover: hover) {
  .c-purchasing-line__button-mypage:hover::before {
    background-image: url("/images/parts/icon-my-page-white.svg");
  }
}
.c-purchasing-line__button-toppage::before {
  inline-size: 2.2rem;
  block-size: 2.1rem;
  content: "";
  background-image: url("/images/parts/icon-toppage.svg");
}
@media (hover: hover) {
  .c-purchasing-line__button-toppage:hover::before {
    background-image: url("/images/parts/icon-toppage-white.svg");
  }
}

.c-scroll-top {
  position: fixed;
  inset-block-end: 4rem;
  inset-inline-end: 4rem;
  z-index: 9;
}
@media (max-width: 767px) {
  .c-scroll-top {
    inset-inline-end: 0.8rem;
  }
}
@media (max-width: 767px) {
  body:has(.c-product-detail__info-submit-sp-follow) .c-scroll-top {
    inset-block-end: 10rem;
  }
}
.c-scroll-top a {
  display: flex;
  align-items: center;
  justify-content: center;
  inline-size: 5.2rem;
  block-size: 5.2rem;
  background-color: var(--color-darkest);
  border: 2px solid var(--color-lightest);
  border-radius: 9999px;
  transition: background-color 300ms;
}
@media (hover) {
  .c-scroll-top a:hover {
    background-color: var(--color-link);
  }
}
.c-scroll-top img {
  display: block;
  inline-size: 100%;
  block-size: auto;
}

.c-back-link {
  font-size: 1.6rem;
}
@media (max-width: 767px) {
  .c-back-link {
    font-size: 1.4rem;
  }
}
.c-back-link a {
  display: flex;
  gap: 0.3rem;
  align-items: center;
  font-weight: 500;
}
.c-back-link a::before {
  inset-inline-end: 2.2rem;
  display: block;
  inline-size: 1.5rem;
  block-size: 1.5rem;
  content: "";
  background: url("/images/parts/icon-ar-circle-back.svg") no-repeat center center;
  background-size: 100% auto;
}
@media (hover: hover) {
  .c-back-link a:hover {
    text-decoration: underline;
  }
}

.c-mypage-notices-check__wrapper {
  padding-block: 1.2rem 1.2rem;
  padding-inline: 1.6rem;
  background-color: var(--color-bg-gray-02);
  border: 1px solid var(--color-line-gray);
  border-radius: 0.4rem;
}
@media (max-width: 767px) {
  .c-mypage-notices-check__wrapper {
    padding: 1.6rem;
  }
}
.c-mypage-notices-check__caption {
  display: grid;
  grid-template-columns: 1em 1fr;
  gap: 0.2rem;
  padding-inline-start: 2rem;
  margin-block-start: 0.4rem;
  font-size: 1.4rem;
  font-weight: 500;
  color: var(--color-text-gray);
}
@media (max-width: 767px) {
  .c-mypage-notices-check__caption {
    padding-inline-end: 2rem;
    font-size: 1.2rem;
  }
}
.c-mypage-notices-check__heading {
  margin-block-end: 0.4rem;
  font-size: 2rem;
  font-weight: bold;
}
@media (max-width: 767px) {
  .c-mypage-notices-check__heading {
    margin-block-end: 0.8rem;
    font-size: 1.8rem;
  }
}
.c-mypage-notices-check__element {
  position: relative;
  display: flex;
  gap: 1.6rem;
  padding-block-end: 0.8rem;
  padding-inline: 0.4rem;
  margin-block-end: 0.8rem;
  font-size: 1.4rem;
  border-block-end: 1px solid var(--color-line-gray);
}
@media (max-width: 767px) {
  .c-mypage-notices-check__element {
    flex-direction: column;
    gap: 0.4rem;
  }
}
.c-mypage-notices-check__element:last-child {
  padding-block-end: 0;
  margin-block-end: 0;
  border: 0;
}
.c-mypage-notices-check__content {
  display: flex;
  flex: 1 0 0;
  align-items: center;
}
@media (max-width: 767px) {
  .c-mypage-notices-check__content {
    flex-direction: column;
    gap: 0.4rem;
    align-items: flex-start;
  }
}
.c-mypage-notices-check__time {
  display: grid;
  grid-template-columns: 8.3rem 0.8rem;
  gap: 0.8rem;
  align-items: center;
  margin-inline-end: 0.8rem;
  font-family: var(--font-family-secondary);
}
@media (max-width: 767px) {
  .c-mypage-notices-check__time {
    grid-template-columns: none;
    margin-inline-end: 0;
    word-break: break-word;
  }
}
.c-mypage-notices-check__time::after {
  grid-template-columns: subgrid;
  inline-size: 0.8rem;
  block-size: 0.1rem;
  content: "";
  background: currentcolor;
}
@media (max-width: 767px) {
  .c-mypage-notices-check__time::after {
    display: none;
    inline-size: 0.4rem;
  }
}
.c-mypage-notices-check__title {
  flex: 1 0 0;
}
.c-mypage-notices-check__check {
  display: flex;
  gap: 0.4rem;
  align-items: center;
  inline-size: 9.8rem;
}
@media (max-width: 767px) {
  .c-mypage-notices-check__check {
    margin-inline: auto;
  }
}
.c-mypage-notices-check__check-input {
  position: relative;
  display: flex;
  align-items: center;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  block-size: 2.1rem;
}
.c-mypage-notices-check__check-input input {
  display: block;
  padding: 0;
  padding-inline-start: 2.6rem;
  margin: 0;
  line-height: 1;
  vertical-align: middle;
  appearance: none;
  cursor: pointer;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
}
.c-mypage-notices-check__check-input input::before, .c-mypage-notices-check__check-input input::after {
  position: absolute;
  display: block;
  content: "";
}
.c-mypage-notices-check__check-input input::before {
  inset-block-start: 0.1rem;
  inset-inline-start: 0.2rem;
  inline-size: 2rem;
  block-size: 2rem;
  background-color: var(--color-lightest);
  border: 1.5px solid var(--color-link);
  border-radius: 0.2rem;
}
.c-mypage-notices-check__check-input input::after {
  inset-block-start: 0.65rem;
  inset-inline-start: 0.7rem;
  inline-size: 1.1rem;
  block-size: 0.6rem;
  border-block-end: 2px solid #fff;
  border-inline-start: 2px solid #fff;
  opacity: 0;
  transform: rotate(-45deg);
}
.c-mypage-notices-check__check-input input:checked::before {
  background-color: var(--color-link);
}
.c-mypage-notices-check__check-input input:checked::after {
  opacity: 1;
}
.c-mypage-notices-check__check-input label {
  position: absolute;
  inline-size: 0.1rem;
  block-size: 0.1rem;
  padding: 0;
  overflow: hidden;
  clip: rect(0.1rem, 0.1rem, 0.1rem, 0.1rem);
  clip-path: inset(0 0 99.9% 99.9%);
  border: 0;
}
.c-mypage-notices-check__check-button {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  padding-block: 0.4rem;
  padding-inline: 1.2rem 2.2rem;
  font-size: 1.4rem;
  color: var(--color-link);
  background-color: var(--color-lightest);
  background-image: url("/images/parts/icon-ar-link-small.svg");
  background-repeat: no-repeat;
  background-position: right 0.8rem center;
  background-size: 0.7rem auto;
  border: 1px solid currentcolor;
  border-radius: 0.4rem;
  transition: 300ms;
}
@media (max-width: 767px) {
  .c-mypage-notices-check__check-button {
    font-size: 1.2rem;
  }
}
@media (hover: hover) {
  .c-mypage-notices-check__check-button:hover {
    color: var(--color-lightest);
    background-color: var(--color-link);
    background-image: url("/images/parts/icon-ar-bold-white.svg");
  }
}

.c-alert-order {
  background: var(--color-bg-red);
  border: 1px solid var(--color-more-emphasis);
  border-radius: 0.4rem;
}
.c-alert-order__links {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 0 2.4rem;
  align-items: center;
  justify-content: center;
  padding-block: 1.6rem;
  padding-inline: 8rem;
  cursor: pointer;
  transition: 300ms;
}
@media (max-width: 767px) {
  .c-alert-order__links {
    display: block;
    padding: 1.6rem;
  }
}
.c-alert-order__links::after {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-end: 3.2rem;
  display: block;
  inline-size: 4rem;
  block-size: 4rem;
  content: "";
  background: url("/images/parts/icon-ar-circle-red.svg") no-repeat center center/100% auto;
  transition: 300ms;
  transform: translate(0, -50%);
}
@media (max-width: 767px) {
  .c-alert-order__links::after {
    display: none;
  }
}
@media (hover: hover) {
  .c-alert-order__links:hover {
    color: var(--color-lightest);
    background-color: var(--color-more-emphasis);
  }
  .c-alert-order__links:hover .c-alert-order__head {
    color: var(--color-lightest);
  }
  .c-alert-order__links:hover::after {
    background-image: url("/images/parts/icon-ar-circle-red-hover.svg");
  }
}
.c-alert-order__links input[type=submit] {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}
.c-alert-order__head {
  position: relative;
  display: block;
  padding-block: 1.1rem;
  padding-inline-start: 5rem;
  font-size: 2rem;
  font-weight: bold;
  color: var(--color-more-emphasis);
  background: url("/images/parts/icon-mypage-payment.svg") no-repeat left center/4rem auto;
  transition: color 300ms;
}
@media (max-width: 767px) {
  .c-alert-order__head {
    padding-block: 0 0.8rem;
    padding-inline: 3rem 3.2rem;
    margin-block-end: 0.8rem;
    font-size: 1.8rem;
    background-position: 0.2rem 0.2rem;
    background-size: 2.2rem auto;
    border-block-end: 1px solid var(--color-line-gray);
  }
}
@media (max-width: 767px) {
  .c-alert-order__head::after {
    position: absolute;
    inset-block-start: calc(50% - 0.4rem);
    inset-inline-end: 0.1rem;
    display: block;
    inline-size: 2.2rem;
    block-size: 2.2rem;
    content: "";
    background: url("/images/parts/icon-ar-circle-red.svg") no-repeat center center/100% auto;
    transform: translate(0, -50%);
  }
}
.c-alert-order__text {
  display: block;
  font-weight: 500;
}
@media (max-width: 767px) {
  .c-alert-order__text {
    font-size: 1.2rem;
  }
}

.c-usable-point {
  padding: 2.4rem;
  background: var(--color-bg-red);
  border-radius: 0.4rem;
}
@media (max-width: 767px) {
  .c-usable-point {
    padding: 1.6rem;
  }
}
.c-usable-point__point {
  display: flex;
  gap: 0.4rem 1.6rem;
  align-items: center;
  justify-content: center;
}
@media (max-width: 767px) {
  .c-usable-point__point {
    flex-direction: column;
    gap: 0.4rem;
  }
}
.c-usable-point__point-label {
  display: flex;
  gap: 0.2rem;
  align-items: center;
  font-size: 2.8rem;
  font-weight: bold;
}
@media (max-width: 767px) {
  .c-usable-point__point-label {
    font-size: 2rem;
  }
}
@media (max-width: 767px) {
  .c-usable-point__point-label img {
    inline-size: 2.2rem;
    block-size: 2.2rem;
  }
}
.c-usable-point__point-cont {
  font-family: var(--font-family-secondary);
  font-size: 3.2rem;
  font-weight: 600;
  color: var(--color-more-emphasis);
}
@media (max-width: 767px) {
  .c-usable-point__point-cont {
    font-size: 2.8rem;
  }
}
.c-usable-point__point-cont span {
  margin-inline-start: 0.4rem;
  font-size: 1.6rem;
}
@media (max-width: 767px) {
  .c-usable-point__point-cont span {
    font-size: 1.4rem;
  }
}
.c-usable-point__expiry {
  display: flex;
  gap: 0.4rem 1.6rem;
  align-items: center;
  justify-content: center;
  padding-block: 0.8rem;
  padding-inline: 2.4rem;
  margin-block-end: 1.6rem;
  background: var(--color-lightest);
}
@media (max-width: 767px) {
  .c-usable-point__expiry {
    flex-direction: column;
    margin-block-end: 0.8rem;
  }
}
.c-usable-point__expiry-point {
  display: flex;
  gap: 0.4rem 0.8rem;
  align-items: center;
  font-family: var(--font-family-secondary);
  font-size: 2.6rem;
  font-weight: 600;
}
@media (max-width: 767px) {
  .c-usable-point__expiry-point {
    flex-direction: column;
    margin-block-end: 0.4rem;
    font-size: 2.4rem;
  }
}
.c-usable-point__expiry-point-label {
  font-size: 1.8rem;
  font-weight: 500;
}
@media (max-width: 767px) {
  .c-usable-point__expiry-point-label {
    font-size: 1.4rem;
  }
}
.c-usable-point__expiry-point-cont span {
  margin-inline-start: 0.4rem;
  font-size: 1.6rem;
}
.c-usable-point__expiry-date {
  display: flex;
  padding-inline-start: 1.6rem;
  font-size: 1.4rem;
  font-weight: 500;
  border-inline-start: 1px solid var(--color-line-gray);
}
@media (max-width: 767px) {
  .c-usable-point__expiry-date {
    padding-inline-start: 0;
    font-size: 1.2rem;
    border-inline-start: none;
  }
}
.c-usable-point__expiry-date-cont {
  color: var(--color-more-emphasis);
}
.c-usable-point__caption li {
  display: grid;
  grid-template-columns: 1em 1fr;
  gap: 0.2rem;
  margin-block-end: 0.4rem;
  font-size: 1.4rem;
  font-weight: 500;
  color: var(--color-text-gray);
}
@media (max-width: 767px) {
  .c-usable-point__caption li {
    font-size: 1.2rem;
  }
}
.c-usable-point__caption li:last-child {
  margin-block-end: 0;
}

.c-mypage-nav__body {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.4rem;
}
@media (max-width: 767px) {
  .c-mypage-nav__body {
    grid-template-columns: auto;
  }
}
.c-mypage-nav__block {
  padding: 2.4rem;
  background: var(--color-bg-gray-02);
  border: 1px solid var(--color-line-gray);
  border-radius: 0.4rem;
}
@media (max-width: 767px) {
  .c-mypage-nav__block {
    padding: 1.6rem;
  }
}
@media (max-width: 767px) {
  .c-mypage-nav__header {
    position: relative;
    display: flex;
    gap: 0.8rem;
    align-items: center;
    padding-block-end: 0.8rem;
    margin-block-end: 0.8rem;
    border-block-end: 1px solid var(--color-line-gray);
  }
}
.c-mypage-nav__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  block-size: 4.8rem;
  margin-block-end: 0.8rem;
}
@media (max-width: 767px) {
  .c-mypage-nav__icon {
    inline-size: 2.4rem;
    block-size: 2.4rem;
    margin-block-end: 0;
  }
  .c-mypage-nav__icon img {
    inline-size: 2.4rem;
    block-size: auto;
  }
}
.c-mypage-nav__title {
  margin-block-end: 1.6rem;
  text-align: center;
}
@media (max-width: 767px) {
  .c-mypage-nav__title {
    inline-size: 100%;
    margin-block-end: 0;
    text-align: start;
  }
}
.c-mypage-nav__title-links {
  display: block;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  padding-inline-end: 3rem;
  margin-inline: auto;
  font-size: 2rem;
  font-weight: bold;
  color: var(--color-link);
  white-space: normal;
  background: url("/images/parts/icon-ar-circle.svg") no-repeat right center/2.2rem auto;
}
@media (hover: hover) {
  .c-mypage-nav__title-links:hover {
    text-decoration: underline;
  }
}
@media (max-width: 767px) {
  .c-mypage-nav__title-links {
    inline-size: 100%;
    font-size: 1.8rem;
  }
}
.c-mypage-nav__text {
  font-weight: 500;
}
@media (max-width: 767px) {
  .c-mypage-nav__text {
    font-size: 1.2rem;
  }
}
.c-mypage-nav__text a {
  color: var(--color-link);
  text-decoration: underline;
}
@media (hover: hover) {
  .c-mypage-nav__text a:hover {
    text-decoration: none;
  }
}
.c-mypage-nav__amazonpay {
  display: flex;
  justify-content: center;
  margin-block-start: 1.6rem;
}

.c-mypage-mail {
  padding: 1.6rem;
  background: var(--color-bg-red);
  border-radius: 0.4rem;
}
.c-mypage-mail__label {
  margin-block-end: 0.4rem;
  font-weight: 500;
  text-align: center;
}
@media (max-width: 767px) {
  .c-mypage-mail__label {
    font-size: 1.4rem;
  }
}
.c-mypage-mail__cont {
  font-family: var(--font-family-secondary);
  font-size: 2.2rem;
  font-weight: 600;
  text-align: center;
}
@media (max-width: 767px) {
  .c-mypage-mail__cont {
    font-size: 2rem;
  }
}

.c-mypage-contact {
  padding-block: 3.2rem;
  padding-inline: 1.6rem;
  background: var(--color-bg-gray-02);
  border-radius: 0.4rem;
}
@media (max-width: 767px) {
  .c-mypage-contact {
    padding-block: 2rem 1.6rem;
  }
}
.c-mypage-contact__head {
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  padding-inline-start: 4.6rem;
  margin-block-end: 1.2rem;
  margin-inline: auto;
  font-size: 2.2rem;
  font-weight: bold;
  text-align: center;
  background: url("/images/parts/icon-mail-black.svg") no-repeat left center/3.6rem auto;
}
@media (max-width: 767px) {
  .c-mypage-contact__head {
    padding-inline-start: 4rem;
    font-size: 1.8rem;
    background-size: 3rem auto;
  }
}
.c-mypage-contact__text {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-block-end: 1.6rem;
  font-weight: 500;
}
@media (max-width: 767px) {
  .c-mypage-contact__text {
    font-size: 1.4rem;
  }
}
.c-mypage-contact__button {
  display: flex;
  justify-content: center;
}

.c-product-narrow-error {
  padding-block: 2.4rem 4rem;
  padding-inline: 2.4rem;
  background: var(--color-bg-red);
}
@media (max-width: 767px) {
  .c-product-narrow-error {
    padding-inline: 1.6rem;
    margin-block-start: 2.4rem;
  }
}
.c-product-narrow-error__head {
  margin-block-end: 2.4rem;
  font-size: 3.2rem;
  font-weight: bold;
}
@media (max-width: 767px) {
  .c-product-narrow-error__head {
    font-size: 2.4rem;
  }
}
.c-product-narrow-error__keyword {
  padding: 1.6rem;
  margin-block-end: 2.4rem;
  font-weight: 500;
  background: var(--color-lightest);
}
@media (max-width: 767px) {
  .c-product-narrow-error__keyword {
    font-size: 1.4rem;
  }
}
.c-product-narrow-error__keyword span {
  color: var(--color-more-emphasis);
}
@media (max-width: 767px) {
  .c-product-narrow-error__keyword span {
    display: block;
    inline-size: -moz-fit-content;
    inline-size: fit-content;
  }
}
.c-product-narrow-error__hint {
  margin-block-end: 1.6rem;
}
.c-product-narrow-error__hint-head {
  margin-block-end: 1.6rem;
  font-size: 3.2rem;
  font-weight: bold;
}
@media (max-width: 767px) {
  .c-product-narrow-error__hint-head {
    font-size: 2.4rem;
  }
}
.c-product-narrow-error__hint ul {
  list-style: none;
}
@media (max-width: 767px) {
  .c-product-narrow-error__hint ul {
    font-size: 1.4rem;
  }
}
.c-product-narrow-error__hint li {
  position: relative;
  padding-inline-start: 2.6rem;
  margin-block-end: 0.3rem;
  font-weight: 500;
}
.c-product-narrow-error__hint li:last-child {
  margin-block-end: 0;
}
.c-product-narrow-error__hint li::before {
  position: absolute;
  inset-block-start: 0.8rem;
  inset-inline-start: 0.8rem;
  display: block;
  inline-size: 0.8rem;
  block-size: 0.8rem;
  content: "";
  background: var(--color-link-emphasis);
  border-radius: 0.1rem;
}
@media (max-width: 767px) {
  .c-product-narrow-error__hint li::before {
    inset-block-start: 0.6rem;
  }
}
.c-product-narrow-error__faq {
  margin-block-end: 4rem;
  font-weight: 500;
}
@media (max-width: 767px) {
  .c-product-narrow-error__faq {
    margin-block-end: 3.2rem;
  }
}
.c-product-narrow-error__faq a {
  color: var(--color-link);
  text-decoration: underline;
}
@media (hover: hover) {
  .c-product-narrow-error__faq a:hover {
    text-decoration: none;
  }
}
.c-product-narrow-error__button {
  display: flex;
  justify-content: center;
}

.c-order-information__title {
  margin-block-end: 3.2rem;
  font-size: 3.2rem;
  font-weight: bold;
}
@media (max-width: 767px) {
  .c-order-information__title {
    font-size: 2.8rem;
  }
}
.c-order-information__nav {
  display: flex;
  gap: 0.8rem;
  align-items: center;
  margin-block-end: 4rem;
}
@media (max-width: 767px) {
  .c-order-information__nav {
    flex-direction: column;
    gap: 1.6rem;
    align-items: flex-start;
    margin-block-end: 3.2rem;
    font-size: 1.4rem;
  }
}
.c-order-information__nav-label {
  font-weight: 500;
}
.c-order-information__nav-label::after {
  content: "：";
}
.c-order-information__nav ul {
  display: flex;
  flex-wrap: wrap;
}
@media (max-width: 767px) {
  .c-order-information__nav ul {
    gap: 1.6rem 0;
  }
}
.c-order-information__nav ul li {
  display: flex;
  align-items: center;
}
.c-order-information__nav ul li:not(:last-child)::after {
  display: block;
  inline-size: 0.1rem;
  block-size: 1em;
  margin-inline: 1.6rem;
  content: "";
  background: var(--color-line-gray);
}
.c-order-information__nav ul li a {
  display: flex;
  gap: 0.3rem;
  align-items: center;
  font-size: 2rem;
  font-weight: 500;
}
@media (max-width: 767px) {
  .c-order-information__nav ul li a {
    font-size: 1.8rem;
  }
}
.c-order-information__nav ul li a::before {
  display: block;
  inline-size: 2.2rem;
  block-size: 2.2rem;
  content: "";
  background: url("/images/parts/icon-ar-circle-links.svg") no-repeat left center;
  background-size: 100% auto;
}
@media (hover: hover) {
  .c-order-information__nav ul li a:hover {
    text-decoration: underline;
  }
}
.c-order-information__nav ul li a[aria-current=page] {
  color: var(--color-link);
  text-decoration: underline;
}
@media (hover: hover) {
  .c-order-information__nav ul li a[aria-current=page]:hover {
    text-decoration: none;
  }
}
.c-order-information__nav ul li a[aria-current=page]::before {
  background-image: url("/images/parts/icon-ar-circle-links-gray.svg");
}
.c-order-information__sort {
  display: flex;
  gap: 2.4rem;
  padding-block-end: 2.4rem;
  margin-block-end: 4rem;
  border-block-end: 2px solid var(--color-line-gray);
}
@media (max-width: 767px) {
  .c-order-information__sort {
    gap: 0.8rem;
    padding-block-end: 3.2rem;
    margin-block-end: 3.2rem;
  }
}
.c-order-information__sort-label {
  font-weight: 500;
}
@media (max-width: 767px) {
  .c-order-information__sort-label {
    margin-block-end: 0.4rem;
    font-size: 1.4rem;
  }
}
.c-order-information__sort-label::after {
  content: "：";
}
.c-order-information__sort-select {
  display: flex;
  gap: 0.8rem;
  align-items: center;
}
@media (max-width: 767px) {
  .c-order-information__sort-select {
    display: block;
  }
}
.c-order-information__sort-select-element select {
  padding-block: 0.8rem;
  padding-inline: 1.6rem 3.4rem;
  cursor: pointer;
  background: url("/images/parts/icon-ar-down.svg") no-repeat top calc(50% + 0.1rem) right 1rem/1rem;
  background-color: var(--color-lightest);
  border: 1px solid var(--color-line-gray);
  border-radius: 0.2rem;
}
@media (max-width: 767px) {
  .c-order-information__sort-select-element select {
    padding-block: 1.3rem;
    font-size: 1.6rem;
  }
}
.c-order-information__sort-search {
  display: flex;
  gap: 0.8rem;
  align-items: center;
}
@media (max-width: 767px) {
  .c-order-information__sort-search {
    display: block;
    flex: 1 0 0;
  }
}
.c-order-information__sort-search-element {
  position: relative;
}
.c-order-information__sort-search-input {
  display: inline-block;
  padding-block: 0.8rem;
  padding-inline: 1.6rem;
  padding-inline-end: 4.2rem;
  background: var(--color-lightest);
  border: 1px solid var(--color-line-gray);
  border-radius: 0.2rem;
}
@media (max-width: 767px) {
  .c-order-information__sort-search-input {
    inline-size: 100%;
    padding-block: 1.3rem;
    font-size: 1.6rem;
  }
}
.c-order-information__sort-search-button {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-end: 1.6rem;
  display: block;
  inline-size: 2rem;
  block-size: 2.2rem;
  background: url("/images/parts/icon-search.svg") no-repeat;
  background-size: 100% auto;
  transform: translate(0, -50%);
}
.c-order-information__block {
  padding-block: 2.4rem 4rem;
  padding-inline: 4rem;
  margin-block-end: 4rem;
  background: var(--color-bg-gray-02);
  border-radius: 0.4rem;
}
@media (max-width: 767px) {
  .c-order-information__block {
    padding: 1.6rem;
    margin-block-end: 3.2rem;
  }
}
.c-order-information__block:last-child {
  margin-block-end: 0;
}
.c-order-information__block-links {
  text-align: end;
}
.c-order-information__block-links a {
  font-weight: 500;
  color: var(--color-link);
  text-decoration: underline;
}
@media (hover: hover) {
  .c-order-information__block-links a:hover {
    text-decoration: none;
  }
}
@media (max-width: 767px) {
  .c-order-information__block-links a {
    font-size: 1.4rem;
  }
}
.c-order-information__block-links a img {
  margin-inline-start: 0.5rem;
}
@media (max-width: 767px) {
  .c-order-information__block-links a img {
    inline-size: 1.4rem;
    block-size: 1.4rem;
    margin-inline-start: 0.3rem;
    vertical-align: middle;
  }
}
.c-order-information__header {
  display: flex;
  gap: 1.6rem;
  align-items: center;
  justify-content: space-between;
  margin-block-end: 1.6rem;
}
@media (max-width: 767px) {
  .c-order-information__header {
    flex-direction: column;
    gap: 2.4rem;
    align-items: flex-start;
    margin-block-end: 3.2rem;
  }
}
.c-order-information__header-content {
  display: flex;
  flex: 1 0 0;
  flex-wrap: wrap;
  gap: 1.6rem 3.2rem;
  align-items: center;
}
@media (max-width: 767px) {
  .c-order-information__header-content {
    display: block;
    align-items: flex-start;
  }
}
.c-order-information__header-button {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
@media (max-width: 767px) {
  .c-order-information__header-button {
    flex-direction: row;
    gap: 1.6rem;
    justify-content: center;
    inline-size: 100%;
  }
}
.c-order-information__header-button-element {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  min-inline-size: 12rem;
  padding-block: 0.4rem;
  padding-inline: 1.2rem 2.2rem;
  font-size: 1.4rem;
  color: var(--color-link);
  text-align: center;
  background: var(--color-lightest) url("/images/parts/icon-ar-link-small.svg") no-repeat;
  background-position: right 0.8rem center;
  background-size: 0.7rem auto;
  border: 1.5px solid currentcolor;
  border-radius: 0.4rem;
  transition: 300ms;
}
@media (hover: hover) {
  .c-order-information__header-button-element:hover {
    color: var(--color-lightest);
    background-color: var(--color-link);
    background-image: url("/images/parts/icon-ar-bold-white.svg");
  }
}
.c-order-information__header-button-element[data-button=error] {
  padding-inline-start: 2.2rem;
  background-image: url("/images/parts/icon-alert-fill.svg"), url("/images/parts/icon-ar-link-small.svg");
  background-repeat: no-repeat, no-repeat;
  background-position: 0.5rem center, right 0.8rem center;
  background-size: 1.4rem auto, 0.7rem auto;
}
@media (hover: hover) {
  .c-order-information__header-button-element[data-button=error]:hover {
    background-image: url("/images/parts/icon-alert-fill.svg"), url("/images/parts/icon-ar-bold-white.svg");
  }
}
@media (max-width: 767px) {
  .c-order-information__info {
    margin-block-start: 0.8rem;
  }
}
.c-order-information__info dl {
  display: flex;
  gap: 2.4rem;
  font-weight: 500;
}
@media (max-width: 767px) {
  .c-order-information__info dl {
    font-size: 1.6rem;
  }
}
.c-order-information__info dt {
  font-size: 1.4rem;
  font-weight: 500;
  color: var(--color-text-gray);
}
@media (max-width: 767px) {
  .c-order-information__info dt {
    font-size: 1rem;
  }
}
.c-order-information__info dd {
  font-size: 1.8rem;
  font-weight: 500;
}
@media (max-width: 767px) {
  .c-order-information__info dd {
    font-size: 1.4rem;
  }
}
.c-order-information__number {
  font-size: 2.2rem;
  font-weight: bold;
}
@media (max-width: 767px) {
  .c-order-information__number {
    font-size: 2rem;
  }
}
.c-order-information__number-label::after {
  content: "：";
}
.c-order-information__detail {
  margin-block-end: 4rem;
  background: var(--color-lightest);
  border: 1px solid var(--color-line-gray);
  border-radius: 0.4rem;
}
.c-order-information__detail-toggle {
  display: flex;
  justify-content: center;
  inline-size: 100%;
  padding: 0.8rem;
  text-align: center;
  cursor: pointer;
}
.c-order-information__detail-toggle span {
  display: block;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  padding-inline-start: 2rem;
  font-weight: 500;
  background: url("/images/parts/icon-ar-circle-toggle-down.svg") no-repeat;
  background-position: left 0.4rem;
  background-size: 1.4rem auto;
}
@media (max-width: 767px) {
  .c-order-information__detail-toggle span {
    font-size: 1.4rem;
    background-position: left 0.3rem;
  }
}
.c-order-information__detail-toggle span[data-text=close] {
  display: none;
  background-image: url("/images/parts/icon-ar-circle-toggle-up.svg");
}
.c-order-information__detail-toggle[aria-expanded=true] [data-text=close] {
  display: block;
}
.c-order-information__detail-toggle[aria-expanded=true] [data-text=open] {
  display: none;
}
.c-order-information__detail-body {
  display: none;
  padding-block-end: 2.4rem;
  padding-inline: 2.4rem;
}
@media (max-width: 767px) {
  .c-order-information__detail-body {
    padding-block-start: 0.8rem;
    padding-inline: 1.6rem;
  }
}
.c-order-information__detail-head {
  padding-block-end: 0.8rem;
  margin-block-end: 2.4rem;
  font-size: 2.4rem;
  font-weight: bold;
  border-block-end: 1px solid var(--color-line-gray);
}
@media (max-width: 767px) {
  .c-order-information__detail-head {
    font-size: 2.2rem;
  }
}
.c-order-information__detail-head-small {
  margin-block-end: 1.6rem;
  font-size: 2.2rem;
  font-weight: bold;
}
@media (max-width: 767px) {
  .c-order-information__detail-head-small {
    font-size: 2rem;
  }
}
.c-order-information__detail-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  margin-block-end: 2.4rem;
}
@media (max-width: 767px) {
  .c-order-information__detail-list {
    grid-template-columns: auto;
    font-size: 1.4rem;
  }
}
.c-order-information__detail-list div {
  display: grid;
  grid-template-columns: 17rem 1fr;
}
@media (max-width: 767px) {
  .c-order-information__detail-list div {
    grid-template-columns: 10rem 1fr;
  }
}
.c-order-information__detail-list dt {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  padding-block: 0.8rem;
  padding-inline: 1.6rem;
  margin-block-start: -0.1rem;
  margin-inline-start: -0.1rem;
  font-weight: bold;
  background: var(--color-bg-gray);
  border: 1px solid var(--color-line-gray);
}
@media (max-width: 767px) {
  .c-order-information__detail-list dt {
    padding-inline: 0.4rem;
  }
}
.c-order-information__detail-list dd {
  display: flex;
  align-items: center;
  padding-block: 0.8rem;
  padding-inline: 1.6rem;
  margin-block-start: -0.1rem;
  margin-inline-start: -0.1rem;
  border: 1px solid var(--color-line-gray);
}
.c-order-information__detail-address {
  display: grid;
  gap: 0.4rem;
  font-weight: 500;
}
@media (max-width: 767px) {
  .c-order-information__detail-address {
    font-size: 1.4rem;
  }
}
.c-order-information__product-head {
  padding-block-end: 0.8rem;
  margin-block-end: 2.4rem;
  font-size: 2.4rem;
  font-weight: bold;
  border-block-end: 1px solid var(--color-line-gray);
}
.c-order-information__product-list {
  margin-block-end: 1.6rem;
  overflow: hidden;
  background-color: var(--color-lightest);
  border-radius: 4px;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.15);
}
@media (max-width: 767px) {
  .c-order-information__product-list {
    margin-block-end: 1.6rem;
  }
}
.c-order-information__product-list-element {
  position: relative;
  display: flex;
  background-color: var(--color-lightest);
  border-block-end: 1px solid var(--color-line-gray);
}
@media (max-width: 767px) {
  .c-order-information__product-list-element {
    align-items: flex-start;
    padding-inline-end: 0;
  }
}
.c-order-information__product-list-element:last-child {
  border: 0;
}
.c-order-information__product-list-element:has(.c-order-list__error) {
  background-color: var(--color-bg-red);
}
.c-order-information__product-list-element:has(.c-order-list__error) a {
  color: var(--color-more-emphasis);
}
.c-order-information__product-list-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  margin-block-end: 0.8rem;
}
.c-order-information__product-list-tags-element {
  min-inline-size: 13rem;
  padding-block: 0.4rem;
  padding-inline: 1.6rem;
  font-size: 1.4rem;
  font-weight: 500;
  text-align: center;
  background: var(--color-bg-gray-02);
  border: 1px solid var(--color-line-gray);
  border-radius: 0.2rem;
}
@media (max-width: 767px) {
  .c-order-information__product-list-tags-element {
    inline-size: 100%;
    padding-block: 0.2rem;
    font-size: 1.2rem;
  }
}
.c-order-information__product-list-tags-element[data-tags=date] {
  color: var(--color-lightest);
  background: var(--color-emphasis);
  border-color: var(--color-emphasis);
}
.c-order-information__product-list-tags-element[data-tags=cancel] {
  color: var(--color-more-emphasis);
  background: var(--color-bg-red);
  border-color: var(--color-more-emphasis);
}
.c-order-information__product-list-tags-element[data-tags=arrival] {
  color: var(--color-more-emphasis);
  background: var(--color-lightest);
  border-color: var(--color-line-gray);
}
.c-order-information__product-list-th {
  position: relative;
  display: flex;
  align-content: center;
  inline-size: 17rem;
}
@media (max-width: 767px) {
  .c-order-information__product-list-th {
    inline-size: 11.2rem;
  }
}
.c-order-information__product-list-th-element {
  inline-size: 100%;
  aspect-ratio: 14/17;
  background: var(--color-bg-gray);
}
.c-order-information__product-list-th-element img {
  inline-size: 100%;
  block-size: 100%;
  object-fit: contain;
}
.c-order-information__product-list-th-tags {
  position: absolute;
  inset-block-end: 0.8rem;
  font-weight: 500;
}
.c-order-information__product-list-th-tags-special {
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  padding-inline: 0.7rem 1.1rem;
  font-size: 1.2rem;
  color: var(--color-lightest);
  background-color: var(--color-more-emphasis);
  border: 1px solid var(--color-lightest);
  border-inline-start: 0;
  border-radius: 0 10rem 10rem 0;
}
@media (max-width: 767px) {
  .c-order-information__product-list-th-tags-special {
    padding-inline: 0.4rem 0.8rem;
    font-size: 1rem;
  }
}
.c-order-information__product-list-content {
  display: flex;
  flex: 1 0 0;
  flex-direction: column;
  justify-content: center;
  padding-block: 3.2rem;
  padding-inline: 1.6rem;
}
@media (max-width: 767px) {
  .c-order-information__product-list-content {
    padding-block: 0.8rem;
    padding-inline: 0.8rem;
  }
}
.c-order-information__product-list-content-tags {
  margin-block-end: 0.8rem;
}
.c-order-information__product-list-content-tags-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}
.c-order-information__product-list-content-tags-list li {
  padding-inline: 0.4rem;
  font-size: 1.2rem;
  background-color: var(--color-bg-gray-02);
  border: 1px solid var(--color-line-gray);
}
@media (max-width: 767px) {
  .c-order-information__product-list-content-tags-list li {
    font-size: 1rem;
  }
}
.c-order-information__product-list-content-tags-list li[data-tags=new] {
  color: var(--color-lightest);
  background-color: var(--color-emphasis);
}
.c-order-information__product-list-content-tags-list li[data-tags=em] {
  color: var(--color-more-emphasis);
}
.c-order-information__product-list-content-title {
  position: relative;
  display: flex;
  gap: 0 0.3rem;
  align-items: center;
  padding-inline-end: 3.2rem;
  margin-block-end: 1.6rem;
  font-size: 2.2rem;
  font-weight: bold;
}
@media (max-width: 767px) {
  .c-order-information__product-list-content-title {
    padding-inline-end: 1.6rem;
    margin-block-end: 0.8rem;
    font-size: 1.6rem;
  }
}
.c-order-information__product-list-content-title::before {
  inline-size: 2.2rem;
  block-size: 2.2rem;
  content: "";
  background: url("/images/parts/icon-ar-circle.svg") no-repeat center center/100% auto;
}
@media (max-width: 767px) {
  .c-order-information__product-list-content-title::before {
    inline-size: 1.4rem;
    block-size: 1.4rem;
  }
}
.c-order-information__product-list-content-title a {
  flex: 1 0 0;
}
@media (hover: hover) {
  .c-order-information__product-list-content-title a:hover {
    text-decoration: underline;
  }
}
.c-order-information__product-list-content-code {
  margin-block-end: 0.8rem;
  font-size: 1.4rem;
  font-weight: 500;
  color: var(--color-text-gray);
}
@media (max-width: 767px) {
  .c-order-information__product-list-content-code {
    font-size: 1.2rem;
  }
}
.c-order-information__product-list-content-code-head::after {
  display: inline-block;
  inline-size: 0.1rem;
  block-size: 0.8rem;
  margin-block-end: 0.1rem;
  margin-inline: 0.8rem;
  content: "";
  background: var(--color-line-gray);
}
.c-order-information__product-list-schedule {
  margin-block-end: 0.8rem;
  font-size: 1.4rem;
  font-weight: 500;
}
@media (max-width: 767px) {
  .c-order-information__product-list-schedule {
    font-size: 1.2rem;
  }
}
.c-order-information__product-list-schedule-head::after {
  display: inline-block;
  content: "：";
}
.c-order-information__product-list-info {
  display: flex;
  flex-wrap: wrap;
  gap: 0 1.6rem;
  align-items: center;
}
@media (max-width: 767px) {
  .c-order-information__product-list-info {
    display: block;
    gap: 0 0.8rem;
  }
}
.c-order-information__product-list-num {
  display: flex;
  gap: 0.8rem;
  align-items: center;
}
.c-order-information__product-list-num-head {
  font-weight: 500;
}
@media (max-width: 767px) {
  .c-order-information__product-list-num-head {
    font-size: 1.2rem;
  }
}
.c-order-information__product-list-num-content {
  font-family: var(--font-family-secondary);
  font-size: 1.8rem;
}
@media (max-width: 767px) {
  .c-order-information__product-list-num-content {
    font-size: 1.4rem;
  }
}
.c-order-information__product-list-lower {
  display: flex;
  flex: 1 0 0;
  gap: 0 1.6rem;
  align-items: center;
  justify-content: space-between;
}
.c-order-information__product-list-price-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-block-end: 0.4rem;
}
@media (max-width: 767px) {
  .c-order-information__product-list-price-tags {
    margin-block-end: 0.2rem;
  }
}
.c-order-information__product-list-price-tags-special {
  padding-block: 0.15rem;
  padding-inline: 0.2rem 0.2rem;
  font-size: 1.4rem;
  color: var(--color-lightest);
  background: var(--color-more-emphasis);
}
@media (max-width: 767px) {
  .c-order-information__product-list-price-tags-special {
    font-size: 1.2rem;
  }
}
.c-order-information__product-list-price-tags-discount {
  padding-inline: 0.2rem;
  font-family: var(--font-family-secondary);
  font-size: 1.2rem;
  font-weight: 500;
  color: var(--color-more-emphasis);
  background: var(--color-lightest);
  border: 1px solid var(--color-more-emphasis);
}
@media (max-width: 767px) {
  .c-order-information__product-list-price-tags-discount {
    font-size: 1rem;
  }
}
.c-order-information__product-list-price-tags-discount span {
  font-size: 1.6rem;
}
@media (max-width: 767px) {
  .c-order-information__product-list-price-tags-discount span {
    font-size: 1.4rem;
  }
}
.c-order-information__product-list-price-body {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  align-items: center;
  font-family: var(--font-family-secondary);
}
.c-order-information__product-list-price-head {
  font-family: var(--font-family-body);
  font-weight: 500;
}
@media (max-width: 767px) {
  .c-order-information__product-list-price-head {
    font-size: 1.2rem;
  }
}
.c-order-information__product-list-price-element {
  font-size: 1.4rem;
  font-weight: 500;
  color: var(--color-more-emphasis);
}
@media (max-width: 767px) {
  .c-order-information__product-list-price-element {
    font-size: 1.2rem;
  }
}
.c-order-information__product-list-price-element span {
  margin-inline-start: 0.2rem;
  font-size: 2.4rem;
  font-weight: 600;
}
@media (max-width: 767px) {
  .c-order-information__product-list-price-element span {
    font-size: 2rem;
  }
}
.c-order-information__product-list-order {
  display: flex;
  gap: 1.6rem;
  margin-block-end: 0.8rem;
  font-size: 1.8rem;
  font-weight: 500;
}
@media (max-width: 767px) {
  .c-order-information__product-list-order {
    flex-direction: column;
    gap: 0.4rem;
    margin-block-end: 0.4rem;
    font-size: 1.2rem;
  }
}
.c-order-information__product-list-order-date-label::after, .c-order-information__product-list-order-number-label::after {
  content: "：";
}
.c-order-information__product-list-cancel {
  display: flex;
  justify-content: flex-end;
  margin-block-start: 0.4rem;
}
@media (max-width: 767px) {
  .c-order-information__product-list-cancel {
    justify-content: flex-start;
  }
}
.c-order-information__product-list-cancel-button {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  padding-block: 0.4rem;
  padding-inline: 1.2rem 2.2rem;
  font-size: 1.4rem;
  color: var(--color-link);
  text-align: center;
  background: var(--color-lightest) url("/images/parts/icon-ar-link-small.svg") no-repeat;
  background-position: right 0.8rem center;
  background-size: 0.7rem auto;
  border: 1.5px solid currentcolor;
  border-radius: 0.4rem;
}
.c-order-information__product-account {
  padding-block: 0.8rem;
  padding-inline: 1.6rem;
}
.c-order-information__product-account-body {
  max-inline-size: 334px;
  margin-inline-start: auto;
}
@media (max-width: 767px) {
  .c-order-information__product-account-body {
    max-inline-size: none;
    margin-inline-start: 0;
  }
}
.c-order-information__product-account-details {
  border-block-end: 1px solid var(--color-line-gray);
}
.c-order-information__product-account-details dl > div {
  display: flex;
  gap: 0 2rem;
  align-items: center;
  justify-content: space-between;
  padding: 0.8rem;
  border-block-end: 0.5px dashed var(--color-line-gray);
}
.c-order-information__product-account-details dl > div:last-child {
  border: 0;
}
.c-order-information__product-account-details dl dt {
  font-weight: 500;
}
@media (max-width: 767px) {
  .c-order-information__product-account-details dl dt {
    font-size: 1.4rem;
  }
}
.c-order-information__product-account-details dl dd {
  font-family: var(--font-family-secondary);
  font-size: 2.2rem;
  font-weight: normal;
}
@media (max-width: 767px) {
  .c-order-information__product-account-details dl dd {
    font-size: 1.6rem;
  }
}
.c-order-information__product-account-details dl dd span {
  font-size: 1.4rem;
  font-weight: 500;
}
@media (max-width: 767px) {
  .c-order-information__product-account-details dl dd span {
    font-size: 1.2rem;
  }
}
.c-order-information__product-account-discount {
  display: flex;
  gap: 0 0.2rem;
  align-items: center;
  color: var(--color-more-emphasis);
}
.c-order-information__product-account-totals {
  padding-block: 0.8rem 0;
}
.c-order-information__product-account-totals dl > div {
  display: flex;
  gap: 0 2rem;
  align-items: center;
  justify-content: space-between;
  padding-block-end: 0.4rem;
  padding-inline: 0.8rem;
}
.c-order-information__product-account-totals dl dt {
  font-weight: 500;
}
@media (max-width: 767px) {
  .c-order-information__product-account-totals dl dt {
    font-size: 1.4rem;
  }
}
.c-order-information__product-account-totals dl dd {
  font-family: var(--font-family-secondary);
  font-weight: 500;
}
@media (max-width: 767px) {
  .c-order-information__product-account-totals dl dd {
    font-size: 1.4rem;
  }
}
.c-order-information__product-account-totals dl dd em {
  font-size: 1.8rem;
  font-style: normal;
  font-weight: 600;
}
@media (max-width: 767px) {
  .c-order-information__product-account-totals dl dd em {
    font-size: 1.6rem;
  }
}
.c-order-information__product-account-totals dl dd span {
  font-size: 1.6rem;
  font-weight: 500;
}
@media (max-width: 767px) {
  .c-order-information__product-account-totals dl dd span {
    font-size: 1.4rem;
  }
}
.c-order-information__product-account-totals-amount {
  font-size: 2.8rem;
  font-weight: 600;
}
@media (max-width: 767px) {
  .c-order-information__product-account-totals-amount {
    font-size: 2.2rem;
  }
}
.c-order-information__product-account-totals-amount span {
  margin-inline-end: 0.2rem;
}

.c-search-menu {
  padding: 2.4rem;
  background: var(--color-bg-gray-02);
  border-radius: 0.4rem;
}
@media (max-width: 767px) {
  .c-search-menu {
    padding-block: 2.4rem;
    padding-inline: 1.6rem;
  }
}
.c-search-menu__block {
  display: grid;
  grid-template-columns: 21rem 1fr;
  gap: 1.6rem;
  align-items: center;
  padding-block-end: 1.6rem;
  padding-inline: 0.8rem;
  margin-block-end: 1.6rem;
  border-block-end: 1px solid var(--color-line-gray);
}
@media (max-width: 767px) {
  .c-search-menu__block {
    display: block;
    padding-block-end: 0.8rem;
    padding-inline: 0;
  }
}
.c-search-menu__block:last-child {
  padding-block-end: 0;
  margin-block-end: 0;
  border: 0;
}
.c-search-menu__head {
  font-size: 2rem;
  font-weight: bold;
}
@media (max-width: 767px) {
  .c-search-menu__head {
    margin-block-end: 1.6rem;
    font-size: 1.8rem;
  }
}
.c-search-menu__content ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem 2.4rem;
}
@media (max-width: 767px) {
  .c-search-menu__content ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.8rem 1.6rem;
  }
}
@media (max-width: 767px) {
  .c-search-menu__content ul:has(> *:nth-child(2n):last-child) li:nth-last-child(2) {
    border: 0;
  }
}
@media (max-width: 767px) {
  .c-search-menu__content ul li {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-block-end: 0.8rem;
    padding-inline: 0.3rem;
    border-block-end: 1px dashed var(--color-line-gray);
  }
  .c-search-menu__content ul li:last-child {
    border: 0;
  }
}
.c-search-menu__content ul a {
  display: inline-block;
  padding-inline-start: 1.8rem;
  font-weight: 500;
  background: url("/images/parts/icon-ar-anchor.svg") no-repeat left center/1.4rem auto;
}
@media (max-width: 767px) {
  .c-search-menu__content ul a {
    padding-block: 0.4rem;
    padding-inline-start: 2.1rem;
    font-size: 1.4rem;
  }
}
@media (hover: hover) {
  .c-search-menu__content ul a:hover {
    text-decoration: underline;
  }
}
.c-search-menu__search {
  position: relative;
  display: flex;
  gap: 0.8rem;
  align-items: center;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
}
@media (max-width: 767px) {
  .c-search-menu__search {
    display: block;
    flex: 1 0 0;
    inline-size: 100%;
  }
}
.c-search-menu__search-input {
  display: inline-block;
  inline-size: 100%;
  max-inline-size: 32rem;
  padding-block: 0.8rem;
  padding-inline: 1.6rem;
  padding-inline-end: 4.2rem;
  background: var(--color-lightest);
  border: 1px solid var(--color-line-gray);
  border-radius: 0.2rem;
}
@media (max-width: 767px) {
  .c-search-menu__search-input {
    inline-size: 100%;
    max-inline-size: none;
    padding-block: 1.3rem;
    font-size: 1.6rem;
  }
}
.c-search-menu__search-button {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-end: 1.6rem;
  display: block;
  inline-size: 2rem;
  block-size: 2.2rem;
  background: url("/images/parts/icon-search.svg") no-repeat;
  background-size: 100% auto;
  transform: translate(0, -50%);
}

.c-anchor-list__body {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.6rem 2.4rem;
  align-items: center;
  margin-block-start: 2.4rem;
}
@media (max-width: 767px) {
  .c-anchor-list__body {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.8rem 1.6rem;
  }
}
@media (max-width: 767px) {
  .c-anchor-list__body:has(> *:nth-child(2n):last-child) li:nth-last-child(2) {
    border: 0;
  }
}
@media (max-width: 767px) {
  .c-anchor-list__body li {
    display: flex;
    flex-direction: column;
    justify-content: center;
    block-size: 100%;
    padding-block-end: 0.8rem;
    padding-inline: 0.3rem;
    border-block-end: 1px dashed var(--color-line-gray);
  }
  .c-anchor-list__body li:last-child {
    border: 0;
  }
}
.c-anchor-list__body a {
  display: inline-block;
  padding-inline-start: 1.8rem;
  font-weight: 500;
  background: url("/images/parts/icon-ar-anchor.svg") no-repeat left center/1.4rem auto;
}
@media (max-width: 767px) {
  .c-anchor-list__body a {
    padding-block: 0.4rem;
    padding-inline-start: 2.1rem;
    font-size: 1.4rem;
  }
}
@media (hover: hover) {
  .c-anchor-list__body a:hover {
    text-decoration: underline;
  }
}
.c-anchor-list__new {
  display: inline-block;
  padding-inline: 0.4rem;
  margin-block-start: -0.3rem;
  margin-inline-start: 0.4rem;
  font-family: var(--font-family-secondary);
  font-size: 1.2rem;
  font-weight: bold;
  color: var(--color-lightest);
  vertical-align: middle;
  background: var(--color-more-emphasis);
}

.c-text-hr {
  margin-block: 4rem;
  border-color: var(--color-line-gray);
}
@media (max-width: 767px) {
  .c-text-hr {
    margin-block: 3.2rem;
  }
}

.c-text-tag-new {
  display: block;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  padding-inline: 0.8rem;
  margin-block-end: 0.8rem;
  font-family: var(--font-family-secondary);
  font-size: 1.6rem;
  font-weight: bold;
  color: var(--color-lightest);
  vertical-align: middle;
  background: var(--color-more-emphasis);
}
@media (max-width: 767px) {
  .c-text-tag-new {
    padding-inline: 1rem;
    font-size: 1.4rem;
  }
}

.c-select-review {
  padding: 1.6rem;
  margin-block-start: 4rem;
  background: var(--color-bg-gray-02);
  border-radius: 0.4rem;
}
@media (max-width: 767px) {
  .c-select-review {
    margin-block-start: 2.4rem;
  }
}
.c-select-review__select01, .c-select-review__select02 {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem 1.6rem;
  align-items: center;
  justify-content: center;
}
@media (max-width: 767px) {
  .c-select-review__select01, .c-select-review__select02 {
    flex-direction: column;
  }
}
.c-select-review__select01-button, .c-select-review__select02-button {
  display: flex;
  gap: 0.8rem;
}
.c-select-review__label {
  font-size: 1.6rem;
  font-weight: 500;
}
@media (max-width: 767px) {
  .c-select-review__label {
    font-size: 1.4rem;
  }
}
.c-select-review__select01-button-good, .c-select-review__select01-button-bad {
  display: block;
  inline-size: 3.2rem;
  block-size: 3.2rem;
  text-indent: -9999px;
  background-color: var(--color-select-review);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 1.9rem auto;
  border-radius: 9999px;
}
.c-select-review__select01-button-good {
  background-image: url("/images/parts/icon-good.svg");
}
.c-select-review__select01-button-good[aria-pressed=true] {
  background-image: url("/images/parts/icon-good-on.svg");
}
.c-select-review__select01-button-bad {
  background-image: url("/images/parts/icon-bad.svg");
}
.c-select-review__select01-button-bad[aria-pressed=true] {
  background-image: url("/images/parts/icon-bad-on.svg");
}
.c-select-review__select02-button-good, .c-select-review__select02-button-bad {
  display: block;
  inline-size: 3.2rem;
  min-inline-size: 6.6rem;
  padding: 0.4rem;
  font-size: 1.4rem;
  color: var(--color-link);
  text-align: center;
  background-color: var(--color-lightest);
  border: 1px solid var(--color-link);
  border-radius: 0.4rem;
}
.c-select-review__select02-button-bad {
  color: var(--color-darkest);
  background-color: var(--color-bg-gray);
  border-color: var(--color-line-gray);
}
.c-select-review__complete {
  font-size: 1.8rem;
  font-weight: 500;
  text-align: center;
}
@media (max-width: 767px) {
  .c-select-review__complete {
    font-size: 1.6rem;
  }
}

.c-text-table {
  margin-block-end: 1.6rem;
}
@media (max-width: 767px) {
  .c-text-table__wrapper {
    margin-block-end: 1rem;
    overflow: auto;
  }
}
.c-text-table__body {
  inline-size: 100%;
}
@media (max-width: 767px) {
  .c-text-table__body {
    min-inline-size: 80rem;
  }
}
.c-text-table__body caption {
  margin-block-end: 0.8rem;
  font-size: 1.8rem;
  font-weight: bold;
}
@media (max-width: 767px) {
  .c-text-table__body caption {
    font-size: 1.6rem;
  }
}
.c-text-table__body th,
.c-text-table__body td {
  padding-block: 1.6rem;
  padding-inline: 0.8rem;
  text-align: center;
  vertical-align: middle;
  border: 1px solid var(--color-line-gray);
}
@media (max-width: 767px) {
  .c-text-table__body th,
  .c-text-table__body td {
    font-size: 1.4rem;
  }
}
.c-text-table__body th p,
.c-text-table__body td p {
  margin: 0 0 1em;
}
.c-text-table__body th p:last-child,
.c-text-table__body td p:last-child {
  margin-block-end: 0;
}
.c-text-table__body th {
  font-weight: bold;
  background: var(--color-bg-gray);
}
.c-text-table__body tbody th {
  text-align: start;
}
.c-text-table__scroll {
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  padding-block: 0.2rem 0.3rem;
  padding-inline: 2.2rem 0.4rem;
  margin-inline: auto;
  font-size: 1.2rem;
  color: var(--color-lightest);
  background: var(--color-link) url("/images/parts/icon-table-scroll.svg") no-repeat 0.55rem center/1.3rem auto;
  border-radius: 0.2rem;
}
@media (min-width: 768px) {
  .c-text-table__scroll {
    display: none;
  }
}

.c-guide-nav__body {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.4rem;
}
@media (max-width: 767px) {
  .c-guide-nav__body {
    grid-template-columns: auto;
    gap: 1.6rem;
  }
}
.c-guide-nav__element {
  padding-block: 1.6rem;
  padding-inline: 2.4rem;
  background: var(--color-bg-gray-02);
  border: 1px solid var(--color-line-gray);
  border-radius: 0.4rem;
}
@media (max-width: 767px) {
  .c-guide-nav__element {
    padding: 1.6rem;
  }
}
.c-guide-nav__element p {
  font-size: 1.4rem;
  font-weight: 500;
}
@media (max-width: 767px) {
  .c-guide-nav__element p {
    font-size: 1.2rem;
  }
}
.c-guide-nav__head {
  display: flex;
  justify-content: center;
  padding-block-end: 0.8rem;
  margin-block-end: 0.8rem;
  text-align: center;
  border-block-end: 1px solid var(--color-line-gray);
}
@media (max-width: 767px) {
  .c-guide-nav__head img {
    inline-size: 2.4rem;
    block-size: 2.4rem;
  }
}
.c-guide-nav__head a {
  display: flex;
  gap: 0.8rem;
  align-items: center;
  justify-content: center;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  padding-inline-end: 30px;
  font-size: 2rem;
  font-weight: bold;
  color: var(--color-link);
  background: url("/images/parts/icon-ar-anchor.svg") no-repeat right center/2.2rem auto;
}
@media (max-width: 767px) {
  .c-guide-nav__head a {
    justify-content: flex-start;
    inline-size: 100%;
    font-size: 1.8rem;
  }
}
@media (hover: hover) {
  .c-guide-nav__head a:hover {
    text-decoration: underline;
  }
}
.c-guide-nav__button {
  display: flex;
  justify-content: center;
  margin-block-start: 0.8rem;
}
@media (max-width: 767px) {
  .c-guide-nav__button {
    margin-block-start: 0.4rem;
  }
}
.c-guide-nav__button a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  padding-block: 0.4rem;
  padding-inline: 1.2rem 2.2rem;
  font-size: 1.4rem;
  color: var(--color-link);
  background-color: var(--color-lightest);
  border: 1px solid currentcolor;
  border-radius: 0.4rem;
  transition: 300ms;
}
@media (max-width: 767px) {
  .c-guide-nav__button a {
    font-size: 1.2rem;
  }
}
.c-guide-nav__button a::after {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-end: 0.8rem;
  display: block;
  inline-size: 0.7rem;
  block-size: 1rem;
  content: "";
  background: url("/images/parts/icon-ar-link-small.svg") no-repeat center center;
  background-size: 100% auto;
  transition: 300ms;
  transform: translate(0, -50%);
}
@media (hover: hover) {
  .c-guide-nav__button a:hover {
    color: var(--color-lightest);
    background-color: var(--color-link);
  }
  .c-guide-nav__button a:hover::after {
    background-image: url("/images/parts/icon-ar-bold-white.svg");
  }
}

.c-benefit-points__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.4rem;
}
@media (max-width: 767px) {
  .c-benefit-points__list {
    grid-template-columns: auto;
  }
}
.c-benefit-points__element {
  display: flex;
  gap: 1.6rem;
  padding: 1.6rem;
  background: var(--color-bg-gray-02);
  border-radius: 0.4rem;
}
.c-benefit-points__label {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  align-items: center;
  justify-content: center;
  min-inline-size: 7rem;
  padding-inline-end: 1.6rem;
  font-family: var(--font-family-secondary);
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 1;
  color: var(--color-text-gray);
  white-space: nowrap;
  border-inline-end: 1px solid var(--color-line-gray);
}
@media (max-width: 767px) {
  .c-benefit-points__label {
    min-inline-size: 5.6rem;
    font-size: 1.2rem;
  }
}
.c-benefit-points__label span {
  display: block;
  font-size: 4rem;
  color: var(--color-more-emphasis);
}
@media (max-width: 767px) {
  .c-benefit-points__label span {
    font-size: 2.8rem;
  }
}
.c-benefit-points__content {
  display: flex;
  flex: 1 0 0;
  flex-direction: column;
  justify-content: center;
}
.c-benefit-points__content p {
  font-weight: 500;
}
@media (max-width: 767px) {
  .c-benefit-points__content p {
    font-size: 1.4rem;
  }
}
.c-benefit-points__head {
  margin-block-end: 0.8rem;
  font-size: 2rem;
  font-weight: bold;
}

.c-order-flow {
  padding-block: 2.4rem;
  padding-inline: 2.4rem 5.7rem;
  margin-block-end: 1.6rem;
  background: var(--color-bg-gray-02);
  border-radius: 0.4rem;
}
@media (max-width: 767px) {
  .c-order-flow {
    padding: 1.6rem;
  }
}
.c-order-flow__body {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 3.3rem 3.3rem;
}
@media (max-width: 767px) {
  .c-order-flow__body {
    grid-template-columns: auto;
    gap: 2.5rem;
  }
}
.c-order-flow__element {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  align-items: center;
  justify-content: center;
  padding: 1.6rem;
  background: var(--color-lightest);
  border-radius: 0.4rem;
}
@media (max-width: 767px) {
  .c-order-flow__element {
    flex-direction: row;
    justify-content: flex-start;
    padding-inline-start: 4.8rem;
  }
}
.c-order-flow__element::after {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: calc(100% + 0.8rem);
  display: block;
  inline-size: 1.7rem;
  block-size: 4.1rem;
  content: "";
  background: url("/images/parts/icon-ar-flow.svg") no-repeat center center/100% auto;
  transform: translate(0, -50%);
}
@media (max-width: 767px) {
  .c-order-flow__element::after {
    inset-block-start: calc(100% + 0.1rem);
    inset-inline-start: 50%;
    gap: 1.6rem;
    margin-inline-start: -2.2rem;
    transform: rotate(90deg);
    transform-origin: right;
  }
}
.c-order-flow__element:last-child::after {
  display: none;
}
.c-order-flow__no {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  inline-size: 4rem;
  block-size: 4rem;
  font-family: var(--font-family-secondary);
  font-size: 2.2rem;
  color: var(--color-lightest);
  background: var(--color-darkest);
  border-radius: 0.4rem 0 0.4rem 0;
}
@media (max-width: 767px) {
  .c-order-flow__no {
    inline-size: 3.2rem;
    block-size: 100%;
    font-size: 2rem;
    border-radius: 0.4rem 0 0 0.4rem;
  }
}
@media (max-width: 767px) {
  .c-order-flow__icon img {
    inline-size: 4.8rem;
    block-size: auto;
  }
}
.c-order-flow__label {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  font-size: 1.8rem;
  font-weight: bold;
}
@media (max-width: 767px) {
  .c-order-flow__label {
    flex: 1 0 0;
    justify-content: flex-start;
    font-size: 1.6rem;
  }
}

.c-payment-list {
  padding-block: 0.8rem;
  padding-inline: 2.4rem;
  background: var(--color-bg-gray-02);
  border-radius: 0.4rem;
}
@media (max-width: 767px) {
  .c-payment-list {
    padding-block: 0;
    padding-inline: 1.6rem;
  }
}
.c-payment-list__element {
  display: flex;
  gap: 1.6rem;
  align-items: center;
  padding: 1.6rem;
  border-block-end: 1px dashed var(--color-line-gray);
}
@media (max-width: 767px) {
  .c-payment-list__element {
    gap: 0.8rem;
    padding-block: 1.6rem;
    padding-inline: 0;
  }
}
.c-payment-list__element:last-child {
  border: 0;
}
.c-payment-list__icon {
  inline-size: 10.4rem;
  text-align: center;
}
@media (max-width: 767px) {
  .c-payment-list__icon {
    inline-size: 8.6rem;
  }
}
.c-payment-list__icon img {
  max-inline-size: 100%;
  block-size: auto;
}
.c-payment-list__header {
  display: flex;
  gap: 0.8rem;
  align-items: flex-end;
  margin-block-end: 1.2rem;
}
@media (max-width: 767px) {
  .c-payment-list__header {
    flex-direction: column;
    gap: 0.4rem;
    align-items: flex-start;
    margin-block-end: 0.8rem;
  }
}
.c-payment-list__header-title {
  font-size: 2.2rem;
  font-weight: bold;
}
@media (max-width: 767px) {
  .c-payment-list__header-title {
    font-size: 2rem;
  }
}
.c-payment-list__header-caption {
  font-size: 1.4rem;
  color: var(--color-text-gray);
}
@media (max-width: 767px) {
  .c-payment-list__header-caption {
    font-size: 1.2rem;
  }
}
.c-payment-list__content {
  display: flex;
  flex: 1 0 0;
  gap: 1.6rem;
  align-items: center;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .c-payment-list__content {
    display: grid;
    gap: 0.8rem;
  }
}
@media (max-width: 767px) {
  .c-payment-list__content p {
    font-size: 1.4rem;
  }
}
.c-payment-list__button {
  display: grid;
  gap: 0.8rem;
}
.c-payment-list__button-element {
  display: flex;
  justify-content: flex-end;
}
@media (max-width: 767px) {
  .c-payment-list__button-element {
    justify-content: flex-start;
  }
}
.c-payment-list__button-element a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  padding-block: 0.4rem;
  padding-inline: 1.2rem 2.2rem;
  font-size: 1.4rem;
  color: var(--color-link);
  text-align: center;
  background: var(--color-lightest) url("/images/parts/icon-ar-link-small.svg") no-repeat;
  background-position: right 0.8rem center;
  background-size: 0.7rem auto;
  border: 1.5px solid currentcolor;
  border-radius: 0.4rem;
  transition: 300ms;
}
@media (hover: hover) {
  .c-payment-list__button-element a:hover {
    color: var(--color-lightest);
    background-color: var(--color-link);
    background-image: url("/images/parts/icon-ar-bold-white.svg");
  }
}

.c-delivary-block__element {
  padding-block-end: 2.4rem;
  margin-block-end: 2.4rem;
  border-block-end: 1px dashed var(--color-line-gray);
}
@media (max-width: 767px) {
  .c-delivary-block__element {
    padding-block-end: 1.6rem;
    margin-block-end: 1.6rem;
  }
}
.c-delivary-block__element:last-child {
  padding-block-end: 0;
  margin-block-end: 0;
  border: 0;
}
@media (max-width: 767px) {
  .c-delivary-block__element p {
    font-size: 1.4rem;
  }
}
.c-delivary-block__element p span {
  font-weight: 500;
}
.c-delivary-block__header {
  display: flex;
  gap: 0.8rem;
  align-items: flex-end;
  margin-block-end: 0.8rem;
}
@media (max-width: 767px) {
  .c-delivary-block__header {
    margin-block-end: 0.8rem;
  }
}
.c-delivary-block__header-title {
  font-size: 2.2rem;
  font-weight: bold;
}
@media (max-width: 767px) {
  .c-delivary-block__header-title {
    font-size: 2rem;
  }
}
.c-delivary-block__header-caption {
  font-size: 1.4rem;
  color: var(--color-text-gray);
}
@media (max-width: 767px) {
  .c-delivary-block__header-caption {
    font-size: 1.2rem;
  }
}
.c-delivary-block__note {
  padding: 1.6rem;
  margin-block-start: 1.6rem;
  background: var(--color-bg-gray-02);
  border-radius: 0.4rem;
}
.c-delivary-block__note ul {
  display: grid;
  gap: 0.4rem;
  margin-block-start: 0.4rem;
}
@media (max-width: 767px) {
  .c-delivary-block__note ul {
    font-size: 1.4rem;
  }
}
.c-delivary-block__note ul li {
  position: relative;
  padding-inline-start: 2.6rem;
}
.c-delivary-block__note ul li::before {
  position: absolute;
  inset-block-start: 0.8rem;
  inset-inline-start: 0.8rem;
  display: block;
  inline-size: 0.8rem;
  block-size: 0.8rem;
  content: "";
  background: currentcolor;
  border-radius: 0.1rem;
}
.c-delivary-block__product-tag {
  display: inline-block;
  padding-inline: 0.4rem;
  margin-inline: 0.4rem;
  font-size: 1.2rem;
  font-weight: 500;
  background: var(--color-bg-gray-02);
  border: 1px solid var(--color-line-gray);
}
@media (max-width: 767px) {
  .c-delivary-block__product-tag {
    font-size: 1rem;
  }
}
.c-delivary-block__product-tag[data-tags=new] {
  color: var(--color-lightest);
  background-color: var(--color-emphasis);
}
.c-delivary-block__product-tag[data-tags=em] {
  color: var(--color-more-emphasis);
}

.c-welcome-greeting {
  padding-block: 4rem;
  padding-inline: 4rem;
  text-align: center;
  background: var(--color-bg-gray-02);
  border-radius: 0.4rem;
}
@media (max-width: 767px) {
  .c-welcome-greeting {
    padding-block: 2.4rem 1.6rem;
    padding-inline: 1.6rem;
  }
}
.c-welcome-greeting__content {
  position: relative;
  inline-size: min(60rem, 100%);
  margin-block-end: 4rem;
  margin-inline: auto;
  text-align: center;
}
@media (max-width: 767px) {
  .c-welcome-greeting__content {
    margin-block-end: 3.2rem;
  }
}
.c-welcome-greeting__body {
  inline-size: 100%;
  aspect-ratio: 600/160;
}
.c-welcome-greeting__body img {
  display: none;
}
@media (max-width: 767px) {
  .c-welcome-greeting__body img {
    inline-size: 22rem;
  }
}
.c-welcome-greeting[data-json-failed=true] .c-welcome-greeting__content {
  inline-size: -moz-fit-content;
  inline-size: fit-content;
}
.c-welcome-greeting[data-json-failed=true] .c-welcome-greeting__body {
  aspect-ratio: unset;
}
.c-welcome-greeting[data-json-failed=true] .c-welcome-greeting__body img {
  display: block;
}
.c-welcome-greeting__caption {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  margin-block-start: 0.8rem;
  font-size: 2rem;
  font-weight: bold;
}
@media (max-width: 767px) {
  .c-welcome-greeting__caption {
    flex-direction: column;
    font-size: 1.6rem;
  }
}
.c-welcome-greeting__text {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  margin-block-end: 4rem;
  font-weight: 500;
}
@media (max-width: 767px) {
  .c-welcome-greeting__text {
    flex-direction: column;
    margin-block-end: 3.2rem;
    font-size: 1.4rem;
    text-align: start;
  }
}
.c-welcome-greeting__contact {
  padding: 1.6rem;
  background: var(--color-lightest);
}
.c-welcome-greeting__contact-head {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-block-end: 1.6rem;
  font-weight: 500;
  text-align: center;
}
.c-welcome-greeting__contact-button {
  display: flex;
  flex-wrap: wrap;
  gap: 1.6rem;
  justify-content: center;
}
.c-welcome-greeting__contact-button-element {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  min-inline-size: 30rem;
  max-inline-size: 55.2rem;
  padding-block: 1.6rem;
  padding-inline: 4.5rem 4.2rem;
  font-weight: 500;
  color: var(--color-link);
  background-color: var(--color-lightest);
  border: 1.5px solid currentcolor;
  border-radius: 0.4rem;
  transition: 300ms;
}
@media (max-width: 767px) {
  .c-welcome-greeting__contact-button-element {
    inline-size: 100%;
    min-inline-size: 0;
    max-inline-size: 28rem;
    font-size: 1.6rem;
  }
}
.c-welcome-greeting__contact-button-element::before {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 1.6rem;
  display: block;
  inline-size: 2.3rem;
  block-size: 1.8rem;
  content: "";
  background: url("/images/parts/icon-mail-link.svg") no-repeat center center;
  background-size: 100% auto;
  transition: 300ms;
  transform: translate(0, -50%);
}
.c-welcome-greeting__contact-button-element::after {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-end: 2.2rem;
  display: block;
  inline-size: 1rem;
  block-size: 1.7rem;
  content: "";
  background: url("/images/parts/icon-ar-link.svg") no-repeat center center;
  background-size: 100% auto;
  transition: 300ms;
  transform: translate(0, -50%);
}
@media (hover: hover) {
  .c-welcome-greeting__contact-button-element:hover {
    color: var(--color-lightest);
    background-color: var(--color-link);
  }
  .c-welcome-greeting__contact-button-element:hover::before {
    background-image: url("/images/parts/icon-mail-link-white.svg");
  }
  .c-welcome-greeting__contact-button-element:hover::after {
    background-image: url("/images/parts/icon-ar-link-white.svg");
  }
}
.c-welcome-greeting__contact-caption {
  display: grid;
  grid-template-columns: 1em 1fr;
  gap: 0.2rem;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  margin-block-start: 1.6rem;
  margin-inline: auto;
  font-weight: 500;
  color: var(--color-text-gray);
}
@media (max-width: 767px) {
  .c-welcome-greeting__contact-caption {
    font-size: 1.2rem;
  }
}

.c-faq-col {
  display: flex;
  gap: 3.2rem;
  margin-block-end: 1.6rem;
}
@media (max-width: 767px) {
  .c-faq-col {
    display: grid;
  }
}
.c-faq-col:has(+ .c-faq-col) {
  margin-block-end: 3.2rem;
}
.c-faq-col img {
  display: block;
  max-inline-size: 100%;
  block-size: auto;
}
@media (max-width: 767px) {
  .c-faq-col img {
    margin-inline: auto;
  }
}

.c-faq-note {
  margin-block-start: 4rem;
}
@media (max-width: 767px) {
  .c-faq-note {
    font-size: 3.2rem;
  }
}
.c-faq-note ul {
  display: grid;
  gap: 0.8rem;
  margin-block-start: 0.4rem;
}
@media (max-width: 767px) {
  .c-faq-note ul {
    font-size: 1.4rem;
  }
}
.c-faq-note ul li {
  position: relative;
  padding-inline-start: 2.6rem;
  font-weight: 500;
}
.c-faq-note ul li a {
  color: var(--color-link);
  text-decoration: underline;
}
@media (hover: hover) {
  .c-faq-note ul li a:hover {
    text-decoration: none;
  }
}
.c-faq-note ul li::before {
  position: absolute;
  inset-block-start: 0.8rem;
  inset-inline-start: 0.8rem;
  display: block;
  inline-size: 0.8rem;
  block-size: 0.8rem;
  content: "";
  background: currentcolor;
  border-radius: 0.1rem;
}
.c-faq-note__product-tag {
  display: inline-block;
  padding-inline: 0.4rem;
  margin-inline: 0.4rem;
  font-size: 1.2rem;
  font-weight: 500;
  background: var(--color-bg-gray-02);
  border: 1px solid var(--color-line-gray);
}
@media (max-width: 767px) {
  .c-faq-note__product-tag {
    font-size: 1rem;
  }
}
.c-faq-note__product-tag[data-tags=new] {
  color: var(--color-lightest);
  background-color: var(--color-emphasis);
}
.c-faq-note__product-tag[data-tags=em] {
  color: var(--color-more-emphasis);
}

.c-faq-link-banner {
  margin-block-end: 0.8rem;
}
.c-faq-link-banner__block {
  margin-block-end: 4rem;
}
@media (max-width: 767px) {
  .c-faq-link-banner__block {
    margin-block-end: 3.2rem;
  }
}
.c-faq-link-banner__block:last-child {
  margin-block-end: 0;
}
.c-faq-link-banner__head {
  margin-block-end: 1.6rem;
  font-size: 2rem;
  font-weight: bold;
}
.c-faq-link-banner__body {
  margin-block-end: 1.6rem;
}
.c-faq-link-banner__code textarea {
  inline-size: 70rem;
  max-inline-size: 100%;
  padding-block: 0.8rem;
  padding-inline: 1.6rem;
  font-weight: 500;
  color: var(--color-text-gray);
  word-break: break-all;
  border: 1px solid var(--color-line-gray);
  border-radius: 0.2rem;
  field-sizing: content;
}
@media (max-width: 767px) {
  .c-faq-link-banner__code textarea {
    font-size: 1.4rem;
  }
}

.c-link-list {
  margin-block-end: 4.8rem;
}
.c-link-list__body {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.6rem 2.4rem;
}
@media (min-width: 768px) {
  .c-link-list__body {
    align-items: center;
  }
}
@media (max-width: 767px) {
  .c-link-list__body {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.6rem 3.2rem;
  }
}
@media (max-width: 767px) {
  .c-link-list li {
    display: flex;
    align-items: center;
    block-size: 100%;
    padding-block-end: 1.6rem;
    border-block-end: 1px dashed var(--color-line-gray);
  }
}
.c-link-list li a {
  position: relative;
  display: inline-block;
  padding-inline-start: 1.8rem;
  font-weight: 500;
}
@media (max-width: 767px) {
  .c-link-list li a {
    padding-inline-start: 2rem;
    font-size: 1.4rem;
  }
}
@media (hover: hover) {
  .c-link-list li a:hover {
    text-decoration: underline;
  }
}
.c-link-list li a:last-child {
  margin-block-end: 0;
}
.c-link-list li a::before {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 0.1rem;
  display: inline-block;
  inline-size: 1.4rem;
  block-size: 1.4rem;
  content: "";
  background: url("/images/parts/icon-ar-circle.svg") no-repeat center center/100% auto;
  transform: translate(0, -50%);
}
@media (max-width: 767px) {
  .c-link-list li a::before {
    inset-inline-start: 0.3rem;
  }
}

.c-ranking-head {
  margin-block-end: 1.6rem;
  border-block-end: 2px solid var(--color-link);
}
@media (max-width: 767px) {
  .c-ranking-head {
    padding-inline: 1.6rem;
    margin-inline: calc(var(--px-sp)*-1);
  }
}
.c-ranking-head__body {
  display: flex;
  gap: 1.6rem;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .c-ranking-head__body {
    flex-direction: column;
  }
}
.c-ranking-head__button {
  display: flex;
  gap: 0.8rem;
  align-items: flex-end;
  padding-inline: 0.8rem;
}
@media (max-width: 767px) {
  .c-ranking-head__button {
    padding: 0;
  }
}
@media (max-width: 767px) {
  .c-ranking-head__button-element {
    inline-size: 100%;
  }
}
.c-ranking-head__button-links {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  align-items: center;
  justify-content: center;
  padding-block: 0.8rem;
  padding-inline: 1.6rem;
  border-block-start: 1px solid var(--color-link);
  border-inline-start: 1px solid var(--color-link);
  border-inline-end: 1px solid var(--color-link);
  border-radius: 0.4rem 0.4rem 0 0;
  transition: 200ms;
}
@media (max-width: 767px) {
  .c-ranking-head__button-links {
    inline-size: 100%;
    padding-inline: 0.8rem;
  }
}
@media (hover: hover) {
  .c-ranking-head__button-links:hover {
    color: var(--color-lightest);
    background: var(--color-link);
  }
  .c-ranking-head__button-links:hover .c-ranking-head__button-links-label {
    background-image: url("/images/parts/icon-ar-circle-white.svg");
  }
  .c-ranking-head__button-links:hover .c-more-head__button-links-label {
    background-image: url("/images/parts/icon-ar-circle-white.svg");
  }
}
.c-ranking-head__button-links-label {
  padding-inline-start: 1.7rem;
  font-size: 1.4rem;
  font-weight: bold;
  background: url("/images/parts/icon-ar-circle.svg") no-repeat left center/1.4rem auto;
  transition: background-image 200ms;
}
@media (max-width: 767px) {
  .c-ranking-head__button-links-label {
    font-size: 1.2rem;
  }
}
.c-more-head__button-links-label {
  padding-inline-start: 2.4rem;
  font-size: 1.8rem;
  font-weight: bold;
  background: url("/images/parts/icon-ar-circle.svg") no-repeat left center/1.8rem auto;
  transition: background-image 200ms;
}
@media (max-width: 767px) {
  .c-more-head__button-links-label {
    font-size: 1.6rem;
  }
}
.c-ranking-head__button-links-term {
  font-size: 1.2rem;
}
@media (max-width: 767px) {
  .c-ranking-head__button-links-term {
    font-size: 1rem;
  }
}
.c-ranking-head__button-links[aria-current=page] {
  padding-block: 0.95rem;
  padding-inline: 2.4rem;
  color: var(--color-lightest);
  background: var(--color-link);
  box-shadow: 0 0 1rem 0 rgba(0, 0, 0, 0.15);
}
@media (max-width: 767px) {
  .c-ranking-head__button-links[aria-current=page] {
    padding-block: 1.15rem;
    padding-inline: 0.2rem;
  }
}
.c-ranking-head__button-links[aria-current=page] .c-ranking-head__button-links-label {
  font-size: 1.6rem;
  background-image: url("/images/parts/icon-ar-circle-white.svg");
}
@media (max-width: 767px) {
  .c-ranking-head__button-links[aria-current=page] .c-ranking-head__button-links-label {
    font-size: 1.4rem;
  }
}
.c-ranking-head__button-links[aria-current=page] .c-more-head__button-links-label {
  font-size: 2.0rem;
  background-image: url("/images/parts/icon-ar-circle-white.svg");
}
@media (max-width: 767px) {
  .c-ranking-head__button-links[aria-current=page] .c-more-head__button-links-label {
    font-size: 1.8rem;
  }
}
.c-ranking-head__button-links[aria-current=page] .c-ranking-head__button-links-term {
  font-size: 1.4rem;
}
@media (max-width: 767px) {
  .c-ranking-head__button-links[aria-current=page] .c-ranking-head__button-links-term {
    font-size: 1rem;
  }
}
.c-ranking-head__sort {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  align-items: center;
  padding-block-end: 1rem;
}
@media (min-width: 768px) {
  .c-ranking-head__sort {
    flex: 1 0 0;
    justify-content: flex-end;
    order: 2;
  }
}
@media (max-width: 767px) {
  .c-ranking-head__sort {
    flex-direction: column;
    align-items: flex-start;
    padding-block-end: 0;
  }
}
.c-ranking-head__sort label {
  font-size: 1.6rem;
  font-weight: 500;
}
@media (max-width: 767px) {
  .c-ranking-head__sort label {
    font-size: 1.4rem;
  }
}
.c-ranking-head__sort select {
  padding-block: 0.8rem;
  padding-inline: 1.6rem 3.4rem;
  cursor: pointer;
  background: var(--color-lightest) url("/images/parts/icon-select.svg") no-repeat;
  background-position: right 1rem center;
  background-size: 1rem auto;
  border: 1px solid var(--color-line-gray);
  border-radius: 0.4rem;
}
@media (max-width: 767px) {
  .c-ranking-head__sort select {
    inline-size: 100%;
    padding-block: 1.3rem;
    padding-inline: 1.6rem 2.5rem;
    font-size: 1.6rem;
  }
}

.c-overseas {
  display: flex;
  justify-content: center;
  padding: 1.6rem;
  background: var(--color-bg-red);
}
.c-overseas__links {
  font-family: var(--font-family-secondary);
  font-size: 1.8rem;
  font-weight: 600;
  color: var(--color-link);
}
@media (max-width: 767px) {
  .c-overseas__links {
    align-items: center;
    font-size: 1.6rem;
    text-align: center;
  }
}
.c-overseas__links img {
  margin-inline-end: 0.8rem;
}
@media (max-width: 767px) {
  .c-overseas__links img {
    display: block;
    margin-block: 0 0.6rem;
    margin-inline: auto;
  }
}
.c-overseas__links span {
  border-block-end: 1px solid currentcolor;
}

.c-confirm-r18 {
  padding-block: 5.6rem 7.2rem;
  padding-inline: 1.6rem;
  background: var(--color-bg-red);
}
@media (max-width: 767px) {
  .c-confirm-r18 {
    padding-block: 4.8rem 9.6rem;
    margin-inline: calc(var(--px-sp)*-1) calc(var(--px-sp)*-1);
  }
}
.c-confirm-r18__head {
  margin-block-end: 2.4rem;
  font-size: 3.2rem;
  font-weight: bold;
  color: var(--color-more-emphasis);
  text-align: center;
}
@media (max-width: 767px) {
  .c-confirm-r18__head {
    margin-block-end: 1.6rem;
    font-size: 2.8rem;
  }
}
.c-confirm-r18__head span {
  display: block;
}
.c-confirm-r18__text {
  margin-block-end: 4rem;
}
@media (max-width: 767px) {
  .c-confirm-r18__text {
    margin-block-end: 2.4rem;
  }
}
.c-confirm-r18__text p {
  margin: 0 0 2.4rem;
  font-size: 1.8rem;
  font-weight: 500;
  text-align: center;
}
@media (max-width: 767px) {
  .c-confirm-r18__text p {
    margin-block-end: 1.6rem;
    font-size: 1.6rem;
  }
  .c-confirm-r18__text p br {
    display: none;
  }
}
.c-confirm-r18__text p:last-child {
  margin-block-end: 0;
}
.c-confirm-r18__button {
  display: flex;
  gap: 1.6rem;
  justify-content: center;
}
@media (max-width: 767px) {
  .c-confirm-r18__button {
    flex-direction: column;
    align-items: center;
  }
}
@media (max-width: 767px) {
  .c-confirm-r18__button-no {
    order: 1;
  }
}

.c-mail-about {
  margin-block-start: 4rem;
}
.c-mail-about__body {
  display: flex;
  flex-wrap: wrap;
  gap: 3.2rem;
}
@media (max-width: 767px) {
  .c-mail-about__body {
    flex-direction: column;
    gap: 1.6rem;
  }
}
.c-mail-about__block {
  inline-size: calc(50% - 1.6rem);
  padding: 1.6rem;
  background: var(--color-bg-gray-02);
  border: 1px solid var(--color-line-gray);
  border-radius: 0.4rem;
}
@media (max-width: 767px) {
  .c-mail-about__block {
    inline-size: 100%;
  }
}
.c-mail-about__block[data-size=full] {
  inline-size: 100%;
}
.c-mail-about__head {
  display: flex;
  gap: 0.8rem;
  align-items: center;
  justify-content: center;
  padding-block-end: 0.8rem;
  margin-block-end: 1.6rem;
  font-size: 2.6rem;
  font-weight: bold;
  border-block-end: 1px solid var(--color-line-gray);
}
@media (max-width: 767px) {
  .c-mail-about__head {
    font-size: 2.4rem;
  }
}
.c-mail-about__lead {
  margin-block-end: 1.6rem;
  font-size: 2rem;
  font-weight: 500;
  text-align: center;
}
@media (max-width: 767px) {
  .c-mail-about__lead {
    font-size: 1.8rem;
  }
}
.c-mail-about__lead span {
  font-weight: bold;
}
.c-mail-about__recommend {
  padding: 1.6rem;
  background: var(--color-lightest);
  border-radius: 0.4rem;
}
.c-mail-about__recommend-head {
  display: flex;
  gap: 0.4rem;
  align-items: flex-end;
  justify-content: center;
  margin-block-end: 2rem;
  font-size: 2.2rem;
  font-weight: bold;
}
@media (max-width: 767px) {
  .c-mail-about__recommend-head {
    font-size: 2rem;
  }
}
.c-mail-about__recommend-head::before, .c-mail-about__recommend-head::after {
  position: relative;
  inset-block-start: -1.2rem;
  display: block;
  inline-size: 2.4rem;
  block-size: 0.2rem;
  content: "";
  background: var(--color-darkest);
}
.c-mail-about__recommend-head::before {
  transform: rotate(-125deg);
}
.c-mail-about__recommend-head::after {
  transform: rotate(125deg);
}
.c-mail-about__recommend ul {
  display: grid;
  gap: 0.5rem 3.2rem;
  padding-block-end: 0.5rem;
  font-size: 1.8rem;
}
@media (max-width: 767px) {
  .c-mail-about__recommend ul {
    gap: 0.8rem;
  }
}
.c-mail-about__recommend ul li {
  padding-inline-start: 2.4rem;
  font-size: 1.8rem;
  font-weight: 500;
  background: url("/images/parts/icon-check.svg") no-repeat left 0.2rem/2rem auto;
}
@media (max-width: 767px) {
  .c-mail-about__recommend ul li {
    font-size: 1.6rem;
  }
}
.c-mail-about__recommend ul li span {
  font-weight: bold;
}
[data-size=full] .c-mail-about__recommend ul {
  display: grid;
  grid-template-columns: repeat(2, auto);
  justify-content: center;
}
@media (max-width: 767px) {
  [data-size=full] .c-mail-about__recommend ul {
    grid-template-columns: auto;
    justify-content: flex-start;
  }
}

.c-mail-register {
  padding-block: 2.4rem;
  background: var(--color-bg-gray-02);
  border-radius: 0.4rem;
}
@media (max-width: 767px) {
  .c-mail-register {
    padding-block: 0;
    padding-inline: 1.6rem;
  }
}
.c-mail-register__body {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
@media (max-width: 767px) {
  .c-mail-register__body {
    grid-template-columns: none;
  }
}
.c-mail-register__block {
  padding-inline: 4rem;
}
@media (max-width: 767px) {
  .c-mail-register__block {
    padding-block: 2.4rem;
    padding-inline: 0;
  }
}
.c-mail-register__block:nth-child(even) {
  border-inline-start: 1px solid var(--color-line-gray);
}
@media (max-width: 767px) {
  .c-mail-register__block:nth-child(even) {
    border-block-start: 1px solid var(--color-line-gray);
    border-inline-start: 0;
  }
}
.c-mail-register__head {
  margin-block-end: 1.6rem;
  font-size: 2.2rem;
  font-weight: bold;
}
@media (max-width: 767px) {
  .c-mail-register__head {
    font-size: 2rem;
  }
}
.c-mail-register__label {
  margin-block-end: 0.8rem;
  font-weight: 500;
}
.c-mail-register__input {
  margin-block-end: 2.4rem;
}
.c-mail-register__input-element {
  display: block;
  inline-size: 100%;
  padding-block: 0.8rem;
  padding-inline: 1.6rem;
  margin-block-end: 0.8rem;
  background: var(--color-lightest);
  border: 1px solid var(--color-line-gray);
  border-radius: 0.2rem;
}
.c-mail-register__input-error {
  display: flex;
  gap: 0 0.2rem;
  margin-block-end: 0.8rem;
  font-size: 1.4rem;
  font-weight: 500;
  color: var(--color-more-emphasis);
}
@media (max-width: 767px) {
  .c-mail-register__input-error {
    font-size: 1.2rem;
  }
}
.c-mail-register__input-error:last-child {
  margin-block-end: 0;
}
.c-mail-register__input-error span {
  display: block;
  min-inline-size: 1em;
}
.c-mail-register__input-example {
  font-size: 1.4rem;
}
@media (max-width: 767px) {
  .c-mail-register__input-example {
    font-size: 1.2rem;
  }
}
.c-mail-register__button {
  display: flex;
  gap: 1.6rem;
  justify-content: center;
}
.c-mail-register__button-entry, .c-mail-register__button-cancel {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  padding-block: 0.8rem;
  padding-inline: 1.6rem 2.6rem;
  font-size: 1.8rem;
  color: var(--color-link);
  text-align: center;
  background: var(--color-lightest) url("/images/parts/icon-ar-link-small.svg") no-repeat;
  background-position: right 0.8rem center;
  background-size: 0.7rem auto;
  border: 1.5px solid currentcolor;
  border-radius: 0.4rem;
  transition: 300ms;
}
@media (max-width: 767px) {
  .c-mail-register__button-entry, .c-mail-register__button-cancel {
    font-size: 1.6rem;
  }
}
@media (hover: hover) {
  .c-mail-register__button-cancel:hover {
    color: var(--color-lightest);
    background-color: var(--color-link);
    background-image: url("/images/parts/icon-ar-bold-white.svg");
  }
}
.c-mail-register__button-entry {
  color: var(--color-lightest);
  background-color: var(--color-link-emphasis);
  background-image: url("/images/parts/icon-ar-bold-white.svg");
  border-color: var(--color-link-emphasis);
}
@media (hover: hover) {
  .c-mail-register__button-entry:hover {
    background-color: var(--color-black);
  }
}


/* 以下HS追加分 */
/* トップページ3ボタン */
.c-page__container2 {
  display: flex;
  justify-content: center; 
  gap: 1.6rem; 
  flex-wrap: nowrap; 
}

.c-page__flex-center_shrink {
  flex-shrink: 1;
}

@media (max-width: 768px) {
  .c-page__container2 {
    flex-direction: column; 
    align-items: center; 
    gap: 1rem;
  }
}

.c-page__bg_new {
  --pt: var(--size-3xl);
  --pb: 3.5rem;
  --pb-sp: var(--pb);
  --py: initial;
  --py-sp: initial;
  padding-inline: initial;
}
@media (max-width: 767px) {
  .c-page__bg_new {
    padding-inline: initial;
  }
}

.c-button-em_new {
  padding-block: 1.2rem;
}
@media (max-width: 767px) {
  .c-button-em_new {
    font-size: 1.4rem;
    padding-block: 0.7rem;
  }
}

.calendar {
  width: 100%; /* Allow the table to shrink to fit within the container */
  border-collapse: separate; /* Use separate borders to allow spacing between cells */
  border-spacing: 0.5rem; /* Adjust the spacing between cells as needed */
  margin: 20px 0;
}

.calendar th, .calendar td {
  border: 1px solid #ddd;
  padding: 0; /* Remove padding to eliminate extra space */
  text-align: center;
  vertical-align: middle; /* Vertically center the text */
  border-radius: 10px;
}

.calendar th {
  background-color: #2d2f36;
}

.calendar thead th[colspan="4"] {
  font-size: 1.5em;
  background-color: #dcdcdc;
}

/* Set a specific width for the leftmost column */
.calendar td:first-child, .calendar th:first-child {
  width: 15%; /* Set width as a percentage for flexibility */
  min-width: 20px; /* Optional: Set a minimum width to prevent it from getting too small */
}

/* Ensure the table adjusts accordingly */
.calendar td, .calendar th {
  box-sizing: border-box;
}

.calendar a {
  text-decoration: underline; /* Remove underline from links */
  color: rgb(22, 146, 187); /* Inherit color from parent element */
  display: block; /* Make links fill the cell */
  padding: 10px; /* Add padding to increase clickable area */
}

/* Highlight each word or cell content when hovering */
.calendar a:hover {
  background-color: #e0e0e0; /* Light gray background on hover */
  border-radius: 10px; /* Rounded corners for the hover effect */
}

.calendar_current td {
  border: 2px solid #f5ca8a;
}

.calendar_current td:first-child{
   background-color: #f5ca8a;
} 

.calendar_past td:first-child{
   background-color: #ffebcd;
} 

.c-product-detail__info-error_display{
	display: none;
}

.c-button-em[type=button][value] {
  text-align: center;
  background-image: url("/images/parts/icon-ar-link-white.svg");
  background-repeat: no-repeat;
  background-position: right 2.2rem center;
  background-size: 1rem auto;
}
.c-form-order__contents_noitem {
  margin-block-end: 2rem;
}
@media (max-width: 767px) {
  .c-form-order__contents_noitem {
    font-size: 1.4rem;
  }
}
.c-product-narrow-error a {
  color: var(--color-link);
  text-decoration: underline;
}
.c-order-information__detail-list dd a {
  color: var(--color-link);
  text-decoration: underline;
}
.favorite-label {
  position: absolute;
  left: 0;
  top: 0;
  transform: translateY(50%);
  font-size: 20px; 
  font-weight: bold; 
}
@media (max-width: 767px) {
  .favorite-label {
    display: none;
  }
}
.favorite-heading {
  font-size: 18px; 
  font-weight: bold; 
}
.c-card__added-date {
  position: absolute;
  top: 10px;
  right: 10px;
  font-size: 12px; 
  color: #555; 
  font-weight: bold;
}
.c-card__info {
  position: relative; 
}
@media (max-width: 340px) {
  .c-card__added-date {
    font-size: 9px; 
  }
}
.c-card__remove {
  font-size: 1.4rem;
  color: var(--color-link);
  text-decoration: underline;
  cursor: pointer;
  border-radius: 0;
  position: absolute;
  bottom: 10px; 
  right: 10px;  
}
.c-card__info {
  position: relative;
}
@media (max-width: 400px) {
  .c-card__remove {
    position: static;
    margin-top: 10px; 
    text-align: right;
  }
}
@media screen and (max-width: 417px) and (min-width: 320px){
  .c-product-index__sort-number-heading span {
    display: block;
  }
}
.Hidden { display:none; }
.c-order-list__attention {
  margin-block-start: 0.8rem;
  font-size: 1.4rem;
  font-weight: 500;
  color: var(--color-more-emphasis);
}
@media (max-width: 767px) {
  .c-order-list__attention {
    font-size: 1.2rem;
  }
}
.c-pict-card-thumb {
  max-width: 224px;
  max-height: 227px;
}
a.c-mypage_sent {
  padding: 4px 8px!important;
  border: 1px solid #c0c0c0;
}
@media (max-width: 767px) {
  a.c-mypage_sent {
  position: relative;
  top: 4px;
  padding: 10px 12px!important;
  }
}
.c-mypage-sent-text {
  padding: 0 0 0 10px;
}
.c-sent_dropnavi {
  position:absolute;
  top: 36px;
  z-index: 99;
}
.c-sent_dropnavi ul {
  z-index:100;
  border-style:solid;
  border-width: 1px;
  border-color:#adadad ;
  -moz-box-shadow: 3px 3px 3px rgba(0,0,0,0.25);
  -webkit-box-shadow: 3px 3px 3px rgba(0,0,0,0.25);
  box-shadow: 3px 3px 3px rgba(0,0,0,0.25);
}
.c-sent_dropnavi ul li {
  position:static;
  background:#fdf8e0;
  white-space:nowrap;
}
.c-sent_dropnavi ul li a {
  font-size:1.6rem;
  font-weight:normal;
  text-decoration:none;
  display:block;
  background:#fdf8e0;
  color:#2e2e2e;
  padding: 6px 38px 6px 18px;
  line-height:16px;
  _zoom:1; /* IE 6 */
}
.c-sent_dropnavi ul li a:hover {
  color:#DF5400;
  text-decoration:none;
  background-color:#FFF2B6;
  border-style:solid;
  border-width:1px;
  border-color:#DF6E00;
}
.dropMenu {
  display: none;
}
.c-mypage_licontent {
  position: relative;
  padding: 10px 0px;
  background-color: #ffffff;
  font-size: 1.6rem;
  color: #3d3d3d;
  text-decoration: none;
  text-align: left;
}
.c-mypage_licontent .on {
  padding: 2px;
  color: #DF5400;
  background-color: #FFF2B6;
  border-style: solid;
  border-width: 1px;
  border-color: #DF6E00;
}
.c-form-order__block-col_combi {
  display: flex;
  justify-content: right;
  font-size: 1.4rem;
  font-weight: 300;
  margin-left: auto;
}
@media (max-width: 767px) {
  .c-form-order__block-col_combi {
    align-items: flex-start;
  }
}
.c-form-order__content_combi {
  margin-left: auto;
}
.c-form-order__content_combi {
  display: inline-flex;
  align-items: center;
  padding-top: 4px;
  padding-bottom: 4px;
  padding-left: 4px;
  padding-right: 2px;
  border: 1px solid var(--color-link);
  background-color: white;
  border-radius: 5px;
}
.c-order-information__block_combi {
  padding-block: 1rem 1rem;
  padding-inline: 4rem;
  margin-block-end: 4rem;
  background: var(--color-bg-gray-02);
  border-radius: 0.4rem;
}
@media (max-width: 767px) {
  .c-order-information__block_combi {
    padding: 0rem 0.8rem 0.8rem 0.8rem;
    margin-block-end: 3.2rem;
  }
}
.c-order-information__block_combi:last-child {
  margin-block-end: 0;
}
.c-payment_request_body {
  margin-inline: auto;
  max-inline-size:70rem;
  border: 1px solid;
  padding:10px;
}
.c-payment_request_body a {
  text-decoration: underline;
  color: #40507b;
}
.c-payment_request_footer {
  margin-inline: auto;
  max-inline-size:70rem;
}
.c-order_cancel_target input[type=radio] {
  position: relative;
  display: block;
  padding-inline-start: 2rem;
  line-height: 1;
  appearance: none;
}
.c-order_cancel_target input[type=radio]::before {
  position: absolute;
  inset-block-start: 0.1rem;
  inset-inline-start: 0;
  display: block;
  inline-size: 2rem;
  block-size: 2rem;
  content: "";
  background-color: var(--color-lightest);
  border: solid 1.5px var(--color-link);
  border-radius: 50%;
}
.c-order_cancel_target input[type=radio]:checked::after {
  position: absolute;
  inset-block-start: 0.6rem;
  inset-inline-start: 0.5rem;
  display: block;
  inline-size: 1rem;
  block-size: 1rem;
  content: "";
  background-color: var(--color-link);
  border-radius: 50%;
}
.c-order_cancel_target p {
  padding-left:30px;
  padding-bottom:10px;
}
.c-form-certification__submit-contact {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  min-inline-size: 27.5rem;
  min-inline-size: 30rem;
  max-inline-size: 55.2rem;
  padding-block: 1.6rem;
  padding-inline: 2.4rem 4.2rem;
  font-weight: 500;
  color: var(--color-link);
  text-align: center;
  white-space: normal;
  background-color: var(--color-lightest);
  background-image: url("/images/parts/icon-ar-link.svg");
  background-repeat: no-repeat;
  background-position: right 2.2rem center;
  background-size: 1rem auto;
  border: 1.5px solid currentcolor;
  border-radius: 0.4rem;
  transition: 300ms;
}
@media (max-width: 767px) {
  .c-form-certification__submit-contact {
    min-inline-size: 27.5rem;
    font-size: 1.4rem;
  }
}
@media (hover: hover) {
  .c-form-certification__submit-contact:hover {
    color: var(--color-lightest);
    background-color: var(--color-link);
    background-image: url("/images/parts/icon-ar-link-white.svg");
  }
}
.c-form-certification__submit-contact::after {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-end: 2.2rem;
  display: block;
  inline-size: 1rem;
  block-size: 1.7rem;
  content: "";
  background: url("/images/parts/icon-ar-link.svg") no-repeat center center;
  background-size: 100% auto;
  transform: translate(0, -50%);
}
.c-form-certification__submit-contact {
  padding-inline-start: 4.5rem;
  background-image: url("/images/parts/icon-mail-link.svg"), url("/images/parts/icon-ar-link.svg");
  background-position: 1.6rem center, right 2.2rem center;
  background-size: 2.4rem auto, 1rem auto;
}
@media (hover: hover) {
  .c-form-certification__submit-contact:hover {
    color: var(--color-lightest);
    background-color: var(--color-link);
    background-image: url("/images/parts/icon-mail-link-white.svg"), url("/images/parts/icon-ar-link-white.svg");
  }
  .c-form-certification__submit-contact:hover::after {
    background-image: url("/images/parts/icon-ar-link-white.svg");
  }
}
.underline {
  border-block-end: 1px solid var(--color-line-gray);
  padding-bottom: 20px;
}
.image-inline {
  vertical-align: middle;
  height: 1em; 
  width: auto; 
  position: relative;
  top: -2px; 
}
.c-grid {
  display: grid;
  grid-template-columns: 25% 1fr; 
  gap: 10px;
}
@media (max-width: 768px) {
  .c-grid {
    grid-template-columns: 35% 1fr; 
  }
}
c-grid div {
  padding: 5px;
  border-bottom: 1px solid #ddd; 
}
.c-member-benefits-point__list-element {
  padding: 2.4rem;
  background: var(--color-bg-gray-02);
}
@media (max-width: 767px) {
  .c-member-benefits-point__list-element {
    padding: 1.6rem;
  font-size: 1.4rem;
  }
}
.c-member-benefits-point__list-element p {
  font-weight: 500;
}
.c-card__price-tags-special_contrib {
  padding-block: 0.15rem;
  padding-inline: 0.2rem 0.2rem;
  font-size: 1.4rem;
  color: var(--color-lightest);
  background: var(--color-emphasis);
}
@media (max-width: 767px) {
  .c-card__price-tags-special_contrib {
    font-size: 1.2rem;
  }
}
.c-card__price-element_contrib {
  font-size: 1.4rem;
  color: var(--color-text-gray);
}
@media (max-width: 767px) {
  .c-card__price-element_contrib {
    font-size: 1.2rem;
  }
}
.c-card__price-element_contrib span {
  margin-inline-start: 0.2rem;
  font-size: 2.4rem;
  font-weight: 600;
}
@media (max-width: 767px) {
  .c-card__price-element_contrib span {
    font-size: 2.2rem;
  }
}
.c-cart-list__element_contrib {
  display: flex;
  padding-inline-end: 1.6rem;
  background-color: var(--color-lightest);
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.15);
}
@media (max-width: 767px) {
  .c-cart-list__element_contrib {
    display: block;
    padding-inline-end: 0;
  }
}
.c-cart-list__element_contrib:last-child {
  border: 0;
}
.transparent-line {
  opacity: 0.2;
  border: none;
  height: 1px;
  background-color: #000;
}
.responsive-img {
  max-width: 100%; 
  height: auto; 
  display: block;
  object-fit: contain; 
}
.c-member-benefits-point__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.4rem;
}
@media (max-width: 767px) {
  .c-member-benefits-point__list {
    grid-template-columns: repeat(1, 1fr);
    gap: 0.8rem;
  }
}
.c-member-benefits-point__list-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  block-size: 4rem;
  margin-block-end: 0.8rem;
}
@media (max-width: 767px) {
  .c-member-benefits-point__list-icon {
    margin-block-end: 0.4rem;
  }
}
.c-member-benefits-point__list-heading {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-block-end: 1.6rem;
  font-size: 2.2rem;
  font-weight: bold;
}
@media (max-width: 767px) {
  .c-member-benefits-point__list-heading {
    margin-block-end: 0.8rem;
    font-size: 2rem;
  }
}
.image-inline-point {
  vertical-align: middle;
  height: 0.9em; /* Adjust to match the text height */
  width: auto; /* Auto-adjust the width based on the height */
  position: relative;
  top: -2px; 
}
.highlight-link {
  color: #004997; 
  text-decoration: none;
  font-weight: bold;
}
.c-card__price-element3 {
  font-size: 1.5rem;
  color: var(--color-text-gray);
}
@media (max-width: 767px) {
  .c-card__price-element3 {
    font-size: 1.3rem;
  }
}
.c-card__price-element3 {
  margin-inline-start: 0.2rem;
  font-weight: 600;
}
#pop_area {
  display: none;
  position: fixed;
  bottom: 150px;
  right: 60px;
  width: 250px;
  transition: 0.3s;
  z-index: 99;
}
@media (max-width: 767px) {
  #pop_area {
    display: none;
    position: fixed;
    bottom: 80px;
    left: 20px;
    width: 150px;
    z-index: 99;
  }
}
.pop_box img {
  width:250px;
  height:250px;
}
@media (max-width: 767px) {
  .pop_box img {
    width:150px;
    height:150px;
  }
}
.pop_box:hover {
  opacity: 0.7;
}
.pop_btn:hover {
  opacity: 0.8;
}
.pop_btn {
  right: -17px;
  top: -17px;
  cursor: pointer;
  display: block;
  position: absolute;
  width: 35px;
  height: 35px;
  border-radius: 50%;
  background: #bbb;
  z-index: 100;
}
@media (max-width: 767px) {
  .pop_btn {
    right: -12px;
    top: -12px;
    cursor: pointer;
    display: block;
    position: absolute;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #bbb;
    z-index: 100;
  }
}
.pop_btn::before, .pop_btn::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 1px;
    height: 13px;
    background: #fff;
}
@media (max-width: 767px) {
  .pop_btn::before, .pop_btn::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 1px;
    height: 9px;
    background: #fff;
  }
}
.pop_btn::before {
    transform: translate(-50%,-50%) rotate(45deg);
}
.pop_btn::after {
    transform: translate(-50%,-50%) rotate(-45deg);
}
.pop_control .checkbox {
    display: none;
}
.pop_control .pop_close #close:checked ~ .pop_btn {
    display: none;
}
.pop_control .pop_close #close:checked ~ .pop_box {
    display: none;
}

.c-product-uri-itemfilter {
    float: left;
    font-size: 1rem;
    padding-top: 10px;
    margin-right: auto;
}

@media (max-width: 767px) {
    .c-product-uri-itemfilter {
    width : 10px;
    font-size: 0.5rem;
    margin-top : 80px;
    }

    .c-product-uri-itemfilter-mtopc {
        margin-top : -20px;
    }
    .c-product-uri-itemfilter > .c-side-narrow__dialog-checkbox {
        position: absolute;
    }
}

.c-card__tags-bonus {
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  padding-block: 0.1rem;
  padding-inline: 2.8rem 0.7rem;
  margin-block-end: 0.4rem;
  font-size: 1.2rem;
  color: var(--color-lightest);
  background-color: var(--color-more-emphasis);
  background: var(--color-more-emphasis) url("/images/parts/icon-special.svg") no-repeat 8px center/1.5rem auto;
  border: 1px solid var(--color-lightest);
  border-inline-start: 0;
  border-radius: 0 10rem 10rem 0;
}
@media (max-width: 767px) {
  .c-card__tags-bonus {
    font-size: 1rem;
  }
}

.c-text-bonus-campaign-title {
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  padding-block: 0.55rem;
  padding-inline: 0.8rem 0.8rem;
  margin-block-end: 1.6rem;
  color: var(--color-lightest);
  background: var(--color-darkest);
  border-radius: 0.4rem;
}
@media (max-width: 767px) {
  .c-text-bonus-campaign-title {
    padding-block: 0.7rem;
    font-size: 1.4rem;
  }
}
.breadcrumb-list-margin {
   margin-top: 4rem;
   margin-bottom: -1.5rem;
}
@media (max-width: 767px) {
  .breadcrumb-list-margin {
      margin-top:0rem;
  }
}
.breadcrumb-rank-margin {
   margin-bottom: 2rem;
}
@media (max-width: 767px) {
  .breadcrumb-rank-margin {
      margin-top:-3.2rem;
  }
}
@media (max-width: 767px) {
  .breadcrumb-item-margin {
   margin-top: -3.2rem;
  }
}
.c-division-container {
  display: flex;
  gap: 0;
}
.c-division-box-left {
  flex: 1.5;
  padding-left: 60px;
  padding-right:10px;
  text-align: center;
}
.c-division-box-cneter {
  flex: 7;
}
.c-division-box-right {
  flex: 1.5;
}
.c-division-box-cneter-item {
  flex: 8;
}
.c-division-box-right-item {
  flex: 0.5;
}
@media screen and (max-width: 1023px) {
  .c-division-hide-on-mobile {
    display: none;
  }
}
@media screen and (min-width: 1024px) {
  .c-division-box-cneter-item-margin {
    margin-inline-start: 30px;
  }
}