@charset "UTF-8";

.detailArea {}

.detailArea+.detailArea {
  margin-top: 60px;
}

.detailArea .ttlBlk {
  border-bottom: 1px solid;
}

.detailArea .ttlBlk .ttlObj {
  font-size: 22px;
}

.detailArea .LTxt {}

.detailArea .MTxt {}

.detailArea .STxt {}

@media (min-width: 768px) {
  .detailArea {}

  .detailArea+.detailArea {
    margin-top: 60px;
  }

  .detailArea .ttlBlk {
    padding: 0 0 0.5em;
  }

  .detailArea .ttlBlk .ttlObj {}

  .detailArea .LTxt {
    font-size: 18px;
  }

  .detailArea .MTxt {
    font-size: 14px;
    line-height: 1.6;
  }

  .detailArea .STxt {}
}

.howtoArea {}

.howtoArea .howtoSet {
  margin: 10% auto 0;
}

.howtoArea .howtoSet .sttlObj {}

.howtoArea .howtoSet .txtObj {
  padding: 0 0 0 1.5em;
  margin: 1em 0 0;
}

.howtoArea .howtoSet .txtObj+.sttlObj {
  margin-top: 2em;
}

@media (min-width: 768px) {
  .howtoArea {}

  .howtoArea .howtoSet {
    margin: 5% auto 0;
  }

  .howtoArea .howtoSet .sttlObj {}

  .howtoArea .howtoSet .txtObj {}

  .howtoArea .howtoSet .txtObj+.sttlObj {}
}

.ingredientsArea {}

.ingredientsArea .imgTxtBlk {}

.ingredientsArea .ingredientSet {}

.ingredientsArea .ingredientSet .sttlObj {
  margin: 5% auto 0;
}

.ingredientsArea .ingredientSet .cautionTxt {
  color: #848484;
  font-family: "游明朝", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", serif;
  text-align: right;
}

.ingredientsArea .ingredientSet .biyo-Lists {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  align-items: center;
  text-align: center;
  margin: 5% auto 0;
  width: 85%;
}

.ingredientsArea .ingredientSet .biyo-Lists li {
  width: 90%;
  padding: 0;
  font-size: 9px;
  margin: 0 0 30px;
  font-family: "游明朝", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", serif;
}

.ingredientsArea .ingredientSet .biyo-Lists li+li {}

.ingredientsArea .ingredientSet .biyo-Lists li p {}

.ingredientsArea .ingredientSet .biyo-Lists li figure {
  margin: 5px 0 0;
}

.ingredientsArea .ingredientSet .biyo-Lists li figure img {
  width: 80%;
}

.ingredientsArea .ingredientSet .biyo-Lists li figure figcaption {
  margin: 5px 0 0;
}

.ingredientsArea .ingredientSet .free-Lists {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  margin: 8% auto 0;
  width: 85%;
}

.ingredientsArea .ingredientSet .free-Lists li {
  text-align: center;
  font-family: "游明朝", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", serif;
  font-size: 7px;
  margin: 0 0 10px;
  width: 90%;
}

.ingredientsArea .ingredientSet .free-Lists li+li {}

.ingredientsArea .ingredientSet .free-Lists li figure {}

.ingredientsArea .ingredientSet .free-Lists li figure img {
  width: 80%;
}

.ingredientsArea .ingredientSet .free-Lists li figure figcaption {
  margin: 5px 0 0;
  line-height: 1.4;
}

@media (min-width: 768px) {
  .ingredientsArea {}

  .ingredientsArea .imgTxtBlk {}

  .ingredientsArea .ingredientSet {}

  .ingredientsArea .ingredientSet .sttlObj {}

  .ingredientsArea .ingredientSet .cautionTxt {
    color: #4d4d4d;
  }

  .ingredientsArea .ingredientSet .biyo-Lists {
    margin: 30px auto 0;
  }

  .ingredientsArea .ingredientSet .biyo-Lists li {
    font-size: 12px;
  }

  .ingredientsArea .ingredientSet .biyo-Lists li+li {}

  .ingredientsArea .ingredientSet .biyo-Lists li p {
    margin: 0 0 10px;
  }

  .ingredientsArea .ingredientSet .biyo-Lists li figure {}

  .ingredientsArea .ingredientSet .biyo-Lists li figure img {}

  .ingredientsArea .ingredientSet .biyo-Lists li figure figcaption {
    margin: 10px 0 0;
  }

  .ingredientsArea .ingredientSet .free-Lists {
    margin: 30px auto 0;
  }

  .ingredientsArea .ingredientSet .free-Lists li {
    font-size: 11px;
  }

  .ingredientsArea .ingredientSet .free-Lists li+li {}

  .ingredientsArea .ingredientSet .free-Lists li figure {}

  .ingredientsArea .ingredientSet .free-Lists li figure img {}

  .ingredientsArea .ingredientSet .free-Lists li figure figcaption {}
}

.colorArea {}

.colorArea .colorSet {
  position: relative;
  margin: 10% auto 0;
}

.colorArea .colorSet .colorLists {
  position: absolute;
  width: 100%;
  height: 100%;
}

.colorArea .colorSet .colorLists li {
  width: 17%;
  position: absolute;
}

.colorArea .colorSet .colorLists li:nth-of-type(1) {
  top: 10%;
  left: 13%;
}

.colorArea .colorSet .colorLists li:nth-of-type(2) {
  left: 13%;
  top: 63%;
}

.colorArea .colorSet .colorLists li:nth-of-type(3) {
  left: 72.5%;
  top: 61%;
}

.colorArea .colorSet .colorLists li:nth-of-type(4) {
  top: 27%;
  left: 55%;
}

.colorArea .colorSet .colorLists li:nth-of-type(5) {
  top: 27%;
  left: 72%;
}

.colorArea .colorSet .colorLists li:nth-of-type(6) {
  top: 27%;
  left: 27%;
}

.colorArea .colorSet .colorLists li:nth-of-type(7) {
  top: 6%;
  left: 57%;
}

.colorArea .colorSet .colorLists li:nth-of-type(8) {
  top: 6%;
  left: 34%;
}

.colorArea .colorSet .colorLists li a {}

.colorArea .colorSet .colorLists li a img {}

.colorArea .colorSet .bgObj {}

@media (min-width: 768px) {
  .colorArea {}

  .colorArea .colorSet {
    margin: 5% auto 0;
  }

  .colorArea .colorSet .colorLists {}

  .colorArea .colorSet .colorLists li {}

  .colorArea .colorSet .colorLists li:nth-of-type(1) {}

  .colorArea .colorSet .colorLists li:nth-of-type(2) {}

  .colorArea .colorSet .colorLists li:nth-of-type(3) {}

  .colorArea .colorSet .colorLists li:nth-of-type(4) {}

  .colorArea .colorSet .colorLists li:nth-of-type(5) {}

  .colorArea .colorSet .colorLists li:nth-of-type(6) {}

  .colorArea .colorSet .colorLists li a {}

  .colorArea .colorSet .colorLists li a img {}

  .colorArea .colorSet .bgObj {}
}

/* 親ラッパーがスクロールを許可 */
.product-grid-wrapper {
  overflow-x: auto;
  margin: 10% auto;
  border-top: 1px solid #afafaf;
}

/* 共通スタイル（Grid構造） */
.product-grid {
  display: grid;
  grid-template-columns: 110px 1fr 1fr 1fr;
  min-width: 600px;
  /* 横幅が狭くなりすぎないように */
  text-align: center;
  border-left: 1px solid #afafaf;
}

.product-grid>div {
  padding: 18px 0;
  box-sizing: border-box;
  border-bottom: 1px solid #afafaf;
  border-right: 1px solid #afafaf;
}

.product-grid .label {
  text-align: center;
  border-right: 1px solid #afafaf;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}

.product-grid .product img {
  max-width: 80px;
  height: auto;
  display: block;
  margin: 0 auto 8px;
}

.product-grid .product p {
  margin: 0;
  /* font-weight: bold; */
  font-size: 10px;
}

.product-grid .star {
  font-size: 10px;
  color: #000;
}

/* PC用スタイル */
@media (min-width: 768px) {
  .product-grid-wrapper {
    overflow-x: visible;
  }

  .product-grid {
    width: 100%;
    min-width: unset;
  }
}

.js-accTarget {
  position: relative;
}

.js-accTarget.active {}

.js-accTarget::before,
.js-accTarget::after {
  content: "";
  position: absolute;
  width: 1.5em;
  height: 1px;
  background: #161616;
  right: 3%;
  top: 50%;
}

.js-accTarget::after {
  transform: rotate(90deg);
  transition: 0.1s transform ease;
}

.js-accTarget.active::before {}

.js-accTarget.active::after {
  transform: rotate(180deg);
  transition: 0.1s transform ease;
}

.js-accBlk {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease;
}

.js-accBlk.active {
  /* JavaScript側で max-height を自動設定するため記述不要 */
}

.js-accTarget.active {
  /* 開いたときの見た目（例） */
  font-weight: bold;
}


/* =========================
   Color Chart
========================= */
.color-chart {
  container-type: inline-size;
}

.color-chart__wrap {
  background-image: url("../img/howtoapply-bg.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  text-align: center;
  padding: 8cqw 1.5cqw;
}

.color-chart__content {
  height: 100cqw;
  display: flex;
  align-items: center;
}

.color-chart__inner {
  position: relative;
  max-width: 500px;
  width: 90%;
  max-height: 500px;
  aspect-ratio: 1/1;
  margin: 0 auto;
}

.color-chart__line {
  position: absolute;
  background: #2F2F2F;
  transition: transform 0.8s ease;
}

.color-chart__line--vertical {
  width: 0.5px;
  height: 100%;
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  transform-origin: center;
}

.color-chart__line--horizontal {
  height: 0.5px;
  width: 100%;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  transform-origin: center;
}

.color-chart__label {
  position: absolute;
  font-family: "DM Sans", sans-serif;
  font-weight: 400;
  font-size: 2.7cqw;
  opacity: 1;
  transition: opacity 0.4s ease;
  color: #545454;
}

.color-chart .label--top {
  top: -7cqw;
  left: 50%;
  transform: translateX(-50%);
}

.color-chart .label--bottom {
  bottom: -7cqw;
  left: 50%;
  transform: translateX(-50%);
}

.color-chart .label--left {
  left: -7cqw;
  top: 50%;
  transform: translateY(-50%);
}

.color-chart .label--right {
  right: -7cqw;
  top: 50%;
  transform: translateY(-50%);
}

.color-chart {
  /* ===== 9コンテンツ ===== */
}

.color-chart__item {
  position: absolute;
  display: block;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  opacity: 1;
  transition: opacity 0.4s ease;
  width: 18%;
}

.color-chart__img {
  width: 100%;
}

.color-chart__img img {
  width: 100%;
}

.color-chart__name {
  font-family: "DM Sans", sans-serif;
  font-weight: 400;
  font-size: clamp(6px, 1.6cqw, 10px);
  letter-spacing: 0;
  line-height: 1.2;
  white-space: nowrap;
}

.color-chart {
  opacity: 1;
}

.color-chart .item--1 {
  bottom: -5%;
  right: 17%;
}

.color-chart .item--2 {
  top: 20%;
  left: 27%;
}

.color-chart .item--3 {
  top: 6%;
  left: 5%;
}

.color-chart .item--4 {
  top: 40%;
  right: 24%;
}

.color-chart .item--5 {
  bottom: -5%;
  left: 5%;
}

.color-chart .item--6 {
  bottom: 12%;
  right: -1%;
}

.color-chart .item--7 {
  top: 45%;
  right: 1%;
}

.color-chart .item--8 {
  bottom: 15%;
  right: 28%;
}

.color-chart .item--9 {
  bottom: 12%;
  left: 27%;
}