@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@200..700&display=swap');

/* -----------------------------------------------
common
----------------------------------------------- */

html,
body {
  width: 100%;
  overflow-x: hidden;
  position: relative;
}
body {
  color: #222222;
  line-height: 1.5;
  /* letter-spacing: 0; */
  font-family: "Noto Sans JP", sans-serif;
  font-style: normal;
  font-weight: 400;
}
.font__oswald {
  font-family: "Oswald", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
}
.inner__wrap {
  margin-inline: auto;
}
picture, img {
  max-width: 100%;
  width: revert-layer;
}

:is(.fs-c-productPrice__addon, .fs-c-productPrice__main__addon)::before {
  content: '（'!important;
  margin-right: -0.2em;
}
:is(.fs-c-productPrice__addon, .fs-c-productPrice__main__addon)::after {
  content: '）'!important;
  margin-left: -0.2em;
}

/*
:root {
  --barlow: barlow-semi-condensed, sans-serif;
  --barlow_r: 400;
  --barlow_m: 500;
  --barlow_sb: 600;
} */

@media (max-width: 767px) {
  
  html {
    font-size: 62.5%;
  }
  :root {
    --px10: 2.7vw;
    --px12: 3.2vw;
    --px13: 3.4vw;
    --px14: 3.7vw;
    --px16: 4.3vw;
    --px18: 4.8vw;
    --px20: 5.3vw;
    --px22: 5.9vw;
    --px24: 6.4vw;
    --px25: 6.6vw;
    --px36: 9.6vw;
    --vw: calc(100vw / ●●●); /* ●●● = 基準値、vwの計算に使用：calc(var(--vw) * px) */
  }
  .pc__only {
    display: none !important;
  }
  body {
    font-size: 14px;
  }
  .inner__wrap {
    width: 100%;
    padding: 0 20px;
  }
}

@media (min-width: 768px) {
  
  :root {
    --vw: calc(100vw / ●●●); /* ●●● = 基準値、vwの計算に使用：calc(var(--vw) * px) */
  }
  .sp__only {
    display: none !important;
  }
  body {
    font-size: 16px;
    padding-bottom: 100px;
  }
  
  .inner__wrap {
    width: 100%;
    max-width: calc(1120px + 40px);
    padding: 0 20px;
  }
}

@media (any-hover: hover) {
  a,
  button {
    transition: all .3s;
  }
  a:hover,
  button:hover {
    opacity: 0.8;
  }
}


/* -----------------------------------------------
header
----------------------------------------------- */
header {}
header .header__inner {

}
header .header__nav__wrap {
  /* background-color: #333333;
  color: #fff; */
}
header .header__logo__fx a {
  display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-items: center;
	align-items: center;
}
.header__logo__fx strong {
  font-family: "Oswald", sans-serif;
  font-weight: 400;
}

.link__list__wrap .link__list .cart {
  position: relative;
}
.cart .fs-client-cart-count {
  aspect-ratio: 1 / 1;
  background-color: #06D8B8;
  color: #fff;
  border-radius: 50%;
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1;
  padding: 0;
}
.header__nav__wrap ul.header__nav {}
.header__nav__wrap .header__nav .sub {
  visibility: hidden;
  height: 0;
  transition: all .3s;
}





/* お知らせ系 */
.important__news {
  background: #222;
  color: #fff;
}
.header__notice__wrap {
  background: #06D8B8;
  color: #fff;
}

@media (max-width: 767px) {

  .important__news {
    margin-bottom: 80px;
  }

  .important__news * {
    font-size: 12px;
    width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    padding: 0 .5em;
    line-height: 32px;
  }


  header {
    width: 100%;
    position: fixed;
    top: initial;
    right: 0;
    left: 0;
    z-index: 9;
    transition: top .3s;
    background: #fff;
  }
  /* ハンバーガー */
  #nav__toggle {
    background: none;
    width: 62px;
    height: 80px;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 10;
    border: none;
    padding: 0;
    /* background: #ffb5b5 */
  }
  #nav__toggle div {
    width: 28px;
    height: 3px;
    left: 50%;
    transform: translateX(-50%);
    display: block;
    background: #000;
    position: absolute;
    transition: transform .6s ease-in-out, top .5s ease;
    border-radius: 50vh;
  }
  #nav__toggle div:nth-child(1) {
    top: 21px;
  }
  #nav__toggle div:nth-child(2) {
    top: 32px;
  }
  #nav__toggle div:nth-child(3) {
    top: 43px;
  }
  body.menu__open #nav__toggle div:nth-child(1) {
    top: 32px;
    transform: translateX(-50%) rotate(45deg);
    height: 1px;
  }
  body.menu__open #nav__toggle div:nth-child(2) {
    width: 0;
    left: 50%;
  }
  body.menu__open #nav__toggle div:nth-child(3) {
    top: 32px;
    transform: translateX(-50%) rotate(-45deg);
    height: 1px;
  }
  #nav__toggle span {
    position: absolute;
    top: 59px;
    left: 0;
    right: 0;
    font-size: 9px;
  }
  .menu__open #nav__toggle span {
    display: none;
  }


  .header__nav__wrap {
    transform: translateX(100%);
    -webkit-transform: translateX(100%);
    transition: all 0.5s;
    width: 100vw;
    height: 100vh;
    background-color: #fff;
    position: absolute;
    top: 0;
    left: 0;
    margin: 0 calc(50% - 50vw);
    padding: 75px 4% 150px;
    overflow-y: scroll;
    z-index: 9;
  }
  body.menu__open .header__nav__wrap {
    transform: translateX(0);
    -webkit-transform: translateX(0);
  }

  .scroll header {
    position: fixed;
    top: 0 !important;
  }

  header .header__inner {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-align-items: center;
    align-items: center;
    height: 80px;
  }
  .header__logo__fx img {
    width: var(--px24);
    height: auto;
  }
  .header__logo__fx strong {
    font-size: var(--px25);
    padding-left: 2.1vw;
  }
  .header__icon__wrap {
    margin-right: 43px;
  }
  .link__list__wrap .link__list {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    gap: 10px;
  }
  .link__list a {
    display: block;
    text-align: center;
  }
  .link__list a span {
    font-size: 9px;
    padding-top: 3px;
    display: block;
  }
  .cart .fs-client-cart-count {
    width: 16px;
    font-size: 10px;
    line-height: 1;
    top: -4px;
    right: -5px;
  }

  .header__notice__inner {
    padding: .2em 20px;
  }
  .header__notice__wrap strong {
    display: none;
  }
  .header__notice__wrap li a {
    font-size: var(--px13);
    line-height: 1.4;
  }


}

@media (min-width: 768px) {

  header {}
  header .header__inner,
  /* .header__logo,
  .sub__nav__wrap .sub__nav, */
  .header__icon__wrap,
  .link__list__wrap .link__list {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
  }
  header .header__inner {
    height: 80px;
    -webkit-justify-content: space-between;
    justify-content: space-between;
  }
  .header__logo__fx a:hover {
    opacity: .7;
  }
  .header__logo__fx strong {
    font-size: 30px;
    padding-left: 16px;
  }




  .link__list__wrap .link__list {
    gap: 14px;
  }
  .link__list a {
    display: block;
    font-size: 9px;
    text-align: center;
  }
  .link__list a span {
    padding-top: 3px;
    display: inline-block;
  }


  .header__nav__wrap {
    border-top: 1px solid #CDCDCD;
  }
  .header__nav__wrap ul.header__nav {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    width: 1170px;
    /* height: 40px; */
    margin-inline: auto;
  }
  .header__nav > li {
    position: relative;
  }
  .header__nav > li > a {
    display: block;
    font-size: 14px;
    font-family: "Oswald", sans-serif;
    letter-spacing: .04em;
    padding: 0 1.88em;
    height: 80px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1ch;
    transition: all .3s;
  }
  .header__nav > li > a:hover {
    opacity: .7;
  }
  .cart .fs-client-cart-count {
    width: 20px;
    font-size: 12px;
    line-height: 1;
    top: -5px;
    right: -7px;
  }

  .header__notice__inner {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-align-items: flex-start;
    align-items: flex-start;
  }
  .header__notice__wrap strong {
    font-size: 14px;
    padding-right: 2em;
    line-height: 30px;
  }
  .header__notice__wrap li a {
    font-size: 13px;
    line-height: 30px;
  }

}
















/* -----------------------------------------------
section__guide
----------------------------------------------- */
.section__guide {
  background: #F6F6F6;
}
.guide__list__wrap {}
.guide__list li a {
  display: flex;
  align-items: center;
  height: 100%;
}
.guide__list li a picture img {
  width: 100%;
}
.guide__list li a p {
  /* font-weight: bold; */
  text-align: center;
}

@media (max-width: 767px) {

  .section__guide {
    padding: 0 0 42px;
  }
  .section__guide .guide__head {
    margin-bottom: 48px;
    padding-top: 7px;
  }
  .guide__list__wrap .guide__list {
    display: flex;
    justify-content: center;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    max-width: 83.59%;
    margin-inline: auto;
  }
  .guide__list li {
    width: 50%;
    margin-bottom: 18px;
  }
  .guide__list li a {
    flex-direction: column;
    justify-content: center;
  }
  .guide__list li a picture {
    width: 78.572%;
    max-width: 110px;
  }
  .guide__list li a p {
    font-size: var(--px14);
    margin-top: 14px;
    position: relative;
  }


}
@media (min-width: 768px) {

  .section__guide {
    padding: 30px 0 84px;
  }
  .section__guide .guide__head {
    margin-bottom: 79px;
    padding-top: 7px;
  }
  .guide__list__wrap .guide__list {
    display: flex;
    justify-content: center;
    max-width: 920px;
    margin-inline: auto;
  }
    .guide__list li {
    width: 25%;
    aspect-ratio: 230/144;
  }
  .guide__list li + li {
    position: relative;
  }
  .guide__list li + li::before {
    content: '';
    width: 1px;
    height: 100%;
    background-color: #CDCDCD;
    position: absolute;
    top: 0;
    left: 0;
  }
  .guide__list li a {
    flex-direction: column;
    justify-content: center;
  }
  .guide__list li a picture {
    width: 47.826%;
  }
  .guide__list li a p {
    font-size: 14px;
    margin-top: 14px;
    position: relative;
  }

}



/* -----------------------------------------------
footer
----------------------------------------------- */
footer {
  background: #222222;
  color: #fff;
}
.footer__logo__fx strong {
  font-family: "Oswald", sans-serif;
  font-weight: 400;
  position: relative;
  display: block;
}
.footer__logo__fx strong:after {
  content: "";
  border-right: 1px solid #fff;
  position: absolute;
  left: 100%;
  top: 50%;
  width: 1px;
  height: 71.11%;
  transform: translateY(-50%);
}
.footer__logo__wrap .sns__wrap {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-items: flex-start;
  align-items: flex-start;
}
.footer__link__wrap strong {
  font-family: "Oswald", sans-serif;
  font-weight: 400;
}
.footer__link__wrap .category__list li {
  position: relative;
}
.category__list li:before {
  content: "";
  height: 2px;
  background: #06D8B8;
  position: absolute;
  top: calc(50% - 1px);
  left: 0;
}
.footer__link__wrap a {
  display: block;
}
.copy__wrap .copy {
  font-family: "Oswald", sans-serif;
  font-weight: 400;
  text-align: center;
}

@media (max-width: 767px) {

  footer {
    padding: 43px 0 15px;
  }
  .footer__fx {
    margin-bottom: 36px;
  }
  .footer__fx .footer__logo__wrap {
    margin-bottom: 34px;
  }
  .footer__logo__wrap .footer__logo__fx {
    margin-bottom: 28px;
  }
  .footer__logo__fx a {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-align-items: center;
    align-items: center;
  }
  .footer__logo__fx a img {
    width: 13.732%;
  }
  .footer__logo__fx a strong {
    font-size: var(--px22);
    padding-right: 22px;
    padding-right: 5%;
    margin-inline: 4% 4%;
  }
  .footer__logo__fx a span {
    font-size: var(--px10);
  }
  .footer__logo__fx a strong,
  .footer__logo__fx a span {
    margin-top: 20px;
  }
  .footer__logo__wrap .sns__wrap {
    gap: 8px;
  }
  .footer__link__wrap strong {
    font-size: var(--px16);
    display: block;
    margin-bottom: 7px;
    width: 100%;
  }
  .footer__link__wrap .footer__link__fx {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-align-items: flex-start;
    align-items: flex-start;
  }
  .footer__link__wrap ul li a {
    font-size: var(--px13);
    padding: 2.5px 0;
  }
  .footer__link__wrap .category__list {
    border-bottom: 1px solid #707070;
    position: relative;
    padding-bottom: 30px;
    margin-bottom: 18px;
  }
  .category__list ul {
    margin-right: 27px;
  }
  .category__list li {
    padding-left: 18px;
  }
  .category__list li:before {
    width: 9px;
  }
  .footer__link__fx:not(.category__list) ul:first-child {
    margin-right: 12%;
  }
  .copy__wrap .copy {
    font-size: var(--px12);
  }

}

@media (min-width: 768px) {

  footer {
    padding: 32px 0 15px;
  }
  .footer__fx {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    margin-bottom: 60px;
  }
  .footer__fx .footer__logo__wrap {
    margin-bottom: 24px;
  }
  .footer__logo__wrap .footer__logo__fx {
    margin-bottom: 24px;
  }
  .footer__logo__fx a {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-align-items: center;
    align-items: center;
  }
  .footer__logo__fx a strong {
    font-size: 30px;
    padding-right: 22px;
    margin-inline: 20px;
  }
  .footer__logo__fx a span {
    font-size: 14px;
  }
  .footer__logo__fx a strong,
  .footer__logo__fx a span {
    margin-top: 20px;
  }
  .footer__logo__wrap .sns__wrap {
    gap: 8px;
  }
  .footer__link__wrap {
    width: 610px;
  }
  .footer__link__wrap strong {
    font-size: 16px;
    display: block;
    margin-bottom: 7px;
    width: 100%;
  }
  .footer__fx .footer__link__wrap,
  .footer__link__wrap .footer__link__fx {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-align-items: flex-start;
    align-items: flex-start;
  }
  .footer__link__wrap ul li a {
    font-size: 13px;
    padding: 2.3px 0;
  }
  .footer__link__wrap .category__list {
    position: relative;
    padding-right: 6px;
  }
  .category__list:after {
    content: "";
    width: 1px;
    height: calc(100% + 24px);
    border-right: 1px solid #707070;
    position: absolute;
    top: auto;
    right: 0;
    bottom: 0;
  }
  .category__list ul {
    margin-right: 27px;
  }
  .category__list li {
    padding-left: 18px;
  }
  .category__list li:before {
    width: 9px;
  }
  .footer__link__fx:not(.category__list) ul:first-child {
    margin-inline: 32px 40px;
  }

  .copy__wrap .copy {
    font-size: 12px;
  }

}




/* -----------------------------------------------
more__btn
----------------------------------------------- */

.more__btn {}
.more__btn a {
  border: 1px solid #222;
  font-family: "Oswald", "Noto Sans JP", sans-serif;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1ch;
  position: relative;
}
.more__btn a span {}

@media (max-width: 767px) {

  .more__btn a {
    width: 200px;
    height: 60px;
    margin-inline: auto;
    transition: all .3s;
    font-size: var(--px18);
  }

}
@media (min-width: 768px) {

  .more__btn a {
    width: 200px;
    height: 60px;
    margin-inline: auto;
    transition: all .3s;
  }
  .more__btn a:hover {
    background: #000;
    color: #fff;
  }
  .more__btn a:hover::after {
    content: "";
    height: 1px;
    background-color:#06D8B8;
    position: absolute;
    top: 50%;
    right: 0px;
    translate: 0px -50%;
    width: 30px;
  }

}



/* -----------------------------------------------
head__fx
----------------------------------------------- */
.head__fx {
  display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-items: center;
	align-items: center;
}
.head__fx > * {
  line-height: 1;
  letter-spacing: .04em;
}
.head__fx span {
  font-family: "Oswald", sans-serif;
  font-weight: 400;
  margin-right: .8em;
}
.head__fx p {
  font-weight: normal;
}

@media (max-width: 767px) {

  .head__fx {
    -webkit-flex-direction: column;
    flex-direction: column;
    -webkit-align-items: flex-start;
    align-items: flex-start;
  }
  .head__fx span {
    font-size: var(--px36);
    margin-bottom: 16px;
  }
  .head__fx p {
    font-size: var(--px14);
  }

}

@media (min-width: 768px) {

  .head__fx span {
    font-size: 36px;
  }
  .head__fx p {
    font-size: 14px;
  }

}



/* -----------------------------------------------
search
----------------------------------------------- */
.section__search {
  position: relative;
  z-index: 2;
}
.search__head {
  display: none;
}
.section__search .search__window__wrap {
  background: #D5D5D5;
}
.search__window__wrap .search__form__wrap {
  position: relative;
}
.search__form__wrap form {
  width: 100%;
  height: 100%;
}
.search__form__wrap input {
  border: 0;
}
.search__form__wrap button {
  aspect-ratio: 1 / 1;
  background-image: url(../images/common/icon_search.svg);
  background-position: 50%;
  background-repeat: no-repeat;
  background-color: unset;
  border: 0;
  position: absolute;
  top: 50%;
  right: 0;
  width: auto;
  height: 100%;
  transform: translateY(-50%);
}

.section__search .search__menu__wrap {
  background: #F6F6F6;
}
.search__menu__list {}
.search__menu__list .search__menu__list__item {
  position: relative;
}
.search__menu__list__item > a.parent {
  border: 1px solid #222;
  background: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1ch;
  position: relative;
  /* pointer-events: none; */
}
a.parent i {
  aspect-ratio: 1 / 1;
  position: absolute;
  background: #222;
  border-radius: 50vh;
  height: auto;
}
a.parent i:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%) rotate(0deg);
  width: 0px;
  height: 0px;
  border-style: solid;
  border-color: #FFF transparent transparent transparent;
}


.menu__list__child__wrap {/* 1段目 */
  display: none;
  position: absolute;
  z-index: 1;
}
.menu__list__child__wrap:before {
  content: "";
  position: absolute;
  width: 100%;
  background: #fff;
}
.search__sub-menu__list__item {
  position: relative;
}
.search__sub-menu__list__item a {
  display: block;
  height: 100%;
}
.search__sub-menu__list__item a img {
  display: block;
  width: 100%;
  height: auto;
  margin-inline: auto;
}
.search__sub-menu__list__item a > span {
  font-weight: bold;
  display: block;
}
.search__sub-menu__list__item a > p {
  text-align: left;
}


.sub-menu__list__child__wrap {/* 2段目 */
  display: none;
  background: #F6F6F6;
  position: absolute;
  z-index: 1;
}
.sub-menu__list__child li a {
  display: block;
}
.sub-menu__list__child li a picture {
  aspect-ratio: 1 / 1;
  display: block;
  overflow: hidden;
  border-radius: 50vh;
}
.sub-menu__list__child li a span {
  display: block;
  text-align: center;
  position: relative;
  font-weight: normal;
}
.sub-menu__list__child li a span::before,
.sub-menu__list__child li a span::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: calc(50% - 0.5px);
  width: 1px;
  height: 10px;
  border-radius: 9999px;
  background-color: #222222;
  transform-origin: 50% calc(100% - 0.5px);
}
.sub-menu__list__child li a span::before {
  transform: rotate(45deg);
}
.sub-menu__list__child li a span::after {
  transform: rotate(-45deg);
}

@media (max-width: 767px) {

  #search__button.sp__only {
    display: none;
  }
  .section__search .search__window__wrap {
    padding: 15px 0;
  }
  .search__window__wrap .search__form__wrap {
    margin-inline: auto;
    width: 100%;
    height: 36px;
  }
  .search__form__wrap input {
    width: 100%;
    height: 100%;
    font-size: 16px;
    padding: 0 .5em;
  }
  .search__form__wrap input::placeholder {
    font-size: .625em;
  }
  .search__form__wrap button {
    background-size: 60%;
  }

  .search__menu__wrap {
    padding-bottom: 25px;
  }
  .search__menu__wrap .head__fx {
    -webkit-flex-direction: unset;
    flex-direction: unset;
    -webkit-align-items: center;
    align-items: center;
  }
  .search__menu__wrap .head__fx span {
    margin-bottom: 0;
  }
  .search__menu__wrap .search__menu__list {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-align-items: flex-start;
    align-items: flex-start;
  }
  .search__menu__list .search__menu__list__item {
    width: calc((100% - 15px) / 2);
    margin-bottom: 15px;
  }
  .search__menu__list__item > a.parent {
    font-size: var(--px14);
    height: 70px;
    padding-right: 30px;
    text-align: center;
  }  
  a.parent i {
    width: 20px;
    right: 10px;
  }
  a.parent i:after {
    border-width: 6px 5px 0 5px;
  }

  
  
  /* 1段目 */
  .menu__list__child__wrap {
    display: none;
    /* position: static; */
    position: absolute;
    padding-top: 0;
    width: calc((100% * 2) + 15px);
    top: calc((85px * 2) + 25px);
  }
  .search__menu__list__item.active .menu__list__child__wrap {
    display: block;
  }
  .menu__list__child__wrap {
    padding: 40px 0 0;
  }
  .menu__list__child__wrap:before {
    background: #fff;
    top: 0;
    left: -20px;
    width: 100vw;
    height: calc(100% + 30px);
  }
  .menu__list__child__wrap > * {
    position: relative;
  }
  .search__menu__list__item:nth-child(odd) .menu__list__child__wrap { /* odd */
    left: 0;
  }
  .search__menu__list__item:nth-child(even) .menu__list__child__wrap { /* even */
    right: 0;
  }

  .menu__list__child__wrap .head__fx {
    margin-bottom: 36px;
  }






  /* メガメニュー画像付きリンク */
  .menu__list__child__wrap ul.search__sub-menu__list {}
  .search__sub-menu__list .search__sub-menu__list__item {
    /* margin-bottom: 20px; */
    /* padding: 10px 0; */
  }
  .search__sub-menu__list__item > a {
    display: grid;
    grid-template-columns: 38.8% 56.7%;
    grid-template-rows: auto auto;
    gap: 0px 4.5%;
    grid-auto-flow: row;
    grid-template-areas:
      "picture head"
      "picture para";
    padding: 10px 0;
    position: relative;
  }
  .search__sub-menu__list__item > a > * {
    position: relative;
    z-index: 1;
  }
  .search__sub-menu__list__item > a img {
    grid-area: picture;
  }
  .search__sub-menu__list__item > a span i {
    aspect-ratio: 1 / 1;
    position: absolute;
    background: #222;
    border-radius: 50vh;
    height: auto;
    width: 14px;
    margin-left: .5em;
  }
  .search__sub-menu__list__item > a span i:after {
    content: "";
    border-width: 5px 4px 0 4px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%) rotate(0deg);
    width: 0px;
    height: 0px;
    border-style: solid;
    border-color: #FFF transparent transparent transparent;
  }
  .search__sub-menu__list__item.active > a {
    color: #fff;
  }
  .search__sub-menu__list__item.active > a:after {
    content: "";
    background: #06D8B8;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    height: 100%;
  }
  .search__sub-menu__list__item.active > a span i {
    background: #fff;
  }
  .search__sub-menu__list__item.active > a span i:after {
    transform: translate(-50%,-50%) rotate(180deg);
    border-color: #06D8B8 transparent transparent transparent;
  }


  .search__sub-menu__list__item > a span {
    grid-area: head;
    font-size: var(--px14);
    line-height: 1.125;
    margin-bottom: 8px;
  }
  .search__sub-menu__list__item > a > p {
    grid-area: para;
    font-size: var(--px12);
    line-height: 1.5;
  }



  .sub-menu__list__child__wrap {  /* 2段目 */
    display: none;
    /* position: static; */
    position: absolute;
    padding-top: 0;
    width: 100%;
    padding: 20px 0;
    left: 0;
    z-index: 2;
    background: none !important;
  }
  .search__sub-menu__list__item a {
    position: relative;
    z-index: 1;
    
  }
  .search__sub-menu__list__item.active .sub-menu__list__child__wrap {
    display: block;
  }
  .search__sub-menu__list__item.active .sub-menu__list__child__wrap:before {
    content: "";
    background: #F6F6F6;
    position: absolute;
    top: 0;
    left: -20px;
    width: 100vw;
    height: 100%;
  }

  .sub-menu__list__child__wrap .sub-menu__list__child {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-align-items: stretch;
    align-items: stretch;
    /* max-width: 1060px; */
  }
  .sub-menu__list__child li {
    width: calc(100% / 3);
    margin-bottom: 14px;
  }
  .sub-menu__list__child li a {
    display: block;
    padding: 0 14.3%;
  }
  .sub-menu__list__child li a picture {
    max-width: 120px;
    margin-inline: auto;
    margin-bottom: 2px;
  }
  .sub-menu__list__child li a span {
    padding-bottom: .84em;
    font-size: var(--px13);
    line-height: 1.38;
  }
  .sub-menu__list__child li a span::before,
  .sub-menu__list__child li a span::after {
    height: 8px;
  }


  /* メガメニューテキストリンク */
  .search__sub-menu__list__text {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-align-items: stretch;
    align-items: stretch;
    margin-inline: auto;
    margin-inline: auto;
  }
  .search__sub-menu__list__text .search__sub-menu__list__text__item {
    width: calc((100% - 15px) / 2);
    margin-bottom: 15px;
  }
  .search__sub-menu__list__text__item a {
    font-size: var(--px13);
    border: 1px solid #222;
    width: 100%;
    height: 70px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1ch;
    position: relative;
  }
  .search__sub-menu__list__text__item a::before,
  .search__sub-menu__list__text__item a::after {
    content: "";
    position: absolute;
    top: calc(50% - 0.5px);
    right: 1em;
    width: 8px;
    height: 1px;
    border-radius: 9999px;
    background-color: #222222;
    transform-origin: calc(100% - 0.5px) 50%;
  }
  .search__sub-menu__list__text__item a::before {
    transform: rotate(45deg);
  }  
  .search__sub-menu__list__text__item a::after {
    transform: rotate(-45deg);
  }

}

@media (min-width: 768px) {

  .section__search .search__window__wrap {
    padding: 18px 0;
  }
  .search__window__wrap .search__form__wrap {
    margin-inline: auto;
    max-width: 948px;
    height: 44px;
  }
  .search__form__wrap input {
    width: 100%;
    height: 100%;
    font-size: 16px;
    padding: 0 .5em;
  }
  .search__form__wrap input::placeholder {
    font-size: .625em;
  }
  .search__form__wrap button {
    background-size: 46%;
  }

  .search__menu__wrap {
    padding: 30px 0;
  }
  .search__menu__wrap .search__menu__list {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-align-items: flex-start;
    align-items: flex-start;
  }
  .search__menu__list .search__menu__list__item {
    width: calc((100% - 72px) / 4);
  }
  .search__menu__list__item > a.parent {
    height: 70px;
    padding-right: 35px;
  }  
  a.parent i {
    width: 20px;
    right: 15px;
  }
  a.parent i:after {
    border-width: 6px 5px 0 5px;
  }

  .menu__list__child__wrap { /* 1段目 */
    top: 100%;
    max-width: 1120px;
    padding: 66px 0 30px;
    width: calc((100% * 4) + 72px);
  }
  .menu__list__child__wrap:before {
    top: 30px;
    left: 0;
    width: 100%;
    height: calc(100% - 30px);
  }
  .menu__list__child__wrap > * {
    position: relative;
  }
  .search__menu__list__item:nth-child(4n - 3) .menu__list__child__wrap { /* 1・5・9 */
    left: 0;
  }
  .search__menu__list__item:nth-child(4n - 2) .menu__list__child__wrap { /* 2・6・10 */
    left: calc(-100% - 24px);
  }
  .search__menu__list__item:nth-child(4n - 1) .menu__list__child__wrap { /* 3・7・11 */
    left: calc(-200% - 48px);
  }
  .search__menu__list__item:nth-child(4n) .menu__list__child__wrap { /* 4・8・12 */
    left: calc(-300% - 72px);
  }
  .search__menu__list__item:hover .menu__list__child__wrap {
    display: block;
  }
  .menu__list__child__wrap .head__fx {
    margin-bottom: 36px;
  }


  /* メガメニュー画像付きリンク */
  .menu__list__child__wrap ul.search__sub-menu__list {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    /* -webkit-justify-content: flex-start;
    justify-content: flex-start; */
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-align-items: stretch;
    align-items: stretch;
    gap: 28px;
  }
  .search__sub-menu__list .search__sub-menu__list__item {
    margin-bottom: 30px;
    width: calc((100% - 84px) / 4);
  }
  .search__sub-menu__list__item > a {
    text-align: center;
    padding: 29px 0 4px;
    transition: all .3s;
  }
  /* .search__sub-menu__list__item:has(.sub-menu__list__child__wrap) > a {
    pointer-events: none;
  } */
  .search__sub-menu__list__item:hover > a {
    background: #06D8B8;
    color: #fff;
  }
  .search__sub-menu__list__item > a img {
    width: 80.769%;
    margin-bottom: 16px;
  }
  .search__sub-menu__list__item > a span {
    font-size: 16px;
    line-height: 1.125;
    margin-bottom: 15px;
  }
  .search__sub-menu__list__item > a > p {
    font-size: 14px;
    line-height: 1.428;
    width: 80.769%;
    margin-inline: auto;
  }


  .sub-menu__list__child__wrap {/* 2段目 */
    top: 100%;
    max-width: 1120px;
    padding: 30px 0;
    width: calc((100% * 4) + 84px);
  }
  .search__sub-menu__list__item:hover .sub-menu__list__child__wrap {
    display: block;
  }

  .search__sub-menu__list__item:nth-child(4n - 3) .sub-menu__list__child__wrap { /* 1・5・9 */
    left: 0;
  }
  .search__sub-menu__list__item:nth-child(4n - 2) .sub-menu__list__child__wrap { /* 2・6・10 */
    left: calc(-100% - 28px);
  }
  .search__sub-menu__list__item:nth-child(4n - 1) .sub-menu__list__child__wrap { /* 3・7・11 */
    left: calc(-200% - 56px);
  }
  .search__sub-menu__list__item:nth-child(4n) .sub-menu__list__child__wrap { /* 4・8・12 */
    left: calc(-300% - 84px);
  }
  .sub-menu__list__child__wrap .sub-menu__list__child {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-align-items: stretch;
    align-items: stretch;
    margin-inline: auto;
    max-width: 1060px;
  }
  .sub-menu__list__child li {
    max-width: 210px;
    width: 19.912%;
  }
  .sub-menu__list__child li a {
    display: block;
  }
  .sub-menu__list__child li a picture {
    max-width: 120px;
    margin-inline: auto;
    margin-bottom: 8px;
  }
  .sub-menu__list__child li a span {
    padding-bottom: .84em;
    font-size: 16px;
  }
  .sub-menu__list__child li a span::before,
  .sub-menu__list__child li a span::after {
    height: 10px;
  }


  /* メガメニューテキストリンク */
  .search__sub-menu__list__text {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-align-items: stretch;
    align-items: stretch;
    margin-inline: auto;
    max-width: 780px;
    margin-inline: auto;
    gap: 20px;
  }
  .search__sub-menu__list__text .search__sub-menu__list__text__item {
    max-width: 380px;
    width: 50%;
    height: 78px;
  }
  .search__sub-menu__list__text__item a {
    font-size: 14px;
    border: 1px solid #222;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1ch;
    transition: all .3s;
    position: relative;
  }
  .search__sub-menu__list__text__item a::before,
  .search__sub-menu__list__text__item a::after {
    content: "";
    position: absolute;
    top: calc(50% - 0.5px);
    right: 22px;
    width: 11px;
    height: 1px;
    border-radius: 9999px;
    background-color: #222222;
    transform-origin: calc(100% - 0.5px) 50%;
  }
  .search__sub-menu__list__text__item a::before {
    transform: rotate(45deg);
  }  
  .search__sub-menu__list__text__item a::after {
    transform: rotate(-45deg);
  }
  .search__sub-menu__list__text__item a:hover {
    opacity: .5;
    /* background: #06D8B8;
    color: #fff; */
  }

}

/* -----------------------------------------------
パンくずリスト
----------------------------------------------- */
.fs-c-breadcrumb {
  margin-inline: auto;
}
.fs-c-breadcrumb__list {
  display: flex;
  flex-wrap: wrap;
}
.fs-c-breadcrumb__listItem {
  margin-right: 0.5em;
}
.fs-c-breadcrumb__listItem + .fs-c-breadcrumb__listItem {
  padding-left: 1em;
  position: relative;
}
.fs-c-breadcrumb__listItem + .fs-c-breadcrumb__listItem::before {
  content: '';
  width: 5px;
  aspect-ratio: 1/1;
  border-top: 1px solid #333;
  border-right: 1px solid #333;
  position: absolute;
  top: 50%;
  left: 0;
  translate: 0 -50%;
  rotate: 45deg;
}

@media (max-width: 767px) {

  .fs-c-breadcrumb {
    padding: 12px 0;
    width: 89.33%;
  }
  .fs-c-breadcrumb__list {
    font-size: 11px;
  }
  .inner__wrap .fs-c-breadcrumb {
    width: 100%;
  }

}

@media (min-width: 768px) {

  .fs-c-breadcrumb {
    padding: 25px 20px;
    max-width: calc(1120px + 40px);
    width: 100%;
  }
  .fs-c-breadcrumb__list {
    font-size: 14px;
  }
  .inner__wrap .fs-c-breadcrumb {
    max-width: none;
    padding: 25px 0;
  }

}

/* -----------------------------------------------
商品マーク
----------------------------------------------- */
.fs-c-productMark__mark {
  background-color: #333;
  border-radius: 2px;
}

/* -----------------------------------------------
ai-recommend__list
----------------------------------------------- */
.ai-recommend__list .fs-p-heading--lv2 {
  display: none;
}
.ai-recommend__list .fr3-item__productPrice__price {
  font-family: "Oswald", sans-serif;
}
.ai-recommend__list .fr3-item__productPrice__price::before {
  content: '税込価格';
  display: block;
}
.ai-recommend__list .fr3-item__productPrice__addon {
  display: none;
}
.ai-recommend__list .fr3-item__productPrice__currencyMark {
  margin-right: 0.2em;
}

@media (max-width: 767px) {
  .ai-recommend__list .fr3-productListStatic__responsive_4 {
    grid-template-columns: repeat(2, 1fr);
    gap: 30px 6.15%;
    padding: 0;
    margin-bottom: 40px;
  }
  .ai-recommend__list.sp__scroll .fr3-productListStatic__responsive_4 {
    display: flex;
    gap: 30px 30px;
    overflow-x: auto;
  }
  .ai-recommend__list.sp__scroll .fr3-productListStatic__responsive_4 .fr3-item {
    width: 120px;
    min-width: 120px;
  }
  .ai-recommend__list .fr3-item__link {
    gap: 14px;
  }
  .ai-recommend__list .fr3-item__productName {
    font-size: 15px;
    line-height: 1.16;
  }
  .ai-recommend__list .fr3-item__productPrice {
    margin-top: 2px;
  }
  .ai-recommend__list .fr3-item__productPrice__price {
    font-size: 20px;
  }
  .ai-recommend__list .fr3-item__productPrice__price::before {
    font-size: 12px;
  }
}

@media (min-width: 768px) {
  .ai-recommend__list .fr3-productListStatic__responsive_4 {
    grid-template-columns: repeat(6, 1fr);
    gap: 60px 2.85%;
    padding: 0;
    margin-bottom: 40px;
  }
  .ai-recommend__list .fr3-item__productName {
    font-size: 14px;
  }
  .ai-recommend__list .fr3-item__productPrice {
    margin-top: 8px;
  }
  .ai-recommend__list .fr3-item__productPrice__price {
    font-size: 20px;
  }
  .ai-recommend__list .fr3-item__productPrice__price::before {
    font-size: 12px;
  }
}

/* -----------------------------------------------
商品一覧
----------------------------------------------- */
.no__slider .fs-c-productListCarousel__list__itemTrack {
  display: grid;
  align-items: flex-start;
}
.no__slider .fs-c-productListCarousel__ctrl {
  display: none;
}
.fs-c-productListItem {
  position: relative;
}
.fs-c-productListItem__viewMoreImageButton {
  display: none;
}
.fs-c-productListItem .fs-c-productName__copy {
  display: none;
}
.fs-c-productListItem .fs-c-button--addToCart--list,
.fs-c-productListItem .fs-c-button--viewProductDetail {
  display: none!important;
}
.fs-c-productListItem .fs-c-productListItem__productName {
  font-weight: normal;
}
.fs-c-productListItem .fs-c-price {
  justify-content: flex-start;
}
.fs-c-productListItem .fs-c-productPrice--selling {
  display: flex;
  align-items: flex-end;
}
.fs-c-productListItem:has(.fs-c-productPrice__main__joint) .fs-c-productPrice__main {
  display: flex;
  align-items: flex-end;
  flex-wrap: wrap;
  gap: 0 0.2em;
}
.fs-c-productListItem:has(.fs-c-productPrice__main__joint) .fs-c-productPrice__main__label {
  width: 100%;
}
.fs-c-productListItem .fs-c-productPrice__main__price {
  font-family: "Oswald", sans-serif;
}
.fs-c-productListItem .fs-c-productPrice--selling :is(.fs-c-productPrice__addon, .fs-c-productPrice__main__addon) {
  display: none;
}
.fs-c-productListItem:has(.fs-c-productPrice--listed) .fs-c-productPrice--selling :is(.fs-c-productPrice__main__price, .fs-c-productPrice__main__joint) {
  color: #C90000!important;
}
.fs-c-productListItem__prices:has(.fs-c-productPrice--listed) .fs-c-productPrice--selling .fs-c-productPrice__main__label {
  display: none;
}
.fs-c-productListItem .fs-c-productPrice--listed .fs-c-productPrice__main__price .fs-c-price__value {
  position: relative;
}
.fs-c-productListItem .fs-c-productPrice--listed .fs-c-productPrice__main__price .fs-c-price__value::before {
  content: '';
  background-color: #000;
  position: absolute;
  top: calc(50% - 1px);
  right: 0;
  translate: 0 -50%;
}
.fs-c-productListItem .fs-c-productPrice--listed .fs-c-productPrice__main__price .fs-c-price__value::after {
  content: '';
  background-color: #000;
  position: absolute;
  top: calc(50% + 3px);
  right: 0;
  translate: 0 -50%;
}
.fs-c-productListItem :is(.fs-c-button--addToWishList--icon, .fs-c-button--removeFromWishList--icon) {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  position: absolute;
  right: 0;
}
.fs-c-productListItem .review__info {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.fs-c-productListItem .review__info .fs-c-reviewStars::before {
  color: #F7CD46;
  font-size: 1.2em;
  line-height: 1.5;
}
.fs-c-productListItem .fs-c-reviewStars[data-ratingCount=""]::before {
  content: "\e91b\e91b\e91b\e91b\e91b";
}
.fs-c-productListItem .fs-c-reviewStars[data-ratingCount=""] + .review__average.fs-c-rating__value + .review__count.fs-c-aggregateRating__count {
  display: none;
}
.fs-c-productListItem .fs-c-button--viewProductDetail {
  display: none;
}

/* 任意商品、おすすめ商品パーツの並び替え用 */
.fs-c-productListCarousel__list__item {
  display: flex;
  flex-direction: column;
}
.fs-c-productListCarousel__list__item .fs-c-productMarks {
  order: 1;
}
.fs-c-productListCarousel__list__item .fs-c-productListItem__productName {
  order: 2;
}
.fs-c-productListCarousel__list__item .fs-c-productListItem__prices {
  order: 3;
}

@media (max-width: 767px) {
  .fs-c-productList__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 30px 4.76%;
  }
  .no__slider .fs-c-productListCarousel__list__itemTrack {
    grid-template-columns: repeat(2, 1fr);
    gap: 30px 7.76%;
    margin-bottom: 40px;
  }
  .sp__scroll .fs-c-productListCarousel__list__itemTrack {
    display: flex;
    gap: 30px 30px;
    overflow-x: auto;
  }
  .sp__scroll .fs-c-productListCarousel__list__itemTrack .fs-c-productListCarousel__list__item {
    width: 120px;
    min-width: 120px;
  }
  .fs-c-productListItem .fs-c-productListItem__imageContainer {
    margin-bottom: 12px;
  }
  .fs-c-productListItem .fs-c-productListItem__productName {
    font-size: 12px;
    line-height: 1.5;
    margin-bottom: 10px;
  }
  .fs-c-productListItem .fs-c-productMarks {
    margin-bottom: 5px;
  }
  .fs-c-productListItem .fs-c-productMark {
    gap: 6px;
  }
  .fs-c-productListItem .fs-c-productMark__mark {
    padding: 4px 9px;
    font-size: 11px;
  }
  .fs-c-productListItem .fs-c-productPrice--selling {
    padding-right: 25px;
    flex-wrap: wrap;
  }
  .fs-c-productListItem .fs-c-productPrice__main__label {
    font-size: 11px;
  }
  .fs-c-productListItem .fs-c-productPrice--selling .fs-c-productPrice__main__label {
    margin-bottom: 0;
  }
  .fs-c-productListItem .fs-c-productPrice__main__price {
    gap: 0 0.3em;
  }
  .fs-c-productListItem .fs-c-productPrice--listed .fs-c-productPrice__main__price {
    font-size: 11px;
  }
  .fs-c-productListItem .fs-c-productPrice--selling .fs-c-productPrice__main__price {
    font-size: 16px;
  }
  .fs-c-productListItem .fs-c-productPrice--listed .fs-c-productPrice__main__price .fs-c-price__value::before,
  .fs-c-productListItem .fs-c-productPrice--listed .fs-c-productPrice__main__price .fs-c-price__value::after {
    width: calc(100% + 0.7em);
    height: 1px;
  }
  .fs-c-productListItem :is(.fs-c-productPrice__addon, .fs-c-productPrice__main__addon, .fs-c-productPrice__main__joint) {
    margin-bottom: 0.4em;
    font-size: 11px;
  }
  .fs-c-productListItem :is(.fs-c-button--addToWishList--icon, .fs-c-button--removeFromWishList--icon) {
    width: 23px;
    bottom: 4px;
  }
  .fs-c-productListItem:has(.review__info) :is(.fs-c-button--addToWishList--icon, .fs-c-button--removeFromWishList--icon) {
    bottom: 32px;
  }
  .fs-c-productListItem .review__info {
    margin-top: 9px;
    font-size: 12px;
    gap: 0 18px;
  }
}

@media (min-width: 768px) {
  .fs-c-productList__list {
    grid-template-columns: repeat(5, 1fr);
    gap: 30px 4.28%;
  }
  .no__slider .fs-c-productListCarousel__list__itemTrack {
    grid-template-columns: repeat(6, 1fr);
    gap: 30px 2.68%;
    margin-bottom: 40px;
  }
  .fs-c-productListItem .fs-c-productListItem__imageContainer {
    margin-bottom: 22px;
  }
  .fs-c-productListItem .fs-c-productListItem__productName {
    font-size: 14px;
    line-height: 1.5;
    margin-bottom: 1px;
  }
  .fs-c-productListItem .fs-c-productMarks {
    margin-bottom: 9px;
  }
  .fs-c-productListItem .fs-c-productMark {
    gap: 6px;
  }
  .fs-c-productListItem .fs-c-productMark__mark {
    padding: 4px 9px;
    font-size: 11px;
  }
  .fs-c-productListItem .fs-c-productPrice--selling {
    padding-right: 30px;
    flex-wrap: wrap;
  }
  .fs-c-productListItem .fs-c-productPrice__main__label {
    font-size: 12px;
  }
  .fs-c-productListItem .fs-c-productPrice__main__price {
    gap: 0 0.3em;
  }
  .fs-c-productListItem .fs-c-productPrice--listed .fs-c-productPrice__main__price {
    font-size: 14px;
  }
  .fs-c-productListItem .fs-c-productPrice--selling .fs-c-productPrice__main__price {
    font-size: 20px;
  }
  .fs-c-productListItem .fs-c-productPrice--listed .fs-c-productPrice__main__price .fs-c-price__value::before,
  .fs-c-productListItem .fs-c-productPrice--listed .fs-c-productPrice__main__price .fs-c-price__value::after {
    width: calc(100% + 0.9em);
    height: 1px;
  }
  .fs-c-productListItem :is(.fs-c-productPrice__addon, .fs-c-productPrice__main__addon, .fs-c-productPrice__main__joint) {
    margin-bottom: 0.4em;
    font-size: 12px;
  }
  .fs-c-productListItem :is(.fs-c-button--addToWishList--icon, .fs-c-button--removeFromWishList--icon) {
    width: 28px;
    bottom: 5px;
  }
  .fs-c-productListItem:has(.review__info) :is(.fs-c-button--addToWishList--icon, .fs-c-button--removeFromWishList--icon) {
    bottom: 26px;
  }
  .fs-c-productListItem .review__info {
    margin-top: 4px;
    font-size: min(1.25vw, 14px);
    gap: 0 min(1.6vw, 18px);
  }
}

/* -----------------------------------------------
並び替え・ページャーエリア
----------------------------------------------- */
.sort__wrap .fs-c-pagination,
.pager__wrap .fs-c-sortItems,
.pager__wrap .fs-c-listControl__status  {
  display: none;
}

@media (max-width: 767px) {
  div.sort__wrap {
    margin-bottom: 25px;
  }
  .sort__select__box {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: row-reverse;
  }
  .sort__select__box__btn {
    display: flex;
    gap: 0 14px;
  }
  .sort__select__box__btn button {
    border: 1px solid #000000;
    background: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: normal;
    font-size: 12px;
    width: 164px;
    height: 34px;
    padding: 0 27px 0.1em;
    position: relative;
  }
  .sort__select__box__btn button::before {
    content: '';
    width: 17px;
    aspect-ratio: 1/1;
    position: absolute;
    top: 50%;
    left: 12px;
    translate: 0 -50%;
  }
  .sort__select__box__btn button.sort__select__open::before {
    background: url(../images/common/icon_sort.svg) center / contain no-repeat;
  }
  .sort__select__box__btn button.price__select__open::before {
    background: url(../images/common/icon_price.svg) center / contain no-repeat;
  }
  .sort__wrap .fs-c-listControl__status {
    font-size: 12px;
  }

  /* モーダル */
  .modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100svh;
    background: rgba(0, 0, 0, 0.5);
    display: none;
    z-index: 999;
  }
  .modal-close {
    position: absolute;
    top: 5px;
    right: 5px;
    background: transparent;
    border: none;
    font-size: 24px;
    cursor: pointer;
    color: #333;
  }
  .modal-close:hover {
    color: #000;
  }

  /* sort */
  .fs-c-sortItems {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #fff;
    padding: 23px 30px;
    display: none;
    z-index: 1000;
    width: 72%;
    max-width: 270px;
    min-height: 278px;
  }
  .sort__select__box .fs-c-sortItems__label {
    font-size: 15px;
    margin-bottom: 10px;
    text-align: center;
    display: block;
  }
  .sort__wrap .fs-c-sortItems__list li {
    border-bottom: 1px solid #CCCCCC;
  }
  .sort__wrap .fs-c-sortItems__list li.is-active {
    background: #f8f8f8;
  }
  .sort__wrap .fs-c-sortItems__list li > * {
    font-size: 14px;
    padding: 0.3em 18px;
    min-height: 50px;
    display: flex;
    align-items: center;
  }
}

@media (min-width: 768px) {
  .sort__select__box__btn {
    display: none;
  }
  .sort__wrap {
    margin-bottom: 37px;
  }
  .sort__wrap .fs-c-productList__controller {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    align-items: center;
    gap: 0 30px;
  }
  .sort__wrap .fs-c-productList__controller .fs-c-listControl {
    font-size: 14px;
  }
  .sort__wrap .fs-c-productList__controller .fs-c-sortItems {
    display: flex;
    font-size: 12px;
  }
  .sort__wrap .fs-c-productList__controller .fs-c-sortItems__label {
    width: 76px;
    height: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid #000000;
  }
  .sort__wrap .fs-c-productList__controller .fs-c-sortItems__list {
    display: flex;
    align-items: center;
  }
  .sort__wrap .fs-c-productList__controller .fs-c-sortItems__list__item {
    display: flex;
    align-items: center;
    height: 100%;
  }
  .sort__wrap .fs-c-productList__controller .fs-c-sortItems__list__item + .fs-c-sortItems__list__item {
    border-left: 1px solid #AAAAAA;
  }
  .sort__wrap .fs-c-productList__controller .fs-c-sortItems__list__item__label {
    padding: 0.5em 15px;
  }
  .modal-overlay,
  .modal-close {
    display: none;
  }
}

/* ページャー */
.pager__wrap .fs-c-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
}
.pager__wrap .fs-c-pagination__item {
  line-height: 1;
  aspect-ratio: 1 / 1;
  display: flex;
  justify-content: center;
  align-items: center;
  flex: initial;
  text-align: center;
  padding: 0;
}
.pager__wrap .fs-c-pagination__item[role="button"] {
  border: 1px solid #828282;
}
.pager__wrap .fs-c-pagination__item.is-active {
  background: #16D8B8;
  color: #fff;
}
.pager__wrap :is(.fs-c-pagination__item--prev, .fs-c-pagination__item--next) {
  position: relative;
  border: none!important;
}
.pager__wrap .fs-c-pagination__item--prev::before {
  content: '';
  height: auto;
  aspect-ratio: 1/1;
  border-top: 2px solid #16D8B8;
  border-left: 2px solid #16D8B8;
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  rotate: -45deg;
}
.pager__wrap .fs-c-pagination__item--next::before {
  content: '';
  height: auto;
  aspect-ratio: 1/1;
  border-top: 2px solid #16D8B8;
  border-right: 2px solid #16D8B8;
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  rotate: 45deg;
}
  
@media (max-width: 767px) {
  .pager__wrap .fs-c-productList__controller:has(.fs-c-pagination) {
    margin: 77px auto;
  }
  .pager__wrap .fs-c-pagination {
    height: 35px;
    gap: 8px;
  }
  .pager__wrap .fs-c-pagination__item {
    font-size: 18px;
    width: 35px;
  }
  .pager__wrap .fs-c-pagination__item--prev::before {
    width: 12px;
  }
  .pager__wrap .fs-c-pagination__item--next::before {
    width: 12px;
  }
}
  
@media (min-width: 768px) {
  .pager__wrap .fs-c-productList__controller:has(.fs-c-pagination) {
    margin: 86px auto 0;
  }
  .pager__wrap .fs-c-pagination {
    height: 40px;
    gap: 10px;
  }
  .pager__wrap .fs-c-pagination__item {
    font-size: 22px;
    width: 40px;
  }
  .pager__wrap .fs-c-pagination__item--prev::before {
    width: 14px;
  }
  .pager__wrap .fs-c-pagination__item--next::before {
    width: 14px;
  }
}





















/* -----------------------------------------------
フリーページ 見出し
----------------------------------------------- */
.head__inner {
  margin-inline: auto;
}
.head__bg-border .head__inner {}
.head__bg-border .head__inner > * {
  background: #6a1684;
  color: #fff;
  display: inline-block;
}

.title__wrap {
  position: relative;
  z-index: 1;
}
.title__wrap::before {
  content: '';
  width: 100vw;
  height: 100%;
  background-color: #E6F4F2;
  position: absolute;
  top: 0;
  left: 50%;
  translate: -50%;
  z-index: -1;
}
.title__wrap .inner__wrap {
  position: relative;
  height: 100%;
}
.title__wrap h1 {
  margin: 0!important;
  height: 100%;
  display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: row-reverse;
	flex-direction: row-reverse;
	-webkit-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-justify-content: flex-end;
	justify-content: flex-end;
	-webkit-align-items: center;
	align-items: center;
}
.title__wrap h1 strong {
  font-weight: normal;
}
.title__wrap h1 span {
  font-weight: 400;
  font-family: "Oswald", sans-serif;
  letter-spacing: .04em;
}
.title__wrap .sb {
  position: absolute;
  right: 0;
}

@media (max-width: 767px) {
  .head__bg-border {
    margin-bottom: 20px;
  }
  .head__bg-border .head__inner > * {
    font-size: 16px;
    margin-left: 15px;
    border-radius: 5px 5px 0 0;
    padding: 0.13em 0.5em;
  }
  .head__bg-border h3 span {
    font-size: .68em;
    padding-left: 1em;
  }
  
  .title__wrap {
    height: 130px;
    margin-bottom: 22px;
  }
  .title__wrap h1 {
    gap: 3px 0;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column-reverse;
    flex-direction: column-reverse;
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: flex-start;
    align-items: flex-start;
  }
  .title__wrap h1 strong {
    font-size: 20px;
  }
  .title__wrap h1 span {
    font-size: 11px;
    padding: 0 0 0.05em;
  }
  .title__wrap .sb {
    bottom: -25px;
    width: 59.25%;
    max-width: 198px;
  }
}

@media (min-width: 768px) {
  .head__inner {
    max-width: 1120px;
    width: calc(100% - 40px);
  }
  .head__bg-border .head__inner > * {
    font-size: 30px;
    border-radius: 8px 8px 0 0;
    height: 56px;
    line-height: 56px;
    padding-inline: 18px;
  }
  .head__bg-border .head__inner > * span {
    font-size: .6em;
    padding-left: 1em;
  }
  
  .title__wrap {
    height: 140px;
    margin-bottom: 60px;
  }
  .title__wrap h1 {
    gap: 6px 0;
  }
  .title__wrap h1 strong {
    font-size: 14px;
  }
  .title__wrap h1 span {
    font-size: 36px;
    padding: 0 0.28em 0.1em;
  }
  .title__wrap .sb {
    bottom: -14px;
    width: 35.62%;
  }
  .title__wrap .sb__02 {
    bottom: -49px;
    width: 22.32%;
  }
}


/* -----------------------------------------------
フリーページ
----------------------------------------------- */
body.fs-body-custom .search__menu__wrap {
  display: none!important;
}

.freepage__wrap .heading__01 {
  position: relative;
}
.freepage__wrap .heading__01::before {
  content: '';
  background-color: #333333;
  position: absolute;
  top: 50%;
  left: 0;
  translate: 0 -50%;
}
.freepage__wrap .heading__02 {
  border-bottom: 1px solid #333333;
}
.freepage__wrap .heading__03 {}
.freepage__wrap .heading__large {
  position: relative;
  text-align: center;
}
.freepage__wrap .heading__large::after {
  content: '';
  background: linear-gradient(to right,  #333333 0%,#333333 50%,#333333 50%,#06d8b8 50%,#06d8b8 50%,#06d8b8 100%);
  position: absolute;
  bottom: 0;
  left: 50%;
  translate: -50% 0;
}
.freepage__wrap .table__01 tr:first-child {
  border-top: 1px solid #CCCCCC;
}
.freepage__wrap .table__01 tr {
  border-bottom: 1px solid #CCCCCC;
}
.freepage__wrap .table__01 th {
  font-weight: normal;
  text-align: left;
  background-color: #F3F3F3;
}
.freepage__wrap ol li {
  font-family: "Oswald", sans-serif;
}
.freepage__wrap ul li {
  position: relative;
}
.freepage__wrap ul li::before {
  content: '';
  aspect-ratio: 1/1;
  background-color: #06D8B8;
  position: absolute;
  left: 0;
}
.freepage__wrap .bg__gray {}
.freepage__wrap .freepage__acc__wrap > div {
  background-color: #fff;
}
.freepage__wrap .freepage__acc__wrap dt {
  font-weight: 500;
  background: #F5F5F5;
}
.freepage__wrap .freepage__acc__wrap .active dt {
  background: #333333;
}
.freepage__wrap .freepage__acc__wrap .active dt button {
  color: #fff;
}
.freepage__wrap .freepage__acc__wrap dt button {
  border: none;
  background: none;
  padding: 0;
  margin: 0;
  display: block;
  width: 100%;
  text-align: left;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.freepage__wrap .freepage__acc__wrap dt button span {
  flex: 1;
}
.freepage__wrap .freepage__acc__wrap dt button i {
  aspect-ratio: 1/1;
  background-color: #333333;
  border-radius: 50%;
  position: relative;
}
.freepage__wrap .freepage__acc__wrap dt button i::before {
  content: '';
  background-color: #fff;
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
}
.freepage__wrap .freepage__acc__wrap .active dt button i::before {
  background-color: #333;
}
.freepage__wrap .freepage__acc__wrap dt button i::after {
  content: '';
  background-color: #fff;
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
}
.freepage__wrap .freepage__acc__wrap dd {
  display: none;
}
.freepage__wrap .freepage__acc__wrap.qa__wrap dt button span,
.freepage__wrap .freepage__acc__wrap.qa__wrap dd span {
  position: relative;
}
.freepage__wrap .freepage__acc__wrap.qa__wrap dd span {
  display: block;
}
.freepage__wrap .freepage__acc__wrap.qa__wrap dt button span::before {
  content: 'Q';
  aspect-ratio: 1/1;
  color: #333333;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  left: 0;
  font-family: "Oswald", sans-serif;
  font-weight: 400;
}
.freepage__wrap .freepage__acc__wrap.qa__wrap .active dt button span::before {
  color: #fff;
}

.freepage__wrap .freepage__acc__wrap.qa__wrap dd span::before {
  content: 'A';
  aspect-ratio: 1/1;
  color: #333333;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  left: 0;
  font-family: "Oswald", sans-serif;
  font-weight: 400;
}

/* アコーディオン */
.freepage__wrap .freepage__acc__wrap .active dt button i {
  background-color: #fff;
}
.freepage__wrap .freepage__acc__wrap .active dt button i::after {
  content: none;
}
.freepage__wrap .freepage__acc__wrap .active dd {
  display: block;
}

@media (max-width: 767px) {
  .freepage__wrap .mb__30 {
    margin-bottom: 25px;
  }
  .freepage__wrap .mb__60 {
    margin-bottom: 45px;
  }
  .freepage__wrap .mb__90 {
    margin-bottom: 60px;
  }
  .freepage__wrap .mb__120 {
    margin-bottom: 70px;
  }
  .freepage__wrap .heading__01 {
    font-size: 14px;
    padding: 0.3em 10px;
    margin-bottom: 16px;
  }
  .freepage__wrap .heading__01::before {
    width: 3px;
    height: 1.5em;
  }
  .freepage__wrap .heading__02 {
    font-size: 14px;
    margin-bottom: 15px;
  }
  .freepage__wrap .heading__02::before {
    width: 3px;
    height: 1.5em;
  }
  .freepage__wrap .heading__03 {
    font-size: 13px;
    margin-bottom: 16px;
  }
  .freepage__wrap .heading__04 {
    font-size: 13px;
    margin-bottom: 15px;
  }
  .freepage__wrap .heading__large {
    font-size: 18px;
    padding-bottom: 0.5em;
    margin-bottom: 31px;
  }
  .freepage__wrap .heading__large::after {
    width: 22px;
    height: 1px;
  }
  .freepage__wrap p {
    font-size: 13px;
    line-height: 1.77;
  }
  .freepage__wrap .table__01,
  .freepage__wrap .table__01 tbody,
  .freepage__wrap .table__01 tr,
  .freepage__wrap .table__01 th,
  .freepage__wrap .table__01 td {
    display: block;
  }
  .freepage__wrap .table__01 th {
    font-size: 13px;
    padding: 0.6em 1.15em;
  }
  .freepage__wrap .table__01 td {
    font-size: 13px;
    padding: 0.6em 1.15em 2.8em;
  }
  .freepage__wrap ul li {
    padding-left: 13px;
  }
  .freepage__wrap ul li + li {
    margin-top: 15px;
  }
  .freepage__wrap ul li::before {
    width: .5em;
    top: 0.5em;
  }
  .freepage__wrap ol li + li {
    margin-top: 15px;
  }
  .freepage__wrap .bg__gray {}
  .freepage__wrap .bg__gray [class^="heading__"] {
    padding-left: 5px;
  }
  .freepage__wrap .freepage__acc__wrap > div {
    border-radius: 5px;
  }
  .freepage__wrap .freepage__acc__wrap > div + div {
    margin-top: 5px;
  }
  .freepage__wrap .freepage__acc__wrap dt {
    font-size: 13px;
  }
  .freepage__wrap .freepage__acc__wrap dt button {
    padding: 16px 15px;
    gap: 0 1em;
  }
  .freepage__wrap .freepage__acc__wrap dt button i {
    width: 24px;
  }
  .freepage__wrap .freepage__acc__wrap dt button i::before {
    width: 13px;
    height: 1px;
  }
  .freepage__wrap .freepage__acc__wrap dt button i::after {
    width: 1px;
    height: 13px;
  }
  .freepage__wrap .freepage__acc__wrap dd {
    font-size: 13px;
    line-height: 1.77;
    padding: 11px 0 15px;
    margin-inline: 15px;
  }
  .freepage__wrap .freepage__acc__wrap.qa__wrap dt button span,
  .freepage__wrap .freepage__acc__wrap.qa__wrap dd span {
    padding-left: 40px;
  }
  .freepage__wrap .freepage__acc__wrap.qa__wrap dt button span::before {
    width: 30px;
    top: -7px;
    padding-bottom: 0.3em;
    font-size: 20px;
  }
  .freepage__wrap .freepage__acc__wrap.qa__wrap dd span::before {
    width: 30px;
    top: -7px;
    padding-bottom: 0.3em;
    font-size: 20px;
  }
}

@media (min-width: 768px) {
  .freepage__wrap .mb__30 {
    margin-bottom: 30px;
  }
  .freepage__wrap .mb__60 {
    margin-bottom: 60px;
  }
  .freepage__wrap .mb__90 {
    margin-bottom: 90px;
  }
  .freepage__wrap .mb__120 {
    margin-bottom: 120px;
  }
  .freepage__wrap .heading__01 {
    font-size: 24px;
    padding: 0.6em 0.95em;
    margin-bottom: 30px;
  }
  .freepage__wrap .heading__01::before {
    width: 6px;
    height: 2.09em;
  }
  .freepage__wrap .heading__02 {
    font-size: 22px;
    padding-bottom: 10px;
    margin-bottom: 16px;
  }
  .freepage__wrap .heading__02::before {
    width: 6px;
    height: 1.5em;
  }
  .freepage__wrap .heading__03 {
    font-size: 18px;
    margin-bottom: 30px;
  }
  .freepage__wrap .heading__04 {
    font-size: 20px;
    margin-bottom: 20px;
  }
  .freepage__wrap .heading__large {
    font-size: 32px;
    padding-bottom: 0.4em;
    margin-bottom: 40px;
  }
  .freepage__wrap .heading__large::after {
    width: 44px;
    height: 3px;
  }
  .freepage__wrap p {
    font-size: 14px;
    line-height: 2.428;
  }
  .freepage__wrap .table__01 {
    width: 892px;
    max-width: 100%;
  }
  .freepage__wrap .table__01 th {
    width: 220px;
    font-size: 16px;
    padding: 1.1em 1em 1.1em 2.37em;
  }
  .freepage__wrap .table__01 td {
    font-size: 16px;
    padding: 1.1em 0 1.1em 2.37em;
  }
  .freepage__wrap ul li {
    padding-left: 21px;
  }
  .freepage__wrap ul li + li {
    margin-top: 10px;
  }
  .freepage__wrap ul li::before {
    width: .5em;
    top: 0.5em;
  }
  .freepage__wrap ol li + li {
    margin-top: 10px;
  }
  .freepage__wrap .bg__gray {}
  .freepage__wrap .bg__gray [class^="heading__"] {
    padding-left: 15px;
  }
  .freepage__wrap .freepage__acc__wrap > div {
    border-radius: 10px;
  }
  .freepage__wrap .freepage__acc__wrap > div + div {
    margin-top: 10px;
  }
  .freepage__wrap .freepage__acc__wrap dt {
    font-size: 16px;
  }
  .freepage__wrap .freepage__acc__wrap dt button {
    padding: 18px 30px;
    gap: 0 1em;
  }
  .freepage__wrap .freepage__acc__wrap dt button i {
    width: 36px;
  }
  .freepage__wrap .freepage__acc__wrap dt button i::before {
    width: 18px;
    height: 1px;
  }
  .freepage__wrap .freepage__acc__wrap dt button i::after {
    width: 1px;
    height: 18px;
  }
  .freepage__wrap .freepage__acc__wrap dd {
    font-size: 16px;
    line-height: 1.75;
    padding: 20px 30px 34px;
    border: 1px solid #333;
  }
  .freepage__wrap .freepage__acc__wrap.qa__wrap dt button span,
  .freepage__wrap .freepage__acc__wrap.qa__wrap dd span {
    padding-left: 56px;
  }
  .freepage__wrap .freepage__acc__wrap.qa__wrap dt button span::before {
    width: 44px;
    top: -14px;
    font-size: 32px;
  }
  .freepage__wrap .freepage__acc__wrap.qa__wrap dd span::before {
    width: 44px;
    top: -10px;
    padding-bottom: 0.3em;
    font-size: 32px;
  }
}

@media (any-hover: hover) {
  .freepage__wrap .freepage__acc__wrap dt button:hover {
      opacity: 1;
  }
}
