@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP&display=swap');
@import url('https://use.typekit.net/hlg6oay.css');

.l-container {
  width: 100%;
}

.l-footer {
  padding: 0;
}
.pc-footer {
  margin: 0;
}

.feature {
  font-family: acumin-pro, 'Noto Sans JP', sans-serif;
  overflow: hidden;
  width: 100%;
  margin: 0 auto;
  font-feature-settings: 'palt';
}
.feature * {
  box-sizing: border-box;
}
.feature a {
  color: inherit;
}

.fadeimg {
  transition: 0.3s;
}

br.for-sp {
  display: none;
}

.section,
.section-inr {
  display: flex;
  flex-direction: column;
}

/* =========================================================
RETURN TO TOP
========================================================= */
.return-to-top {
  text-align: right;
}
.return-to-top a {
  font-size: 18px;
  text-decoration: none;
  letter-spacing: 0.04em;
  background: url(../img/arrow_up.png) no-repeat right center;
  padding-right: 34px;
  transition: 0.3s;
}
.return-to-top a:hover {
  opacity: 0.6;
}

/* =========================================================
wave animation
========================================================= */
#colorWave02,
#colorWave03,
#colorWave04 {
  position: relative;
  top: -49px;
}

/* =========================================================
ヘッダー
========================================================= */
.hdr {
  position: relative;
}

.hdr-image {
  display: flex;
  flex-direction: column;
}

.hdr-image img {
  width: 100%;
  height: auto;
  vertical-align: top;
}

.hdr-image-inr {
  overflow: hidden;
}
.hdr-image-inr img {
  margin-top: -50px;
}

.section-intro .hdr-image-inr img {
  margin-top: 0;
}

.section-cleanse .hdr-image {
  background-color: #f6eee9;
}
.section-love .hdr-image {
  background-color: #eac481;
}
.section-trial .hdr-image {
  background-color: #edebb0;
}

.hdr-title {
  font-size: 80px;
  font-weight: 600;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 2em;
  text-align: center;
  color: #fff;
  position: absolute;
  top: 45px;
  left: 0;
}

/* =========================================================
intro
========================================================= */
.intro-lead {
  font-size: 16px;
  line-height: 2.15;
  width: 750px;

  /* text-align: justify;
  text-justify: inter-ideograph;
  text-justify: inter-character; */
  letter-spacing: 0.04em;
  margin: 50px auto -80px;
  position: relative;
  z-index: 2;
}

.intro-contents {
  width: 100%;
  background-color: #f6eee9;
  padding-bottom: 170px;
}

.intro-blocks {
  width: 750px;
  margin: 127px auto 170px;
}

.intro-block {
  display: flex;
  align-items: center;
  height: 320px;
  margin-bottom: 114px;
  position: relative;
}

.intro-block01,
.intro-block03 {
  justify-content: flex-end;
}

.intro-block-image {
  opacity: 0;
  position: absolute;
  top: 0;
  transition: 2s;
  transform: translateY(100px);
}
.intro-block-image.show {
  opacity: 1;
  transform: translateY(0);
}

.intro-block01 .intro-block-image {
  left: 0;
}
.intro-block02 .intro-block-image {
  right: 0;
}
.intro-block03 .intro-block-image {
  left: 0;
}
.intro-block04 .intro-block-image {
  right: 0;
}

.intro-block-meta {
  width: 260px;
}

.intro-block01 .intro-block-meta {
  width: 290px;
}

.intro-block-title {
  font-size: 40px;
  font-weight: 500;
  line-height: 1.05;
  white-space: nowrap;
  color: #e8853a;
  margin-bottom: 15px;
}

.intro-block03 .intro-block-title {
  font-size: 46px;
}

.intro-block-desc {
  font-size: 14px;
  line-height: 1.75;
  text-align: justify;
  text-justify: inter-ideograph;
  text-justify: inter-character;
  letter-spacing: 0.04em;
}

.intro-block-link {
  text-align: right;
  margin-top: -23px;
}
.intro-block02 .intro-block-link {
  margin-top: 0;
}

.intro-block-link a {
  font-size: 18px;
  font-weight: 500;
  text-decoration: none;
  color: #e8853a;
  background: url(../img/intro/arrow_right.png) no-repeat right 6px;
  padding-right: 12px;
  transition: 0.3s;
}
.intro-block-link a:hover {
  opacity: 0.6;
}

.section-intro .return-to-top {
  width: 750px;
  margin: 0 auto;
}

/* =========================================================
cleanse
========================================================= */
.section-cleanse {
  padding-top: 80px;
  margin-top: -80px;
}
.section-cleanse-inr {
  background-color: #eac481;
  padding-bottom: 170px;
}

.cleanse-contents {
  width: 700px;
  padding: 14px 0 0;
  margin: 0 auto;
}
.cleanse-contents p {
  color: #fff;
}

.cleanse-lead {
  font-size: 16px;
  line-height: 1.9;
  text-align: justify;
  text-justify: inter-ideograph;
  text-justify: inter-character;
  letter-spacing: 0.1em;
}

.cleanse-blocks {
  margin: 143px 0 110px;
}

.cleanse-block {
  margin-bottom: 104px;
}

.cleanse-block-inr {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 38px;
}

.cleanse-block-meta {
  width: 245px;
}
.cleanse-block-title {
  font-size: 40px;
  font-weight: 500;
  line-height: 1.05;
  white-space: nowrap;
  letter-spacing: 0.03em;
  color: #e8853a;
  margin-bottom: 5px;
}
.cleanse-block-title-ja {
  font-size: 18px;
  white-space: nowrap;
  letter-spacing: 0.06em;
  color: #e8853a !important;
  margin-bottom: 18px;
}

.cleanse-block-desc {
  font-size: 13px;
  line-height: 1.95;
  text-align: justify;
  text-justify: inter-ideograph;
  text-justify: inter-character;
  letter-spacing: 0.1em;
}
.cleanse-block-links {
  display: flex;
  justify-content: space-between;
  width: 100%;
}
.cleanse-block-link {
  width: 340px;
}
.cleanse-block-link-title {
  font-size: 17px;
  letter-spacing: 0.1em;
}
.cleanse-block-link-detail {
  font-size: 14px;
  white-space: nowrap;
  letter-spacing: 0.04em;
  margin-bottom: 8px;
}
.cleanse-block-link-price {
  font-size: 21px;
  letter-spacing: 0.1em;
  margin-bottom: 13px;
}
.cleanse-block-link-price span {
  font-size: 13px;
}
.cleanse-block-link-button {
  width: 100%;
  margin-top: 5px;
}
.cleanse-block-link-button a {
  font-size: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 38px;
  text-decoration: none;
  color: #fff;
  background: #e8853a;
  transition: 0.3s;
}
.cleanse-block-link-button a:hover {
  opacity: 0.6;
}

.cleanse-block:nth-child(odd) .cleanse-block-inr {
  flex-direction: row-reverse;
}

.cleanse-block:nth-child(even) .cleanse-block-title,
.cleanse-block:nth-child(even) .cleanse-block-title-ja {
  width: 400px;
  text-align: right;
  position: relative;
  right: 150px;
}

/* =========================================================
love
========================================================= */
.section-love {
  padding-top: 80px;
  margin-top: -80px;
}
.section-love-inr {
  background-color: #edebb0;
  padding-bottom: 170px;
}

.love-contents {
  width: 700px;
  margin: -11px auto 0;
}

.love-lead {
  font-size: 16px;
  line-height: 1.9;
  text-align: justify;
  text-justify: inter-ideograph;
  text-justify: inter-character;
  letter-spacing: 0.1em;
}

.love-blocks {
  margin-top: 111px;
}
.love-block {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 113px;
}

.love-block-image {
  background-repeat: no-repeat;
  background-position: left top;
  padding: 30px 0 0 30px;
}

.love-block01 .love-block-image {
  background-image: url(../img/love/text01.png);
}
.love-block02 .love-block-image {
  background-image: url(../img/love/text02.png);
  background-position: right top;
  padding: 30px 30px 0 0;
}
.love-block03 .love-block-image {
  background-image: url(../img/love/text03.png);
}
.love-block04 .love-block-image {
  background-image: url(../img/love/text04.png);
  background-position: right top;
  padding: 30px 30px 0 0;
}
.love-block05 .love-block-image {
  background-image: url(../img/love/text05.png);
}

.love-block-meta {
  width: 224px;
}
.love-block-title {
  font-size: 22px;
  font-weight: 400;
  letter-spacing: 0.1em;
  margin-bottom: 16px;
}
.love-block-desc {
  font-size: 13px;
  line-height: 1.9;
  letter-spacing: 0.1em;
}

.love-block-price-desc {
  font-size: 13px;
  line-height: 1.9;
  letter-spacing: 0.1em;
  margin-bottom: 26px;
}
.love-block-price {
  font-size: 28px;
  letter-spacing: 0.03em;
  margin: 0 0 16px 7px;
}
.love-block-price span {
  font-size: 17px;
}

.love-block-link-button {
  width: 100%;
  margin-top: 5px;
}
.love-block-link-button a {
  font-size: 17px;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 48px;
  text-decoration: none;
  color: #fff;
  background: #d3d647;
  transition: 0.3s;
}
.love-block-link-button a:hover {
  opacity: 0.6;
}

.love-block:nth-child(odd) {
  flex-direction: row-reverse;
}

/* =========================================================
trial
========================================================= */
.section-trial {
  padding-top: 80px;
  margin-top: -80px;
  margin-bottom: 200px;
}
.section-trial-inr {
  background-color: #e5bb90;
}

.trial-contents {
  width: 700px;
  padding: 0 0 170px;
  margin: -15px auto 0;
}
.trial-contents p {
  color: #fff;
}

.trial-lead {
  font-size: 16px;
  line-height: 1.9;
  text-align: justify;
  text-justify: inter-ideograph;
  text-justify: inter-character;
  letter-spacing: 0.1em;
}

.trial-blocks {
  margin-top: 121px;
}
.trial-block {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 115px;
}

.trial-block-image {
  background-repeat: no-repeat;
  background-position: left top;
  padding: 30px 0 0 30px;
}

.trial-block01 .trial-block-image {
  background-image: url(../img/trial/text01.png);
  padding: 30px 0 0 8px;
}
.trial-block02 .trial-block-image {
  background-image: url(../img/trial/text02.png);
  background-position: right top;
  padding: 30px 30px 0 0;
}
.trial-block03 .trial-block-image {
  background-image: url(../img/trial/text03.png);
}
.trial-block04 .trial-block-image {
  background-image: url(../img/trial/text04.png);
  background-position: right top;
  padding: 30px 30px 0 0;
}
.trial-block05 .trial-block-image {
  background-image: url(../img/trial/text05.png);
}

.trial-block-meta {
  width: 240px;
}
.trial-block-title {
  font-size: 19px;
  font-weight: 400;
  white-space: nowrap;
  letter-spacing: 0.1em;
  color: #fff;
  margin-bottom: 9px;
}

.trial-block02 .trial-block-title,
.trial-block04 .trial-block-title {
  width: 400px;
  text-align: right;
  position: relative;
  right: 160px;
}

.trial-block-desc {
  font-size: 14px;
  line-height: 1.75;
  text-align: justify;
  text-justify: inter-ideograph;
  text-justify: inter-character;
  letter-spacing: 0.07em;
}

.trial-block-capacity {
  text-align: right;
  margin-top: -20px;
}
.trial-block04 .trial-block-capacity {
  text-align: left;
  margin-top: 0;
}

.trial-block-price-detail {
  margin-top: 20px;
}

.trial-block-price {
  font-size: 29px;
  line-height: 1;
  letter-spacing: 0.03em;
  margin-bottom: 19px;
}
.trial-block-price span {
  font-size: 17px;
}

.trial-block-link-button {
  width: 100%;
  margin-top: 5px;
}
.trial-block-link-button a {
  font-size: 17px;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 48px;
  text-decoration: none;
  color: #fff;
  background: #f7602b;
  transition: 0.3s;
}
.trial-block-link-button a:hover {
  opacity: 0.6;
}

.trial-block:nth-child(odd) {
  flex-direction: row-reverse;
}

/* =========================================================
lineup
========================================================= */
.section-lineup {
  display: flex;
  align-items: center;
  flex-direction: column;
  padding-top: 100px;
  padding-bottom: 0;
  margin-top: -100px;
}

.lineup-contents {
  width: 100%;
  background-color: #f6eeeb;
  padding-bottom: 170px;
}

.lineup-title {
  font-size: 73px;
  font-weight: 500;
  line-height: 1.2;
  width: 100%;
  text-align: center;
  color: #e8853a;
  margin-bottom: -70px;
  position: relative;
  z-index: 2;
}
.lineup-title span {
  font-size: 26px;
  display: block;
}

.lineup-nav {
  width: 100%;
  background-color: #fdd9b7;
  padding: 93px 0 90px;
}
.lineup-nav-inr {
  width: 720px;
  margin: 0 auto;
}
.lineup-nav ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 22px;
}
.lineup-nav ul li {
  background-repeat: no-repeat;
  background-position: center top;
  padding: 30px 10px 0;
  margin: 0 13px 73px;
}

.lineup-nav ul li:nth-child(1) {
  background-image: url(../img/lineup/text01.png);
}
.lineup-nav ul li:nth-child(2) {
  background-image: url(../img/lineup/text02.png);
}
.lineup-nav ul li:nth-child(3) {
  background-image: url(../img/lineup/text03.png);
}
.lineup-nav ul li:nth-child(4) {
  background-image: url(../img/lineup/text04.png);
}
.lineup-nav ul li:nth-child(5) {
  background-image: url(../img/lineup/text05.png);
}

.lineup-blocks {
  width: 700px;
  margin: 121px auto 0;
}
.lineup-block {
  padding-top: 84px;
  margin-top: -100px;
  margin-bottom: 150px;
}

.lineup-block-inr {
  display: flex;
  flex-direction: row-reverse;
  margin-bottom: 56px;
}

.lineup-block-meta {
  width: 434px;
}

.lineup-block-title {
  font-size: 38px;
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
  letter-spacing: 0.02em;
  color: #e8853a;
  margin-bottom: 37px;
}
.lineup-block-efficacy {
  display: flex;
  align-items: center;
  margin-bottom: 24px;
}
.lineup-block-efficacy h4 {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0.07em;
  color: #e8853a;
  margin-right: 23px;
}
.lineup-block-efficacy h4 span {
  font-size: 14px;
  letter-spacing: 0.18em;
}
.lineup-block-efficacy p {
  font-size: 14px;
  letter-spacing: 0.08em;
  color: #e8853a;
}
.lineup-block-materials {
  display: flex;
  margin-bottom: 18px;
}
.lineup-block-materials h4 {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.07em;
  margin-right: 12px;
}
.lineup-block-materials p {
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: 0.07em;
}

.lineup-block-desc {
  font-size: 14px;
  line-height: 1.8;
  width: 325px;
  text-align: justify;
  text-justify: inter-ideograph;
  text-justify: inter-character;
  letter-spacing: 0.07em;
  margin-bottom: 33px;
}

.lineup-block:nth-child(5) .lineup-block-desc {
  width: 370px;
}

.lineup-block-checks {
  display: flex;
  flex-wrap: wrap;
  letter-spacing: 0.06em;
  margin-bottom: 24px;
}
.lineup-block-check {
  font-size: 15px;
  display: flex;
  align-items: center;
  min-width: 133px;
  height: 21px;
  letter-spacing: 0.06em;
  background: url(../img/lineup/box.png) no-repeat;
  padding-left: 35px;
  position: relative;
}
.lineup-block-check::after {
  display: block;
  width: 25px;
  height: 30px;
  content: '';
  background: url(../img/lineup/check.png) no-repeat;
  position: absolute;
  top: -12px;
  left: 3px;
}
.lineup-block-check.off::after {
  content: none;
}

.lineup-block-check:nth-child(n + 4) {
  margin-top: 37px;
}

.lineup-block-calorie {
  font-size: 19px;
  font-weight: 500;
}

/* table */
.lineup-block-table {
  width: 700px;
  margin-bottom: 125px;
}
.lineup-block-table table {
  width: 700px;
  background: #f6d3b7;
}
.lineup-block-table table * {
  font-weight: 400;
  letter-spacing: 0.13em;
}

.lineup-block-table table tr th,
.lineup-block-table table tr td {
  font-size: 15px;
  line-height: 1.9;
  border-bottom: 1px solid #231815;
}

.lineup-block-table table tr th {
  border-right: 1px solid #231815;
  padding: 19px 5px;
}
.lineup-block-table table tr th[scope='row'] {
  width: 170px;
  height: 105px;
}

.lineup-block-table table tr td {
  width: 530px;
  padding: 6px 15px;
}

.lineup-block-table table tr:last-child th,
.lineup-block-table table tr:last-child td {
  border-bottom: none;
}
.lineup-block-table table tr:first-child th:last-child {
  border-right: none;
}

.lineup-block-table table tr td h5 {
  float: left;
  width: 60px;
  margin-right: 5px;
}
.lineup-block-table table tr td h5::after {
  float: right;
  content: ':';
  position: relative;
  top: -2px;
}
.lineup-block-table table tr td p {
  float: left;
  width: calc(100% - 65px);
}
