@charset "UTF-8";
/* productPages */
/* mv 
--------------------------------------------------*/
.productPages .mv {
  background-image: url("/shigaisen/images/productPages/mv-bg-kazari.png"), url("/shigaisen/images/productPages/mv-bg.png"), linear-gradient(to bottom, var(--color-main) calc(100% - 10px), var(--color-blue-light) 10px);
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-position: top -69px right 29px, center bottom, center bottom;
  background-size: 561px auto, 100% auto, 100% 100%;
  position: relative;
  display: grid;
  align-content: flex-end;
}
.productPages .mv.-pink {
  background-image: url("/shigaisen/images/productPages/mv-bg-kazari-pink.png"), url("/shigaisen/images/productPages/mv-bg.png"), linear-gradient(to bottom, var(--color-main) calc(100% - 10px), var(--color-blue-light) 10px);
}

.productPages .mv .mv__inner {
  padding-top: 80px;
  position: relative;
  z-index: 2;
  height: 100%;
  min-height: 900px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.productPages .mv__imgWrap {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}

.productPages .mv__img {
  width: auto; /* 個別で指定 */
}

.productPages .mv__img img {
  width: 100%;
}

.productPages .mv__img {
  width: auto; /* 個別で指定 */
}

.productPages .mv__img img {
  width: 100%;
}

.productPages .mv__pop {
  position: absolute;
  width: auto; /* 個別で指定 */
  top: 0;
  left: 0; /* 個別で指定 */
  z-index: -1;
}

.productPages .mv__pop img {
  width: 100%;
}

.productPages .mv__ldk {
  position: absolute;
  width: auto; /* 個別で指定 */
  bottom: 0;
  right: 0; /* 個別で指定 */
}

.productPages .mv__ldk img {
  width: 100%;
}

.productPages .mv__balloon {
  position: absolute;
  width: 180px;
  top: 0;
  right: 0; /* 個別で指定 */
}

/* pageTitle */
.pageTitle {
  color: #fff;
  font-family: var(--font-kinuta);
  line-height: 1.1;
  display: flex;
  flex-flow: column;
  gap: 14px;
  text-align: center;
}

.pageTitle sub {
  font-size: 0.55em;
}

.pageTitle__brand {
  font-size: 35px;
}

.pageTitle__label {
  font-size: 52px;
}

.for-SP .pageTitle__label {
  font-weight: bold;
}

.pageTitle__note {
  font-family: var(--font-marugo);
  font-size: 21px;
  font-weight: bold;
}

.pageTitle__catch {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 20px;
}

.pageTitle__catch__item {
  font-size: 21px;
  position: relative;
  color: #fff;
  font-family: var(--font-marugo);
  font-weight: bold;
  border-top: #fff solid 1px;
  border-bottom: #fff solid 1px;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: 20px;
  text-align: center;
  padding: 7px;
  min-width: 185px;
}

.pageTitle__catch__item::before, .pageTitle__catch__item::after {
  content: "";
  display: block;
  width: 20px;
  height: calc(100% + 2px); /* ボーダー分追加 */
  background-color: white;
  position: absolute;
  top: 0;
  bottom: 0;
  margin-block: auto;
  clip-path: polygon(0 0, 100% 50%, 0 100%, 0 calc(100% - 1.414px), calc(100% - 1.414px) 50%, 0 1.414px);
}

.pageTitle__catch__item::before {
  transform: rotateY(180deg);
  left: -20px;
}

.pageTitle__catch__item::before, .pageTitle__catch__item::after {
  right: -20px;
}

.pageTitle__aside__note {
  font-family: var(--font-marugo);
  font-size: 21px;
  font-weight: bold;
}

.for-PC .pageTitle__aside__note {
  font-size: 18px;
}

/* productInfo
--------------------------------------------------*/
.productInfo {
  background-color: var(--color-blue-light);
  padding-block-start: 30px;
  padding-block-end: 50px;
  padding-inline: 40px;
  display: grid;
  row-gap: 30px;
}
.productInfo__free {
  display: grid;
  place-content: center;
}
.productInfo__heading {
  display: grid;
  row-gap: 10px;
}
.productInfo__title {
  color: var(--color-accent);
  font-size: 40px;
  font-weight: normal;
  line-height: 1;
  text-align: center;
}
.productInfo__subtitle {
  color: var(--color-accent);
  font-size: 30px;
  line-height: 1;
  text-align: center;
}

.for-PC .productInfo__free img {
  max-width: 450px;
}

/* outline
--------------------------------------------------*/
.productPages .outline {
  background-color: var(--color-blue-light);
  background-image: url("/shigaisen/images/productPages/partition-wave.svg");
  background-repeat: no-repeat;
  background-size: 1000px auto;
  background-position: left bottom -60px;
}
.productPages .outline__inner {
  padding-bottom: 70px;
  display: grid;
  row-gap: 30px;
}
.productPages .outline__thumbWrap {
  position: relative;
}
.productPages .outline__person {
  position: absolute;
  bottom: 0;
  right: 0;
}
.productPages .outline__person img {
  width: 100%;
}
.productPages .outline__body {
  padding-inline: 40px;
}
.productPages .outline__text {
  display: grid;
  row-gap: 20px;
}
.productPages .outline__catch {
  display: grid;
  place-content: center;
  min-height: 72px;
}
.productPages .outline__catch__text {
  font-family: var(--font-kinuta);
  color: var(--color-accent);
  line-height: 1.2;
  text-align: center;
  position: relative;
  z-index: 2;
  font-size: 40px;
}
.productPages .outline__catch__text .small {
  font-size: 32px;
}
.productPages .outline__catch__text::before {
  content: "";
  display: block;
  position: absolute;
  bottom: -5px;
  left: -25px;
  width: 24px;
  height: auto;
  aspect-ratio: 24/42;
  background-image: url("/shigaisen/images/productPages/outline-catch-left.svg");
  background-size: contain;
  background-repeat: no-repeat;
  z-index: -1;
}
.productPages .outline__catch__text::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  right: -25px;
  margin-block: auto;
  width: 23px;
  height: auto;
  aspect-ratio: 23/66;
  background-image: url("/shigaisen/images/productPages/outline-catch-right.svg");
  background-size: contain;
  background-repeat: no-repeat;
  z-index: -1;
}
.productPages.for-SP .outline__catch__text {
  font-weight: 300;
}

/* cart
--------------------------------------------------*/
.productPages .cart {
  background-color: #fff;
}

.productPages .cart__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-block: 52px;
}

/* famのみ余白を狭める */
.productPages.fam .cart__inner {
  padding-bottom: 0;
}

.for-SP.productPages .cart__inner {
  display: block;
}

.productPages .cart__image {
  width: 49%;
  background-size: cover;
  background-repeat: no-repeat;
  aspect-ratio: 327/253;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}

.for-SP.productPages .cart__image {
  width: 100%;
  margin-bottom: 35px;
}

.productPages .cart__image img {
  height: 100%;
  width: auto;
}

.productPages .cart__ldk {
  width: 88px;
  position: absolute;
  bottom: 3px;
  right: 7px;
}

.productPages .cart__ldk img {
  width: 100%;
  height: auto;
}

.for-SP.productPages .cart__ldk {
  width: 153px;
}

.productPages .cart__box {
  width: 49%;
  position: relative;
  padding: 25px 15px;
  background-color: #fff;
  border: 4px dotted #3fbde0;
  border-radius: 15px;
}

.productPages .cart__box #cart-wrap #CommonCage {
  width: 100% !important;
  padding: 0 !important;
  border: 0 !important;
}

.productPages .cart__box .commonCageSmt {
  background-color: transparent !important;
  margin: 0 !important;
  padding: 0 !important;
}

.for-SP.productPages .cart__box {
  width: 100%;
  padding: 55px 30px;
  position: relative;
  padding: 25px 15px;
  background-color: #fff;
  border: 4px dotted #3fbde0;
  border-radius: 15px;
}

.for-SP.productPages .cart__box #cart-wrap #CommonCage {
  width: 100% !important;
  padding: 0 !important;
  border: 0 !important;
}

.for-SP.productPages .cart__box .commonCageSmt {
  background-color: transparent !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* famとmineで色を出しわけ */
/* Fam */
.productPages.fam .cart__image {
  background-image: url("/shigaisen/images/common/cart-bg-green.png");
}

/* Mine */
.productPages.mine .cart__image {
  background-image: url("/shigaisen/images/common/cart-bg-pink.png");
}

.productPages.mine .cart__image.-yellow, .productPages.fam .cart__image.-yellow {
  background-image: url("/shigaisen/images/common/cart-bg-yellow.png");
}

/* feature
--------------------------------------------------*/
.productPages .feature {
  background-color: #fff;
  padding-block-start: 40px;
}
.productPages .feature__inner {
  display: grid;
  row-gap: 40px;
  padding-inline: 40px;
}
.productPages .feature__thumb img {
  width: 100%;
}
.productPages .feature .featureTag__list {
  display: flex;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
}
.productPages .feature .featureTag__item {
  width: calc(50% - 8px);
  line-height: 1.8;
  font-weight: bold;
  text-align: center;
  background-color: #fff;
  border-radius: 5px;
  padding: 5px;
}
.productPages .feature .featureTag__item.-wide {
  width: 100%;
}
.productPages .feature__list {
  display: flex;
  flex-flow: column;
  gap: 17px;
}
.productPages .feature__item {
  padding-left: 1em;
  position: relative;
}
.productPages .feature__item::before {
  content: "";
  display: block;
  width: 0.7em;
  height: 0.7em;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 0.5em;
}

.productPages.for-PC .feature__thumb {
  max-width: 500px;
  margin-inline: auto;
}

/* famとmineで色を出しわけ */
/* Fam */
.productPages.fam .featureTag__item {
  color: var(--color-fam-text);
  border: 1px solid var(--color-fam);
}

.productPages.fam .feature__item::before {
  background-color: var(--color-fam-text);
}

/* Mine */
.productPages.mine .featureTag__item {
  color: var(--color-mine-text);
  border: 1px solid var(--color-mine);
}

.productPages.mine .feature__item::before {
  background-color: var(--color-mine-text);
}

/* productSection
--------------------------------------------------*/
.productPages .productSection {
  position: relative;
  margin-top: 100px;
}
.productPages .productSection::before {
  content: "";
  width: calc(100% - 20px);
  height: auto;
  aspect-ratio: 645/132;
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  left: 50%;
  top: -53px;
  transform: translateX(-50%);
}
.productPages .productSection__inner {
  padding-block: 40px;
  display: grid;
  row-gap: 40px;
}
.productPages .productSection__title {
  font-family: var(--font-marugo);
  font-weight: normal;
  text-align: center;
}
.productPages .productSection__subtitle {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  font-weight: normal;
  margin-inline: auto;
  margin-top: 17px;
  font-family: var(--font-marugo);
  text-align: center;
  padding-block: 7px;
  padding-inline: 35px;
}
.productPages .productSection__thumb img {
  width: 100%;
}
.productPages .productSection__contents {
  padding-inline: 40px;
  display: flex;
  flex-flow: column;
  gap: 30px;
}
.productPages .productSection__heading {
  font-family: var(--font-marugo);
  font-weight: normal;
  margin-bottom: 17px;
  width: 387px;
  margin-inline: auto;
  line-height: 1.8;
  padding-block: 7;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #fff;
  border-radius: 100px;
}
.productPages .productSection__text.-center {
  text-align: center;
}
.productPages .productSection__image {
  width: 450px;
  margin-inline: auto;
}
.productPages .productSection__image img {
  width: 100%;
}
.productPages .productSection__list {
  display: flex;
  flex-flow: column;
  gap: 17px;
  margin-top: 35px;
}
.productPages .productSection__item {
  padding-left: 1em;
  position: relative;
}
.productPages .productSection__item::before {
  content: "";
  display: block;
  width: 0.7em;
  height: 0.7em;
  background-color: #F18700;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 0.5em;
}
.productPages .productSection__media {
  display: flex;
  flex-flow: row;
  gap: 17px;
  justify-content: start;
  align-items: center;
}
.productPages .productSection__media__image {
  width: 229px;
}

/* famとmineで色を出しわけ */
/* Fam */
.productPages.fam .productSection {
  background-color: var(--color-fam-base);
}

.productPages.fam .productSection::before {
  background-image: url("/shigaisen/images/productPages/productSection-bg-fam.svg");
}

.productPages.fam .productSection__title {
  color: var(--color-fam-text);
}

.productPages.fam .productSection__subtitle {
  color: var(--color-fam-text);
  border: 1px solid var(--color-fam-text);
}

.productPages.fam .productSection__heading {
  color: var(--color-fam-text);
}

/* Mine */
.productPages.mine .productSection {
  background-color: var(--color-mine-base);
}

.productPages.mine .productSection::before {
  background-image: url("/shigaisen/images/productPages/productSection-bg-mine.svg");
}

.productPages.mine .productSection__title {
  color: var(--color-mine-text);
}

.productPages.mine .productSection__subtitle {
  color: var(--color-mine-text);
  border: 1px solid var(--color-mine-text);
}

.productPages.mine .productSection__heading {
  color: var(--color-mine-text);
}

/* howto
--------------------------------------------------*/
.productPages .howto {
  background-color: #fff;
  padding-block: 100px;
}
.productPages .howto__inner {
  padding-inline: 40px;
  display: grid;
  row-gap: 32px;
}
.productPages .howto__title {
  display: flex;
  align-items: center;
}
.productPages .howto__title__label {
  font-size: 36px;
  font-weight: 500;
  line-height: 1;
  flex-shrink: 0;
}
.productPages .howto__title::after {
  content: "";
  width: 100%;
  height: 4px;
  margin-left: 8px;
}
.productPages .howto__media {
  max-width: 100%;
  width: 100%;
  margin-top: 50px;
  text-align: center;
  aspect-ratio: 16/9;
  margin-inline: auto;
}
.productPages .howto__media iframe {
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.productPages .howto__list {
  display: flex;
  flex-flow: column;
  gap: 17px;
  margin-top: 35px;
}
.productPages .howto__item {
  padding-left: 1em;
  position: relative;
}
.productPages .howto__item::before {
  content: "";
  display: block;
  width: 0.7em;
  height: 0.7em;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 0.5em;
}
.productPages .howto__image {
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  margin-top: 52px;
}
.productPages .howto__button {
  color: #fff;
  min-width: 290px;
  margin-inline: auto;
  padding-block: 20px;
  font-size: 27px;
  line-height: 1;
}

/* famとmineで色を出しわけ */
/* Fam */
.productPages.fam .howto__title__label {
  color: var(--color-fam);
}

.productPages.fam .howto__title::after {
  border-top: 1px solid var(--color-fam);
  border-bottom: 1px solid var(--color-fam);
}

.productPages.fam .howto__item em {
  color: var(--color-fam-text);
  font-weight: normal;
}

.productPages.fam .howto__item::before {
  background-color: var(--color-fam-text);
}

/* Mine */
.productPages.mine .howto__title__label {
  color: var(--color-mine-text);
}

.productPages.mine .howto__title::after {
  border-top: 1px solid var(--color-mine-text);
  border-bottom: 1px solid var(--color-mine-text);
}

.productPages.mine .howto__item em {
  color: var(--color-mine-text);
  font-weight: normal;
}

.productPages.mine .howto__item::before {
  background-color: var(--color-mine-text);
}

.review-letro {
  background-color: #3fbde0;
  padding-block: 20px;
  padding-inline: 20px;
}

/* product-slider
--------------------------------------------------*/
.product-slider {
  background-color: #fff;
}

.productPages .product-slider__title {
  color: var(--color-accent);
  margin-bottom: 18px;
}

.productPages .product-slider__title .pink {
  color: var(--color-mine-text);
}

.productPages .product-slider .MproductList {
  min-height: 590px;
  overflow: hidden;
  position: relative;
  z-index: 0;
  padding: 0;
}

.productPages .MproductList .MproductList__wrapper {
  width: 100%;
  height: 100%;
  display: flex;
}

.productPages .MproductList .MproductList__item {
  width: 398px;
  display: flex;
  padding: 0;
  flex-shrink: 0;
  margin-inline: 15px;
  text-align: center;
}

.for-SP.productPages .MproductList .MproductList__item {
  width: 490px;
}

.productPages .MproductList .MproductList__item a {
  width: 100%;
  display: block;
  text-decoration: none;
}
@media (hover: hover) and (pointer: fine) {
  .productPages .MproductList .MproductList__item a[href] > * {
    position: relative;
  }
  .productPages .MproductList .MproductList__item a[href] > *::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.2);
    opacity: 0;
    transition: opacity 0.3s;
    pointer-events: none;
    z-index: 10;
    border-radius: inherit;
  }
  .productPages .MproductList .MproductList__item a[href]:hover {
    opacity: 1;
  }
  .productPages .MproductList .MproductList__item a[href]:hover > *::before {
    opacity: 1;
  }
}
.productPages .MproductList .MproductList__item a:hover {
  opacity: 1;
}
.productPages .MproductList .MproductList__item a:hover > *::before {
  opacity: 1;
}

.productPages .MproductList .MproductList__item .MproductList__text {
  font-family: var(--font-kakugo);
  font-weight: bold;
  width: 100%;
  padding-block: 20px;
  line-height: 1.5;
  color: #fff;
  position: relative;
  border-radius: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.for-SP.productPages .MproductList .MproductList__item .MproductList__text {
  padding-block: 60px;
}

.productPages .MproductList .MproductList__item .MproductList__text::after {
  content: "";
  width: 23px;
  height: 15px;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  position: absolute;
  bottom: -14px;
  left: 0;
  right: 0;
  margin-inline: auto;
}

.productPages .MproductList .MproductList__item .MproductList__text__inner {
  font-size: 24px;
}

.for-SP.productPages .MproductList .MproductList__item .MproductList__text__inner {
  font-size: 30px;
}

.productPages .MproductList .MproductList__item .MproductList__image {
  width: calc(100% - 50px);
  margin-inline: auto;
  aspect-ratio: 1/1;
  background: #fff;
  border-radius: 10px;
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  padding: 35px;
  margin-top: 30px;
  position: relative;
}

.productPages .MproductList .MproductList__item .MproductList__spf {
  font-size: 22px;
  font-weight: bold;
  color: var(--color-accent);
  text-align: center;
  margin-block-start: 20px;
}

.for-SP.productPages .MproductList .MproductList__item .MproductList__spf {
  font-size: 27px;
}

.productPages .MproductList .MproductList__item .MproductList__ldk {
  width: 110px;
  position: absolute;
  bottom: 89px;
  right: 21px;
}

.for-SP.productPages .MproductList .MproductList__item .MproductList__ldk {
  width: 123px;
  bottom: 83px;
  right: 21px;
}

.productPages .MproductList .MproductList__item .MproductList__title {
  width: calc(100% - 50px);
  margin-inline: auto;
  line-height: 1.5;
  font-weight: normal;
  margin-top: 30px;
  color: #fff;
  background-color: var(--color-accent);
  padding-block: 10px;
  padding-inline: 50px;
  border-radius: 1000px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  font-size: 22px;
}
.productPages .MproductList .MproductList__item .MproductList__title .small {
  font-size: 16px;
}

.for-SP.productPages .MproductList .MproductList__item .MproductList__title {
  font-size: 30px;
}
.for-SP.productPages .MproductList .MproductList__item .MproductList__title .small {
  font-size: 19px;
}

.productPages .MproductList .MproductList__item .MproductList__icon {
  content: "";
  width: 20px;
  height: 20px;
  background-color: #fff;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  bottom: 0;
  top: 0;
  right: 20px;
  margin-block: auto;
}

.productPages .MproductList .MproductList__item .MproductList__icon::after {
  content: "";
  width: 7px;
  height: 7px;
  border-top: 2px solid var(--color-accent);
  border-right: 2px solid var(--color-accent);
  transform: rotate(45deg);
  margin-right: 3.5px;
}

.productPages .MproductList .MproductList__item .MproductList__remark {
  line-height: 1.5;
  margin-top: 10px;
  font-size: 17px;
}

.productPages .MproductList .arrow-left, .productPages .MproductList .arrow-right {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  cursor: pointer;
}

.productPages .MproductList .arrow-left {
  left: 0;
}

.productPages .MproductList .arrow-right {
  right: 0;
}

/* famとmineで色を出しわけ */
/* Fam */
.productPages .MproductList.-fam .MproductList__item .MproductList__text {
  background-color: var(--color-fam);
}

.productPages .MproductList.-fam .MproductList__item .MproductList__text::after {
  background-color: var(--color-fam);
}

/* Mine */
.productPages .MproductList.-mine .MproductList__item .MproductList__text {
  background-color: var(--color-mine);
}

.productPages .MproductList.-mine .MproductList__item .MproductList__text::after {
  background-color: var(--color-mine);
}

/* c-shigaisenModal */
.productPages .c-shigaisenModal {
  width: 100%;
  height: 100dvh;
  overflow: auto;
  position: fixed;
  background: rgba(0, 0, 0, 0.2588235294);
  top: 0;
  left: 0;
  z-index: 9;
  transition: opacity 0.5s, visibility 0s ease 0.5s;
  opacity: 0;
  visibility: hidden;
  padding-top: 155px;
  padding-bottom: 35px;
  /* display: flex;
  align-items: center; */
}

.for-SP.productPages .c-shigaisenModal {
  display: block;
}

.productPages .c-shigaisenModal.is-show {
  transition-delay: 0s;
  opacity: 1;
  visibility: visible;
}

.productPages .c-shigaisenModal__container {
  width: calc(50% - 20px);
  margin-inline: auto;
  padding: 20px 10px;
  position: relative;
}

.for-SP.productPages .c-shigaisenModal__container {
  width: calc(90% - 20px);
}

.productPages .c-shigaisenModal__content {
  background: #fff;
  border-radius: 30px;
  padding: 40px 20px;
  position: relative;
}

.productPages .c-shigaisenModal__title {
  padding-bottom: 20px;
  margin-bottom: 20px;
  background-position: center bottom;
  background-repeat: repeat-x;
  background-size: 9px 6px;
}

.productPages .c-shigaisenModal__content p {
  margin-top: 1em;
}

.productPages .c-shigaisenModal__close {
  line-height: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: #004a9f;
  border-radius: 9999px;
  transition: background-color 0.3s;
  width: 70px;
  position: absolute;
  right: -10px;
  top: -20px;
  z-index: 2;
  cursor: pointer;
}

.productPages .c-shigaisenModal__close:hover {
  background-color: rgb(0, 97.7358490566, 210);
}

.productPages .c-shigaisenModal__open {
  display: flex;
  flex-flow: row;
  justify-content: center;
  align-items: center;
  gap: 10px;
  border: none;
  background: none;
  cursor: pointer;
}

.productPages .c-shigaisenModal__open span {
  width: 30px;
  height: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: white;
  border-radius: 50%;
}

.productPages .c-shigaisenModal__open span::before {
  content: "";
  display: block;
  clip-path: polygon(20% 0, 100% 50%, 20% 100%);
  width: 15px;
  height: 15px;
}

.productPages .c-shigaisenModal .hamburger {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding-top: 10px;
  width: 70px;
  height: 70px;
}

.productPages .c-shigaisenModal .hamburger__icon {
  height: 14px;
  position: relative;
  width: 25px;
  margin-inline: auto;
  margin-bottom: 8px;
}

.productPages .c-shigaisenModal .hamburger__icon__part {
  background: #fff;
  left: 0;
  right: 0;
  margin: 0;
  position: absolute;
  height: 1px;
  width: 100%;
  transition: all 0.3s;
}

.productPages .c-shigaisenModal .hamburger__icon__part:first-child {
  top: 50%;
  transform: translateY(-50%) rotate(-45deg);
}

.productPages .c-shigaisenModal .hamburger__icon__part:last-child {
  bottom: 50%;
  transform: translateY(50%) rotate(45deg);
}

.productPages .c-shigaisenModal .hamburger__icon__label {
  margin-top: 5px;
}

/* famとmineで色を出しわけ */
/* Fam */
.productPages.fam .c-shigaisenModal__content {
  border: 1px solid var(--color-fam-text);
}

.productPages.fam .c-shigaisenModal__title {
  /* ↓--color-fam-textと同じ色 */
  background-image: radial-gradient(circle at 2px center, #3AAC98, #3AAC98 1px, transparent 2px, transparent 100%);
  color: var(--color-fam-text);
}

.productPages.fam .c-shigaisenModal__open {
  color: var(--color-fam-text);
}

.productPages.fam .c-shigaisenModal__open span {
  border: 1px solid var(--color-fam-text);
}

.productPages.fam .c-shigaisenModal__open span::before {
  background-color: var(--color-fam-text);
}

/* Mine */
.productPages.mine .c-shigaisenModal__content {
  border: 1px solid var(--color-mine-text);
}

.productPages.mine .c-shigaisenModal__title {
  /* ↓--color-mine-textと同じ色 */
  background-image: radial-gradient(circle at 2px center, #EA6D93, #EA6D93 1px, transparent 2px, transparent 100%);
  color: var(--color-mine-text);
}

.productPages.mine .c-shigaisenModal__open {
  color: var(--color-mine-text);
}

.productPages.mine .c-shigaisenModal__open span {
  border: 1px solid var(--color-mine-text);
}

.productPages.mine .c-shigaisenModal__open span::before {
  background-color: var(--color-mine-text);
}

/* outline内では青色 */
.productPages .outline .c-shigaisenModal__open {
  color: var(--color-accent);
}

.productPages .outline .c-shigaisenModal__open span {
  border: 1px solid var(--color-accent);
}

.productPages .outline .c-shigaisenModal__open span::before {
  background-color: var(--color-accent);
}

/* TOPボタン上書き */
.l-scrollTop {
  bottom: 100px;
}

@media (max-width: 750px) { /* SP */
  .l-scrollTop {
    bottom: 40vw;
  }
}
.l-scrollTop-shigaisenCart {
  position: fixed;
  z-index: 10;
  opacity: 0;
  transition: opacity 0.25s;
}

.l-scrollTop-shigaisenCart:not(.is-show) {
  opacity: 0;
  pointer-events: none;
}

.l-scrollTop-shigaisenCart.is-show {
  opacity: 1;
  pointer-events: all;
}

@media (min-width: 751px) { /* PC */
  .l-scrollTop-shigaisenCart {
    left: calc(50vw + 525px + 20px);
    bottom: 20px;
  }
}
@media (max-width: 750px) { /* SP */
  .l-scrollTop-shigaisenCart {
    right: 2.6666666667vw; /* vw(10) */
    bottom: 20vw; /* vw(75) */
  }
}
.l-scrollTop-shigaisenCart__button {
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none; /* appearance: none; */
  background-color: #31AED8;
  border-radius: 999px;
  font-weight: bold;
  color: #fff;
  display: grid;
  place-content: center;
  place-items: center;
  text-decoration: none;
}

@media (min-width: 750px) { /* PC */
  .l-scrollTop-shigaisenCart__button {
    width: 60px;
    height: 60px;
    font-size: 13px;
    gap: 5px;
  }
}
@media (hover: hover) and (pointer: fine) {
  .l-scrollTop-shigaisenCart__button {
    transition: background-color 0.2s;
  }
  .l-scrollTop-shigaisenCart__button:hover {
    background-color: #4FC9E4;
  }
}
@media (max-width: 750px) { /* SP */
  .l-scrollTop-shigaisenCart__button {
    width: 16vw; /* vw(60) */
    height: 16vw; /* vw(60) */
    font-size: 3.4666666667vw; /* vw(13) */
    gap: 1.3333333333vw; /* vw(5) */
  }
}
.l-scrollTop-shigaisenCart__icon {
  /* font-size: 0;
  -webkit-mask-image: var(--svg-arrow); /* mask-image: var(--svg-arrow); */
  /* -webkit-mask-repeat: no-repeat; /* mask-repeat: no-repeat; */
  /* -webkit-mask-size: contain; /* mask-size: contain; */
  /* background-color: #fff;
  transform: rotate(-90deg); */
  /* width: 20px; */
}

.l-scrollTop-shigaisenCart__icon img {
  /* font-size: 0;
  -webkit-mask-image: var(--svg-arrow); /* mask-image: var(--svg-arrow); */
  /* -webkit-mask-repeat: no-repeat; /* mask-repeat: no-repeat; */
  /* -webkit-mask-size: contain; /* mask-size: contain; */
  /* background-color: #fff;
  transform: rotate(-90deg); */
  width: 100%;
  height: auto;
}

@media (min-width: 750px) { /* PC */
  .l-scrollTop-shigaisenCart__icon {
    width: 20px;
    height: 20px;
  }
}
@media (max-width: 750px) { /* SP */
  .l-scrollTop-shigaisenCart__icon {
    width: 5.3333333333vw; /* vw(20) */
    height: 5.3333333333vw; /* vw(20) */
  }
}
/*# sourceMappingURL=productPages.css.map */