@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&family=Noto+Sans&family=Hina+Mincho&display=swap");
header {
  margin-bottom: 0;
}

select, input, button, textarea, table {
  color: #3e3a39;
  font-family: "Noto Sans JP", "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", 游ゴシック体, "Yu Gothic", YuGothic, メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  letter-spacing: 0;
}

img {
  max-width: 100%;
  height: auto;
  box-shadow: #000 0 0 0;
  vertical-align: top;
  -ms-interpolation-mode: bicubic;
}

a:link, a:visited, a:hover, a:active {
  color: inherit;
  text-decoration: none;
}

.tone-up-cream {
  width: 100%;
  overflow: hidden;
}

.l-contents {
  width: 90%;
  max-width: 960px;
  margin: 0 auto;
}

.page-cmn-ttl {
  position: relative;
  margin: 45px 0 35px;
}

.page-cmn-ttl.is-noborder {
  margin: 0;
}

.page-cmn-ttl.is-noborder::before {
  content: none;
}

.page-cmn-ttl::before {
  content: "";
  position: absolute;
  top: calc(50% - 15px);
  left: 0;
  width: 100%;
  height: 40px;
  background: linear-gradient(90deg, #a9d7eb 0%, #fff 35%, #fdfdd7 65%, #bef2aa 100%);
}

.page-cmn-ttl span {
  display: grid;
  place-content: center;
  position: relative;
  z-index: +1;
  aspect-ratio: 750/338;
  width: 62vw;
  max-width: 375px;
  margin: 0 auto;
  padding-top: 11px;
  background: url(../img/product/make-solution/tone-up_cream/img_cmn_ttl.png) no-repeat center/contain;
  font-family: "Hina Mincho", serif;
  font-size: 2.5rem;
  letter-spacing: .05em;
}

.mv {
  position: relative;
}

.mv__ttl {
  position: absolute;
  top: 48.5%;
  left: 50%;
  z-index: 2;
  transform: translate(-50%, -50%);
  font-size: 4.6vw;
  font-weight: 500;
  letter-spacing: .025em;
  text-align: center;
}

.problems {
  position: relative;
  margin-top: 80px;
}

.problems__box {
  position: relative;
  padding: 32vw 7% 31px;
  border-radius: 40px 0 40px 0;
  background: #f0f5f4;
}

.problems__ttl {
  display: grid;
  place-content: center;
  position: absolute;
  top: -51px;
  left: 0;
  right: 0;
  margin: 0 auto;
  aspect-ratio: 267 / 173;
  width: 70%;
  max-width: 262px;
  padding-bottom: 16px;
  padding-left: 14px;
  background: url(../img/product/make-solution/tone-up_cream/img_problems_ttl.png) no-repeat center/contain;
  font-size: 1.85rem;
  line-height: 1.5;
  letter-spacing: .025em;
  text-align: center;
}

.problems__list {
  display: flex;
  gap: 16px 0;
  flex-wrap: wrap;
}

.problems__list-item {
  display: flex;
  align-items: center;
  min-width: 46.2%;
  font-size: 1.7rem;
  font-weight: 700;
}

.problems__list-item::before {
  content: "";
  display: block;
  aspect-ratio: 1 / 1;
  width: 22px;
  margin-right: 10px;
  background: url(../img/product/make-solution/tone-up_cream/img_problems_icon.png) no-repeat center/contain;
  flex: 0 0 auto;
}

.problems__result {
  position: relative;
  margin-top: 15px;
}

.problems__txt {
  text-align: center;
}

.problems__txt-sub {
  display: inline-block;
  position: relative;
  margin-top: 20px;
  margin-bottom: 10px;
  padding-right: 25px;
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: .03em;
}

.problems__txt-sub::before, .problems__txt-sub::after {
  content: "";
  position: absolute;
  bottom: -7px;
  left: -20px;
  transform: rotate(-35deg);
  width: 2px;
  height: 40px;
  background: #3e3a39;
}

.problems__txt-sub::after {
  right: 6px;
  left: auto;
  transform: rotate(35deg);
}

.problems__txt-main {
  display: block;
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.675;
  letter-spacing: .03em;
}

.problems__img-wrap {
  display: flex;
  gap: 10%;
  margin: 10px 0;
}

.problems__point {
  padding: 80px 0 30px;
  background: linear-gradient(90deg, #edf5df 0%, #ddf0f5 100%);
}

.problems__point::after {
  content: "";
  position: absolute;
  top: -1px;
  left: 0;
  z-index: +1;
  aspect-ratio: 1400 / 270;
  width: 100vw;
  background: url(../img/product/make-solution/tone-up_cream/img_problems_arrow.svg) no-repeat center/120% 100%;
}

.problems__point-txt {
  font-family: "Hina Mincho", serif;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.6875;
  letter-spacing: .025em;
  text-align: center;
}

.problems__point-txt sup {
  position: relative;
  top: -4px;
  right: .6em;
  margin-right: -1em;
  color: #3e3a39;
  font-family: "Noto Sans JP", "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", 游ゴシック体, "Yu Gothic", YuGothic, メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.25rem;
}

.problems__point-txt span {
  color: #e269cf;
}

.problems__point-note {
  color: #3e3a39;
  font-size: 1.25rem;
  font-weight: 400;
  text-align: right;
}

.products {
  position: relative;
}

.products__contents {
  position: relative;
  padding: 60px 0;
  overflow: hidden;
}

.products__contents::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 3074px;
  background: linear-gradient(360deg, #f0ede9 0%, #f5e8da 0%, #ffe0c0 0%, #fff6db 11.04%, #fffce3 13.61%, #fff8e2 13.94%, #ffd1d7 18.56%, #ffb8d1 22.23%, #ffb0cf 24.48%, #f1b3db 27.1%, #d9bbf1 32.93%, #d0befa 36.5%, #c1cbfc 41.32%, #afdcff 48.77%, #b5dff9 50.55%, #daf4d9 62.36%, #afdcff 75.22%, #d8e3eb 80.77%, #f4e9de 85.42%, #ffebda 88.11%, #ffe8da 93.21%, #ffe0da 96.28%, #ffd1dc 98.8%, #ffc8dd 100%);
  opacity: .3;
  scale: 2;
  transform-origin: center center;
  pointer-events: none;
}

.products .l-contents {
  position: relative;
  z-index: +1;
}

.products__item {
  position: relative;
}

.products__item::before {
  content: "";
  position: absolute;
  top: 430px;
  left: 50%;
  transform: translate(-50%, -50%);
  aspect-ratio: 1/1;
  width: 125%;
  background: url(../img/product/make-solution/tone-up_cream/bg_products_item.png) no-repeat center/contain;
  pointer-events: none;
}

.products__item + .products__item {
  margin-top: 65px;
}

.products__head {
  position: relative;
  z-index: +1;
}

.products__head span {
  display: block;
  text-align: center;
}

.products__head-sub {
  margin-top: 14px;
  color: #00a572;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: .03em;
}

.is-item02 .products__head-sub {
  color: #00a9c2;
}

.products__lead {
  position: relative;
  z-index: +1;
  margin-top: 32px;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.6875;
  letter-spacing: .05em;
  text-align: center;
}

.products__lead-inr {
  display: inline-block;
  position: relative;
}

.products__lead-note {
  display: block;
  text-align: right;
  color: #3e3a39;
  font-size: 1.2rem;
  font-weight: 400;
  letter-spacing: 0;
}

.products__block {
  position: relative;
  z-index: +1;
}

.products__img {
  width: 90%;
  margin: 0 auto;
}

.products__detail-inr {
  width: 92%;
  margin: 0 auto;
}

.products__detail-img {
  margin: 33px 0 10px;
}

.products__ttl {
  display: inline-block;
  font-size: 1.7rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: .05em;
  text-align: left;
}

.products__txt {
  display: block;
  margin: 15px 0 25px;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: .1em;
}

.products__btn {
  display: block;
  position: relative;
  padding: 24px 0;
  border-radius: 10px;
  background: #00a572;
  text-align: center;
  border: none;
  width: 100%;
  font-size: 1.6rem;
  cursor: pointer;
}

.is-item02 .products__btn {
  background: #00a9c2;
}

.products__btn::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  aspect-ratio: 8/14;
  width: 8px;
  background: url(../img/product/make-solution/tone-up_cream/icon_btn02.svg) no-repeat center/contain;
}

.products__btn span {
  position: relative;
  left: 5px;
  color: #fff;
}

.products__btn span::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: calc(50% - 14px);
  right: calc(100% + 10px);
  aspect-ratio: 28/29;
  width: 24px;
  background: url(../img/product/make-solution/tone-up_cream/icon_btn01.svg) no-repeat center/contain;
}

.products__ingredients {
  position: relative;
  z-index: +1;
  margin-top: 40px;
}

.products__ingredients-inr {
  display: block;
  width: 85%;
  max-width: 800px;
  margin: 0 auto;
  font-family: "Noto Sans", "Noto Sans JP", "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", 游ゴシック体, "Yu Gothic", YuGothic, メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.products__ingredients-ttl {
  padding: 9px 0;
  background: #73c2a4;
  color: #fff;
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: .03em;
  cursor: pointer;
}

.products__ingredients-ttl .products__ingredients-inr {
  position: relative;
}

.products__ingredients-ttl .products__ingredients-inr img {
  position: absolute;
  top: calc(50% - 10px);
  right: 7px;
}

.is-item02 .products__ingredients-ttl {
  background: #56c0d6;
}

.products__ingredients-txt {
  display: none;
  padding: 30px 0 37px;
  border: 1px solid #73c2a4;
  border-top: none;
  background: #fff;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.8;
}

.is-item02 .products__ingredients-txt {
  border-color: #56c0d6;
}

.feature {
  position: relative;
}

.feature .page-cmn-ttl {
  margin-bottom: 40px;
}

.feature__contents {
  position: relative;
  padding: 80px 0 60px;
  overflow: hidden;
}

.feature__contents::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(-1800deg, #bbd5ff 0%, #e8d5ff 100%);
  opacity: .6;
  transform-origin: center center;
  pointer-events: none;
}

.feature .l-contents {
  position: relative;
  z-index: +1;
}

.feature__block-wrap {
  position: relative;
}

.feature__block-wrap + .feature__block-wrap {
  margin-top: 80px;
}

.feature__block-wrap:nth-child(2n)::before {
  right: auto;
  left: -.2em;
}

.feature__block-wrap::before {
  content: attr(data-num) "";
  position: absolute;
  top: -.7em;
  right: -.2em;
  color: #fff;
  font-family: "Hina Mincho", serif;
  font-size: 15rem;
  font-weight: 400;
  line-height: 1;
  opacity: .4;
}

.feature__block {
  padding: 40px 0 30px;
  border-radius: 40px 0;
  background: #fff;
}

.feature__block-inr {
  width: 88%;
  max-width: 630px;
  margin: 0 auto;
}

.feature__ttl {
  position: relative;
  font-size: 2.2rem;
  font-weight: 500;
  letter-spacing: .03em;
  text-align: center;
}

.feature__ttl span {
  background: linear-gradient(transparent 70%, #fff237 70%);
}

.feature__ttl em {
  color: #e269cf;
  font-weight: 500;
}

.feature__ttl::before {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  margin-bottom: 10px;
  background: linear-gradient(90deg, #e8d5ff 0%, #bbd5ff 100%);
}

.feature__ttl.is-border::after {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  margin-top: 10px;
  background: linear-gradient(90deg, #e8d5ff 0%, #bbd5ff 100%);
}

.feature__txt {
  margin-top: 20px;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.8;
}

.feature__txt.is-large {
  font-size: 1.8rem;
  font-weight: 500;
}

.feature__txt.is-border {
  background: url(../img/product/make-solution/tone-up_cream/img_feature_bg.png) no-repeat center/contain;
  max-width: 412px;
  aspect-ratio: 412/62;
  line-height: 1;
  display: grid;
  place-content: center;
  margin: 20px auto;
}

.feature__txt.is-color {
  color: #e269cf;
  font-weight: 500;
  letter-spacing: .03em;
  text-align: center;
}

.feature__txt.is-bg {
  font-weight: 500;
  margin-bottom: 20px;
  padding: 6px 10px;
  background: linear-gradient(90deg, #e8d5ff 0%, #bbd5ff 100%);
  text-align: center;
}

.feature__col01 {
  background: #FFFCCC;
  border-radius: 20px;
  text-align: center;
  padding: 20px 7%;
}

.feature__col01-ttl {
  text-align: center;
  background: #E269CF;
  color: #fff;
  font-size: 1.8rem;
  letter-spacing: 0.03em;
  line-height: 1.39;
  border-radius: 22px;
  font-weight: 700;
  padding: 5.5px;
}

.feature__col01-txt {
  font-size: 1.4rem;
  line-height: 1.8;
  font-weight: 400;
  margin-top: 10px;
}

.feature__col02 {
  background: #F0F1FF;
  border-radius: 20px;
  display: grid;
  gap: 19px;
  padding: 20px 7%;
}

.feature__data dt {
  font-size: 1.6rem;
  letter-spacing: 0.01em;
  line-height: 1.44;
  font-weight: 700;
}

.feature__data dt::before {
  content: "●";
  color: #BBC0FF;
}

.feature__data dd {
  font-size: 1.4rem;
  line-height: 1.8;
  font-weight: 400;
}

.feature__plus {
  display: grid;
  place-content: center;
}

.feature__arrow {
  margin: 16px 0 13px;
  text-align: center;
}

.feature__arrow + .feature__txt {
  margin-top: 0;
}

.feature__note {
  text-align: right;
  font-weight: 400;
  font-size: 1.25rem;
}

.feature__img {
  text-align: center;
}

.use {
  margin-bottom: 60px;
}

.use .page-cmn-ttl {
  margin: 45px 0 30px;
}

.use__txt {
  margin-bottom: 30px;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.8;
  text-align: center;
}

.use__img {
  text-align: center;
}

.note {
  position: relative;
  padding: 50px 0;
  overflow: hidden;
}

.note::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(140deg, #f0ede9 0%, #f5e8da 0%, #ffe0c0 0%, #fff6db 11.04%, #fffce3 13.61%, #fff8e2 13.94%, #ffd1d7 18.56%, #ffb8d1 22.23%, #ffb0cf 24.48%, #f1b3db 27.1%, #d9bbf1 32.93%, #d0befa 36.5%, #c1cbfc 41.32%, #afdcff 48.77%, #b5dff9 50.55%, #daf4d9 62.36%, #afdcff 75.22%, #d8e3eb 80.77%, #f4e9de 85.42%, #ffebda 88.11%, #ffe8da 93.21%, #ffe0da 96.28%, #ffd1dc 98.8%, #ffc8dd 100%);
  opacity: .6;
  scale: 1.4;
  transform-origin: center center;
  pointer-events: none;
}

.note__block {
  padding: 40px 0 45px;
  border-radius: 40px 0;
  background: #fff;
}

.note__block-inr {
  width: 92%;
  max-width: 800px;
  margin: 0 auto;
}

.note__list {
  display: grid;
  gap: 20px;
  margin-top: 33px;
}

.note__list li {
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.8;
}

footer {
  margin: 0 auto;
}

@media screen and (min-width: 481px) {
  .pc-none {
    display: none;
  }
  .page-cmn-ttl {
    margin: 80px 0 47px;
  }
  .page-cmn-ttl::before {
    top: calc(50% - 30px);
    height: 80px;
  }
  .page-cmn-ttl span {
    padding-top: 21px;
    font-size: 4rem;
  }
  .mv__ttl {
    top: 63%;
    font-size: max(15px,1vw);
  }
  .problems {
    margin-top: 90px;
  }
  .problems__box {
    padding: 61px 5% 51px 10.3%;
  }
  .problems__ttl {
    top: -58px;
    left: auto;
    right: 40px;
    font-size: 2rem;
    line-height: 1.8;
  }
  .problems__list {
    gap: 36px 0;
  }
  .problems__list-item {
    font-size: 2rem;
  }
  .problems__list-item::before {
    width: 27px;
  }
  .problems__result {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 54px;
  }
  .problems__txt {
    order: 2;
  }
  .problems__txt-sub {
    font-size: 2.4rem;
  }
  .problems__txt-sub::before, .problems__txt-sub::after {
    height: 50px;
  }
  .problems__txt-main {
    font-size: 4rem;
  }
  .problems__img-wrap {
    display: contents;
  }
  .problems__img.is-left {
    order: 1;
  }
  .problems__img.is-right {
    order: 3;
  }
  .problems__point {
    padding: max(163px,11.6vw) 0 38px;
  }
  .problems__point::after {
    aspect-ratio: 1400 / 120;
    width: max(1260px,100vw);
    background-size: contain;
  }
  .problems__point-txt {
    font-size: 32px;
  }
  .problems__point-txt sup {
    font-size: 1.4rem;
  }
  .problems__point-note {
    font-size: 1.4rem;
  }
  .products__contents {
    padding: 128px 0 118px;
  }
  .products__item + .products__item {
    margin-top: 128px;
  }
  .products__head-sub {
    font-size: 1.6rem;
  }
  .products__lead {
    font-size: 3.2rem;
  }
  .products__lead-note {
    position: absolute;
    right: -1.6em;
    bottom: .3em;
    font-size: 1.4rem;
  }
  .is-item02 .products__lead-note {
    right: -7.6em;
  }
  .products__block {
    display: flex;
  }
  .is-item02 .products__block {
    flex-direction: row-reverse;
  }
  .products__img {
    width: 50%;
  }
  .is-item02 .products__img {
    text-align: right;
  }
  .products__detail {
    width: 50%;
    padding-left: 20px;
  }
  .is-item02 .products__detail {
    padding-right: 20px;
    padding-left: 0;
  }
  .products__detail-inr {
    max-width: 356px;
  }
  .products__ttl {
    font-size: 2rem;
  }
  .products__txt {
    margin: 24px 0 35px;
    font-size: 1.8rem;
  }
  .products__btn {
    padding: 31px 0;
  }
  .products__btn span::before {
    width: 28px;
  }
  .products__ingredients-ttl {
    font-size: 1.8rem;
  }
  .products__ingredients-txt {
    font-size: 1.6rem;
  }
  .feature .page-cmn-ttl {
    margin-bottom: 67px;
  }
  .feature__contents {
    padding: 93px 0 122px;
  }
  .feature__block-wrap:nth-child(2n)::before {
    left: -.7em;
  }
  .feature__block-wrap::before {
    top: -.37em;
    right: -.7em;
    font-size: 28rem;
  }
  .feature__block {
    padding: 60px 0 50px;
  }
  .feature__ttl {
    font-size: 3.2rem;
  }
  .feature__ttl::before {
    margin-bottom: 30px;
  }
  .feature__ttl.is-border::after {
    margin-top: 30px;
  }
  .feature__txt {
    margin-top: 30px;
    font-size: 2rem;
  }
  .feature__txt.is-large {
    font-size: 2.4rem;
  }
  .feature__txt.is-border {
    margin: 14px auto 24px;
  }
  .feature__txt.is-bg {
    margin-bottom: 34px;
  }
  .feature__row {
    display: flex;
    justify-content: space-between;
  }
  .feature__col01 {
    padding: 39px 14px;
    max-width: 314px;
  }
  .feature__col01-ttl {
    font-size: 2.3rem;
  }
  .feature__col01-txt {
    font-size: 1.6rem;
    margin-top: 13px;
  }
  .feature__col02 {
    max-width: 230px;
    padding: 22px 14px;
  }
  .feature__data dt {
    font-size: 2rem;
  }
  .feature__data dd {
    font-size: 1.6rem;
  }
  .feature__note {
    font-size: 1.4rem;
  }
  .use {
    margin-bottom: 120px;
  }
  .use .page-cmn-ttl {
    margin: 90px 0 53px;
  }
  .use__txt {
    font-size: 2rem;
  }
  .note {
    padding: 140px 0;
  }
  .note__block {
    padding: 60px 0 55px;
  }
  .note__list {
    gap: 29px;
  }
  .note__list li {
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 480px) {
  .sp-none {
    display: none;
  }
  .products__head-main img {
    width: auto;
    height: 32px;
  }
  .feature__plus {
    margin: 10px 0;
  }
  .feature__plus img {
    width: 40px;
  }
  .feature__note {
    margin-top: 3px;
  }
  .feature__img {
    margin-top: 5px;
  }
}

@media (any-hover: hover) {
  .products__btn {
    transition: opacity .5s ease;
  }
  .products__btn:hover {
    opacity: .7;
  }
}
