.block-goods-main--details {
  container-type: inline-size;
}

@charset "UTF-8";

.detailArea {}

.ttlBlk {
  border-bottom: 1px solid;
  text-align: left;
}

.detailArea .ttlBlk .ttlObj {
  font-size: 22px;
}

.detailArea .LTxt {}

.detailArea .MTxt {}

.detailArea .STxt {}

@media (min-width: 768px) {
  .detailArea {}

  .detailArea .ttlBlk {
    padding: 0 0 0.5em;
  }

  .detailArea .MTxt {
    font-size: 14px;
    line-height: 1.6;
  }

  .detailArea .STxt {}
}

.ingredientsArea {}

.ingredientsArea .imgTxtBlk {}

.ingredientsArea .ingredientSet,
.howtouse {
  margin-bottom: 10cqw;
}

.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: flex;
  flex-flow: wrap;
  justify-content: flex-start;
  align-items: center;
  text-align: center;
  margin: 5% auto 0;
}

.ingredientsArea .ingredientSet .biyo-Lists li {
  width: 25%;
  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: flex;
  flex-flow: wrap;
  justify-content: flex-start;
  margin: 8% auto 0;
}

.ingredientsArea .ingredientSet .free-Lists li {
  width: 20%;
  text-align: center;
  font-family: "游明朝", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", serif;
  font-size: 7px;
  margin: 0 0 10px;
}

.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;
}

.ingredientsArea {
  container-type: inline-size;
}

.ingredientSet__ttl {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}

.ingredientBlk.acc-active .ingredientSet__ttl {
  margin: 10cqw 0;
}

.ingredientSet__ttl .txt1 {
  font-family: Palatino Linotype;
  font-weight: 400;
  font-size: 3cqw;
  line-height: 1;
  letter-spacing: 0;
  color: #000;
}

.ingredientSet__ttl .txt2 {
  color: #2F2F2F;
  font-family: "DM Sans", sans-serif;
  font-weight: 400;
  font-size: 2.33cqw;
  line-height: 1;
  letter-spacing: 0;
  text-align: right;
  vertical-align: middle;
}

.flex-box {
  display: flex;
  gap: 10px;
}

.flex-box:first-child .content {
  margin-top: 10px;
}

.flex-box .content .txt {
  font-family: "DM Sans", sans-serif;
  font-weight: 400;
  font-size: 4.23cqw;
  line-height: 1.3;
  letter-spacing: 0;
  margin-bottom: 20px;
}

.flex-box .content .grid._4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}

.flex-box .content .grid._3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}

.flex-box .content .grid .grid-item {
  width: 100%;
  justify-items: center;
  align-content: end;
}

.flex-box .content .grid .grid-item .grid-item-txt,
.flex-box .content .grid-item-txt {
  text-align: center;
  font-family: "DM Sans", sans-serif;
  font-weight: 300;
  font-size: 3.46cqw;
  line-height: 1.5;
  letter-spacing: 0;
  vertical-align: middle;
  display: flex;
  justify-content: center;
  height: 10.38cqw;
  align-items: center;
}

.flex-box .content .grid-item-txt {
  flex-direction: column;
}

.flex-box .content .grid._4 .grid-item .grid-item-img img {
  display: block;
  width: 30%;
  margin: 0 auto;
}

.flex-box .content .grid._4 .grid-item:nth-child(1) .grid-item-img img {
  width: 35%;
}

.flex-box .content .grid._4 .grid-item:nth-child(3) .grid-item-img img {
  width: 27%;
}

.flex-box .content .grid._4 .grid-item:nth-child(4) .grid-item-img img {
  width: 60%;
}

.flex-box .content .grid .grid-item .grid-item-img {
  width: 100%;
  margin-bottom: 5px;
}

.flex-box .content .grid._3 .grid-item .grid-item-img img {
  display: block;
  width: 70%;
  margin: 0 auto;
}

.flex-box .content .grid._3 .grid-item .grid-item-txt {
  height: none;
}

.flex-box .content .grid .grid-item img {
  margin: 0 auto;
  width: 100%;
}

.vertical-nodes {
  list-style: none;
  container-type: inline-size;
  padding: 0;
  margin: 20px;
  display: flex;
  flex-direction: column;
  font-family: "DM Sans", sans-serif;
  font-weight: 400;
  font-size: 4.62cqw;
  line-height: 1;
  vertical-align: middle;
  gap: 30px;
}

.vertical-nodes li .num {
  position: relative;
  width: 8.8cqw;
  height: 8.8cqw;
  background-color: #D9D9D9;
  border-radius: 50%;
  border: 1px solid #333;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: bold;
  color: #333;
  flex-shrink: 0;
  font-size: 4.62cqw;
  font-weight: 400;
}

.vertical-nodes li:nth-child(2) .num {
  margin-bottom: 0px;
}

.vertical-nodes li:not(:last-child) .num::after {
  content: '';
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 100%;
  width: 1px;
  background-color: #333;
  height: var(--line-h, 0px);
}

.vertical-nodes li:last-child {
  margin-bottom: 0;
}

.product-info__key-ingredients_group .features-list3 .ingredients {
  margin-bottom: 10px;
  font-family: "DM Sans", sans-serif;
  font-weight: 400;
  font-size: 3cqw;
  line-height: 1.6;
  letter-spacing: 0;
  text-align: center;
  vertical-align: middle;
  height: 9.6cqw;
  display: flex;
  align-items: center;
  justify-content: center;
}

.product-info__key-ingredients_group .features-list3 .efficacy {
  margin-top: 10px;
  font-family: "DM Sans", sans-serif;
  font-weight: 400;
  font-size: 2.33cqw;
  line-height: 1.6;
  letter-spacing: 0;
  text-align: center;
  vertical-align: middle;
  height: 7.46cqw;
  display: flex;
  align-items: center;
  justify-content: center;
}

.product-info__key-ingredients_group .features-list3 .efficacy._2 {
  height: 12.79cqw;
}

.features-list3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  text-align: center;
  width: 60%;
  margin: 0 auto 60px;
}

.features-list3__img-frame img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.features-list4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 15px;
  text-align: center;
}

.features-list4__img-frame img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.features-list4 .item .item__txt {
  font-family: "DM Sans", sans-serif;
  font-weight: 400;
  font-size: 2.5cqw;
  line-height: 1.6;
  letter-spacing: 0;
  text-align: center;
  vertical-align: bottom;
  white-space: nowrap;
}

.features-list4 .item img {
  width: 90%;
}

.grid-container {
  margin-bottom: 10cqw;
}

.grid-container._2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3.33cqw;
}

.grid-container__item {
  width: 100%;
}

.grid-container__item-img img {
  width: 100%;
}

.grid-container__item-cnt .grid-container__item-cnt-ttl {
  font-family: "DM Sans", sans-serif;
  font-weight: 400;
  font-size: 3.33cqw;
  line-height: 1.6;
  letter-spacing: 0;
  color: #2F2F2F;
  margin-bottom: 3.33cqw;
}

.grid-container__item-cnt .grid-container__item-cnt-ttl span {
  font-size: 2.67cqw;
}

.grid-container__item-cnt .grid-container__item-cnt-txt {
  color: #2F2F2F;
  font-family: "DM Sans", sans-serif;
  font-weight: 400;
  font-size: 2.33cqw;
  line-height: 2;
  letter-spacing: 0;
}

.howtoapply__bg {
  background-image: url("../img/howto-bg.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top;
  position: relative;
  width: 100%;
}

.howtoapply__ttl {
  font-family: "DM Sans", sans-serif;
  font-weight: 400;
  padding-top: 12cqw;
  line-height: 1.2;
  margin-bottom: 7cqw;
  border-bottom: 1px solid #231815;
}

.howtoapply__ttl span {
  font-weight: 300;
  font-size: 3.25cqw;
}

.scroll-container {
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
  /*touch-action: pan-x;*/
  touch-action: auto;
  margin-left: -2.66cqw;
}

.scroll-container::-webkit-scrollbar {
  display: none;
}

.scroll-container-wrap {
  display: flex;
  flex-wrap: nowrap;
  width: -moz-max-content;
  width: max-content;
  gap: 5cqw;
  will-change: auto;
}

.scroll-item {
  text-align: center;
  line-height: 1.3;
  width: 53cqw;
  background-color: rgba(255, 255, 255, 0.9);
  flex-shrink: 0;
  padding: 2cqw 2cqw 12cqw;
  margin-bottom: 10cqw;
  position: relative;
}

.scroll-item:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 100%;
  width: 5cqw;
  height: 0.8cqw;
  background-color: #fff;
  transform: translateY(-50%);
}

.scroll-item__num {
  font-family: "Interstate", sans-serif;
  font-weight: 300;
  font-size: 4cqw;
  line-height: 1.2;
  margin-bottom: 4cqw;
}

.scroll-item__num span {
  font-size: 6.66cqw;
  font-weight: 400;
}

.scroll-item__img {
  background-image: url(uv_serum_texture.png);
  background-size: 50%;
  background-position: center top 11cqw;
  background-repeat: no-repeat;
}

.scroll-item__img-wrap {
  align-content: center;
  height: 41.05cqw;
}

.scroll-item__img-wrap.clm2 a {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}

.scroll-item__img-wrap.clm1-2 .scroll-item__img {
  background-image: none;
}

.scroll-item__img-wrap.clm1-2 img {
  width: 15.5cqw;
}

.scroll-item__img-wrap.clm1-2 a {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: auto auto;
  gap: 0 1cqw;
}

.scroll-item__img-wrap.clm1-2 a .item-top {
  grid-column: 1/3;
}

.scroll-item__img-wrap.clm1-2 a .item-bottom:nth-of-type(2) {
  text-align: right;
}

.scroll-item__img-wrap.clm1-2 a .item-bottom:nth-of-type(3) {
  text-align: left;
}

.scroll-item__img-wrap .multi-glow-highlighter,
.scroll-item__img-wrap .serum-color-base {
  background-image: none;
}

.scroll-item__img-wrap .multi-glow-highlighter img,
.scroll-item__img-wrap .serum-color-base img {
  width: 85%;
}

.scroll-item__img img {
  width: 12cqw;
}

.scroll-item__img.green {
  background-image: url(../img/controlcolor-texture-green.png);
  background-size: 70%;
  background-position: right 2.5cqw top 1.5cqw;
  background-repeat: no-repeat;
}

.scroll-item__img.green img {
  width: 11cqw;
}

.scroll-item__img.blue {
  background-image: url(../img/controlcolor-texture-blue.png);
  background-size: 70%;
  background-position: right 2.5cqw top 1.5cqw;
  background-repeat: no-repeat;
}

.scroll-item__img.blue img {
  width: 10cqw;
}

.scroll-item__img.pearl-white {
  background-image: url(../img/glow-highlighter-texture-pearl-white.png);
  background-size: 50%;
  background-position: right 0 top 3cqw;
  background-repeat: no-repeat;
}

.scroll-item__img.pearl-white img {
  width: 12cqw;
}

.scroll-item__img.rose-quartz {
  background-image: url(../img/glow-highlighter-texture-rose-quartz.png);
  background-size: 50%;
  background-position: right 1cqw top 3cqw;
  background-repeat: no-repeat;
}

.scroll-item__img.rose-quartz img {
  width: 12cqw;
}

.scroll-item__ttl {
  font-family: "DM Sans", sans-serif;
  font-weight: 400;
  font-size: 3.75cqw;
  margin: 6cqw 0 2cqw;
}

.scroll-item__txt {
  font-size: 2.5cqw;
  /*margin-bottom: 6cqw;*/
}

.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;
}

.LTxt {
  font-size: 22px;
  line-height: 1;
  letter-spacing: 0;
  padding: 0 0 0.25em;
}

.key-ingredients__subtitle {
  font-size: 3cqw;
  padding: 1cqw;
  background-color: #E3E6E3;
  border-radius: 20px;
  color: #2F2F2F;
  text-align: center;
  font-weight: 500;
  margin-bottom: 5cqw;
}

.key-ingredients__subtitle.__720 {
  background-color: #D6E4D8;
}

.key-ingredients__subtitle.__721 {
  background-color: #C8D4EC;
}

.key-ingredients__detail {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8cqw 1.8cqw;
  text-align: center;
  color: #2F2F2F;
  margin-bottom: 7cqw;
}

.key-ingredients__detail:last-child {
  margin-bottom: 10cqw;
}

.key-ingredients__detail-ttl {
  font-family: "DM Sans", sans-serif;
  font-weight: 400;
  font-size: 2.40cqw;
  line-height: 1.2;
  margin-bottom: 2cqw;
}

.key-ingredients__detail-img {
  margin-bottom: 2cqw;
}

.key-ingredients__detail p.key-ingredients__detail-text {
  font-family: "DM Sans", sans-serif;
  font-weight: 400;
  font-size: 1.86cqw;
  letter-spacing: 0.17em;
  line-height: 2;
}

.mb-30cqw {
  margin-bottom: 30cqw;
}

.ingredients-free__ttl span {
  font-weight: 300;
  font-size: 3.25cqw;
}

.ingredients-free__wrap {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 3cqw 1cqw;
  text-align: center;
}

.ingredients-free__item img {
  width: 80%;
}

.ingredients-free__text {
  font-size: 2.25cqw;
  text-align: center;
}

.howtouse {
  text-align: center;
}

.howtouse__bg {
  background-color: #fff;
  padding: 7.5cqw 0;
}

.howtouse__wrap {
  padding: 30px 20px;
}

.howtouse__ttl {
  font-size: 5cqw;
  line-height: 1.2;
}

.howtouse__subtitle {
  font-weight: 300;
  font-size: 3.25cqw;
  margin-bottom: 2.5cqw;
}

.howtouse__description {
  font-size: 1.6cqw;
}

.txtObj.acc-on .howtouse__description {
  padding: 0 0 6cqw;
}

.product__list {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.product__item {
  padding-top: 4cqw;
  margin-top: 8cqw;
}

.product__item .product__link {
  font-size: 2.5cqw;
  padding: 5px;
  width: 85%;
  margin: 0 auto 5cqw;
  border-radius: 20px;
}

.product__item:nth-child(1) .product__link {
  background-color: #D6E4D8;
}

.product__item:nth-child(2) .product__link {
  background-color: #C8D4EC;
}

.product__description {
  font-size: 3cqw;
  font-weight: 400;
  width: 85%;
  margin: 0 auto 2cqw;
}

.product__item:not(:last-child) {
  border-right: 2px dashed #8A8888;
}