@charset "UTF-8";
html, body {
  font-size: 62.5%;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

.serif {
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

html {
  scroll-padding-block-start: 180px;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
       text-size-adjust: 100%;
}
@media (width < 740px) {
  html {
    scroll-padding-block-start: 25vw;
  }
}

body {
  width: 100%;
  height: auto;
  min-height: 100dvh;
  position: relative;
  z-index: 1;
}
body.open {
  overflow: hidden;
}

h1, h2, h3, h4, h5 {
  line-height: 1em;
}

p, a, li {
  line-height: 1.625;
}

p {
  text-align: justify;
}

img {
  display: block;
  width: 100%;
  height: auto;
}

details summary::-webkit-details-marker {
  display: none;
}

@media (any-hover: hover) and (pointer: fine) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}
.main {
  -webkit-padding-after: 100px;
          padding-block-end: 100px;
}
@media (width < 740px) {
  .main {
    order: 1;
    -webkit-padding-after: 7.79vw;
            padding-block-end: 7.79vw;
  }
}

.l__content {
  contain: content;
}
.l__wrapper {
  width: min(90%, 1100px);
  margin-inline: auto;
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 45px;
}
@media (width < 740px) {
  .l__wrapper {
    grid-template-columns: 1fr;
    gap: 0;
  }
}
.l__common-wrap {
  -webkit-margin-before: 50px;
          margin-block-start: 50px;
}
@media (width < 740px) {
  .l__common-wrap {
    -webkit-margin-before: 25vw;
            margin-block-start: 25vw;
  }
}
.l__block {
  -webkit-margin-before: 100px;
          margin-block-start: 100px;
  container-type: inline-size;
  container-name: block;
}
@media (width < 740px) {
  .l__block {
    -webkit-margin-before: 16.49vw;
            margin-block-start: 16.49vw;
  }
}

.event_desc {
  font-size: 11px;
  line-height: 1;
  letter-spacing: 0.025em;
  display: block;
  background-color: #a50000;
  color: #fff;
  font-weight: 700;
  padding-block: 0.4em;
  padding-inline: 0.8em;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.m__page-heading {
  display: block;
  font-size: min(2.73vw, 22px);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 5.9090909091em;
  text-align: center;
  margin-inline: auto;
  -webkit-padding-after: 0.6em;
          padding-block-end: 0.6em;
  padding-inline: 1em;
  border-bottom: 1px solid #777;
  position: relative;
  -webkit-margin-after: 2.3181818182em;
          margin-block-end: 2.3181818182em;
  -webkit-margin-before: 3.1818181818em;
          margin-block-start: 3.1818181818em;
}
@media (width < 740px) {
  .m__page-heading {
    font-size: 4.16vw;
    min-width: 9.34375em;
  }
}
.m__block-heading {
  display: block;
  font-size: min(2.73vw, 22px);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 14.2142857143em;
  text-align: center;
  margin-inline: auto;
  -webkit-padding-after: 0.9090909091em;
          padding-block-end: 0.9090909091em;
  border-bottom: 1px solid #777;
  position: relative;
  -webkit-margin-after: 2.3181818182em;
          margin-block-end: 2.3181818182em;
  letter-spacing: 0.029em;
}
.m__block-heading::after {
  content: "";
  width: 100%;
  height: 0.6363636364em;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  position: absolute;
  bottom: calc(-0.6363636364em - 1px);
  left: 0;
}
@media (width < 740px) {
  .m__block-heading {
    font-size: 4.16vw;
    min-width: 9.34375em;
  }
}
.m__block-heading.-wave1::after {
  background-image: url(../images/deco-wave1.png);
}
.m__block-heading.-wave2::after {
  background-image: url(../images/deco-wave2.png);
}
.m__block-heading.-wave3::after {
  background-image: url(../images/deco-wave3.png);
}
.m__heading-short {
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.025em;
  -webkit-margin-after: 1.1em;
          margin-block-end: 1.1em;
}
@media (width < 740px) {
  .m__heading-short {
    font-size: 5.19vw;
    text-align: center;
    -webkit-margin-after: 1.45em;
            margin-block-end: 1.45em;
  }
}
.m__img-heading {
  -webkit-margin-before: 14px;
          margin-block-start: 14px;
  font-size: min(2.73vw, 22px);
  line-height: 2;
  text-align: center;
  letter-spacing: 0.05em;
}
@media (width < 740px) {
  .m__img-heading {
    font-size: 4.16vw;
  }
}
.m__block {
  -webkit-margin-before: 58px;
          margin-block-start: 58px;
}
@media (width < 740px) {
  .m__block {
    -webkit-margin-before: 15.58vw;
            margin-block-start: 15.58vw;
  }
}
.m__list {
  font-size: min(1.82vw, 16px);
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 2.75em 1.125em;
}
.m__list li {
  position: relative;
}
.m__list li .campaign__badge {
  position: absolute;
  top: 0;
  right: 0;
  pointer-events: none;
  z-index: 5;
}
.m__list li .campaign__badge *:not(.event_desc) {
  display: none;
}
.m__list a {
  display: block;
}
.m__list a img, .m__list a .-name {
  transition: opacity 0.2s;
}
.m__list a:focus-visible img {
  opacity: 0.6;
}
.m__list a:focus-visible .-name {
  text-decoration: underline;
}
@media (any-hover: hover) {
  .m__list a:hover img {
    opacity: 0.6;
  }
  .m__list a:hover .-name {
    text-decoration: underline;
  }
}
.m__list .-cat, .m__list .-name, .m__list .-price {
  display: block;
  letter-spacing: 0.04em;
}
.m__list .-name {
  margin-block: 0.625em;
  line-height: 1.5;
}
.m__list .-zeikomi {
  font-size: 0.875em;
}
.m__list .-img {
  position: relative;
  z-index: 1;
}
.m__list .-img img {
  aspect-ratio: 1/1;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
}
.m__list .-img:has(.-out) img {
  opacity: 0.6;
}
.m__list .-out {
  font-size: min(1.25em, 20px);
  display: grid;
  place-items: center;
  width: 100%;
  height: 2.35em;
  background: rgba(255, 255, 255, 0.8);
  position: absolute;
  top: calc(50% - 1.125em);
  left: 0;
  color: #a50000;
}
@media (width < 740px) {
  .m__list {
    font-size: min(3.38vw, 20px);
    grid-template-columns: repeat(2, 1fr);
    gap: 6.49vw 2.99vw;
  }
}
.m__list + .m__btn-common {
  -webkit-margin-before: 1.7857142857em;
          margin-block-start: 1.7857142857em;
  margin-inline: auto;
}
.m__btn-common {
  font-size: min(1.82vw, 14px);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding-inline: 1em;
  min-width: 12.9285714286em;
  height: 2.1428571429em;
  display: grid;
  place-items: center;
  border: 1px solid #000;
  background-color: #fff;
  border-radius: 100vmax;
  transition: all 0.2s;
}
.m__btn-common:focus-visible {
  border-color: #24ace7;
  color: #24ace7;
}
@media (any-hover: hover) {
  .m__btn-common:hover {
    border-color: #24ace7;
    color: #24ace7;
  }
}
@media (width < 740px) {
  .m__btn-common {
    font-size: 3.64vw;
  }
}
.m__btn-sticky {
  font-size: 1.1428571429em;
  font-weight: 500;
  width: min(392px - 3.625em, 100% - 3.625em);
  height: 3.625em;
  display: grid;
  grid-template-columns: auto auto;
  place-items: center;
  place-content: center;
  gap: 1.875em;
  background-color: #b36e91;
  color: #fff;
  border-radius: 0.25em;
  transition: background-color 0.2s;
  margin-inline: auto calc(3.625em + 10px);
  position: -webkit-sticky;
  position: sticky;
  bottom: 20px;
  -webkit-margin-before: 60px;
          margin-block-start: 60px;
}
.m__btn-sticky::before {
  content: "";
  width: 1.25em;
  aspect-ratio: 1/1;
  background-image: url(../images/arrow-up-wt.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
}
.m__btn-sticky:focus-visible {
  background-color: #e2aec8;
}
@media (any-hover: hover) {
  .m__btn-sticky:hover {
    background-color: #e2aec8;
  }
}
@media (width < 740px) {
  .m__btn-sticky {
    width: 90vw;
    -webkit-margin-end: 0;
            margin-inline-end: 0;
  }
}
@media (width < 402px) {
  .m__btn-sticky {
    -webkit-margin-before: 20vw;
            margin-block-start: 20vw;
    bottom: 2vw;
  }
}
.m__btn-pagetop {
  display: block;
  font-size: 16px;
  width: 3.625em;
  aspect-ratio: 1/1;
  background-color: #777;
  border-radius: 0.375em;
  background-image: url(../images/arrow-up-wt.svg);
  background-size: 1.25em;
  background-repeat: no-repeat;
  background-position: center center;
  position: fixed;
  bottom: 20px;
  left: calc(50vw + 492px);
  z-index: 900;
  opacity: 0;
  transition: all 0.2s;
  pointer-events: none;
}
.m__btn-pagetop.is-visible {
  opacity: 1;
  pointer-events: all;
}
.m__btn-pagetop.is-visible:focus-visible {
  background-color: #919090;
}
@media (any-hover: hover) {
  .m__btn-pagetop.is-visible:hover {
    background-color: #919090;
  }
}
@media (width < 1222px) {
  .m__btn-pagetop {
    left: auto;
    right: 5vw;
  }
}
@media (width < 740px) {
  .m__btn-pagetop {
    display: none;
  }
}
.m__btn-gry {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 10.2142857143em;
  height: 2.3571428571em;
  font-size: 14px;
  font-weight: 500;
  background-color: #eee;
  border-radius: 0.3571428571em;
  background-image: url(../images/arrow-next-rounded.svg);
  background-repeat: no-repeat;
  background-size: 1.2857142857em;
  background-position: left 1em center;
  -webkit-padding-start: 3em;
          padding-inline-start: 3em;
  -webkit-padding-end: 1.5em;
          padding-inline-end: 1.5em;
  display: grid;
  place-content: center;
  place-items: center;
  transition: opacity 0.2s;
  line-height: 1.4;
  transition: all 0.2s;
  margin-block: 1em;
}
.m__btn-gry:focus-visible {
  background-color: #acddf2;
}
@media (any-hover: hover) {
  .m__btn-gry:hover {
    background-color: #acddf2;
  }
}
.m__ranking .m__list {
  -webkit-padding-before: 1.25em;
          padding-block-start: 1.25em;
}
.m__ranking .m__list > li {
  -webkit-padding-after: 1.25em;
          padding-block-end: 1.25em;
}
.m__ranking .m__block-heading::after {
  background-image: url(../images/deco-wave1.png);
}
.m__ranking .-badge {
  font-size: 1.5em;
  width: 1.75em;
  aspect-ratio: 1/1;
  display: grid;
  place-items: center;
  border: 1px solid #000;
  background-color: #fff;
  border-radius: 100vmax;
  position: absolute;
  top: -1.0833333333em;
  left: 0.2em;
  z-index: 5;
}
.m__new .m__block-heading::after {
  background-image: url(../images/deco-wave1.png);
}
.m__recommend .m__block-heading::after {
  background-image: url(../images/deco-wave2.png);
}
.m__special .m__block-heading::after {
  background-image: url(../images/deco-wave3.png);
}
.m__bnr {
  font-size: 13px;
  -webkit-margin-before: 6.9230769231em;
          margin-block-start: 6.9230769231em;
  line-height: 1.54;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 2.2307692308em 1.4615384615em;
}
@media (width < 740px) {
  .m__bnr {
    font-size: 2.73vw;
    grid-template-columns: 1fr;
  }
}
.m__bnr > li {
  display: block;
  aspect-ratio: 19 / 10;
}
.m__bnr > li a {
  width: 100%;
  height: 100%;
  display: grid;
  grid-template-columns: 43% 1fr;
  grid-template-rows: 1fr -webkit-max-content;
  grid-template-rows: 1fr max-content;
}
.m__bnr > li a .-bg {
  grid-area: 1/1/3/3;
  transition: opacity 0.3s;
  z-index: -1;
}
.m__bnr > li a .-txt {
  grid-area: 1/1/2/2;
  align-self: center;
  justify-self: center;
  max-width: 12.3076923077em;
  overflow: hidden;
}
.m__bnr > li a:focus-visible .-bg {
  opacity: 0.6;
}
@media (any-hover: hover) {
  .m__bnr > li a:hover .-bg {
    opacity: 0.6;
  }
}
@media (width < 740px) {
  .m__bnr > li a {
    grid-template-columns: 37.79vw 1fr;
  }
}
.m__bnr-txt {
  grid-area: 2/1/3/3;
  background: rgba(246, 246, 246, 0.9);
  padding-block: 1em;
  padding-inline: 1.3076923077em;
  font-weight: 500;
}
.m__bnr-campaign {
  display: block;
  -webkit-margin-after: 20px;
          margin-block-end: 20px;
  transition: opacity 0.2s;
}
.m__bnr-campaign:focus-visible {
  opacity: 0.7;
}
@media (any-hover: hover) {
  .m__bnr-campaign:hover {
    opacity: 0.7;
  }
}
@media (width < 740px) {
  .m__bnr-campaign {
    -webkit-margin-before: 7.79vw;
            margin-block-start: 7.79vw;
    -webkit-margin-after: 0;
            margin-block-end: 0;
    overflow: hidden;
  }
  .m__bnr-campaign img {
    aspect-ratio: 180 / 83;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
  }
  .m__bnr-campaign + .category__child-nav .category__child-nav-list {
    -webkit-margin-before: 4.68vw;
            margin-block-start: 4.68vw;
  }
}
.m__bnr2 {
  font-size: 13px;
  -webkit-margin-before: 2.6923076923em;
          margin-block-start: 2.6923076923em;
  line-height: 1.54;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 2.2307692308em 1.4615384615em;
}
@media (width < 740px) {
  .m__bnr2 {
    font-size: 2.86vw;
    grid-template-columns: 1fr;
  }
}
.m__bnr2 > li {
  display: block;
}
.m__bnr2 > li a {
  display: block;
  padding-block: 2.3846153846em 1.6153846154em;
  padding-inline: 2.8461538462em;
}
.m__bnr2 > li .-ttl {
  font-size: 1.5384615385em;
  display: grid;
  grid-template-columns: 1.85em 1fr;
  gap: 0.8em;
  align-items: center;
  letter-spacing: 0.1em;
}
.m__bnr2 > li .-txt {
  display: block;
  margin-block: 1em;
  font-weight: 500;
}
.m__bnr2 > li .-btn {
  font-size: 14px;
  font-weight: 500;
  background-image: url(../images/arrow-next-rounded.svg);
  background-repeat: no-repeat;
  background-size: 1.2857142857em;
  -webkit-padding-start: 1.6428571429em;
          padding-inline-start: 1.6428571429em;
  display: block;
  transition: opacity 0.2s;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto 0;
  letter-spacing: 0.05em;
  background-position: left center;
}
.m__bnr2 > li .-btn:focus-visible {
  opacity: 0.7;
}
@media (any-hover: hover) {
  .m__bnr2 > li .-btn:hover {
    opacity: 0.7;
  }
}
@media (width < 740px) {
  .m__bnr2 > li .-btn {
    font-size: 2.6vw;
  }
}
.m__bnr2 .-bnr1 {
  background-color: #feedbe;
}
.m__bnr2 .-bnr2 {
  background-color: #cceae7;
}
.m__breadcrumb {
  font-size: min(2.34vw, 12px);
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-items: center;
  gap: 0.5em;
}
@media (width < 740px) {
  .m__breadcrumb {
    -webkit-margin-before: 1em;
            margin-block-start: 1em;
  }
}
.m__breadcrumb a {
  display: grid;
  grid-template-columns: 1fr 1em;
  align-items: center;
  gap: 0.5em;
  transition: opacity 0.2s;
}
.m__breadcrumb a::after {
  content: ">";
}
.m__breadcrumb a:focus-visible {
  opacity: 0.7;
}
@media (any-hover: hover) {
  .m__breadcrumb a:hover {
    opacity: 0.7;
  }
}
.m__icon-list {
  font-size: 11px;
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-items: center;
  gap: 0.5em;
  -webkit-margin-before: 0.8em;
          margin-block-start: 0.8em;
}
.m__icon-item {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  border-radius: 0.4em;
  height: 2em;
}
.m__icon-item img {
  width: 0;
  height: 0;
}
.m__icon-item::after {
  display: grid;
  grid-template-rows: 2em;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 5.9090909091em;
  height: 2em;
  place-items: center;
  font-weight: 500;
  letter-spacing: 0.053em;
  padding-inline: 1em;
  line-height: 1;
  text-align: center;
}
.m__icon-item.-gift-NG {
  background-color: #ddd;
  order: 1;
}
.m__icon-item.-gift-NG::after {
  content: "包装・のし不可";
}
.m__icon-item.-gift-OK {
  background-color: #fee177;
  order: 1;
}
.m__icon-item.-gift-OK::after {
  content: "ギフト包装可";
}
.m__icon-item.-nenmatsu {
  background-color: #e9c4b5;
  order: 0;
}
.m__icon-item.-nenmatsu::after {
  content: "年末発送";
}
.m__icon-item.-reito {
  background-color: #7cd0dd;
  order: 2;
}
.m__icon-item.-reito::after {
  content: "冷凍";
}
.m__icon-item.-reizo {
  background-color: #b5eae7;
  order: 2;
}
.m__icon-item.-reizo::after {
  content: "冷蔵";
}
.m__pager {
  font-size: min(3.64vw, 14px);
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  gap: 0.8em 0.5em;
}
.m__pager-wrap {
  -webkit-margin-before: 180px;
          margin-block-start: 180px;
}
@media (width < 740px) {
  .m__pager-wrap {
    -webkit-margin-before: 24.03vw;
            margin-block-start: 24.03vw;
  }
}
.m__pager li {
  display: block;
}
.m__pager a {
  display: grid;
  place-items: center;
  width: 2.3571428571em;
  aspect-ratio: 1/1;
  border-radius: 50%;
}
.m__pager a:focus-visible {
  background-color: #f6f6f6;
}
@media (any-hover: hover) {
  .m__pager a:hover {
    background-color: #f6f6f6;
  }
}
.m__pager .-current span {
  display: grid;
  place-items: center;
  width: 2.3571428571em;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: #f6f6f6;
}
.m__pager .-prev a {
  background-image: url(../images/arrow-prev.svg);
  background-size: 0.5714285714em;
  background-repeat: no-repeat;
  background-position: center center;
}
.m__pager .-next a {
  background-image: url(../images/arrow-next.svg);
  background-size: 0.5714285714em;
  background-repeat: no-repeat;
  background-position: center center;
}
.m__caution {
  font-size: 14px;
  margin-block: 2em;
}
.m__total-count {
  font-size: 14px;
  margin-block: 1.5em 1em;
}
.m__inblo {
  display: inline-block;
}
.m__txt-common {
  font-size: 14px;
  font-weight: 350;
  line-height: 1.7;
  display: block;
}
.m__txt-bb {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.63;
  letter-spacing: 0.075em;
}
.m__txt-bex {
  font-size: 18px;
  font-weight: 500;
  line-height: 1.63;
  letter-spacing: 0.075em;
}
.m__ol-common {
  font-size: 14px;
  -webkit-margin-before: 2em;
          margin-block-start: 2em;
}
.m__ol-common .-bold {
  display: block;
  font-size: 1.2em;
  font-weight: 500;
  -webkit-margin-after: 0.5em;
          margin-block-end: 0.5em;
}
.m__ol-common-item {
  padding-block: 1em;
}
.m__ol-small {
  list-style-type: decimal;
  list-style-position: inside;
  text-indent: -1em;
  -webkit-margin-start: 1.25em;
          margin-inline-start: 1.25em;
}
.m__ol-small-item {
  line-height: 1.86;
}
.m__ul-common {
  font-size: 14px;
  -webkit-margin-before: 2em;
          margin-block-start: 2em;
  text-indent: -1em;
  -webkit-margin-start: 1.25em;
          margin-inline-start: 1.25em;
}
.m__ul-common .-bold {
  display: block;
  font-size: 1.2em;
  font-weight: 500;
  -webkit-margin-after: 0.5em;
          margin-block-end: 0.5em;
}
.m__ul-common-item {
  padding-block: 1em;
}
.m__ul-small {
  text-indent: -1em;
  -webkit-margin-start: 1.25em;
          margin-inline-start: 1.25em;
  -webkit-padding-after: 0.8em;
          padding-block-end: 0.8em;
}
.m__common-bordered-wrap {
  font-size: 14px;
  border: 1px solid #000;
  padding-block: 1.8em;
  padding-inline: 1.4em;
  -webkit-margin-before: 2em;
          margin-block-start: 2em;
}
.m__common-bordered-wrap * {
  margin-block: 0;
}
.m__inner-nav {
  width: min(100%, 570px);
  -webkit-margin-before: 50px;
          margin-block-start: 50px;
  -webkit-margin-after: 99px;
          margin-block-end: 99px;
  margin-inline: auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2em 2.7142857143em;
}
.m__inner-nav a {
  font-size: 14px;
  font-weight: 500;
  background-image: url(../images/arrow-next-rounded.svg);
  background-repeat: no-repeat;
  background-size: 1.2857142857em;
  -webkit-padding-start: 1.6428571429em;
          padding-inline-start: 1.6428571429em;
  display: block;
  transition: opacity 0.2s;
  background-position: left center;
}
.m__inner-nav a:focus-visible {
  opacity: 0.7;
}
@media (any-hover: hover) {
  .m__inner-nav a:hover {
    opacity: 0.7;
  }
}
@media (width < 1024px) {
  .m__inner-nav {
    grid-template-columns: 1fr;
    gap: 0.2307692308em;
  }
  .m__inner-nav a {
    text-align: center;
    background-image: url(../images/arrow-next.svg);
    background-position: right center;
    background-size: 0.5em;
  }
  .m__inner-nav li {
    background-color: #f6f6f6;
    width: 100%;
    display: block;
    padding-block: 1em;
    padding-inline: 1.5em;
  }
}
@media (width < 740px) {
  .m__inner-nav {
    margin-block: 3.9vw 11.69vw;
  }
  .m__inner-nav a {
    font-size: 13px;
  }
}

.header {
  font-size: min(2.18vw, 18px);
  height: 180px;
  width: 100%;
  background-color: #fff;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
}
@media (width < 740px) {
  .header {
    height: 25vw;
    font-size: 2.47vw;
  }
}
.header a {
  transition: opacity 0.2s;
}
.header a:focus-visible {
  opacity: 0.7;
}
@media (any-hover: hover) {
  .header a:hover {
    opacity: 0.7;
  }
}
.header__inner {
  width: min(90vw, 1100px);
  height: 100%;
  margin-inline: auto;
  display: grid;
  grid-template-columns: 1fr -webkit-max-content;
  grid-template-columns: 1fr max-content;
}
@media (width < 740px) {
  .header__inner {
    grid-template-columns: 1fr 14.03vw 13.64vw;
    gap: 3.9vw;
  }
}
.header__heading {
  grid-area: 1/1/3/2;
  align-self: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media (width < 740px) {
  .header__heading {
    grid-area: 1/1/2/2;
  }
}
.header__heading h1 {
  -webkit-margin-before: 0.6666666667em;
          margin-block-start: 0.6666666667em;
  text-align: center;
  letter-spacing: 0.106em;
}
.header__heading h1 .-en {
  display: inline-block;
  -webkit-margin-start: 0.5em;
          margin-inline-start: 0.5em;
}
.header__ttl {
  display: block;
  font-size: 0.7777777778em;
  -webkit-margin-after: 0.7857142857em;
          margin-block-end: 0.7857142857em;
  line-height: 1;
  text-align: center;
  letter-spacing: 0.057em;
}
.header__logo {
  display: block;
  width: 13.8333333333em;
  margin-inline: auto;
  transition: opacity 0.2s;
}
.header__logo:focus-visible {
  opacity: 0.7;
}
@media (any-hover: hover) {
  .header__logo:hover {
    opacity: 0.7;
  }
}
.header__contact {
  font-size: 0.7777777778em;
  grid-area: 1/2/2/3;
  align-self: center;
  -webkit-padding-before: 1em;
          padding-block-start: 1em;
}
@media (width < 740px) {
  .header__contact {
    display: none;
  }
}
.header__contact a {
  font-size: 1.2857142857em;
  display: inline-block;
  letter-spacing: 0.062em;
  font-weight: 320;
}
.header__contact a .-num {
  font-size: 1.4444444444em;
  letter-spacing: 0.043em;
}
.header__contact-txt {
  display: inline-block;
  -webkit-margin-start: 1em;
          margin-inline-start: 1em;
  letter-spacing: 0.046em;
}
.header__account {
  font-size: 0.7777777778em;
  font-weight: 500;
  letter-spacing: 0.046em;
  grid-area: 2/2/3/3;
  display: grid;
  grid-template-columns: repeat(2, 8.6428571429em) -webkit-max-content;
  grid-template-columns: repeat(2, 8.6428571429em) max-content;
  gap: 0.7857142857em;
  align-items: center;
  align-self: start;
}
@media (width < 740px) {
  .header__account {
    grid-area: 1/2/2/3;
    align-self: center;
  }
}
.header__mypage {
  display: grid;
  height: 2.1428571429em;
  border: 1px solid #000;
  border-radius: 100vmax;
  grid-template-columns: 1.0714285714em -webkit-max-content;
  grid-template-columns: 1.0714285714em max-content;
  place-items: center;
  place-content: center;
  gap: 0.5714285714em;
}
.header__mypage::before {
  content: "";
  width: 1.0714285714em;
  height: 100%;
  background-image: url(../images/ico-login.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
}
@media (width < 740px) {
  .header__mypage {
    display: none;
  }
}
.header__logout {
  display: grid;
  height: 2.1428571429em;
  border: 1px solid #000;
  border-radius: 100vmax;
  grid-template-columns: 1.0714285714em -webkit-max-content;
  grid-template-columns: 1.0714285714em max-content;
  place-items: center;
  place-content: center;
  gap: 0.5714285714em;
}
.header__logout::before {
  content: "";
  width: 1.0714285714em;
  height: 100%;
  background-image: url(../images/ico-logout.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
}
@media (width < 740px) {
  .header__logout {
    display: none;
  }
}
.header__login {
  display: grid;
  height: 2.1428571429em;
  border: 1px solid #000;
  border-radius: 100vmax;
  grid-template-columns: 1.0714285714em -webkit-max-content;
  grid-template-columns: 1.0714285714em max-content;
  place-items: center;
  place-content: center;
  gap: 0.5714285714em;
}
.header__login::before {
  content: "";
  width: 1.0714285714em;
  height: 100%;
  background-image: url(../images/ico-login.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
}
@media (width < 740px) {
  .header__login {
    display: none;
  }
}
.header__join {
  display: grid;
  height: 2.1428571429em;
  border: 1px solid #000;
  border-radius: 100vmax;
  grid-template-columns: 1.0714285714em -webkit-max-content;
  grid-template-columns: 1.0714285714em max-content;
  place-items: center;
  place-content: center;
  gap: 0.4285714286em;
}
.header__join::before {
  content: "";
  width: 1.0714285714em;
  height: 100%;
  background-image: url(../images/ico-member.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
}
@media (width < 740px) {
  .header__join {
    display: none;
  }
}
.header__cart {
  height: 4.1428571429em;
  position: relative;
}
@media (width < 740px) {
  .header__cart {
    width: 14.03vw;
    height: 14.03vw;
  }
}
.header__cart a {
  display: flex;
  flex-flow: row nowrap;
  justify-content: center;
  align-items: center;
  gap: 0.6em;
  -webkit-padding-start: 0.8em;
          padding-inline-start: 0.8em;
}
.header__cart a::after {
  content: "";
  width: 4.1428571429em;
  aspect-ratio: 1/1;
  border-radius: 50%;
  border: 1px solid #000;
  background-image: url(../images/ico-cart.svg);
  background-size: 50%;
  background-repeat: no-repeat;
  background-position: center center;
}
@media (width < 740px) {
  .header__cart a {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
  }
  .header__cart a .-cart-txt {
    display: none;
  }
  .header__cart a::after {
    width: 100%;
    grid-area: 1/1/2/2;
  }
}
.header__cart .cart-badge {
  position: absolute;
  font-size: 1em;
  display: grid;
  place-items: center;
  background-color: #f00;
  color: #fff;
  border-radius: 50%;
  width: 2em;
  height: 2em;
  top: -0.2em;
  right: -1.2em;
}
@media (width < 740px) {
  .header__cart .cart-badge {
    font-size: 1.5em;
    right: -1.2em;
  }
}
.header__btn-sp {
  display: none;
}
@media (width < 740px) {
  .header__btn-sp {
    align-self: center;
    background-color: #777;
    aspect-ratio: 52 / 41;
    display: grid;
    grid-template-columns: 1fr;
    grid-auto-rows: auto;
    place-content: center;
    place-items: center;
    gap: 1.3vw;
    -webkit-padding-before: 1.3vw;
            padding-block-start: 1.3vw;
  }
  .header__btn-sp span {
    display: block;
    transition: all 0.3s;
  }
  .header__btn-sp span:first-of-type {
    width: 9.48vw;
    height: 1px;
    background-color: #fff;
  }
  .header__btn-sp span:nth-of-type(2) {
    width: 9.48vw;
    height: 1px;
    background: linear-gradient(to right, #fff 73%, transparent 73%);
  }
  .header__btn-sp .-label {
    color: #fff;
    font-size: 2.6vw;
    align-self: end;
  }
  .header__btn-sp.-for-close {
    -webkit-padding-before: 1.82vw;
            padding-block-start: 1.82vw;
  }
  .header__btn-sp.-for-close span:first-of-type {
    grid-area: 1/1/3/2;
    transform: scaleY(50%) scaleX(150%) rotate(60deg);
  }
  .header__btn-sp.-for-close span:nth-of-type(2) {
    grid-area: 1/1/3/2;
    background-color: #fff;
    transform: scaleY(50%) scaleX(150%) rotate(-60deg);
  }
}
.header__nav {
  font-size: min(1.82vw, 16px);
  letter-spacing: 0.04em;
  position: relative;
  z-index: 3;
  background-color: #fff;
  height: 49px;
}
.header__nav-wrap {
  -webkit-margin-before: 180px;
          margin-block-start: 180px;
  position: relative;
  z-index: 9;
}
.header__nav-wrap a, .header__nav-wrap .-a {
  transition: opacity 0.2s;
}
.header__nav-wrap a:focus-visible, .header__nav-wrap .-a:focus-visible {
  opacity: 0.7;
}
@media (any-hover: hover) {
  .header__nav-wrap a:hover, .header__nav-wrap .-a:hover {
    opacity: 0.7;
  }
}
@media (width < 740px) {
  .header__nav-wrap {
    display: none;
  }
}
.header__nav-list {
  width: min(98vw, 1100px);
  height: 100%;
  margin-inline: auto;
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  align-items: center;
}
.header__nav-item {
  font-weight: 500;
}
.header__nav-item .-a {
  cursor: pointer;
  background-image: url(../images/arrow-down.svg);
  background-size: 0.875em;
  background-repeat: no-repeat;
  background-position: right center;
  -webkit-padding-end: 1.6875em;
          padding-inline-end: 1.6875em;
}
.header__nav-item.-cat {
  background-image: url(../images/ico-kamaboko.svg);
  background-repeat: no-repeat;
  background-size: 1.8125em;
  background-position: left center;
  -webkit-padding-start: 2.5625em;
          padding-inline-start: 2.5625em;
}
.header__nav-item.-shop {
  background-image: url(../images/ico-shop.svg);
  background-repeat: no-repeat;
  background-size: 1.75em;
  background-position: left top;
  -webkit-padding-start: 2.5em;
          padding-inline-start: 2.5em;
}
.header__nav-item.-guide {
  background-image: url(../images/ico-giftbox.svg);
  background-repeat: no-repeat;
  background-size: 1.125em;
  background-position: left top;
  -webkit-padding-start: 1.9375em;
          padding-inline-start: 1.9375em;
}
.header__nav-item.-faq {
  background-image: url(../images/ico-faq.svg);
  background-repeat: no-repeat;
  background-size: 1.625em;
  background-position: left top;
  -webkit-padding-start: 2.25em;
          padding-inline-start: 2.25em;
}
.header__nav-item.-contact {
  background-image: url(../images/ico-mail.svg);
  background-repeat: no-repeat;
  background-size: 1.5em;
  background-position: left center;
  -webkit-padding-start: 2.1875em;
          padding-inline-start: 2.1875em;
}
.header__nav-sub {
  width: 100%;
  font-size: 14px;
  display: grid;
  grid-template-rows: 0fr;
  transition: all 0.3s ease-out;
  background-color: #f6f6f6;
  position: absolute;
  top: 49px;
}
.header__nav-sub.is-visible {
  grid-template-rows: 1fr;
  padding-block: 1.2142857143em 1.6428571429em;
}
.header__nav-sublist {
  font-weight: 500;
  overflow: hidden;
  width: min(98vw, 1100px);
  margin-inline: auto;
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 1em 2.6428571429em;
}
.header__nav-subitem {
  background-image: url(../images/arrow-next-rounded.svg);
  background-repeat: no-repeat;
  background-size: 1.2857142857em;
  -webkit-padding-start: 1.6428571429em;
          padding-inline-start: 1.6428571429em;
  background-position: left top 0.2em;
}
.header__nav-subitem2 {
  -webkit-margin-before: 1.2142857143em;
          margin-block-start: 1.2142857143em;
  display: grid;
  grid-template-columns: 0.4285714286em 1fr;
  gap: 0.4285714286em;
  align-items: center;
}
.header__nav-subitem2::before {
  content: "";
  height: 0.7142857143em;
  background-image: url(../images/arrow-next.svg);
  background-repeat: no-repeat;
  background-position: center center;
}
.header__menu {
  display: none;
}
@media (width < 740px) {
  .header__menu {
    font-size: min(3.9vw, 20px);
    position: fixed;
    top: 25vw;
    left: 0;
    z-index: 100;
    width: 100%;
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.5s ease-out;
    background-color: #fff;
    transform: translate(0, 0, 0);
  }
  .header__menu-inner {
    overflow: hidden;
    transition: all 0.5s ease-out;
  }
  .header__menu.open {
    grid-template-rows: 1fr;
  }
  .header__menu.open .header__menu-inner {
    overflow: scroll;
    height: calc(100dvh - 25vw);
    padding-block: 5vw;
  }
}
.header__menu-account {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.6vw;
  width: 90vw;
  margin-inline: auto;
  -webkit-margin-after: 6.49vw;
          margin-block-end: 6.49vw;
  font-weight: 500;
}
.header__menu-mypage {
  display: grid;
  height: 2.1428571429em;
  border: 1px solid #000;
  border-radius: 100vmax;
  grid-template-columns: 1.0714285714em -webkit-max-content;
  grid-template-columns: 1.0714285714em max-content;
  place-items: center;
  place-content: center;
  gap: 0.4285714286em;
}
.header__menu-mypage::before {
  content: "";
  width: 1.0714285714em;
  height: 100%;
  background-image: url(../images/ico-login.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
}
.header__menu-logout {
  display: grid;
  height: 2.1428571429em;
  border: 1px solid #000;
  border-radius: 100vmax;
  grid-template-columns: 1.0714285714em -webkit-max-content;
  grid-template-columns: 1.0714285714em max-content;
  place-items: center;
  place-content: center;
  gap: 0.4285714286em;
}
.header__menu-logout::before {
  content: "";
  width: 1.1428571429em;
  height: 100%;
  background-image: url(../images/ico-logout.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
}
.header__menu-login {
  display: grid;
  height: 2.1428571429em;
  border: 1px solid #000;
  border-radius: 100vmax;
  grid-template-columns: 1.0714285714em -webkit-max-content;
  grid-template-columns: 1.0714285714em max-content;
  place-items: center;
  place-content: center;
  gap: 0.5714285714em;
}
.header__menu-login::before {
  content: "";
  width: 1.0714285714em;
  height: 100%;
  background-image: url(../images/ico-login.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
}
.header__menu-join {
  display: grid;
  height: 2.1428571429em;
  border: 1px solid #000;
  border-radius: 100vmax;
  grid-template-columns: 1.0714285714em -webkit-max-content;
  grid-template-columns: 1.0714285714em max-content;
  place-items: center;
  place-content: center;
  gap: 0.4285714286em;
}
.header__menu-join::before {
  content: "";
  width: 1.0714285714em;
  height: 100%;
  background-image: url(../images/ico-member.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
}
.header__menu-nav {
  padding-inline: 5vw;
  font-weight: 500;
}
.header__menu-nav-item > a {
  -webkit-padding-start: 2.3em;
          padding-inline-start: 2.3em;
  background-repeat: no-repeat;
  display: block;
}
.header__menu-nav-item:not(:first-of-type) {
  -webkit-margin-before: 6.49vw;
          margin-block-start: 6.49vw;
}
.header__menu-nav-item .-a {
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
  align-items: center;
  gap: 1em;
  -webkit-padding-start: 2.3em;
          padding-inline-start: 2.3em;
  background-repeat: no-repeat;
}
.header__menu-nav-item .-a::after {
  content: "";
  width: 0.875em;
  aspect-ratio: 1/1;
  background-image: url(../images/arrow-down.svg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}
.header__menu-nav-item.-news > a {
  background-image: url(../images/ico-news.svg);
  background-size: 1.3333333333em;
  background-position: top left 0.4em;
}
.header__menu-nav-item.-cat .-a {
  background-image: url(../images/ico-kamaboko.svg);
  background-size: 1.8125em;
  background-position: left top;
}
.header__menu-nav-item.-price .-a {
  background-image: url(../images/ico-purse.svg);
  background-size: 1.2666666667em;
  background-position: top left 0.2em;
}
.header__menu-nav-item.-shop > a {
  background-image: url(../images/ico-shop.svg);
  background-size: 1.75em;
  background-position: top left;
}
.header__menu-nav-item.-guide .-a {
  background-image: url(../images/ico-giftbox.svg);
  background-size: 1.125em;
  background-position: top left 0.4em;
}
.header__menu-nav-item.-faq > a {
  background-image: url(../images/ico-faq.svg);
  background-size: 1.625em;
  background-position: top left 0.2em;
}
.header__menu-nav-item.-contact > a {
  background-image: url(../images/ico-mail.svg);
  background-size: 1.5em;
  background-position: top left 0.2em;
}
.header__menu-nav-sublist {
  overflow: hidden;
  background-color: #f6f6f6;
}
.header__menu-nav-sublist-wrap {
  display: grid;
  grid-template-rows: 0fr;
  transition: all 0.3s ease-out;
}
.header__menu-nav-sublist-wrap.is-visible {
  grid-template-rows: 1fr;
}
.header__menu-nav-sublist-wrap.is-visible .header__menu-nav-sublist {
  padding-block: 1em;
}
.header__menu-nav-subitem {
  -webkit-margin-before: 0.8666666667em;
          margin-block-start: 0.8666666667em;
}
.header__menu-nav-subitem > a {
  font-size: 3.9vw;
  font-weight: 500;
  background-image: url(../images/arrow-next-rounded.svg);
  background-repeat: no-repeat;
  background-size: 1.2857142857em;
  -webkit-padding-start: 1.6428571429em;
          padding-inline-start: 1.6428571429em;
  display: block;
  transition: opacity 0.2s;
  background-position: left top 0.2em;
}
.header__menu-nav-subitem > a:focus-visible {
  opacity: 0.7;
}
@media (any-hover: hover) {
  .header__menu-nav-subitem > a:hover {
    opacity: 0.7;
  }
}
.header__menu-nav-sublist {
  -webkit-padding-start: 2.3em;
          padding-inline-start: 2.3em;
}
.header__menu-nav-sublist .-common-item:not(:first-of-type) {
  -webkit-margin-before: 1em;
          margin-block-start: 1em;
}
.header__menu-nav-sublist2 {
  -webkit-padding-start: 1.5em;
          padding-inline-start: 1.5em;
}
.header__menu-nav-subitem2 {
  -webkit-margin-before: 1.2142857143em;
          margin-block-start: 1.2142857143em;
  display: grid;
  grid-template-columns: 0.4285714286em 1fr;
  gap: 0.4285714286em;
  align-items: center;
}
.header__menu-nav-subitem2::before {
  content: "";
  height: 0.7142857143em;
  background-image: url(../images/arrow-next.svg);
  background-repeat: no-repeat;
  background-position: center center;
}
.header__menu-bnr {
  display: block;
  padding-inline: 5vw;
  padding-block: 0.8666666667em;
}
.header__menu-bnr.-noshi {
  background-color: #feedbe;
  -webkit-margin-before: 1.8333333333em;
          margin-block-start: 1.8333333333em;
}
.header__menu-bnr.-fee {
  background-color: #cceae7;
}
.header__menu-txtank {
  display: block;
  padding-inline: 5vw;
  -webkit-padding-before: 0.8666666667em;
          padding-block-start: 0.8666666667em;
  background-color: #f6f6f6;
}
.header__menu-txtank + .header__menu-txtank {
  -webkit-padding-after: 0.8666666667em;
          padding-block-end: 0.8666666667em;
}
.header__menu-info {
  -webkit-margin-before: 8.18vw;
          margin-block-start: 8.18vw;
}
.header__menu-info a {
  display: block;
  text-align: center;
  font-size: 4.68vw;
}
.header__menu-info a .-num {
  font-size: 1.2222222222em;
}
.header__menu-info .-txt {
  display: block;
  font-size: 3.64vw;
  text-align: center;
}
.header__menu-links {
  width: 77.01vw;
  margin-inline: auto;
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  gap: 6.36vw 4.68vw;
  -webkit-margin-before: 10.13vw;
          margin-block-start: 10.13vw;
}
.header__menu-links a[class^=-sns] {
  width: 7.66vw;
}
.header__menu-links .-link-to-site {
  width: 100%;
}

.footer {
  font-size: min(1.91vw, 14px);
  background-color: #eee;
  -webkit-padding-before: 2.8571428571em;
          padding-block-start: 2.8571428571em;
}
@media (width < 740px) {
  .footer {
    font-size: 2.73vw;
  }
}
.footer__inner {
  width: min(90vw, 1100px);
  margin-inline: auto;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(500px, 1fr));
  gap: 4.2857142857em 5%;
  -webkit-padding-after: 2.8571428571em;
          padding-block-end: 2.8571428571em;
}
@media (width < 740px) {
  .footer__inner {
    grid-template-columns: 1fr;
  }
}
.footer__content .m__btn-common {
  -webkit-margin-before: 1.6em;
          margin-block-start: 1.6em;
}
@media (width < 740px) {
  .footer__content {
    order: 2;
    justify-self: center;
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    align-items: center;
    gap: 6.49vw 3.9vw;
    padding-inline: 20vw;
  }
  .footer__content .footer__heading {
    width: 100%;
    text-align: center;
  }
  .footer__content .footer__logo {
    margin-inline: auto;
  }
  .footer__content .-sns-icon {
    width: 6.49vw;
  }
  .footer__content .m__btn-common {
    -webkit-margin-before: 0;
            margin-block-start: 0;
  }
}
.footer__heading {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.footer__heading .-txt {
  display: block;
  font-size: 0.7857142857em;
  -webkit-margin-after: 0.8571428571em;
          margin-block-end: 0.8571428571em;
  line-height: 1;
  text-align: center;
}
.footer__heading h1 {
  -webkit-margin-before: 0.6666666667em;
          margin-block-start: 0.6666666667em;
  text-align: center;
  letter-spacing: 0.106em;
}
.footer__heading h1 .-en {
  display: inline-block;
  -webkit-margin-start: 0.5em;
          margin-inline-start: 0.5em;
}
.footer__logo {
  width: 13.9285714286em;
  margin-inline: auto;
}
.footer__nav {
  font-weight: 500;
}
@media (width < 740px) {
  .footer__nav {
    order: 1;
  }
}
.footer__nav ul {
  display: grid;
  grid-auto-flow: column;
  grid-template-rows: repeat(4, auto);
  gap: 1.2857142857em 2.8571428571em;
}
@media (width < 740px) {
  .footer__nav ul {
    grid-template-rows: repeat(5, auto);
    gap: 4.42vw 2.6vw;
  }
}
.footer__nav a {
  font-size: 14px;
  font-weight: 500;
  background-image: url(../images/arrow-next-rounded.svg);
  background-repeat: no-repeat;
  background-size: 1.2857142857em;
  -webkit-padding-start: 1.6428571429em;
          padding-inline-start: 1.6428571429em;
  display: block;
  transition: opacity 0.2s;
  background-position: left center;
}
.footer__nav a:focus-visible {
  opacity: 0.7;
}
@media (any-hover: hover) {
  .footer__nav a:hover {
    opacity: 0.7;
  }
}
@media (width < 740px) {
  .footer__nav a {
    font-size: 3.12vw;
  }
}
.footer__info .-txt1 {
  letter-spacing: 0.046em;
}
.footer__info a {
  display: inline-block;
  font-size: 1.2857142857em;
  font-weight: 320;
  -webkit-margin-end: 1em;
          margin-inline-end: 1em;
  letter-spacing: 0.07em;
}
.footer__info a .-num {
  font-size: 1.2222222222em;
  letter-spacing: 0.05em;
}
@media (width < 740px) {
  .footer__info {
    order: 3;
  }
}
.footer__links {
  display: grid;
  grid-template-columns: 1fr repeat(3, 1.8571428571em);
  gap: 1em;
  align-items: end;
  max-width: 523px;
}
.footer__links a {
  display: block;
  transition: opacity 0.2s;
}
.footer__links a:focus-visible {
  opacity: 0.7;
}
@media (any-hover: hover) {
  .footer__links a:hover {
    opacity: 0.7;
  }
}
@media (width < 740px) {
  .footer__links {
    order: 4;
    grid-template-columns: 1fr;
  }
}
.footer__link-to-site {
  max-width: 333px;
  justify-self: start;
  transition: opacity 0.2s;
}
.footer__link-to-site:focus-visible {
  opacity: 0.7;
}
@media (any-hover: hover) {
  .footer__link-to-site:hover {
    opacity: 0.7;
  }
}
@media (width < 740px) {
  .footer__link-to-site {
    max-width: 100%;
  }
}
.footer small {
  display: block;
  font-size: 0.7857142857em;
  padding-block: 2em;
  text-align: center;
  letter-spacing: 0.058em;
}

.side-nav {
  -webkit-padding-after: 60px;
          padding-block-end: 60px;
}
@media (width < 740px) {
  .side-nav {
    order: 2;
    width: 90vw;
    margin-inline: auto;
  }
}
.side-nav a {
  transition: opacity 0.2s;
}
.side-nav a:focus-visible {
  opacity: 0.7;
}
@media (any-hover: hover) {
  .side-nav a:hover {
    opacity: 0.7;
  }
}
.side-nav__inner {
  font-size: min(3.12vw, 14px);
}
.side-nav__box {
  background-color: #f6f6f6;
  border-block: 1px solid #777;
  padding-inline: 1.1428571429em;
}
.side-nav__date0 {
  padding-block: 1.4285714286em 1em;
  font-weight: 500;
}
.side-nav__date0 .-shipping {
  display: block;
  text-align: center;
  font-size: 1.1428571429em;
  color: #a50000;
}
.side-nav__date0 .-ship-date0 {
  display: block;
  font-size: 1.2857142857em;
  text-align: center;
  color: #a50000;
  letter-spacing: 0.1em;
  -webkit-margin-after: 0.5em;
          margin-block-end: 0.5em;
}
@media (width < 740px) {
  .side-nav__date0 {
    font-size: 2.6vw;
    padding-block: 0.5em;
    display: flex;
    flex-flow: row nowrap;
    gap: 0.4em;
    justify-content: center;
    align-items: center;
    width: 90vw;
    margin-inline: auto;
  }
  .side-nav__date0 .-shipping {
    font-size: 1.3em;
  }
  .side-nav__date0 .-ship-date0 {
    font-size: 1.3em;
    margin-block: 0;
  }
  .side-nav__date0 .side-nav__inner-ank {
    -webkit-margin-start: 1em;
            margin-inline-start: 1em;
  }
}
.side-nav__list {
  padding-block: 2.1428571429em;
  font-weight: 500;
}
.side-nav__item > a {
  display: grid;
  grid-template-columns: 1.2857142857em 1fr;
  gap: 0.3571428571em;
  line-height: 1.4;
}
.side-nav__item > a::before {
  content: "";
  aspect-ratio: 1/1;
  background-image: url(../images/arrow-next-rounded.svg);
  background-repeat: no-repeat;
  background-size: contain;
}
.side-nav__item:not(:first-of-type) {
  -webkit-margin-before: 2.1428571429em;
          margin-block-start: 2.1428571429em;
}
.side-nav__sublist {
  -webkit-padding-start: 1.7857142857em;
          padding-inline-start: 1.7857142857em;
}
.side-nav__subitem {
  -webkit-margin-before: 1.2857142857em;
          margin-block-start: 1.2857142857em;
}
.side-nav__subitem > a {
  display: grid;
  grid-template-columns: 0.4285714286em 1fr;
  gap: 0.4285714286em;
}
.side-nav__subitem > a::before {
  content: "";
  height: 0.7142857143em;
  background-image: url(../images/arrow-next.svg);
  background-repeat: no-repeat;
  background-position: center center;
  -webkit-margin-before: 0.3em;
          margin-block-start: 0.3em;
}
.side-nav__date {
  padding-block: 1.8571428571em;
}
.side-nav__date .-today {
  display: block;
  text-align: center;
  letter-spacing: 0.1em;
  font-weight: 500;
}
@media (width < 740px) {
  .side-nav__date .-today {
    font-size: 1.0416666667em;
  }
}
.side-nav__date .-txt {
  display: block;
  font-weight: 400;
  text-align: center;
}
@media (width < 740px) {
  .side-nav__date .-txt {
    font-size: 1.2083333333em;
  }
}
.side-nav__date .-txt2 {
  display: block;
  font-weight: 500;
  text-align: center;
  -webkit-margin-before: 0.5em;
          margin-block-start: 0.5em;
  color: #a50000;
}
.side-nav__date .-shipping {
  font-size: 1.1428571429em;
  font-weight: 500;
  display: block;
  text-align: center;
  color: #a50000;
  -webkit-margin-before: 0.625em;
          margin-block-start: 0.625em;
}
@media (width < 740px) {
  .side-nav__date .-shipping {
    font-size: 1.3333333333em;
  }
}
.side-nav__date .-ship-date {
  font-size: 1.2857142857em;
  font-weight: 500;
  display: block;
  text-align: center;
  color: #a50000;
  letter-spacing: 0.1em;
  -webkit-margin-after: 0.4444444444em;
          margin-block-end: 0.4444444444em;
}
.side-nav__inner-ank {
  display: grid;
  grid-template-columns: 1.2857142857em 1fr;
  gap: 0.3571428571em;
  height: 1em;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  line-height: 1;
  align-items: center;
}
.side-nav__inner-ank::before {
  content: "";
  aspect-ratio: 1/1;
  background-image: url(../images/arrow-next-rounded.svg);
  background-repeat: no-repeat;
  background-size: contain;
}
.side-nav__heading {
  font-size: 1.1428571429em;
  font-weight: 500;
  -webkit-margin-before: 2.25em;
          margin-block-start: 2.25em;
  -webkit-margin-after: 1em;
          margin-block-end: 1em;
  background-repeat: no-repeat;
  line-height: 1.8;
}
.side-nav__heading.-cat {
  background-image: url(../images/ico-kamaboko.svg);
  background-size: 1.8125em;
  background-position: left 0.3125em center;
  -webkit-padding-start: 2.75em;
          padding-inline-start: 2.75em;
}
.side-nav__heading.-price {
  background-image: url(../images/ico-purse.svg);
  background-size: 1.375em;
  background-position: left 0.3125em center;
  -webkit-padding-start: 2.25em;
          padding-inline-start: 2.25em;
}
.side-nav__heading.-guide {
  background-image: url(../images/ico-giftbox.svg);
  background-size: 1.125em;
  background-position: left 0.3125em center;
  -webkit-padding-start: 2.25em;
          padding-inline-start: 2.25em;
}
.side-nav__heading.-shipping {
  background-image: url(../images/ico-package.svg);
  background-size: 1.6875em;
  background-position: left 0.3125em center;
  -webkit-padding-start: 2.6875em;
          padding-inline-start: 2.6875em;
}
.side-nav__calender-wrap {
  font-weight: 500;
}
@media (width < 740px) {
  .side-nav__calender-wrap {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 3.64vw;
  }
}
.side-nav__calender-heading {
  font-size: 1.1428571429em;
  text-align: center;
  -webkit-margin-after: 1.1428571429em;
          margin-block-end: 1.1428571429em;
  -webkit-margin-before: 2.4285714286em;
          margin-block-start: 2.4285714286em;
}
.side-nav__calender table {
  width: 100%;
  background-color: #f6f6f6;
  -webkit-border-before: 1px solid #000;
          border-block-start: 1px solid #000;
  font-size: 1.1428571429em;
}
.side-nav__calender table th {
  text-align: center;
  padding-block: 0.875em 0.625em;
  letter-spacing: 0;
}
.side-nav__calender table th.sunday {
  color: #a50000;
}
.side-nav__calender table td {
  text-align: center;
  padding-block: 0.375em;
  letter-spacing: 0;
}
.side-nav__calender table td.sunday {
  color: #a50000;
}
.side-nav__calenders__caution {
  -webkit-margin-before: 1em;
          margin-block-start: 1em;
  display: grid;
  grid-template-columns: 1.1428571429em 1fr;
  gap: 0.5em;
}
.side-nav__calenders__caution::before {
  content: "";
  aspect-ratio: 1/1;
  background-color: #dfd0d5;
}

.news {
  width: 100%;
  margin-inline: auto;
}
.news__item {
  font-size: min(2.6vw, 14px);
  font-weight: 500;
  letter-spacing: 0.046em;
  display: grid;
  grid-template-columns: 8em 1fr;
  gap: 1em;
}
.news__item:not(:first-of-type) {
  -webkit-margin-before: 0.8em;
          margin-block-start: 0.8em;
}
.news__single-date {
  font-size: min(2.86vw, 16px);
}
.news__single-ttl {
  font-size: min(3.64vw, 18px);
  margin-block: 1em 2em;
}
.news__content {
  font-size: 14px;
}
.news__content h1, .news__content h2, .news__content h3, .news__content h4, .news__content h5 {
  line-height: 1.4;
  -webkit-margin-after: 0.5em;
          margin-block-end: 0.5em;
  font-weight: 500;
}
.news__content h1 {
  font-size: 2.4em;
}
.news__content h2 {
  font-size: 1.8em;
}
.news__content h3 {
  font-size: 1.6em;
}
.news__content h4 {
  font-size: 1.4em;
}
.news__content p, .news__content span, .news__content a, .news__content li, .news__content td {
  line-height: 1.7;
  font-weight: 350;
}
.news__content p {
  -webkit-margin-after: 1.6em;
          margin-block-end: 1.6em;
}
.news__content em {
  font-weight: 500;
}
.news__content ul {
  list-style: disc inside;
}
.news__content ol {
  list-style: decimal inside;
}
.news__content img {
  width: auto;
  max-width: 100%;
  display: inline;
}
.news__content a {
  transition: opacity 0.2s;
}
.news__content a:focus-visible {
  opacity: 0.7;
}
@media (any-hover: hover) {
  .news__content a:hover {
    opacity: 0.7;
  }
}
.news__content table, .news__content th, .news__content td {
  border-collapse: collapse;
  border: 1px solid #000;
  padding: 1em;
}
.news__flipper {
  display: grid;
  grid-template-columns: 1fr -webkit-max-content 1fr;
  grid-template-columns: 1fr max-content 1fr;
  font-size: min(2.6vw, 14px);
  align-items: center;
  -webkit-margin-before: 160px;
          margin-block-start: 160px;
}
@media (width < 740px) {
  .news__flipper {
    -webkit-margin-before: 10.39vw;
            margin-block-start: 10.39vw;
  }
}
.news__flipper .-prev {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  justify-self: start;
  grid-column: 1/2;
}
.news__flipper .-prev a {
  display: grid;
  grid-template-columns: 1em 1fr;
  gap: 0.8em;
  align-items: center;
}
.news__flipper .-prev a::before {
  content: "";
  height: 1em;
  background-image: url(../images/arrow-prev.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
}
.news__flipper .-center {
  grid-column: 2/3;
}
.news__flipper .-next {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  justify-self: end;
  grid-column: 3/4;
}
.news__flipper .-next a {
  display: grid;
  grid-template-columns: 1fr 1em;
  gap: 0.8em;
  align-items: center;
}
.news__flipper .-next a::after {
  content: "";
  height: 1em;
  background-image: url(../images/arrow-next.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
}
.news__list {
  width: 100%;
}

.review {
  font-size: 14px;
}
.review__item-wrap {
  -webkit-margin-before: 45px;
          margin-block-start: 45px;
  display: grid;
  grid-template-columns: 93px 1fr;
  gap: 1.7857142857em;
  align-items: center;
}
.review__item-wrap + .m__btn-common {
  -webkit-margin-before: 30px;
          margin-block-start: 30px;
}
@media (width < 740px) {
  .review__item-wrap {
    -webkit-margin-before: 7.01vw;
            margin-block-start: 7.01vw;
    grid-template-columns: 1fr;
    gap: 5.97vw;
  }
  .review__item-wrap img {
    width: 67%;
    margin-inline: auto;
  }
}
.review__item-name {
  font-size: 1.4285714286em;
  font-weight: 500;
  letter-spacing: 0.025em;
  display: block;
  line-height: 1.4;
  -webkit-margin-before: 0.5em;
          margin-block-start: 0.5em;
}
@media (width < 740px) {
  .review__item-name {
    font-size: 1.7857142857em;
    -webkit-margin-before: 0.1em;
            margin-block-start: 0.1em;
  }
}
.review__total {
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
  align-items: center;
  gap: 0.1428571429em;
}
.review__star .reviewRate {
  display: grid;
  grid-template-columns: repeat(5, 1.2857142857em);
  gap: 0.1428571429em;
  align-items: center;
}
.review__star .reviewRateStar {
  font-size: 0;
  aspect-ratio: 1/1;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
}
.review__star .reviewRateStar.starOn {
  background-image: url(../images/star-fill.svg);
}
.review__star .reviewRateStar.starOff {
  background-image: url(../images/star.svg);
}
.review__star .reviewRateStar.starHalf {
  background-image: url(../images/star-half.svg);
}
.review__form-table {
  -webkit-margin-before: 50px;
          margin-block-start: 50px;
  -webkit-margin-after: 35px;
          margin-block-end: 35px;
  letter-spacing: 0.025em;
  display: block;
}
@media (width < 740px) {
  .review__form-table {
    -webkit-margin-before: 9.35vw;
            margin-block-start: 9.35vw;
    -webkit-margin-after: 8.05vw;
            margin-block-end: 8.05vw;
  }
}
.review__form-table tbody, .review__form-table th, .review__form-table td {
  display: block;
}
.review__form-table tr {
  display: grid;
  grid-template-columns: 7.5em 1fr;
  gap: 0.5em;
}
.review__form-table tr:nth-of-type(3) th {
  align-self: start;
}
@media (width < 740px) {
  .review__form-table tr {
    display: block;
  }
}
.review__form-table th {
  padding-block: 1em;
  -webkit-padding-end: 1em;
          padding-inline-end: 1em;
  font-weight: 500;
  align-self: center;
}
@media (width < 740px) {
  .review__form-table th {
    padding-block: 1.5em 0.8em;
  }
}
.review__form-table input[type=text] {
  border: 1px solid #000;
  padding-block: 1em;
  padding-inline: 0.8em;
  border-radius: 0.2857142857em;
  width: min(100%, 430px);
}
.review__form-table textarea {
  border: 1px solid #000;
  padding-block: 1em;
  padding-inline: 0.8em;
  border-radius: 0.2857142857em;
  width: 100%;
  resize: vertical;
  height: 95px;
}
@media (width < 740px) {
  .review__form-table textarea {
    height: 250px;
  }
}
.review__form-table .reviewRate {
  display: grid;
  grid-template-columns: repeat(5, 1.4285714286em);
  gap: 0.1428571429em;
  align-items: center;
  cursor: pointer;
}
@media (width < 740px) {
  .review__form-table .reviewRate {
    grid-template-columns: repeat(5, min(12vw, 40px));
    gap: 2vw;
  }
}
.review__form-table .reviewRate .reviewRateStar {
  font-size: 0;
  aspect-ratio: 1/1;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
}
.review__form-table .reviewRate .reviewRateStar.starOn {
  background-image: url(../images/star-fill.svg);
}
.review__form-table .reviewRate .reviewRateStar.starOff {
  background-image: url(../images/star.svg);
}
.review__form-table .reviewRate .reviewRateStar.starHalf {
  background-image: url(../images/star-half.svg);
}
.review__form-table td:has(.reviewRate) {
  padding-block: 2em;
  padding-inline: 0.5em;
}
@media (width < 740px) {
  .review__form-table td:has(.reviewRate) {
    padding-block: 0;
    padding-inline: 0;
  }
}
.review .m__btn-common {
  margin-inline: auto;
}
.review__list {
  font-size: 14px;
}
.review__list-wrap {
  -webkit-margin-before: 60px;
          margin-block-start: 60px;
}
@media (width < 740px) {
  .review__list-wrap {
    -webkit-margin-before: 11.43vw;
            margin-block-start: 11.43vw;
  }
}
.review__list-item {
  border: 1px solid #777;
  border-radius: 0.2857142857em;
  padding-block: 1.2857142857em 1.7142857143em;
  padding-inline: 2.1428571429em;
  display: grid;
  grid-template-columns: 10.7142857143em 1fr;
  gap: 1em;
}
@media (width < 740px) {
  .review__list-item {
    grid-template-columns: 1fr;
    border-radius: 0.6785714286em;
  }
}
.review__list-item:not(:first-of-type) {
  -webkit-margin-before: 1.1428571429em;
          margin-block-start: 1.1428571429em;
}
.review__list-name {
  font-weight: 500;
  margin-block: 0.7142857143em 0.3571428571em;
}
@media (width < 740px) {
  .review__list-name {
    margin-block: 0.1em;
  }
}
.review__list-content {
  line-height: 1.86;
}
.review__count {
  display: block;
}
.review__score {
  display: block;
  font-weight: 500;
  -webkit-margin-start: 0.4em;
          margin-inline-start: 0.4em;
}
.review__btns {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  gap: 1.2em 2.6428571429em;
  -webkit-margin-before: 20px;
          margin-block-start: 20px;
}
@media (width < 740px) {
  .review__btns {
    -webkit-margin-before: 5.97vw;
            margin-block-start: 5.97vw;
    gap: 2.86vw;
  }
}
@media (width < 740px) {
  .review .m__total-count {
    -webkit-margin-before: 11.69vw;
            margin-block-start: 11.69vw;
  }
}

@media (width < 740px) {
  .toppage {
    width: 90vw;
    margin-inline: auto;
  }
}
.toppage__slide {
  width: 100%;
  -webkit-margin-after: 60px;
          margin-block-end: 60px;
}
@media (width < 740px) {
  .toppage__slide {
    -webkit-margin-after: 7.4vw;
            margin-block-end: 7.4vw;
    -webkit-margin-before: 25vw;
            margin-block-start: 25vw;
  }
}
.toppage__slide .splide__pagination {
  -webkit-margin-before: 22px;
          margin-block-start: 22px;
  gap: 15px;
}
@media (width < 740px) {
  .toppage__slide .splide__pagination {
    -webkit-margin-before: 2.99vw;
            margin-block-start: 2.99vw;
    gap: 2.08vw;
  }
}
.toppage__slide .splide__pagination__page {
  background-color: #ddd;
  width: 13px;
  height: 13px;
  border-radius: 50%;
  transition: background-color 0.2s;
}
.toppage__slide .splide__pagination__page.is-active {
  background-color: #aaa;
}
.toppage__slide .splide__pagination__page:focus-visible {
  background-color: #aaa;
}
@media (any-hover: hover) {
  .toppage__slide .splide__pagination__page:hover {
    background-color: #aaa;
  }
}
@media (width < 740px) {
  .toppage__slide .splide__pagination__page {
    width: 1.69vw;
    height: 1.69vw;
  }
}
.toppage__news {
  font-size: min(1.27vw, 14px);
  display: grid;
  grid-template-columns: 9.2142857143em 1fr;
  gap: 2.3571428571em 3.5714285714em;
  -webkit-margin-before: 4.2857142857em;
          margin-block-start: 4.2857142857em;
}
.toppage__news .m__btn-common {
  grid-area: 2/1/3/3;
  justify-self: center;
}
.toppage__news-heading {
  font-size: 1.5714285714em;
  text-align: center;
  -webkit-border-after: 1px solid #777;
          border-block-end: 1px solid #777;
  align-self: center;
  -webkit-padding-after: 0.5454545455em;
          padding-block-end: 0.5454545455em;
  letter-spacing: 0.029em;
}
@media (width < 740px) {
  .toppage__news-heading {
    width: 38.83vw;
    -webkit-padding-after: 0.75em;
            padding-block-end: 0.75em;
    justify-self: center;
  }
}
@media (width < 740px) {
  .toppage__news {
    -webkit-margin-before: 5.97vw;
            margin-block-start: 5.97vw;
    font-size: 2.6vw;
    grid-template-columns: 1fr;
    gap: 2em;
  }
  .toppage__news .m__btn-common {
    grid-area: 3/1/4/2;
  }
  .toppage__news .news__list {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    justify-self: center;
  }
}

.category__total-count {
  font-size: 14px;
  -webkit-margin-before: 40px;
          margin-block-start: 40px;
}
.category__sort {
  font-size: 14px;
  -webkit-margin-before: 0.5em;
          margin-block-start: 0.5em;
  -webkit-margin-after: 30px;
          margin-block-end: 30px;
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-items: center;
  gap: 1em;
}
.category__sort a {
  text-decoration: underline;
  text-underline-offset: 0.6em;
}
.category__sort a:focus-visible {
  text-decoration: none;
}
@media (any-hover: hover) {
  .category__sort a:hover {
    text-decoration: none;
  }
}
.category__sort-heading {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.category__lead {
  font-size: 15px;
  font-weight: 350;
  line-height: 1.73;
  letter-spacing: 0.05em;
  -webkit-margin-before: 1.4em;
          margin-block-start: 1.4em;
}
@media (width < 740px) {
  .category__lead {
    font-size: 14px;
    -webkit-border-after: 1px solid #282728;
            border-block-end: 1px solid #282728;
    -webkit-padding-after: 1.5em;
            padding-block-end: 1.5em;
  }
}
.category__child-nav-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px 20px;
}
@media (width < 740px) {
  .category__child-nav-list {
    grid-template-columns: 1fr;
    -webkit-margin-before: 7.79vw;
            margin-block-start: 7.79vw;
    gap: 4.68vw;
  }
}
.category__child-nav-item {
  display: block;
}
.category__child-nav-item a {
  display: block;
  transition: opacity 0.2s;
}
.category__child-nav-item a:focus-visible {
  opacity: 0.7;
}
@media (any-hover: hover) {
  .category__child-nav-item a:hover {
    opacity: 0.7;
  }
}
.category .category__child-nav {
  -webkit-margin-before: 60px;
          margin-block-start: 60px;
}
@media (width < 740px) {
  .category .category__child-nav {
    -webkit-margin-before: 10vw;
            margin-block-start: 10vw;
  }
}

.products {
  font-size: 14px;
  display: grid;
  grid-template-columns: 50% 1fr;
  grid-auto-rows: -webkit-max-content;
  grid-auto-rows: max-content;
  gap: 1.8571428571em;
}
@media (width < 740px) {
  .products {
    grid-template-columns: 1fr;
    gap: 0;
  }
}
.products .m__breadcrumb {
  grid-area: 1/1/2/3;
}
@media (width < 740px) {
  .products .m__breadcrumb {
    grid-area: 2/1/3/2;
    -webkit-margin-after: 7.27vw;
            margin-block-end: 7.27vw;
  }
}
.products__slider {
  grid-area: 2/1/3/2;
  width: min(400px, 100%);
}
.products__slider .splide__slide {
  padding-inline: 1px;
}
@media (width < 1024px) {
  .products__slider {
    grid-area: 2/1/3/3;
  }
}
@media (width < 740px) {
  .products__slider {
    grid-area: 3/1/4/2;
  }
}
.products__slider-thumbnail {
  display: block;
  cursor: pointer;
  opacity: 0.6;
  transition: opacity 0.2s;
}
.products__slider-thumbnail.is-active {
  opacity: 1;
}
.products__slider-thumbnail:hover {
  opacity: 1;
}
.products__detail {
  grid-area: 2/2/3/3;
}
@media (width < 1024px) {
  .products__detail {
    grid-area: 3/1/4/3;
  }
}
@media (width < 740px) {
  .products__detail {
    grid-area: 4/1/5/2;
    -webkit-margin-before: 10.13vw;
            margin-block-start: 10.13vw;
  }
}
.products__detail select {
  display: block;
  width: 100%;
  padding-inline: 0.8571428571em;
  padding-block: 0.2em;
  line-height: 1.5;
  border: 1px solid #000;
  border-radius: 0.2857142857em;
  background-image: url(../images/arrow-down.svg);
  background-repeat: no-repeat;
  background-size: 1em;
  background-position: right 1em center;
  -webkit-margin-before: 0.2em;
          margin-block-start: 0.2em;
}
.products__detail .makeshop-option-wrap + .makeshop-option-wrap {
  -webkit-margin-before: 1em;
          margin-block-start: 1em;
}
.products__stars {
  -webkit-margin-after: 10px;
          margin-block-end: 10px;
}
.products__heading {
  font-size: min(6.49vw, 26px);
  -webkit-padding-after: 0.5769230769em;
          padding-block-end: 0.5769230769em;
  -webkit-border-after: 1px solid #777;
          border-block-end: 1px solid #777;
  -webkit-margin-after: 0.4615384615em;
          margin-block-end: 0.4615384615em;
  line-height: 1.4;
}
.products__description {
  -webkit-margin-before: 1.8571428571em;
          margin-block-start: 1.8571428571em;
}
.products__description .p-txt, .products__description .p-title, .products__description .p-ul1 a {
  line-height: 1.7;
  letter-spacing: 0.026em;
  font-weight: 350;
}
.products__description .p-ul1 {
  list-style: disc inside;
}
.products__description .p-ul1 li {
  -webkit-border-after: 1px solid #000;
          border-block-end: 1px solid #000;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.products__description .p-ul1 li:focus-visible {
  -webkit-border-after: none;
          border-block-end: none;
}
@media (any-hover: hover) {
  .products__description .p-ul1 li:hover {
    -webkit-border-after: none;
            border-block-end: none;
  }
}
.products__description .p-ul2 {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-items: center;
  gap: 0.5714285714em;
  -webkit-margin-before: 1.5714285714em;
          margin-block-start: 1.5714285714em;
}
.products__description .p-ul2 li {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 10.2142857143em;
  height: 2.3571428571em;
  padding-inline: 1.2857142857em;
  letter-spacing: 0.025em;
  background-color: #eee;
  border-radius: 0.3571428571em;
  -webkit-padding-before: 0.6em;
          padding-block-start: 0.6em;
  transition: background-color 0.2s;
}
.products__description .p-ul2 li:focus-visible {
  background-color: #acddf2;
}
@media (any-hover: hover) {
  .products__description .p-ul2 li:hover {
    background-color: #acddf2;
  }
}
.products__description .p-ul2 li a {
  width: 100%;
  height: 100%;
  font-size: 14px;
  font-weight: 500;
  background-image: url(../images/arrow-next-rounded.svg);
  background-repeat: no-repeat;
  background-size: 1.2857142857em;
  -webkit-padding-start: 1.6428571429em;
          padding-inline-start: 1.6428571429em;
  display: block;
  transition: opacity 0.2s;
  line-height: 1.4;
}
.products__description .p-ul2 li a:focus-visible {
  opacity: 0.7;
}
@media (any-hover: hover) {
  .products__description .p-ul2 li a:hover {
    opacity: 0.7;
  }
}
.products__description .p-ul3 {
  font-size: 12px;
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 0.3333333333em;
  -webkit-margin-before: 2.6666666667em;
          margin-block-start: 2.6666666667em;
}
.products__description .p-ul3 li {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.products__description .p-ul3 li a {
  display: grid;
  grid-template-columns: repeat(2, -webkit-max-content);
  grid-template-columns: repeat(2, max-content);
  place-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding-inline: 0.5833333333em;
  padding-block: 0.25em;
  background-color: #eeeae7;
  border-radius: 0.4166666667em;
  transition: background-color 0.2s;
}
.products__description .p-ul3 li a::before {
  content: "#";
}
.products__description .p-ul3 li a:focus-visible {
  background-color: #acddf2;
}
@media (any-hover: hover) {
  .products__description .p-ul3 li a:hover {
    background-color: #acddf2;
  }
}
.products__price {
  font-size: min(5.97vw, 26px);
  -webkit-margin-before: 1em;
          margin-block-start: 1em;
}
.products__price .-tax {
  font-size: 0.6923076923em;
}
.products__sale-wrap {
  -webkit-margin-before: 1.8571428571em;
          margin-block-start: 1.8571428571em;
}
.products__sale-txt .-original {
  text-decoration: line-through;
  display: inline-block;
}
.products__sale-rate {
  display: inline-block;
}
.products__sale-price {
  display: block;
  font-size: 26px;
}
.products__sale-price .-tax {
  font-size: 0.6923076923em;
}
.products__nameprint {
  display: none;
  font-size: 14px;
  background: rgba(0, 0, 0, 0.6);
  width: 100%;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  place-items: center;
  z-index: 1000;
}
.products__nameprint.is-visible {
  display: grid;
}
.products__nameprint .-inner {
  width: min(90vw, 606px);
  padding-block: 2.2857142857em;
  background-color: #fff;
}
.products__nameprint .-inner .-title-wrap, .products__nameprint .-inner .-text-wrap {
  width: min(90%, 420px);
  margin-inline: auto;
}
.products__nameprint .-inner input[type=text] {
  display: block;
  width: 100%;
  padding-inline: 0.8571428571em;
  padding-block: 0.2em;
  line-height: 1;
  border: 1px solid #000;
  border-radius: 0.2857142857em;
  margin-block: 0.4em;
}
.products__nameprint-close {
  width: 10.2857142857em;
  height: 2.5em;
  background-color: #b6b235;
  color: #fff;
  display: grid;
  place-items: center;
  border-radius: 0.2857142857em;
  font-weight: 500;
  -webkit-margin-before: 1em;
          margin-block-start: 1em;
  margin-inline: auto;
  transition: background-color 0.2s;
}
.products__nameprint-close:focus-visible {
  background-color: #bebb6f;
}
@media (any-hover: hover) {
  .products__nameprint-close:hover {
    background-color: #bebb6f;
  }
}
.products__nameprint-result {
  display: none;
}
.products__nameprint-result.is-visible {
  display: inherit;
  -webkit-margin-before: 1em;
          margin-block-start: 1em;
}
.products__nameprint-current {
  font-size: 16px;
  font-weight: 500;
  font-family: "Noto Serif JP", serif;
  background-color: #f6f6f6;
  display: block;
  padding: 1em;
  -webkit-margin-before: 0.5em;
          margin-block-start: 0.5em;
}
.products__nameprint-correct {
  width: 10.9285714286em;
  height: 2.5em;
  background-color: #b6b235;
  color: #fff;
  display: grid;
  place-items: center;
  border-radius: 0.2857142857em;
  font-weight: 500;
  -webkit-margin-before: 0.8em;
          margin-block-start: 0.8em;
  margin-inline: auto;
  transition: background-color 0.2s;
}
.products__nameprint-correct:focus-visible {
  background-color: #bebb6f;
}
@media (any-hover: hover) {
  .products__nameprint-correct:hover {
    background-color: #bebb6f;
  }
}
.products__quantity {
  margin-block: 1.5em;
  display: grid;
  grid-template-columns: repeat(3, -webkit-max-content);
  grid-template-columns: repeat(3, max-content);
  gap: 0.6em;
  align-items: center;
}
.products__quantity input[type=text] {
  display: block;
  width: 6.4285714286em;
  padding-inline: 0.8571428571em;
  padding-block: 0.2em;
  line-height: 1;
  border: 1px solid #000;
  border-radius: 0.2857142857em;
  text-align: end;
}
.products__spinner {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 2.0714285714em;
}
.products__spinner button {
  width: 1em;
}
.products__add-btn {
  font-size: 1.1428571429em;
  font-weight: 500;
  width: 100%;
  height: 3.625em;
  -webkit-margin-before: 1.5625em;
          margin-block-start: 1.5625em;
  display: grid;
  grid-template-columns: auto auto;
  place-items: center;
  place-content: center;
  gap: 1.875em;
  background-color: #b36e91;
  color: #fff;
  border-radius: 0.25em;
  -webkit-padding-end: 1.25em;
          padding-inline-end: 1.25em;
  transition: background-color 0.2s;
}
@media (width < 740px) {
  .products__add-btn {
    gap: 0.9117647059em;
  }
}
.products__add-btn::before {
  content: "";
  width: 1.875em;
  aspect-ratio: 1/1;
  background-image: url(../images/ico-cart-wt.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
}
.products__add-btn:focus-visible {
  background-color: #e2aec8;
}
@media (any-hover: hover) {
  .products__add-btn:hover {
    background-color: #e2aec8;
  }
}
.products__disabled-btn {
  font-size: 1.4285714286em;
  font-weight: 500;
  width: 100%;
  height: 2.9em;
  -webkit-margin-before: 1.25em;
          margin-block-start: 1.25em;
  display: grid;
  place-items: center;
  background-color: #ccc;
  color: #a50000;
  border-radius: 0.2em;
  letter-spacing: 0.025em;
}
.products__usr-action {
  font-size: 1.1428571429em;
  font-weight: 500;
  letter-spacing: 0.04em;
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  gap: 0.5em 2.25em;
  -webkit-margin-before: 1em;
          margin-block-start: 1em;
}
@media (width < 740px) {
  .products__usr-action {
    font-size: 3.38vw;
  }
}
.products__usr-action a {
  display: grid;
  grid-template-columns: 1.5em 1fr;
  gap: 0.5em;
  align-items: center;
  transition: all 0.2s;
}
.products__usr-action a::before {
  content: "";
  height: 100%;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
}
.products__usr-action a:focus-visible {
  color: #24ace7;
}
@media (any-hover: hover) {
  .products__usr-action a:hover {
    color: #24ace7;
  }
}
.products__contact::before {
  background-image: url(../images/ico-mail.svg);
}
.products__favorite.-yet::before {
  background-image: url(../images/ico-like-before.svg);
}
.products__favorite.-favorite::before {
  background-image: url(../images/ico-like-after.svg);
}
.products__share {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  gap: 0.5em;
  -webkit-margin-before: 1.2857142857em;
          margin-block-start: 1.2857142857em;
}
.products__share li {
  display: grid;
  place-content: center;
}
.products__share li:first-of-type {
  width: 77px;
  height: 20px;
}
.products__share li:nth-of-type(2) {
  width: 102px;
  height: 20px;
}
.products__share li:nth-of-type(3) {
  width: 84px;
  height: 20px;
}
.products__descriptions {
  -webkit-margin-before: 60px;
          margin-block-start: 60px;
  grid-area: 3/1/4/3;
}
@media (width < 1024px) {
  .products__descriptions {
    grid-area: 4/1/5/3;
  }
}
@media (width < 740px) {
  .products__descriptions {
    grid-area: 5/1/6/2;
  }
}
.products__description2 .p-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(410px, 1fr));
  gap: 2.6428571429em 3.9%;
}
@media (width < 740px) {
  .products__description2 .p-grid {
    grid-template-columns: 1fr;
  }
}
.products__description2 .p-grid .-item {
  display: grid;
  grid-template-columns: 1fr 37.4%;
  grid-template-rows: -webkit-max-content;
  grid-template-rows: max-content;
  gap: 1.4285714286em;
}
.products__description2 .p-grid .-item .-title {
  font-size: 1.2857142857em;
  letter-spacing: 0.036em;
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  border-bottom: 1px solid #777;
  line-height: 1.4;
  -webkit-padding-after: 0.5em;
          padding-block-end: 0.5em;
  grid-area: 1/1/2/3;
}
@media (width < 740px) {
  .products__description2 .p-grid .-item .-title {
    font-size: 1.4285714286em;
  }
}
.products__description2 .p-grid .-item .-text {
  font-weight: 350;
  line-height: 1.7;
  letter-spacing: 0.08em;
  grid-area: 2/1/3/2;
}
@media (width < 740px) {
  .products__description2 .p-grid .-item .-text {
    grid-area: 2/1/3/3;
  }
}
.products__description2 .p-grid .-item img {
  grid-area: 2/2/3/3;
}
@media (width < 740px) {
  .products__description2 .p-grid .-item img {
    grid-area: 3/1/4/3;
    width: 59.74vw;
    margin-inline: auto;
  }
}
.products__description2 .p-grid + .p-spec {
  -webkit-margin-before: 86px;
          margin-block-start: 86px;
}
@media (width < 740px) {
  .products__description2 .p-grid + .p-spec {
    -webkit-margin-before: 12.86vw;
            margin-block-start: 12.86vw;
  }
}
.products__description2 .p-spec {
  font-size: 14px;
}
.products__description2 .p-spec .-item {
  background-color: #f6f6f6;
  -webkit-margin-after: 0.2857142857em;
          margin-block-end: 0.2857142857em;
  padding-inline: 1.7857142857em;
  padding-block: 1em;
}
@media (width < 740px) {
  .products__description2 .p-spec .-item {
    padding-inline: 4.81vw;
  }
}
.products__description2 .p-spec .-head {
  display: grid;
  grid-template-columns: 7.4285714286em 1fr 1.3571428571em;
  align-items: center;
}
.products__description2 .p-spec .-head .-dt {
  font-weight: 500;
  letter-spacing: 0.025em;
}
@media (width < 740px) {
  .products__description2 .p-spec div.-head {
    grid-template-columns: 1fr;
  }
  .products__description2 .p-spec div.-head .-dt {
    border-bottom: 1px dotted #999;
    -webkit-padding-after: 1em;
            padding-block-end: 1em;
  }
  .products__description2 .p-spec div.-head .-dd {
    -webkit-padding-before: 1em;
            padding-block-start: 1em;
  }
}
@media (width < 740px) {
  .products__description2 .p-spec details summary.-head {
    grid-template-columns: 6em 1fr 1.3571428571em;
  }
}
.products__description2 .p-spec details .-dd {
  text-decoration: underline;
  text-underline-offset: 0.4em;
}
.products__description2 .p-spec details .-btn {
  aspect-ratio: 1/1;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
  place-items: center;
}
.products__description2 .p-spec details .-btn::before {
  content: "";
  grid-area: 1/1/2/2;
  width: 100%;
  height: 3px;
  display: block;
  background-color: #777;
}
.products__description2 .p-spec details .-btn::after {
  content: "";
  grid-area: 1/1/2/2;
  width: 3px;
  height: 100%;
  display: block;
  background-color: #777;
  opacity: 1;
}
.products__description2 .p-spec details .-content {
  display: grid;
  grid-template-rows: 0fr;
  -webkit-padding-before: 1.6em;
          padding-block-start: 1.6em;
  padding-inline: 7.4285714286em 1.7857142857em;
  line-height: 1.7;
  transition: grid-template-rows 0.2s;
  overflow: hidden;
}
@media (width < 740px) {
  .products__description2 .p-spec details .-content {
    padding-inline: 0;
  }
}
.products__description2 .p-spec details[open] .-btn::after {
  opacity: 0;
}
.products__description2 .p-spec details[open] .-content {
  grid-template-rows: 1fr;
}

#thumbnail-carousel {
  -webkit-margin-before: 0.8571428571em;
          margin-block-start: 0.8571428571em;
}
@media (width < 740px) {
  #thumbnail-carousel {
    -webkit-margin-before: 2.6vw;
            margin-block-start: 2.6vw;
  }
}
#thumbnail-carousel .splide__list {
  display: grid;
  grid-template-columns: repeat(auto-fill, 58px);
  gap: 10px;
}
@media (width < 740px) {
  #thumbnail-carousel .splide__list {
    grid-template-columns: repeat(auto-fill, 12.99vw);
    gap: 2.21vw;
  }
}

/* カートモーダルCSSカスタム */
.modal-area {
  display: none;
  position: fixed;
  z-index: 1000;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.modal-bg {
  width: 100%;
  height: 100%;
  background-color: rgba(30, 30, 30, 0.9);
}

.modal-wrapper {
  font-size: 14px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: min(90%, 504px);
  padding-block: 2.5em;
  background-color: #fff;
}

.modalContents {
  width: 90%;
  margin-inline: auto;
}
@media (width < 740px) {
  .modalContents {
    width: 15.4285714286em;
  }
}

.modal-cart-btn {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  align-items: center;
  gap: 0.8em;
  -webkit-margin-before: 1em;
          margin-block-start: 1em;
}

.modal-cart-btn li {
  border-radius: 0.2857142857em;
  display: block;
  width: 15.4285714286em;
}

.modal-cart-btn li a {
  text-align: center;
  line-height: 1;
  padding-block: 1em;
  font-weight: 500;
  color: #fff;
  display: block;
}

.modal-cart {
  background: #b36e91;
  transition: background-color 0.2s;
}
.modal-cart:focus-visible {
  background-color: #e2aec8;
}
@media (any-hover: hover) {
  .modal-cart:hover {
    background-color: #e2aec8;
  }
}

.modal-order {
  background: #b6b235;
  transition: background-color 0.2s;
}
.modal-order:focus-visible {
  background-color: #bebb6f;
}
@media (any-hover: hover) {
  .modal-order:hover {
    background-color: #bebb6f;
  }
}

.modal-close {
  position: absolute;
  top: 0.8em;
  right: 0.8em;
  cursor: pointer;
}

.guide .-rd {
  color: #a50000;
}
.guide .-bl {
  color: #48aadb;
}
.guide .-center {
  text-align: center;
}
@media (width < 740px) {
  .guide .-center.-spjustify {
    text-align: justify;
  }
}
.guide__grid {
  font-size: 14px;
  display: grid;
  grid-template-columns: 1fr 310px;
  gap: 1.5em 2.7142857143em;
  -webkit-margin-before: 3em;
          margin-block-start: 3em;
}
@media (width < 1024px) {
  .guide__grid {
    grid-template-columns: 1fr;
  }
}
.guide__grid-heading {
  grid-column: 1/3;
  font-size: 1.2857142857em;
  letter-spacing: 0.075em;
  display: grid;
  grid-template-columns: -webkit-max-content 1fr;
  grid-template-columns: max-content 1fr;
  gap: 0.9444444444em;
  align-items: center;
}
@media (width < 1024px) {
  .guide__grid-heading {
    grid-column: 1/2;
  }
}
@media (width < 740px) {
  .guide__grid-heading {
    font-size: 3.64vw;
    grid-template-columns: 1fr;
    gap: 1.0357142857em;
  }
}
.guide__grid-heading .-num {
  width: 7.1111111111em;
  height: 2.2777777778em;
  border-radius: 100vmax;
  background-color: #48aadb;
  color: #fff;
  display: grid;
  place-items: center;
  font-weight: 700;
  line-height: 1;
}
.guide__grid-heading .-txt {
  color: #48aadb;
  font-weight: 500;
  display: block;
}
@media (width < 740px) {
  .guide__grid-heading .-txt {
    font-size: 1.1428571429em;
  }
}
.guide__grid-heading2 {
  color: #48aadb;
  line-height: 1.86;
  font-weight: 700;
  letter-spacing: 0.075em;
}
@media (width < 740px) {
  .guide__grid .-right {
    grid-row: 2/3;
  }
}
.guide__1col {
  font-size: 14px;
  -webkit-margin-before: 2.8571428571em;
          margin-block-start: 2.8571428571em;
}
.guide__1col .m__txt-common {
  -webkit-margin-before: 1em;
          margin-block-start: 1em;
}
.guide__1col .-rd {
  font-weight: 500;
}
.guide__img-steps {
  -webkit-margin-before: 50px;
          margin-block-start: 50px;
}
.guide__bg-gry {
  font-size: 16px;
  background-color: #f6f6f6;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding-block: 1.25em;
  padding-inline: 1em;
  text-align: center;
  margin-inline: auto;
  letter-spacing: 0.075em;
}
@media (width < 740px) {
  .guide__bg-gry {
    font-size: 15px;
  }
}
.guide__bg-gry.-type1 {
  width: min(100%, 500px);
  font-weight: 500;
  -webkit-margin-before: 1.875em;
          margin-block-start: 1.875em;
  -webkit-margin-after: 1em;
          margin-block-end: 1em;
}
.guide__bg-gry.-type1 .-rd {
  font-size: 1.25em;
  display: block;
}
.guide__bg-gry.-type1 .-txt {
  font-weight: 500;
  display: block;
}
.guide__bg-gry.-type2 {
  width: 100%;
  -webkit-margin-after: 1.375em;
          margin-block-end: 1.375em;
}
.guide__bg-gry.-type3 {
  width: 100%;
}
.guide__bg-gry.-type3 .-bold {
  display: block;
  font-weight: 500;
}
.guide__bg-gry.-type3 .-large {
  font-size: 1.25em;
  font-weight: 500;
}
.guide__bg-gry.-type4 {
  width: min(100%, 400px);
}
.guide__bg-gry.-type4 .-bold {
  display: block;
  font-weight: 500;
}
.guide__bg-gry.-type4 .-rd {
  font-size: 1.25em;
  font-weight: 500;
}
.guide__bg-gry.-head {
  display: block;
  width: min(100%, 575px);
}
.guide__bg-gry.-head h3 {
  font-size: 1.1111111111em;
  font-weight: 500;
  -webkit-margin-after: 1em;
          margin-block-end: 1em;
}
.guide__bg-gry.-head .-bold {
  display: block;
  font-weight: 500;
  -webkit-margin-after: 0.5em;
          margin-block-end: 0.5em;
}
.guide__bg-gry.-head .-txt {
  display: block;
  font-size: 0.875em;
  font-weight: 350;
  width: min(100%, 439px);
  margin-inline: auto;
}
@media (width < 740px) {
  .guide__bg-gry.-head .-txt.-spjustify {
    text-align: justify;
    -webkit-margin-before: 1em;
            margin-block-start: 1em;
    padding-inline: 1em;
  }
}
.guide__table-head {
  font-size: 14px;
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  align-items: flex-end;
  width: 100%;
  -webkit-margin-before: 5.3571428571em;
          margin-block-start: 5.3571428571em;
  -webkit-margin-after: 0.9285714286em;
          margin-block-end: 0.9285714286em;
}
@media (width < 740px) {
  .guide__table-head {
    text-align: center;
    justify-content: center;
  }
}
.guide__table-head .-txt1 {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 1.1428571429em;
  font-weight: 500;
}
.guide__table-head .-txt2 {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-weight: 350;
}
.guide__table-head2 {
  font-size: 14px;
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  align-items: flex-end;
  width: 100%;
  -webkit-margin-before: 1em;
          margin-block-start: 1em;
  -webkit-margin-after: 0.9285714286em;
          margin-block-end: 0.9285714286em;
  font-weight: 500;
}
@media (width < 740px) {
  .guide__table-head2 {
    text-align: center;
    justify-content: center;
  }
}
.guide__table-head2 .-txt1 {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 1.1428571429em;
  font-weight: 500;
}
.guide__table-head2 .-txt2 {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-weight: 350;
}
.guide__table1 {
  font-size: 14px;
  font-weight: 350;
  letter-spacing: 0.025em;
  width: 100%;
}
.guide__table1 th, .guide__table1 td {
  border: 1px solid #000;
  text-align: center;
}
.guide__table1 th {
  background-color: #f6f6f6;
  padding-block: 0.4em;
}
.guide__table1 td {
  padding-block: 0.2em;
  line-height: 1.86;
}
@container block (max-width: 676px) {
  .guide__table1 {
    display: block;
  }
  .guide__table1 tbody {
    display: grid;
    grid-template-columns: repeat(2, -webkit-max-content) 1fr;
    grid-template-columns: repeat(2, max-content) 1fr;
  }
  .guide__table1 tr {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 12;
  }
  .guide__table1 tr:not(:first-of-type) th, .guide__table1 tr:not(:first-of-type) td {
    border-left: none;
  }
  .guide__table1 th, .guide__table1 td {
    display: block;
    padding-inline: 1em;
  }
  .guide__table1 th:not(:first-of-type), .guide__table1 td:not(:first-of-type) {
    border-top: none;
  }
}
.guide__table2 {
  font-size: 14px;
  font-weight: 350;
  letter-spacing: 0.025em;
  width: min(547px, 100%);
}
.guide__table2 th, .guide__table2 td {
  border: 1px solid #000;
  text-align: center;
}
.guide__table2 th {
  background-color: #f6f6f6;
  padding-block: 0.4em;
}
.guide__table2 td {
  padding-block: 0.2em;
  line-height: 1.86;
}
@media (width < 740px) {
  .guide__table2 {
    display: block;
    width: 100%;
  }
  .guide__table2 tbody {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
  .guide__table2 tr {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 5;
  }
  .guide__table2 tr:not(:first-of-type) th, .guide__table2 tr:not(:first-of-type) td {
    border-left: none;
  }
  .guide__table2 th {
    border-bottom: none;
  }
  .guide__table2 th, .guide__table2 td {
    display: block;
    padding-inline: 1em;
  }
  .guide__table2 th:not(:first-of-type), .guide__table2 td:not(:first-of-type) {
    border-top: none;
  }
}
.guide__2col {
  font-size: 14px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 1em 6%;
}
.guide__2col .-box img {
  width: min(100%, 297px);
  aspect-ratio: 297 / 82;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center center;
     object-position: center center;
  margin-inline: auto;
  margin-block: 1.8571428571em 1.5em;
}
.guide__bl-lined {
  border: 2px solid #48aadb;
  font-size: 16px;
  padding-block: 1.5em;
  padding-inline: 2.6875em;
}
@media (width < 740px) {
  .guide__bl-lined {
    font-size: 14px;
    padding-inline: 1.5em;
  }
}
.guide__bl-lined.-type1 {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  border-radius: 0.6875em;
  margin-block: 3.5625em 3.75em;
  margin-inline: auto;
}
.guide__bl-lined.-type2 .-cards {
  font-size: 18px;
  width: min(610px, 100%);
  margin-inline: auto;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(186px, 1fr));
  grid-auto-rows: 4.6666666667em;
  gap: 1.4444444444em;
  -webkit-margin-after: 1.6666666667em;
          margin-block-end: 1.6666666667em;
}
.guide__bl-lined.-type2 .-cards p {
  width: 100%;
  background-color: #ddf3fc;
  display: grid;
  grid-template-rows: subgrid;
  text-align: center;
  place-items: center;
  letter-spacing: 0.075em;
  font-weight: 500;
}
.guide__bl-lined.-type2 .-card1 {
  font-size: 1.2222222222em;
}
.guide__bl-lined.-type2 .-card2 {
  line-height: 1.3;
}
.guide__bl-lined.-type2 .-card3 {
  line-height: 1.3;
}
.guide__bl-lined.-type2 .-card3 .-rd {
  font-size: 1.1111111111em;
}
.guide__map {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
  -webkit-margin-after: 60px;
          margin-block-end: 60px;
}
.guide__map img {
  width: min(588px, 100%);
  grid-area: 1/1/2/2;
  justify-self: center;
}
.guide__map .-txt-area {
  grid-area: 1/1/2/2;
  font-size: min(3.9vw, 18px);
  -webkit-margin-start: 7%;
          margin-inline-start: 7%;
}
@container block (max-width: 588px) {
  .guide__map .-txt-area {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
    -webkit-margin-after: 7.79vw;
            margin-block-end: 7.79vw;
  }
}
.guide__map .-txt-area .-txt {
  font-weight: 500;
  letter-spacing: 0.075em;
}
.guide__map .-txt-area .-txt .-rd {
  display: inline-block;
  -webkit-margin-end: 1em;
          margin-inline-end: 1em;
}
.guide__map-heading {
  font-size: 1.1111111111em;
  font-weight: 500;
  letter-spacing: 0.075em;
  -webkit-margin-after: 1.5em;
          margin-block-end: 1.5em;
}
@container block (max-width: 588px) {
  .guide__map img {
    grid-area: 2/1/3/2;
  }
}
.guide__caution-txt {
  font-size: 18px;
  color: #48aadb;
  font-weight: 700;
  letter-spacing: 0.075em;
  -webkit-margin-before: 3em;
          margin-block-start: 3em;
  -webkit-margin-after: 0.5em;
          margin-block-end: 0.5em;
}
@media (width < 740px) {
  .guide__caution-txt {
    font-size: 4.42vw;
    -webkit-margin-before: 8.18vw;
            margin-block-start: 8.18vw;
  }
}
.guide__caution-list {
  font-size: 14px;
  -webkit-padding-start: 0.7142857143em;
          padding-inline-start: 0.7142857143em;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}
.guide__caution-list li {
  text-indent: -0.7142857143em;
}
.guide__caution-list li::first-letter {
  font-size: 0.7142857143em;
}
.guide__graph-txt {
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.075em;
  margin-block: 1.3571428571em;
}
.guide :nth-child(1 of .guide__graph-txt) {
  -webkit-margin-before: 3.4285714286em;
          margin-block-start: 3.4285714286em;
}
.guide__graph1 {
  width: min(79%, 674px);
}
.guide__graph2 {
  width: min(100%, 770px);
}
.guide__h3 {
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 0.075em;
  text-align: center;
  -webkit-margin-before: 3.5em;
          margin-block-start: 3.5em;
  -webkit-margin-after: 1em;
          margin-block-end: 1em;
}
.guide__h3-bl {
  font-size: 18px;
  line-height: 1.4;
  font-weight: 500;
  color: #48aadb;
  letter-spacing: 0.075em;
  -webkit-margin-before: 2.2222222222em;
          margin-block-start: 2.2222222222em;
  -webkit-margin-after: 1em;
          margin-block-end: 1em;
}
@media (width < 740px) {
  .guide__h3-bl {
    font-size: 16px;
  }
}
.guide__h4 {
  font-size: 16px;
  text-align: center;
  font-weight: 500;
  letter-spacing: 0.075em;
  -webkit-margin-before: 2.875em;
          margin-block-start: 2.875em;
  -webkit-margin-after: 1.625em;
          margin-block-end: 1.625em;
}
.guide__img-3col {
  font-size: 14px;
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  gap: 2em 1.5em;
  align-items: center;
  -webkit-margin-before: 2.1428571429em;
          margin-block-start: 2.1428571429em;
}
.guide__img-3col figure {
  width: min(63.51vw, 271px);
}
.guide__img-3col figcaption {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  -webkit-margin-before: 0.5em;
          margin-block-start: 0.5em;
}
.guide__img-2col {
  font-size: 14px;
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  gap: 2em 1.5em;
  align-items: center;
  -webkit-margin-before: 2.1428571429em;
          margin-block-start: 2.1428571429em;
}
.guide__img-2col figure {
  width: min(68.31vw, 376px);
}
.guide__img-2col figcaption {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  -webkit-margin-before: 0.5em;
          margin-block-start: 0.5em;
}
.guide__img-2col + .m__txt-common {
  width: min(100%, 774px);
  margin-inline: auto;
}
.guide__img-single {
  width: min(63.51vw, 271px);
  -webkit-margin-before: 14px;
          margin-block-start: 14px;
  -webkit-margin-after: 54px;
          margin-block-end: 54px;
  margin-inline: auto;
}
.guide__flex-imgs {
  font-size: 14px;
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  gap: 48px;
  -webkit-margin-after: 40px;
          margin-block-end: 40px;
}
@media (width < 740px) {
  .guide__flex-imgs {
    gap: 7.79vw;
    -webkit-margin-after: 6.49vw;
            margin-block-end: 6.49vw;
  }
}
.guide__flex-imgs figcaption {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  -webkit-margin-before: 0.5em;
          margin-block-start: 0.5em;
}
.guide__flex-imgs .-wide {
  width: min(100%, 229px);
}
.guide__flex-imgs .-narrow {
  width: min(140px, 100%);
}
@media (width < 740px) {
  .guide__img-steps {
    width: 50.52vw;
    margin-inline: auto;
  }
}
.guide__img-uchinoshi {
  width: min(350px, 100%);
  margin-inline: auto;
  -webkit-margin-before: 35px;
          margin-block-start: 35px;
}
.guide__img-cardboardbox {
  font-size: 14px;
  width: min(271px, 100%);
  -webkit-margin-before: 40px;
          margin-block-start: 40px;
  margin-inline: auto;
}
.guide__img-cardboardbox figcaption {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  -webkit-margin-before: 0.5em;
          margin-block-start: 0.5em;
}
.guide__comb {
  font-size: 14px;
  width: min(100%, 514px);
  margin-inline: auto;
  border-block: 1px dotted #777;
  border-collapse: separate;
  border-spacing: 0 5px;
}
.guide__comb td {
  text-align: center;
  padding-block: 5px;
  vertical-align: middle;
}
.guide__comb td.-with-plus .-grid {
  display: grid;
  grid-template-columns: 1fr 1em;
  justify-items: stretch;
}
.guide__comb td:has(.-cont) {
  background-color: #f6f6f6;
}
.guide__comb td.-td1 {
  width: 35%;
}
.guide__comb-caution {
  display: block;
  width: min(100%, 514px);
  -webkit-margin-before: 1em;
          margin-block-start: 1em;
  -webkit-margin-after: 1.5em;
          margin-block-end: 1.5em;
  margin-inline: auto;
  -webkit-padding-start: 1em;
          padding-inline-start: 1em;
  text-indent: -1em;
}
.guide__list-s {
  font-size: 14px;
  -webkit-padding-start: 1em;
          padding-inline-start: 1em;
  text-indent: -1em;
  letter-spacing: 0.075em;
}
.guide__list-s li {
  line-height: 1.86;
}
.guide__list-s-wrap {
  border: 1px solid #777;
  padding-block: 2em;
  padding-inline: 2.5em;
  margin-block: 1em;
}
.guide__list-s-head {
  font-size: 14px;
  -webkit-margin-after: 0.5em;
          margin-block-end: 0.5em;
}
.guide .l__block a:not(.m__btn-common) {
  text-decoration: underline;
  text-underline-offset: 0.2em;
}
.guide .l__block a:not(.m__btn-common):focus-visible {
  text-decoration: none;
}
@media (any-hover: hover) {
  .guide .l__block a:not(.m__btn-common):hover {
    text-decoration: none;
  }
}
.guide__pay-img1 {
  width: min(64.16vw, 100%, 458px);
}
@media (width < 740px) {
  .guide__pay-img1 {
    margin-inline: auto;
  }
}
.guide__pay-img2 {
  width: min(77.79vw, 100%, 600px);
}
@media (width < 740px) {
  .guide__pay-img2 {
    margin-inline: auto;
  }
}
.guide__pay-img3 {
  width: min(31.3vw, 100%, 223px);
}
@media (width < 740px) {
  .guide__pay-img3 {
    margin-inline: auto;
  }
}
.guide__pay-img4 {
  width: min(44.03vw, 100%, 274px);
}
.guide__pay-img4 + .m__txt-common {
  -webkit-margin-before: 1em;
          margin-block-start: 1em;
}
@media (width < 740px) {
  .guide__pay-img4 {
    margin-inline: auto;
  }
}

@media (width < 740px) {
  #guide3 .guide__h3-bl {
    text-align: center;
  }
}

#guide11 .m__btn-common {
  -webkit-margin-before: 2.7857142857em;
          margin-block-start: 2.7857142857em;
  margin-inline: auto;
}

.cart {
  grid-column: 1/3;
  container-type: inline-size;
  container-name: cart;
}
.cart__table {
  font-size: 14px;
  display: block;
}
.cart__table thead, .cart__table tbody {
  display: block;
}
@media (width < 1024px) {
  .cart__table thead {
    display: none;
  }
}
@media (width < 1024px) {
  .cart__table tbody {
    -webkit-border-before: 1px solid #000;
            border-block-start: 1px solid #000;
  }
}
.cart__table th {
  font-size: 1.2857142857em;
  font-weight: 500;
  letter-spacing: 0.05em;
  background-color: #eee;
  padding-block: 0.5em;
  padding-inline: 0.5em;
}
.cart__table th:first-of-type {
  padding-inline: 1.5em;
}
.cart__table th:not(:first-of-type) {
  border-left: 6px solid #fff;
  text-align: center;
}
.cart__table tbody tr:not(:last-of-type) {
  border-bottom: 1px solid #000;
}
.cart tr {
  display: grid;
  grid-template-columns: 1fr 166px 261px 189px;
}
@media (width < 1024px) {
  .cart tr {
    grid-template-columns: 1fr;
  }
}
.cart__detail {
  display: grid;
  grid-template-columns: 30% 1fr;
  gap: 1em;
  padding-block: 1.5em;
  -webkit-padding-end: 1em;
          padding-inline-end: 1em;
}
@container cart (max-width: 1000px) {
  .cart__detail {
    grid-template-columns: 1fr;
    -webkit-padding-end: 0;
            padding-inline-end: 0;
  }
}
.cart td:not(.cart__detail) {
  align-self: center;
  padding-inline: 1em;
}
.cart__image {
  align-self: start;
}
@container cart (max-width: 1000px) {
  .cart__image {
    width: min(50%, 141px);
  }
}
.cart__info .-ttl {
  display: block;
  font-size: 1.5714285714em;
  font-weight: 500;
  -webkit-margin-after: 0.8em;
          margin-block-end: 0.8em;
  letter-spacing: 0.025em;
  line-height: 1.4;
}
.cart__info .-option {
  font-size: 1em;
  font-weight: 500;
}
.cart__info .-option p:not(:first-of-type) {
  line-height: 1.86;
}
.cart__info .-nameprint-area {
  font-size: 1em;
  font-weight: 500;
  -webkit-margin-before: 1em;
          margin-block-start: 1em;
}
.cart__info .-nameprint-area p {
  line-height: 1.86;
}
.cart__info .-nameprint-name {
  display: block;
  font-size: 1.1428571429em;
  font-weight: 500;
  padding: 1em 1.5em;
  background-color: #f6f6f6;
  min-height: 2em;
  margin-block: 0.6em;
}
.cart__info .-point {
  font-weight: 500;
}
.cart__price {
  font-size: 1.4285714286em;
  font-weight: 500;
  text-align: end;
}
.cart__quantity {
  display: grid;
  grid-template-columns: 4.6428571429em 1fr repeat(2, 3.9285714286em);
  gap: 1em 0.4em;
}
@media (width < 1024px) {
  .cart__quantity {
    width: min(100%, 280px);
    margin-inline: auto 0;
    padding-block: 2em;
  }
}
.cart__quantity input {
  padding-inline: 0.5em;
  padding-block: 0.25em;
  border: 1px solid #000;
  align-self: center;
  text-align: center;
  border-radius: 0.1875em;
}
.cart__quantity .-refresh, .cart__quantity .-delete {
  display: grid;
  height: 2em;
  place-items: center;
  align-self: center;
  color: #fff;
  border-radius: 0.3em;
  line-height: 1;
}
.cart__quantity .-refresh {
  background-color: #b36e91;
}
.cart__quantity .-refresh:focus-visible {
  background-color: #e2aec8;
}
@media (any-hover: hover) {
  .cart__quantity .-refresh:hover {
    background-color: #e2aec8;
  }
}
.cart__quantity .-delete {
  background-color: #777;
}
.cart__quantity .-delete:focus-visible {
  background-color: #919090;
}
@media (any-hover: hover) {
  .cart__quantity .-delete:hover {
    background-color: #919090;
  }
}
.cart__quantity .-back {
  font-weight: 500;
  grid-area: 2/1/3/5;
  display: grid;
  min-height: 2.6em;
  place-items: center;
  align-self: center;
  background-color: #f5e6c3;
  text-align: center;
  border-radius: 0.3em;
}
.cart__quantity .-back:focus-visible {
  background-color: #fef5e0;
}
@media (any-hover: hover) {
  .cart__quantity .-back:hover {
    background-color: #fef5e0;
  }
}
.cart__subtotal {
  font-size: 1.4285714286em;
  font-weight: 700;
  text-align: end;
}
@media (width < 1024px) {
  .cart__subtotal {
    -webkit-padding-after: 2em;
            padding-block-end: 2em;
  }
}
.cart .products__spinner {
  align-self: center;
  justify-self: center;
}
.cart__total {
  font-size: 14px;
  display: block;
  background-color: #eee;
}
.cart__total tbody {
  display: block;
  width: min(50%, 600px);
  margin-inline: auto 0;
  padding-block: 2em;
}
.cart__total tr {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
.cart__total th, .cart__total td {
  display: block;
}
.cart__total-total th {
  font-size: 1.4285714286em;
  font-weight: 700;
  text-align: end;
  vertical-align: bottom;
}
.cart__total-total .-yen {
  font-size: 1.7142857143em;
  font-weight: 700;
  text-align: end;
  display: block;
  line-height: 1;
}
.cart__total-point {
  -webkit-margin-before: 1em;
          margin-block-start: 1em;
  font-weight: 500;
}
.cart__total-point th {
  text-align: end;
}
.cart__total-point td {
  text-align: end;
}
.cart__button {
  font-size: 18px;
  color: #fff;
  font-weight: 700;
  width: min(100%, 400px);
  height: 3em;
  border-radius: 0.25em;
  background-color: #b6b235;
  -webkit-margin-before: 2em;
          margin-block-start: 2em;
  -webkit-margin-after: 1em;
          margin-block-end: 1em;
  margin-inline: auto 0;
  display: block;
}
.cart__button a {
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
}
.cart__button:focus-visible {
  background-color: #c6c369;
}
@media (any-hover: hover) {
  .cart__button:hover {
    background-color: #c6c369;
  }
}
.cart__back-button {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto 0;
}

.about {
  overflow: hidden;
}
.about .m__block-heading {
  -webkit-margin-before: 80px;
          margin-block-start: 80px;
}
@media (width < 740px) {
  .about .m__block-heading {
    -webkit-margin-before: 16.36vw;
            margin-block-start: 16.36vw;
  }
}
.about__box {
  font-size: 14px;
  display: grid;
  -webkit-margin-before: 60px;
          margin-block-start: 60px;
  grid-template-rows: -webkit-max-content auto;
  grid-template-rows: max-content auto;
}
.about__lead {
  font-size: 1.2857142857em;
  font-weight: 350;
  line-height: 1.56;
  letter-spacing: 0.075em;
  grid-area: lead;
  -webkit-padding-after: 1em;
          padding-block-end: 1em;
}
@media (width < 740px) {
  .about__lead {
    font-size: 1.3571428571em;
  }
}
.about__txt {
  grid-area: txt;
  font-weight: 350;
  line-height: 1.86;
}
@media (width < 1024px) {
  .about__txt {
    -webkit-padding-before: 2.1428571429em;
            padding-block-start: 2.1428571429em;
  }
}
.about__box-img {
  grid-area: img;
}
.about__table {
  font-size: 14px;
  font-weight: 350;
  display: block;
}
.about__table tbody {
  display: block;
}
.about__table tr {
  display: grid;
  grid-template-columns: 193px 1fr;
  gap: 0.4285714286em;
}
.about__table tr:not(:first-of-type) {
  -webkit-margin-before: 0.4285714286em;
          margin-block-start: 0.4285714286em;
}
@media (width < 740px) {
  .about__table tr {
    grid-template-columns: 1fr;
    gap: 0;
  }
}
.about__table th, .about__table td {
  background-color: #f6f6f6;
}
.about__table th {
  display: grid;
  place-items: center;
}
@media (width < 740px) {
  .about__table th {
    display: block;
    padding-block: 1em 0;
    padding-inline: 4.55vw;
    font-weight: 500;
  }
  .about__table th span {
    display: block;
    -webkit-border-after: 1px dotted #999;
            border-block-end: 1px dotted #999;
    -webkit-padding-after: 0.8em;
            padding-block-end: 0.8em;
  }
}
.about__table td {
  padding-block: 1em;
  padding-inline: 3.4285714286em;
  line-height: 1.79;
}
@media (width < 740px) {
  .about__table td {
    padding-inline: 4.55vw;
  }
}
.about__sns {
  -webkit-margin-before: 90px;
          margin-block-start: 90px;
  margin-inline: auto;
  display: flex;
  flex-flow: row nowrap;
  justify-content: center;
  gap: 30px;
}
@media (width < 740px) {
  .about__sns {
    width: 100vw;
    gap: 7.27vw;
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 10;
    background-color: #fff;
    padding-block: 2vw;
  }
}
.about__sns .-sns-icon {
  width: 38px;
  transition: opacity 0.2s;
}
.about__sns .-sns-icon:focus-visible {
  opacity: 0.7;
}
@media (any-hover: hover) {
  .about__sns .-sns-icon:hover {
    opacity: 0.7;
  }
}
@media (width < 740px) {
  .about__sns .-sns-icon {
    width: 8.83vw;
  }
}
.about__sns .-to-official-sp {
  display: none;
}
@media (width < 740px) {
  .about__sns .-to-official-sp {
    display: block;
    width: 10.91vw;
  }
}
.about__to-official {
  display: block;
  font-size: 14px;
  width: min(100%, 536px);
  margin-inline: auto;
  -webkit-margin-before: 90px;
          margin-block-start: 90px;
  background-color: #f6f6f6;
  border: 1px solid #000;
  padding-block: 1.5714285714em;
  padding-inline: 2.7647058824em;
  background-image: url(../images/img-official-bg.webp);
  background-size: 18em;
  background-repeat: no-repeat;
  background-position: left 379px top -3em;
  transition: background-color 0.2s;
}
.about__to-official:focus-visible {
  background-color: #fff;
}
@media (any-hover: hover) {
  .about__to-official:hover {
    background-color: #fff;
  }
}
@media (width < 1024px) {
  .about__to-official {
    background-position: left 21.4285714286em top -3em;
  }
}
@media (width < 740px) {
  .about__to-official {
    font-size: 3.38vw;
    padding-inline: 6.1vw;
    background-size: 62.08vw;
    background-position: left 58.31vw center;
    -webkit-margin-before: 16.62vw;
            margin-block-start: 16.62vw;
  }
}
.about__to-official .-ttl {
  display: block;
  font-size: 1.2857142857em;
  font-weight: 500;
  letter-spacing: 0.05em;
  -webkit-margin-after: 0.6em;
          margin-block-end: 0.6em;
}
@media (width < 740px) {
  .about__to-official .-ttl {
    font-size: 1.1153846154em;
  }
}
.about__to-official .-txt {
  display: block;
  letter-spacing: 0.05em;
  font-weight: 350;
}
.about__to-official .-txt .-with-underline {
  text-decoration: underline;
  text-underline-offset: 0.2em;
}
@media (width < 1024px) {
  .about__to-official .-txt {
    width: 17.1428571429em;
  }
}
@media (width < 740px) {
  .about__to-official .-txt {
    width: 50.13vw;
  }
}
.about :nth-child(1 of .about__box) {
  grid-template-columns: 1fr 50%;
  gap: 0 4%;
  grid-template-areas: "lead img" "txt img";
}
@media (width < 1024px) {
  .about :nth-child(1 of .about__box) {
    grid-template-columns: 1fr;
    grid-template-areas: "lead" "img" "txt";
  }
  .about :nth-child(1 of .about__box) .about__txt {
    -webkit-padding-after: 2.7857142857em;
            padding-block-end: 2.7857142857em;
    -webkit-border-after: 1px dotted #999;
            border-block-end: 1px dotted #999;
  }
}
.about :nth-child(2 of .about__box) {
  grid-template-columns: 50% 1fr;
  gap: 0 4%;
  grid-template-areas: "img lead" "img txt";
}
@media (width < 1024px) {
  .about :nth-child(2 of .about__box) {
    grid-template-columns: 1fr;
    grid-template-areas: "lead" "img" "txt";
  }
}

@media (width < 740px) {
  body:has(.about) {
    -webkit-padding-after: 16vw;
            padding-block-end: 16vw;
  }
}

.faq__table {
  display: block;
}
.faq__table caption {
  margin-inline: auto;
}
.faq__table tbody, .faq__table tr {
  display: block;
}
.faq__q {
  font-size: 16px;
  display: grid;
  grid-template-columns: 2em 1fr;
  align-items: start;
  gap: 0 1em;
  font-weight: 500;
  line-height: 1.63;
}
.faq__q .-head {
  display: block;
  font-size: 2em;
  font-weight: 700;
  color: #777;
  line-height: 0.5;
}
.faq__a {
  font-size: 14px;
  background-color: #f6f6f6;
  padding-block: 1.5em 2em;
  padding-inline: 1.6428571429em;
  font-weight: 350;
  line-height: 1.86;
  display: grid;
  grid-template-columns: 2.1428571429em 1fr;
  gap: 0 1.3571428571em;
  align-items: start;
  margin-block: 1.5em 2.3571428571em;
}
@media (width < 740px) {
  .faq__a {
    grid-template-columns: 1fr;
    gap: 1em;
  }
}
.faq__a .-head {
  display: block;
  font-size: 2.1428571429em;
  font-weight: 700;
  color: #99d2f6;
  line-height: 0.5;
}
.faq__a a {
  text-decoration: underline;
}
.faq__a a:focus-visible {
  text-decoration: none;
}
@media (any-hover: hover) {
  .faq__a a:hover {
    text-decoration: none;
  }
}
.faq__list {
  grid-column: 2/3;
  -webkit-padding-start: 1.25em;
          padding-inline-start: 1.25em;
}
@media (width < 740px) {
  .faq__list {
    grid-column: 1/2;
  }
}
.faq__item {
  text-indent: -1.25em;
  line-height: 1.86;
}
.faq .m__inner-nav {
  width: 100%;
}

.makeshop-option-wrap:not(:first-of-type) {
  display: none;
}
.makeshop-option-wrap:has(.is-visible) {
  display: inherit;
}

.mbs1em {
  -webkit-margin-before: 1em;
          margin-block-start: 1em;
}

.mbs2em {
  -webkit-margin-before: 2em;
          margin-block-start: 2em;
}
/*# sourceMappingURL=style.css.map */