@charset "UTF-8";

/* --------------------------------------------------------
-----------------------------------------------------------
 index
-----------------------------------------------------------
----------------------------------------------------------- */
/*
-----------------------------------------------------------
 main-visual
----------------------------------------------------------- */
.main-visual {
  position: relative;
}

.main-visual::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10;
  background: url(/img/texture.gif) repeat center center;
  background-size: 19rem auto;
  opacity: 0.5;
}

.main-visual__copy {
  font-family: var(--font-family02);
  color: #938275;
  position: absolute;
  text-align: center;
  font-weight: bold;
  z-index: 20;
  font-size: 1.3rem;
  top: 24.4rem;
  left: 0;
  width: 100%;
  line-height: 1.85;
}

@media not all and (max-width: 520px) {
  .main-visual__copy {
    font-size: 1.6rem;
    top: 31.1rem;
  }
}

/*
-----------------------------------------------------------
 p-kikakugai
----------------------------------------------------------- */
.p-kikakugai {
  margin-top: 5rem;
  margin-bottom: 5rem;
}

.p-kikakugai__inner {
  border: 1px solid var(--color01);
  max-width: 525px;
  margin: 0 auto;
  background: #FFF;
  border-radius: 1.3rem;
  padding: 2.85rem 0.7rem 2.565rem;
  text-align: center;
}

.p-kikakugai__title {
  font-family: var(--font-family02);
  color: var(--color01);
  font-weight: bold;
  font-size: 3rem;
  line-height: 1.4;
  font-feature-settings: "palt";
  letter-spacing: 0.285rem;
  padding-bottom: 1.7rem;
  margin-bottom: 1.85rem;
  background: url(/img/border.svg) no-repeat center bottom;
  background-size: 13rem auto;
}

.p-kikakugai__title-icon {
  background: #005c2b;
  background: -moz-linear-gradient(left, #005c2b 0%, #00802d 100%);
  background: -webkit-linear-gradient(left, #005c2b 0%, #00802d 100%);
  background: linear-gradient(to right, #005c2b 0%, #00802d 100%);
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  width: 4.56rem;
  height: 4.56rem;
  border-radius: 50%;
  padding-top: 0.285rem;
  margin: 0 auto 1rem;
}

.p-kikakugai__title-icon img {
  width: 1.7rem;
}

.p-kikakugai__body p {
  font-family: var(--font-family03);
  color: var(--color06);
  font-weight: bold;
  font-size: 1.57rem;
  font-feature-settings: "palt";
  letter-spacing: 0.17rem;
  line-height: 1.9;
}

.p-kikakugai__body img {
  position: relative;
  left: 50%;
  transform: translate(-50%, 0);
  width: 118%;
  max-width: none;
  margin: 1.14rem 0 -2rem;
}

/*
-----------------------------------------------------------
 p-top-trial
----------------------------------------------------------- */
.p-top-trial {
  margin-top: 5rem;
  padding: 0 2rem;
}

.p-top-trial__title {
  font-family: var(--font-family02);
  color: var(--color02);
  font-weight: bold;
  text-align: center;
  margin-bottom: 1.5rem;
  font-size: 2.3rem;
  line-height: 1.45;
}

/*
-----------------------------------------------------------
 p-about
----------------------------------------------------------- */
.p-about {
  background: #005c2b;
  background: -moz-linear-gradient(left, #005c2b 0%, #00802d 100%);
  background: -webkit-linear-gradient(left, #005c2b 0%, #00802d 100%);
  background: linear-gradient(to right, #005c2b 0%, #00802d 100%);
}

.p-about__inner {
  background: url(/img/texture.gif) repeat center center;
  background-size: 15rem auto;
  padding: 6rem 0 5rem;
}

.p-about__title {
  color: #FFF;
  text-align: center;
  line-height: 1.4;
  margin-bottom: 1rem;
}

.p-about__title-text01 {
  display: inline-block;
  position: relative;
  font-size: 1.4rem;
  padding: 0 0.8rem;
}

.p-about__title-text01::before,
.p-about__title-text01::after {
  background: #FFF;
  content: "";
  position: absolute;
  height: 1px;
  width: 4.275rem;
  top: 0;
  bottom: 0;
  margin: auto 0;
  border-radius: 1px;
}

.p-about__title-text01::before {
  right: 100%;
}

.p-about__title-text01::after {
  left: 100%;
}

.p-about__title-text02 {
  font-family: var(--font-family02);
  font-weight: bold;
  display: block;
  font-size: 4rem;
}

.p-deliver {
  color: #FFF;
  margin-bottom: 2rem;
}

.p-deliver__package {
  position: relative;
  min-height: 20rem;
}

.p-deliver__package::after {
  content: "";
  position: absolute;
  width: 19rem;
  height: 19rem;
  background: #ffffff;
  border-radius: 50%;
  z-index: 0;
  top: 0;
  bottom: 2rem;
  left: 0;
  right: 0;
  margin: auto;
}

.p-deliver__package img {
  position: absolute;
  z-index: 10;
  width: 26rem;
  margin: auto;
  top: 1rem;
  bottom: 0;
  right: 0;
  left: 0;
}

.p-WhatIsProducts-deliver__head {
  font-family: var(--font-family02);
  text-align: center;
  font-weight: bold;
  font-size: 2.7rem;
  margin: 1rem 0 2.2rem;
  line-height: 1.45;
}

.p-WhatIsProducts-deliver__head--sub {
  text-align: center;
  font-weight: bold;
  font-size: 1.5rem;
  margin: 2rem 0 0 0;
}

.p-about__list {
  max-width: 525px;
  margin: 0 auto;
}

.p-about__list li {
  background: #FFF;
  border-radius: 1.3rem;
  position: relative;
  padding: 2.1rem 0.7rem 2.5rem;
}

.p-about__list li+li {
  margin-top: 3.5rem;
}

.p-about__list-image {
  position: absolute;
  z-index: 10;
}

.p-about__list-item01 .p-about__list-image {
  left: -4.56rem;
  bottom: -9.54rem;
  width: 12.82rem;
}

.p-about__list-item02 .p-about__list-image {
  right: -4.56rem;
  bottom: -8.55rem;
  width: 14.25rem;
}

/* p-about__list-title
----------------------------------------------------------- */
.p-about__list-title {
  text-align: center;
  margin-bottom: 1.5rem;
}

.p-about__list-title-point {
  display: flex;
  margin-bottom: 1rem;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  padding-right: 0.6rem;
}

.p-about__list-title-point01 {
  color: var(--color02);
  font-weight: bold;
  letter-spacing: 0;
  line-height: 1.2;
  font-size: 1.6rem;
  margin-top: 0.3rem;
  border-bottom: 0.1rem solid;
  padding: 0 0.4rem 0 0.2rem;
}

.p-about__list-title-point02 {
  font-family: var(--font-family03);
  background: var(--color02);
  font-size: 2.8rem;
  line-height: 1;
  display: flex;
  border-radius: 50%;
  color: #FFF;
  font-weight: bold;
  width: 3.7rem;
  height: 3.7rem;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  margin-left: 0.1rem;
}

.p-about__list-title-text {
  font-family: var(--font-family02);
  color: var(--color02);
  display: block;
  font-weight: bold;
  font-size: 2.25rem;
  line-height: 1.4;
  letter-spacing: 0.02em;
}

.p-about__list-body {
  text-align: center;
  font-size: 1.4rem;
}

/*
-----------------------------------------------------------
 p-safety
----------------------------------------------------------- */
.p-safety {
  padding: 6rem 0 5rem;
}

.p-safety__title {
  color: var(--color01);
  text-align: center;
  font-weight: bold;
  line-height: 1.4;
  margin-bottom: 2.8rem;
}

.p-safety__title-text01 {
  display: inline-block;
  position: relative;
  font-size: 1.4rem;
  margin-bottom: 0.7rem;
  padding: 0 0.85rem;
}

.p-safety__title-text01::before,
.p-safety__title-text01::after {
  background: var(--color01);
  content: "";
  position: absolute;
  height: 1px;
  width: 7.12rem;
  top: 0;
  bottom: 0;
  margin: auto 0;
  border-radius: 1px;
}

.p-safety__title-text01::before {
  right: 100%;
}

.p-safety__title-text01::after {
  left: 100%;
}

.p-safety__title-text02 {
  font-family: var(--font-family03);
  display: block;
  font-size: 3rem;
}

.p-safety__body {
  max-width: 575px;
  margin: 0 auto;
}

.p-safety__main {
  border: 1px solid var(--color01);
  overflow: hidden;
  background: #FFF;
  border-radius: 1.3rem;
  padding-bottom: 3.2rem;
}

.p-safety__main-image {
  text-align: center;
  margin-bottom: 2.13rem;
}

.p-safety__main-text {
  font-family: var(--font-family03);
  color: var(--color06);
  font-weight: bold;
  line-height: 1.9;
  padding: 0 1.7rem;
  font-size: 1.6rem;
  letter-spacing: 0.03em;
}

.p-safety__main-list {
  color: var(--color01);
  font-weight: bold;
  background: url(/img/border.svg) no-repeat center top;
  background-size: 130px auto;
  margin-top: 2.2rem;
  padding: 3rem 1.7rem 0;
}

.p-safety__main-list li {
  position: relative;
  font-size: 1.5rem;
  padding-left: 2.13rem;
  line-height: 1.45;
}

.p-safety__main-list li::before {
  background: var(--color01);
  content: "";
  position: absolute;
  -webkit-mask-image: url(/img/icon-arrow01.svg);
  mask-image: url(/img/icon-arrow01.svg);
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-size: contain;
  -webkit-mask-size: contain;
  width: 1.6rem;
  height: 1.6rem;
  left: 0;
  top: 0.3rem;
}

.p-safety__main-list li+li {
  margin-top: 1.4rem;
}

.p-safety__button {
  margin-top: 2.56rem;
  padding: 0 1.28rem;
}

.p-safety__button a {
  background: #077542;
  background: -moz-linear-gradient(left, #077542 0%, #018c1d 100%);
  background: -webkit-linear-gradient(left, #077542 0%, #018c1d 100%);
  background: linear-gradient(to right, #077542 0%, #018c1d 100%);
  position: relative;
  display: block;
  text-align: center;
  font-weight: normal;
  color: #FFF;
  border-radius: 100px;
  line-height: 1.3;
  font-size: 1.6rem;
  padding: 1.4rem 0.8rem 1.4rem 0;
}

.p-safety__button a::before {
  content: "";
  position: absolute;
  width: 1.92rem;
  height: 100%;
  top: 0;
  right: 1.28rem;
  background: url(/img/icon-arrow.svg) no-repeat center center;
  background-size: contain;
}

/*
-----------------------------------------------------------
 p-media
----------------------------------------------------------- */
.p-media {
  background-color: #FFF;
  padding: 5rem 0;
}

.p-media__title {
  text-align: center;
  font-weight: bold;
  line-height: 1.4;
  margin-bottom: 2rem;
}

.p-media__title-text01 {
  background: var(--color02);
  color: #FFF;
  display: inline-block;
  position: relative;
  margin-bottom: 1.28rem;
  font-size: 1.3rem;
  padding: 0.7rem 1.42rem;
}

.p-media__title-text01::before {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.855rem 1.14rem 0 1.14rem;
  border-color: var(--color02) transparent transparent transparent;
  display: block;
  top: 100%;
  left: 0;
  right: 0;
  margin: 0 auto;
}

.p-media__title-text02 {
  font-family: var(--font-family02);
  color: var(--color02);
  display: block;
  font-size: 2.7rem;
}

.p-media__image {
  margin-bottom: 1.71rem;
  text-align: center;
}

.p-media__award {
  margin-bottom: 1.5rem;
}

.p-media__section {
  color: var(--color06);
  background: url(/img/body-image-background02.jpg) repeat left top;
  border-radius: 1.3rem;
  padding: 2.5rem 1.5rem;
  max-width: 525px;
  margin: 0 auto;
}

.p-media__section-title {
  text-align: center;
  font-weight: bold;
  font-size: 1.9rem;
  line-height: 1.4;
  margin-bottom: 1.42rem;
}

.p-media__section-title span {
  display: inline-block;
  position: relative;
  padding: 0 0.855rem;
}

.p-media__section-title span::before,
.p-media__section-title span::after {
  background: var(--color06);
  content: "";
  position: absolute;
  height: 1px;
  width: 4.27rem;
  top: 0;
  bottom: 0;
  margin: auto 0;
  border-radius: 1px;
}

.p-media__section-title span::before {
  right: 100%;
}

.p-media__section-title span::after {
  left: 100%;
}

.p-media__section-list li+li {
  margin-top: 1.42rem;
}

.p-media__section-list a {
  position: relative;
  display: inline-block;
  text-decoration: underline;
  font-size: 1.39rem;
  padding-left: 2.13rem;
  line-height: 1.45;
}

.p-media__section-list a::before {
  background: var(--color06);
  content: "";
  position: absolute;
  -webkit-mask-image: url(/img/icon-arrow01.svg);
  mask-image: url(/img/icon-arrow01.svg);
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-size: contain;
  -webkit-mask-size: contain;
  width: 1.42rem;
  height: 1.42rem;
  left: 0;
  top: 0.285rem;
}

.p-media__section-list a::active {
  text-decoration: none;
}

@media print,
screen and (min-width: 521px) {
  .p-media__section-list a:hover {
    text-decoration: none;
  }
}

.p-media__section-list02 ul {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
  margin: 0 auto;
  max-width: 31.5rem;
  gap: 1.2rem 1.9rem;
}

.p-media__section-list02 li {
  position: relative;
  font-size: 2.1rem;
  padding-left: 1.7rem;
  line-height: 1.25;
  letter-spacing: 0.08rem;
}

.p-media__section-list02 li::before {
  background: var(--color06);
  content: "";
  position: absolute;
  -webkit-mask-image: url(/img/icon-arrow01.svg);
  mask-image: url(/img/icon-arrow01.svg);
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-size: contain;
  -webkit-mask-size: contain;
  width: 1.4rem;
  height: 1.4rem;
  left: 0;
  top: 0.5rem;
}

.p-media__section-list02 li span {
  display: block;
  font-size: 1rem;
}

.p-media__section-button {
  margin-top: 2.56rem;
}

.p-media__section-button a {
  background: #077542;
  background: -moz-linear-gradient(left, #077542 0%, #018c1d 100%);
  background: -webkit-linear-gradient(left, #077542 0%, #018c1d 100%);
  background: linear-gradient(to right, #077542 0%, #018c1d 100%);
  position: relative;
  display: block;
  text-align: center;
  font-weight: normal;
  color: #FFF;
  border-radius: 100px;
  line-height: 1.3;
  font-size: 1.6rem;
  padding: 1.4rem 0.8rem 1.4rem 0;
  background: #fc5400;
  background: -moz-linear-gradient(left, #fc5400 0%, #ff861c 100%);
  background: -webkit-linear-gradient(left, #fc5400 0%, #ff861c 100%);
  background: linear-gradient(to right, #fc5400 0%, #ff861c 100%);
}

.p-media__section-button a::before {
  content: "";
  position: absolute;
  width: 1.92rem;
  height: 100%;
  top: 0;
  right: 1.28rem;
  background: url(/img/icon-arrow.svg) no-repeat center center;
  background-size: contain;
}

/*
-----------------------------------------------------------
 campaign
----------------------------------------------------------- */
.campaign {
  margin: 5rem 0 7rem;
}

.campaign_bnr {
  text-align: center;
}

.campaign_bnr img {
  width: 89.2%;
  margin: 0 auto;
  max-width: 525px;
}

/*
-----------------------------------------------------------
 p-flow
----------------------------------------------------------- */
.p-flow {
  position: relative;
  padding: 6rem 0;
}

.p-flow__title {
  color: var(--color01);
  line-height: 1.3;
  text-align: center;
}

.p-flow__title-text01 {
  display: inline-block;
  position: relative;
  font-size: 1.4rem;
  margin-bottom: 0.7rem;
  padding: 0 0.855rem;
}

.p-flow__title-text01::before,
.p-flow__title-text01::after {
  background: var(--color01);
  content: "";
  position: absolute;
  height: 1px;
  width: 4.27rem;
  top: 0;
  bottom: 0;
  margin: auto 0;
  border-radius: 1px;
}

.p-flow__title-text01::before {
  right: 100%;
}

.p-flow__title-text01::after {
  left: 100%;
}

.p-flow__title-text02 {
  font-family: var(--font-family02);
  display: block;
  font-weight: bold;
  font-size: 3.56rem;
}

.p-flow__list {
  position: relative;
  padding-top: 5rem;
}

.p-flow__list li {
  border: solid 1px var(--color01);
  position: relative;
  background-color: #fff;
  border-radius: 0.8rem;
  padding: 3.6rem 0 2.5rem;
  width: 65.4%;
}

.p-flow__list li::before {
  font-family: var(--font-family03);
  content: "01";
  font-size: 2.5rem;
  background: 50% no-repeat;
  background: url(/img/aboutus-img-number.png) no-repeat center top;
  background-size: contain;
  position: absolute;
  color: #fff;
  text-align: center;
  top: -2.1rem;
  left: 42%;
  font-weight: bold;
  line-height: 1;
  padding: 1.1rem;
}

.p-flow__list li:first-child {
  margin-left: 5.4%;
}

.p-flow__list li:nth-child(2) {
  margin: 18.6% 2rem 0 auto;
}

.p-flow__list li:nth-child(2)::before {
  content: "02";
  background-image: url(/img/aboutus-img-number2.png);
}

.p-flow__list li:nth-child(3) {
  margin: 12.7% auto 0 5.4%;
}

.p-flow__list li:nth-child(3)::before {
  content: "03";
}

.p-flow__list-item-title {
  color: var(--color01);
  font-weight: bold;
  text-align: center;
  line-height: 1.45;
  font-size: 1.9rem;
}

.p-flow__list p {
  margin: 4.1% auto 0;
  width: 85%;
  line-height: 1.7;
}

.p-flow__list li:nth-child(2)::after {
  content: "";
  border-left: #baccb4 3px dashed;
  border-bottom: #baccb4 3px dashed;
  height: 100%;
  width: 50%;
  position: absolute;
  top: -55%;
  left: -17%;
  z-index: -1;
}

.p-flow__list li:nth-child(3)::after {
  content: "";
  border-right: #baccb4 3px dashed;
  border-bottom: #baccb4 3px dashed;
  height: 100%;
  width: 50%;
  position: absolute;
  top: -63%;
  right: -21%;
  z-index: -1;
}

.p-flow__bi--veg3 {
  position: absolute;
  z-index: -1;
  bottom: -32%;
  width: 66%;
  left: -54%;
}

.p-flow__bi--veg4 {
  position: absolute;
  z-index: -1;
  top: 33%;
  right: -51%;
  width: 95%;
}

/*
-----------------------------------------------------------
 p-AboutUs-solution
----------------------------------------------------------- */
.p-AboutUs-solution {
  background: #005c2b;
  background: -moz-linear-gradient(left, #005c2b 0%, #00802d 100%);
  background: -webkit-linear-gradient(left, #005c2b 0%, #00802d 100%);
  background: linear-gradient(to right, #005c2b 0%, #00802d 100%);
  color: #fff;
}

.p-AboutUs-solution__inner {
  background: url(/img/texture.gif) repeat center center;
  background-size: 15rem auto;
  padding: 6rem 2.5rem;
}

.p-AboutUs-solution__img {
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.p-AboutUs-solution__img figure {
  width: 30.3%;
}

.p-AboutUs-solution__img figure img {
  width: 100%;
}

.p-AboutUs-solution__img figcaption {
  font-size: 2rem;
  text-align: center;
  margin-top: 0.8rem;
}

.p-AboutUs-solution__head {
  font-family: var(--font-family02);
  font-weight: bold;
  text-align: center;
  color: #FFEEA5;
  font-size: 3rem;
  margin-top: 2rem;
  line-height: 1.4;
}

.p-AboutUs-solution__head--sub {
  font-weight: bold;
  text-align: center;
  font-size: 1.8rem;
  margin-top: 0.8rem;
}

.p-AboutUs-solution .source {
  display: block;
  word-break: break-all;
  line-height: 1.5;
  font-size: 1rem;
  margin-top: 3%;
}

.p-AboutUs-solution p.--first {
  margin-top: 2rem;
}

/* about us background img */
.p-AboutUs__bi--veg1 {
  position: absolute;
  top: 7%;
  left: 0;
  width: 14.6%;
  z-index: -1;
}

.p-AboutUs__bi--veg2 {
  position: absolute;
  top: 8%;
  right: -2%;
  width: 11.4%;
  z-index: -1;
}

.p-AboutUs__bi--veg3 {
  position: absolute;
  bottom: 35%;
  left: -5.4%;
  width: 43.5%;
  z-index: -1;
}

.p-AboutUs__bi--veg4 {
  position: absolute;
  bottom: 60%;
  right: -5%;
  width: 62.5%;
  z-index: -1;
}

.dash1 {
  border-left: #baccb4 3px dashed;
  border-bottom: #baccb4 3px dashed;
  height: 20%;
  width: 13.2%;
  position: absolute;
  top: 26.6%;
  left: 18%;
  z-index: -1;
}

.dash2 {
  border-right: #baccb4 3px dashed;
  border-bottom: #baccb4 3px dashed;
  height: 15%;
  width: 13.2%;
  position: absolute;
  top: 55.3%;
  right: 16%;
  z-index: -1;
}

.dash3 {
  border-left: #baccb4 3px dashed;
  height: 9.8%;
  width: 13.4%;
  position: absolute;
  top: 83.7%;
  left: 37.9%;
  z-index: -1;
}

@media screen and (min-width: 521px) {
  .p-AboutUs__bi--veg3 {
    bottom: 33%;
  }

  .p-AboutUs__bi--veg4 {
    bottom: 59%;
  }

  .dash1 {
    top: 27.6%;
  }

  .dash2 {
    height: 16%;
    top: 57.3%;
  }

  .dash3 {
    top: 86.7%;
  }
}

.p-AboutUs__list li:nth-child(2)::after {
  content: "";
  border-left: #baccb4 3px dashed;
  border-bottom: #baccb4 3px dashed;
  height: 100%;
  width: 50%;
  position: absolute;
  top: -55%;
  left: -17%;
  z-index: -1;
}

.p-AboutUs__list li:nth-child(3)::after {
  content: "";
  border-right: #baccb4 3px dashed;
  border-bottom: #baccb4 3px dashed;
  height: 100%;
  width: 50%;
  position: absolute;
  top: -63%;
  right: -21%;
  z-index: -1;
}

.p-AboutUs__bi--veg3 {
  bottom: -32%;
  width: 66%;
  left: -54%;
}

.p-AboutUs__bi--veg4 {
  bottom: auto;
  top: 33%;
  right: -51%;
  width: 95%;
}

/* p-AboutUs__title
----------------------------------------------------------- */
.p-AboutUs__title {
  font-weight: bold;
  line-height: 1.3;
  font-size: 4.41rem;
  text-align: center;
}

.p-AboutUs__title-text01 {
  font-size: 47%;
  display: block;
  letter-spacing: 0.1em;
}

.p-AboutUs__title-text02 {
  font-family: var(--font-family02);
}

/*
-----------------------------------------------------------
 MV
----------------------------------------------------------- */
#p-MV {
  padding: 10% 0;
  position: relative;
}

#p-MV .p-MV__bg {
  position: absolute;
  z-index: 0;
  object-fit: cover;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

#p-MV .t-text {
  font-family: var(--font-family03);
  background-color: rgba(255, 255, 255, 0.85);
  padding: 50px 0;
  font-weight: bold;
  font-size: 1.56rem;
  text-align: center;
  position: relative;
  z-index: 10;
}

#p-MV p {
  line-height: 2.1;
}

#p-MV p.--second {
  margin-top: 6%;
}

/* MV back ground img  */
.p-MV__bi-veg {
  position: absolute;
  top: -2%;
  left: -7.6%;
  width: 116.8%;
  z-index: 0;
}

/* co2 */
.p-co2__inner {
  background-color: #fff;
  border-radius: 5px;
  padding: 5.5% 5.5% 5.5%;
  margin: 0 auto;
  width: 89.2%;
}

.p-co2__ttl {
  font-size: 3.784vw;
  text-align: center;
}

.p-co2__number {
  font-size: 10.8vw;
  line-height: 0.7;
  margin-top: 6.7%;
  position: relative;
}

.p-co2__number::before {
  background: url(/img/co2Icon.png) no-repeat center center/contain;
  content: "";
  height: 7.2vw;
  left: 6.8%;
  max-height: 44px;
  position: absolute;
  top: 10%;
  width: 10.6%;
}

.p-co2__number .--small {
  font-size: 5.4vw;
}

.p-co2__img {
  margin-top: 4%;
}

.p-co2__img img {
  display: block;
  width: 100%;
}

@media screen and (min-width: 521px) {
  .p-co2__ttl {
    font-size: 28px;
  }

  .p-co2__number {
    font-size: 80px;
  }

  .p-co2__number .--small {
    font-size: 40px;
  }
}

/*
-----------------------------------------------------------
 OrderSlide
----------------------------------------------------------- */
.p-OrderSlide {
  margin: 12.4% 0 0 0;
}

.p-OrderSlide.--third .p-OrderSlide__btn {
  margin-top: 17.4%;
  width: 78.4%;
}

/*
-----------------------------------------------------------
 What's products
----------------------------------------------------------- */
#p-WhatIsProducts {
  background: #005c2b;
  background: -moz-linear-gradient(left, #005c2b 0%, #00802d 100%);
  background: -webkit-linear-gradient(left, #005c2b 0%, #00802d 100%);
  background: linear-gradient(to right, #005c2b 0%, #00802d 100%);
}

.p-WhatIsProducts__inner {
  background: url(/img/texture.gif) repeat center center;
  background-size: 10rem auto;
  padding: 6rem 0 5rem;
}

/* p-WhatIsProducts__title
----------------------------------------------------------- */
.p-WhatIsProducts__title {
  text-align: center;
  color: #fff;
  margin-bottom: 2.5rem;
}

.p-WhatIsProducts__title>span {
  display: block;
}

.p-WhatIsProducts__title-text01 {
  margin-bottom: 0.4rem;
  line-height: 1.45;
}

.p-WhatIsProducts__title-text02 {
  font-family: var(--font-family02);
  font-weight: bold;
  font-size: 3rem;
  line-height: 1.3;
}

.p-WhatIsProducts__title-text02 span {
  font-size: 73%;
  padding: 0 0.2rem;
}

.p-WhatIsProducts__body {
  max-width: 575px;
  margin: 0 auto;
}

.p-WhatIsProducts__text {
  color: #fff;
  margin-bottom: 2rem;
}

.p-WhatIsProducts__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  flex-direction: row;
  align-items: stretch;
  gap: 1.2rem 0;
}

.p-WhatIsProducts__list li {
  overflow: hidden;
  background-color: #fff;
  border-radius: 0.6rem;
  width: calc((100% - 1.2rem) / 2);
}

.p-WhatIsProducts__list img {
  width: 100%;
}

.p-WhatIsProducts__list figcaption {
  font-size: 1.6rem;
  text-align: center;
  padding: 0.9rem 0.5rem 0.7rem;
  line-height: 1.4;
}

/* .plastic-free
----------------------------------------------------------- */
.plastic-free {
  background-color: #fff;
  width: 90%;
  margin: 3.56rem auto 0;
  padding: 1.7rem 0;
  border-radius: 0.6rem;
}

.plastic-free__text {
  font-family: var(--font-family02);
  text-align: center;
  font-weight: bold;
  color: #000;
  font-size: 1.85rem;
  line-height: 2;
}

.plastic-free span {
  display: inline-block;
  position: relative;
}

.plastic-free span::before {
  background: var(--color03);
  content: "";
  position: absolute;
  bottom: 4px;
  left: -2%;
  width: 104%;
  height: 0.2 0.13rem;
}

.plastic-free img {
  width: 100%;
  margin: 0.7rem 0 1.42rem;
}

.plastic-free__note {
  padding: 0px 1.42rem;
  font-size: 1rem;
  line-height: 1.45;
  margin-left: 1em;
  text-indent: -1em;
  color: #888;
}

/*
===========================================================
 voice
=========================================================== */
.p-pvoice__title {
  font-family: var(--font-family03);
  color: var(--color06);
  text-align: center;
  font-weight: bold;
  font-size: 3rem;
  line-height: 1.45;
  margin-bottom: 1rem;
}

.p-pvoice__list li {
  max-width: 525px;
  margin: auto;
}

.p-pvoice__list li+li {
  margin-top: 4rem;
}

.p-pvoice__list img {
  border-radius: 1rem 1rem 0 0;
  width: 100%;
  height: auto;
  aspect-ratio: 898/554;
  object-fit: cover;
  object-position: center center;
}

.p-pvoice__list h3 {
  font-size: 1.9rem;
  line-height: 1.45;
  font-weight: bold;
  line-height: 1;
  text-align: center;
  margin-bottom: 1.5rem;
}

.p-pvoice__list h3 span {
  display: block;
  font-size: 1.4rem;
  margin-bottom: 1rem;
}

.p-pvoice__list-wrap {
  background: #fff;
  border-radius: 0 0 1rem 1rem;
  padding: 3rem 2.5rem 2.5rem;
}

/*  */
.p-pvoice__text {
  position: relative;
}

.p-pvoice__text p {
  font-size: 1.4rem;
  display: -webkit-box;
  position: relative;
  margin-bottom: 0;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
  /* 開く前に見せたい行数を指定 */
}

.p-pvoice__text:has(:checked) p {
  display: block;
}

.p-pvoice__text p::after {
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 60px;
  background: linear-gradient(180deg, hsla(0, 0%, 100%, 0) 0, hsla(0, 0%, 100%, 0.9) 50%, hsla(0, 0%, 100%, 0.9) 0, #fff);
  content: "";
}

.p-pvoice__text:has(:checked) p::after {
  content: none;
}

.p-pvoice__text label {
  position: absolute;
  bottom: -1.4rem;
  left: 50%;
  transform: translateX(-50%);
  color: #9C8F87;
  text-decoration: underline;
  padding: 0.7rem 2rem;
  font-size: 1.3rem;
}

.p-pvoice__text:has(:checked) label {
  display: none;
}

.p-pvoice__text input {
  display: none;
}

/*
-----------------------------------------------------------
 Producer’s voice
----------------------------------------------------------- */
.p-CustomersVoice__inner,
#p-ProducersVoice {
  padding: 6rem 0;
}

#p-ProducersVoice {
  background: #856a2d url(/img/texture.gif) repeat center center;
  background-size: 10rem auto;
}

.p-ProducersVoice__title {
  font-family: var(--font-family02);
  font-weight: bold;
  text-align: center;
  color: #fff;
  font-size: 10vw;
  line-height: 1.25;
}

@media screen and (min-width: 521px) {
  .p-ProducersVoice__title {
    font-size: 60px;
  }
}

.p-ProducersVoice__title span::before,
.p-ProducersVoice__title span::after {
  content: none;
}

/*
-----------------------------------------------------------
voice components
----------------------------------------------------------- */
.c-Voice__list {
  margin: 2.5rem auto 0;
  max-width: 575px;
}

.c-Voice__list li {
  background-color: #fff;
  border-radius: 1.3rem;
  padding: 2.8rem 1.5rem 1.6rem;
}

.c-Voice__list--head {
  font-family: var(--font-family02);
  font-weight: bold;
  text-align: center;
  color: #5A472C;
  font-size: 1.9rem;
  line-height: 150%;
}

.c-Voice__list li img {
  margin-top: 1.2rem;
}

.c-Voice__list li p {
  text-align: left;
  margin-top: 1.2rem;
  line-height: 1.8;
}

/*
-----------------------------------------------------------
 Customer’s Voice
----------------------------------------------------------- */
.p-CustomersVoice__inner {
  background: #5A472C url(/img/texture.gif) repeat center center;
  background-size: 5rem auto;
}

#p-CustomersVoice h2 {
  font-family: var(--font-family02);
  font-weight: bold;
  text-align: center;
  color: #fff;
}

.p-CustomersVoice__title {
  color: #fff;
  font-size: 10vw;
  line-height: 1.25;
}

@media screen and (min-width: 521px) {
  .p-CustomersVoice__title {
    font-size: 60px;
  }
}

.p-CustomersVoice__title span::before,
.p-CustomersVoice__title span::after {
  content: none;
}

.p-CustomersVoice__title-text01 {
  display: block;
  font-size: 1.6rem;
  margin-bottom: 0.6rem;
}

.c-Voice__list .customer-name {
  text-align: right;
  margin-top: 1rem;
}

.c-Voice__list .customer-name a {
  letter-spacing: 0.05rem;
  color: #9C8F87;
  font-size: 1.1rem;
}

/* swiper */
.swiper {
  overflow: visible;
}

.swiper-horizontal>.swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal,
.swiper-pagination-custom,
.swiper-pagination-fraction {
  bottom: -7.6%;
}

.swiper-pagination-bullet {
  border-radius: 0;
  height: 4px;
  width: 9.1%;
}

.swiper-pagination-bullet-active {
  background-color: var(--color01);
}

/* feature */
.p-feature__ttl {
  font-size: 8.1vw;
  text-align: center;
  margin-top: 8.91vw;
}

.p-feature__list {
  padding-top: 1.62vw;
}

.p-feature__list li {
  border: var(--color01) solid 1px;
  border-radius: 5px;
  margin-top: 5.94vw;
  padding: 0 5.4vw 4.3vw;
}

.p-feature__list--number {
  margin: -3.24vw auto 0;
  width: 10.27vw;
}

.p-feature__list--number img,
.p-feature__list--icon img {
  width: 100%;
  min-height: auto;
}

.p-feature__list--icon {
  margin: 2.7vw auto 0;
}

.p-feature__list li:nth-of-type(1) .p-feature__list--icon {
  width: 15.94vw;
}

.p-feature__list li:nth-of-type(2) .p-feature__list--icon {
  width: 17.57vw;
}

.p-feature__list li:nth-of-type(3) .p-feature__list--icon {
  width: 13.78vw;
}

.p-feature__list li:nth-of-type(4) .p-feature__list--icon {
  width: 13.78vw;
}

.p-feature__list--ttl {
  font-size: 5.4vw;
  margin-top: 3.1vw;
  line-height: 1.4;
  color: var(--color01);
}

.p-feature__list--txt {
  text-align: left;
  font-size: 3.24vw;
  margin-top: 2.16vw;
  line-height: 1.6;
  letter-spacing: 0.02em;
}

.p-feature__orange {
  color: #ef780b;
}

h2 span.p-feature__orange::before,
h2 span.p-feature__orange::after {
  display: none;
}

@media screen and (min-width: 521px) {
  .p-feature__ttl {
    font-size: 60px;
    text-align: center;
    margin-top: 66px;
  }

  .p-feature__list {
    padding-top: 1.62vw;
  }

  .p-feature__list li {
    border: var(--color01) solid 2px;
    margin-top: 44px;
    padding: 0 40px 32px;
  }

  .p-feature__list--number {
    margin: -24px auto 0;
    width: 76px;
  }

  .p-feature__list--icon {
    margin: 20px auto 0;
  }

  .p-feature__list li:nth-of-type(1) .p-feature__list--icon {
    width: 118px;
  }

  .p-feature__list li:nth-of-type(2) .p-feature__list--icon {
    width: 130px;
  }

  .p-feature__list li:nth-of-type(3) .p-feature__list--icon {
    width: 102px;
  }

  .p-feature__list li:nth-of-type(4) .p-feature__list--icon {
    width: 102px;
  }

  .p-feature__list--ttl {
    font-size: 40px;
    margin-top: 20px;
  }

  .p-feature__list--txt {
    font-size: 24px;
    margin-top: 16px;
  }
}

/*
-----------------------------------------------------------
 .p-ugc
----------------------------------------------------------- */
.p-ugc {
  background: #ffdbde;
  background: -moz-linear-gradient(left, #ffdbde 10%, #ffa8ae 100%);
  background: -webkit-linear-gradient(left, #ffdbde 10, #ffa8ae 100%);
  background: linear-gradient(to bottom, #ffdbde 10%, #ffa8ae 100%);
}

.p-ugc__title {
  position: relative;
  text-align: center;
  font-weight: bold;
  color: #ee0015;
  background: #fff;
  padding: 5rem 1.5rem 0.8rem;
  margin-bottom: 4.5rem;
}

.p-ugc__title::after {
  content: "";
  position: absolute;
  background: #fff;
  -webkit-mask-image: url(/img/bg-triangle.svg);
  mask-image: url(/img/bg-triangle.svg);
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-size: contain;
  -webkit-mask-size: contain;
  mask-position: center top;
  -webkit-mask-position: center top;
  height: 5rem;
  top: calc(100% - 1px);
  left: 0;
  width: 100%;
  z-index: 0;
}

@media (min-width: 521px) {
  .p-ugc__title {
    margin-bottom: 77px;
  }

  .p-ugc__title::after {
    height: 77px;
  }
}

.p-ugc__title-icon {
  margin-bottom: 1.6rem;
}

.p-ugc__title-icon img {
  display: inline-block;
  width: 4.6rem;
}

.p-ugc__title span {
  display: block;
}

.p-ugc__title-text {
  font-family: var(--font-family02);
}

.p-ugc__title-text01 {
  font-size: 2.1rem;
  line-height: 1.35;
  letter-spacing: 0.05rem;
  margin-bottom: 0.7rem;
}

.p-ugc__title-text02 {
  font-weight: bold;
  font-size: 3.6rem;
  line-height: 1.2;
  letter-spacing: 0.2rem;
}

.p-ugc__list {
  padding: 1.8rem 0 6rem;
  margin-bottom: 0 !important;
}

.p-ugc__list:not(.slick-slider) {
  display: flex;
  overflow: auto;
}

.p-ugc__item {
  box-shadow: rgba(0, 0, 0, 0.1) 1px 1px 3px 0;
  position: relative;
  flex: none;
  background: #fff;
  border-radius: 1.3rem;
  width: 25.6rem;
  margin: 0 0.8rem;
}

.p-ugc__modal-open {
  padding: 1.1rem 1.1rem 0.2rem;
}

.p-ugc__modal-img img {
  border-radius: 0.4rem;
}

.p-ugc__modal-icon {
  display: flex;
  justify-content: space-between;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  margin: 0.8rem 0 0.8rem;
}

.p-ugc__modal-icon-left {
  display: flex;
  gap: 1rem;
}

.p-ugc__modal-icon-left img {
  width: 1.8rem;
}

.p-ugc__modal-icon-right {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.p-ugc__modal-icon-right img {
  width: 1.3rem;
}

.p-ugc__modal-account {
  display: flex;
  gap: 0.5rem;
  font-size: 1.2rem;
}

.p-ugc__modal-account-img {
  width: 1.5rem;
  display: flex;
  align-items: center;
}

.p-ugc__modal-txt1 {
  position: relative;
  margin-top: 0.3rem;
  line-height: 1.55;
  font-size: 1.2rem;
}

.p-ugc__modal-txt1::after {
  content: "";
  position: absolute;
  background: linear-gradient(rgba(255, 255, 255, 0), rgb(255, 255, 255));
  bottom: 0;
  width: 100%;
  height: 40%;
}

.p-ugc__modal-txt1 p {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.p-ugc__modal-next {
  text-align: center;
  z-index: 100;
}

.p-ugc__modal-next button {
  color: #9C8F87;
  text-decoration: underline;
  padding: 0.7rem 2rem;
  font-size: 1.3rem;
}

.p-ugc__modal-next button:hover {
  text-decoration: none;
}

.p-ugc .slick-prev,
.p-ugc .slick-next {
  text-align: center;
  width: auto;
  height: auto;
  z-index: 10;
  padding: 0.5rem;
}

.p-ugc .slick-prev::before,
.p-ugc .slick-next::before {
  display: inline-block;
  font-size: 3rem;
  line-height: 2.8rem;
  color: #525252;
}

.p-ugc .slick-prev {
  left: 2.4rem;
}

.p-ugc .slick-next {
  right: 2.4rem;
}

.p-ugc .slick-dots {
  bottom: 2rem;
}

.p-ugc .slick-dots li {
  margin: 0;
}

/*
-----------------------------------------------------------
 ugc-modal
----------------------------------------------------------- */
.ugc-modal a {
  text-decoration: none;
}

.ugc-modal__container {
  position: relative;
  width: calc(100% - 4rem);
  max-width: 500px;
}

.ugc-modal__close {
  display: none !important;
  position: absolute;
  background: transparent;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  border: 0;
  right: -0.6rem;
  top: -4.4rem;
  font-size: 2.7rem;
  vertical-align: top;
  width: 4.5rem;
  height: 4.4rem;
  color: #FFF;
}

.ugc-modal__close:before {
  content: "✕";
}

.ugc-modal__content {
  position: relative;
  background-color: #fff;
  padding: 0 0 1rem;
  border-radius: 1.3rem;
}

.p-ugc__modal-import {
  overflow-y: auto;
  max-height: 70vh;
  padding: 1.3rem 1.3rem 1rem;
}

.p-ugc__modal-txt2 {
  line-height: 1.55;
  margin-top: 0.7rem;
  word-wrap: break-word;
}

.ugc-modal__footer-close {
  text-align: center;
}

.ugc-modal__footer-close button {
  color: #9C8F87;
  text-decoration: underline;
  padding: 0.5rem;
}

.ugc-modal__footer-close button:hover {
  text-decoration: none;
}

/*
-----------------------------------------------------------
 p-plastic-free
----------------------------------------------------------- */
.p-plastic-free {
  padding: 6rem 0;
}

.p-plastic-free__title {
  font-family: var(--font-family02);
  color: var(--color01);
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: center;
  font-size: inherit;
  font-weight: bold;
  line-height: 1.45;
  margin-bottom: 2.5rem;
}

.p-plastic-free__title-text01 {
  font-feature-settings: "palt";
  font-size: 1.8rem;
  margin-bottom: 0.5rem;
  font-size: 2.4rem;
}

.p-plastic-free__title-text02 {
  background: var(--color01);
  font-weight: bold;
  color: #FFF;
  line-height: 1.3;
  font-size: 2.4rem;
  padding: 0.9rem 1.6rem 0.7rem;
  border-radius: 0.4rem;
}

.p-plastic-free__title-text03 {
  font-feature-settings: "palt";
  font-size: 1.7rem;
  margin-top: 0.7rem;
  font-size: 2rem;
}

.p-plastic-free__body {
  max-width: 500px;
  margin: 0 auto;
  padding: 0 2rem;
}

.p-plastic-free__top {
  margin-bottom: 2rem;
}

/* p-plastic-free__list
----------------------------------------------------------- */
.p-plastic-free__list-item {
  border: 0.1rem solid var(--color01);
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: stretch;
  overflow: hidden;
  background: #FFF;
  border-radius: 0.9rem;
}

.p-plastic-free__list-item:nth-of-type(even) {
  flex-direction: row-reverse;
}

.p-plastic-free__list-item+.p-plastic-free__list-item {
  margin-top: 1.2rem;
}

.p-plastic-free__list-item-image {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  height: 10.2rem;
}

.p-plastic-free__list-item-text {
  flex: 1;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: flex-start;
  padding: 1rem 0.5rem 1rem 1.4rem;
  font-size: 1.55rem;
  line-height: 1.55;
}

/* p-plastic-free__list-item01 */
.p-plastic-free__list-item01 .p-plastic-free__list-item-image {
  background: #f4f4f4;
  width: 15.4rem;
}

.p-plastic-free__list-item01 .p-plastic-free__list-item-image img {
  width: 12.7rem;
}

/* p-plastic-free__list-item02 */
.p-plastic-free__list-item02 .p-plastic-free__list-item-image {
  width: 11.5rem;
}

.p-plastic-free__list-item02 .p-plastic-free__list-item-image img {
  width: 10.9rem;
}

/* p-plastic-free__list-item03 */
.p-plastic-free__list-item03 .p-plastic-free__list-item-image {
  background: #f4f4f4;
  width: 12.6rem;
}

.p-plastic-free__list-item03 .p-plastic-free__list-item-image img {
  width: 4.6rem;
}

/* p-plastic-free__list-item04 */
.p-plastic-free__list-item04 .p-plastic-free__list-item-image img {
  height: 100%;
}

/* p-plastic-free__list-item05 */
.p-plastic-free__list-item05 .p-plastic-free__list-item-image img {
  height: 100%;
}

/* p-plastic-free__note
----------------------------------------------------------- */
.p-plastic-free__note {
  font-size: 1.2rem;
  line-height: 1.55;
  margin-left: 1em;
  text-indent: -1em;
  color: #888;
  margin-top: 1.5rem;
}

/*
-----------------------------------------------------------
 pickup
----------------------------------------------------------- */
.p-pickup {
  padding: 6rem 0;
  background-image: url(/img/texture-gray.png);
  background-size: 150px auto;
  background-repeat: repeat;
  background-position: center center;
  background-color: rgba(255, 234, 177, 0.65);
}

.p-pickup__title {
  font-family: var(--font-family02);
  color: var(--color06);
  font-weight: bold;
  text-align: center;
  line-height: 1.45;
  margin-bottom: 2.5rem;
  font-size: 3.3rem;
}

.p-pickup__body {
  margin: 0 auto;
  max-width: 525px;
  width: calc(100% - 4rem);
}

.p-pickup__item+.p-pickup__item {
  margin-top: 4rem;
}

.p-pickup__item .discount-msg {
  font-family: var(--font-family02);
  text-align: center;
  font-weight: bold;
  font-size: 1.85rem;
  letter-spacing: 0.1em;
  line-height: 1.3;
}

.pickup-box {
  border: 0.2rem solid var(--color03);
  position: relative;
  background-color: #fff;
  border-radius: 0.8rem;
  margin-top: 3.5rem;
}

.p-pickup .pickup-box h3 {
  font-family: var(--font-family02);
  background: var(--color03);
  position: absolute;
  font-weight: bold;
  text-align: center;
  white-space: nowrap;
  color: #FFF;
  line-height: 1.25;
  font-size: 2.2rem;
  top: 0;
  left: 50%;
  transform: translate(-50%, -51%);
  padding: 0.8rem 3.8rem;
  border-radius: 100px;
  min-width: 20rem;
}

.pickup-box h4 {
  font-weight: bold;
  margin: 0px 0 1.1rem;
  font-size: 1.6rem;
  line-height: 1.4;
}

.pickup-box .inner {
  display: flex;
  align-items: center;
  flex-direction: column;
  padding: 3.7rem 1rem 1.7rem;
}

.pickup-box ul {
  list-style-type: disc;
  padding-left: 1.5em;
}

.pickup-box li {
  font-size: 1.42rem;
  margin-bottom: 0.42rem;
  line-height: 1.4;
}

.pickup-box li .em {
  color: #ea1010;
  font-weight: bold;
}

.btn-item-link {
  background: #fc5400;
  background: -moz-linear-gradient(left, #fc5400 0%, #ff861c 100%);
  background: -webkit-linear-gradient(left, #fc5400 0%, #ff861c 100%);
  background: linear-gradient(to right, #fc5400 0%, #ff861c 100%);
  font-weight: normal;
  border-radius: 5px;
  color: #fff;
  margin: 3% auto 0;
  padding: 3% 10%;
  text-align: center;
  width: 85%;
  font-size: 1.9rem;
  position: relative;
}

.btn-item-link::before {
  content: "";
  position: absolute;
  width: 1.92rem;
  height: 100%;
  top: 0;
  right: 1.28rem;
  background: url(/img/icon-arrow.svg) no-repeat center center;
  background-size: contain;
}

/*
-----------------------------------------------------------
 item-lineup
----------------------------------------------------------- */
.p-lineup {
  margin-top: 7rem;
  padding: 0 2rem;
}

.p-lineup__title {
  font-family: var(--font-family02);
  color: var(--color06);
  font-weight: bold;
  text-align: center;
  line-height: 1.45;
  margin-bottom: 2.5rem;
  font-size: 3.3rem;
}

.p-lineup__item~.p-lineup__item {
  margin-top: 6rem;
}

.p-lineup__message {
  font-family: var(--font-family02);
  color: var(--color03);
  font-weight: bold;
  font-size: 1.3em;
  margin-bottom: 0.7rem;
  text-align: center;
}

.p-order-trial {
  background: #fc5400;
  background: -moz-linear-gradient(left, #fc5400 0%, #ff861c 100%);
  background: -webkit-linear-gradient(left, #fc5400 0%, #ff861c 100%);
  background: linear-gradient(to right, #fc5400 0%, #ff861c 100%);
  box-shadow: rgba(0, 0, 0, 0.1) 1px 1px 3px 0;
  text-align: center;
  margin: 0 auto;
  border-radius: 1rem;
  padding: 1.8rem 0.2rem 0.2rem;
  max-width: 525px;
}

.p-order-trial__head {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: center;
  font-weight: bold;
  color: #FFF;
  font-size: 3.56rem;
  line-height: 1.25;
  margin-bottom: 0.57rem;
}

.p-order-trial__head-text01 {
  color: var(--color02);
  background: #FFF;
  display: inline-block;
  font-size: 40%;
  margin-bottom: 6px;
  border-radius: 100px;
  padding: 1.3% 6%;
}

.p-order-trial__head-text02 {
  font-family: var(--font-family02);
  display: block;
}

.p-order-trial__inner {
  background: #FFF;
  border-radius: 0.8rem;
  padding: 0.57rem 0.85rem 1.42rem;
}

.p-order-trial__img img {
  margin: 1rem auto;
  width: 82%;
  max-width: 393px;
}

.p-order-trial__txt {
  line-height: 1.6;
  margin-bottom: 1.42rem;
}

.p-order-trial__txt-em {
  font-weight: bold;
  color: #ea1010;
}

.p-order-trial .discount-msg {
  color: #ea1010;
  font-weight: bold;
  font-size: 1.28em;
}

.p-order-trial__price {
  color: var(--color03);
  line-height: 1.3;
  margin-top: 0.28rem;
}

.p-order-trial__price01 {
  font-size: 2.28rem;
}

.p-order-trial__price-number {
  line-height: 1;
  font-size: 194%;
  letter-spacing: 0;
  font-weight: bold;
}

.p-order-trial__price-yen {
  font-weight: bold;
}

.p-order-trial__price02 {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  margin-top: 0.4rem;
  gap: 0.7rem;
  color: #666;
  font-size: 1.2rem;
}

.p-order-trial__price-tax {
  background: var(--color03);
  color: #FFF;
  padding: 0.42rem 1.28rem;
  font-size: 1.28rem;
  font-weight: bold;
}

.p-order-trial__button {
  margin-top: 1.42rem;
}

.p-order-trial__button a {
  background: #fc5400;
  background: -moz-linear-gradient(left, #fc5400 0%, #ff861c 100%);
  background: -webkit-linear-gradient(left, #fc5400 0%, #ff861c 100%);
  background: linear-gradient(to right, #fc5400 0%, #ff861c 100%);
  box-shadow: rgba(0, 0, 0, 0.1) 1px 1px 3px 0;
  position: relative;
  display: block;
  text-decoration: none;
  text-align: center;
  font-weight: normal;
  color: #fff;
  margin: 0 auto;
  padding: 1.4rem 0;
  width: 89%;
  line-height: 1.35;
  max-width: 450px;
  font-weight: bold;
  border-radius: 0.8rem;
  font-size: 1.9rem;
}

.p-order-trial__button a::before {
  content: "";
  position: absolute;
  width: 2.3rem;
  height: 100%;
  top: 0;
  right: 1rem;
  background: url(/img/icon-arrow.svg) no-repeat center center;
  background-size: contain;
}

.p-order-trial__caution {
  display: inline-block;
  text-align: left;
  font-size: 1.14rem;
  margin-top: 1rem;
  line-height: 1.5;
}

/*
-----------------------------------------------------------
 p-crowdfunding
----------------------------------------------------------- */
.p-crowdfunding {
  max-width: 580px;
  margin: 8rem auto 0;
}

/*
-----------------------------------------------------------
 Massage
----------------------------------------------------------- */
#p-Massage {
  padding: 7.5rem 2rem;
}

.p-Massage__title01,
.p-Massage__title02 {
  color: var(--color01);
}

.p-Massage__title01 {
  text-align: center;
  font-size: 1.7rem;
  line-height: 1.25;
}

.p-Massage__title01 span::before,
.p-Massage__title01 span::after {
  content: none;
}

.p-Massage__title02 {
  font-family: var(--font-family03);
  text-align: center;
  font-weight: bold;
  font-size: 3.8rem;
  line-height: 1.25;
  margin-top: 0.8rem;
}

.p-Massage__txt--name {
  text-align: center;
  font-weight: bold;
  margin-top: 1.5rem;
  line-height: 1.6;
  font-size: 1.3rem;
}

.p-Massage__body {
  background-color: #fff;
  border-radius: 0.6rem;
  padding: 1.8rem 1.5rem;
  margin-top: 1.5rem;
}

.p-Massage__txt--massage {
  text-align: left;
  line-height: 1.8;
}

.p-Massage__img {
  margin: 7.6% 0 0 0;
  width: 100%;
}

.p-Massage-sns {
  margin: 6% 0 0 0;
}

/*
-----------------------------------------------------------
 p-global-announcement
----------------------------------------------------------- */
.p-global-announcement {
  padding: 0 2rem;
  margin-bottom: -2.13rem;
}

/*
-----------------------------------------------------------
 banner-corporate
----------------------------------------------------------- */
.banner-corporate {
  padding: 0 2rem;
  margin-top: 5.5rem;
}

.banner-corporate a {
  box-shadow: rgba(0, 0, 0, 0.1) 1px 1px 3px 0;
  display: block;
  text-align: center;
  overflow: hidden;
  margin: 0 auto;
  background: #FFF;
  border: 0.2rem solid;
  border-radius: 0.7rem;
  line-height: 1.3;
  max-width: 525px;
}

.banner-corporate__text01 {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  color: #FFF;
  background: #403934;
  gap: 0.5rem;
  font-size: 1.35rem;
  padding: 1rem 1rem 1rem;
  border-radius: 0.3rem 0.3rem 0 0;
}

.banner-corporate__text01 img {
  width: 1.8rem;
  margin-top: -0.2rem;
}

.banner-corporate__text02 {
  font-family: var(--font-family02);
  position: relative;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  font-weight: bold;
  font-size: 2.2rem;
  padding: 2.5rem 3% 2.3rem 17%;
  background: url(/img/what-img-deliver.png) no-repeat -6% 1rem;
  background-size: 27% auto;
}

.banner-corporate__text02::after {
  background: var(--color02);
  content: "";
  -webkit-mask-image: url(/img/icon-arrow01.svg);
  mask-image: url(/img/icon-arrow01.svg);
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-size: contain;
  -webkit-mask-size: contain;
  width: 2.4rem;
  height: 2.4rem;
  margin-bottom: 0.2rem;
  margin-left: 0.2rem;
}

/*
-----------------------------------------------------------
 banner-fruit
----------------------------------------------------------- */
.banner-fruit {
  padding: 0 2rem;
  margin: 4.5rem 0;
}

#item-lineup .banner-fruit {
  padding: 0;
}

.banner-fruit .banner-fruit__main {
  font-family: var(--font-family02);
  display: block;
  background: #FFF;
  text-align: center;
  border: 0.1rem solid #BBB;
  border-radius: 0.7rem;
  line-height: 1.3;
  max-width: 525px;
  margin: 0 auto;
  overflow: hidden;
  padding-bottom: 1.5rem;
}

.banner-fruit__text01 {
  background: #fc5400;
  background: -moz-linear-gradient(left, #fc5400 0%, #ff861c 100%);
  background: -webkit-linear-gradient(left, #fc5400 0%, #ff861c 100%);
  background: linear-gradient(to right, #fc5400 0%, #ff861c 100%);
  font-weight: bold;
  text-align: center;
  color: #FFF;
  font-size: 1.45rem;
  padding: 1.2rem 1rem 0.5rem;
}

.banner-fruit__text01 span {
  display: block;
}

.banner-fruit__text01-main {
  font-size: 2.5rem;
  margin-top: 0.3rem;
}

.banner-fruit__text02 {
  position: relative;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  font-weight: bold;
  font-size: 2.2rem;
  padding: 1.5rem;
}

.banner-fruit__text02::after {
  background: var(--color02);
  content: "";
  -webkit-mask-image: url(/img/icon-arrow01.svg);
  mask-image: url(/img/icon-arrow01.svg);
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-size: contain;
  -webkit-mask-size: contain;
  width: 2rem;
  height: 2rem;
  margin-bottom: 0.1rem;
  margin-left: 0.2rem;
}

.banner-fruit__discount {
  color: #cc1a1a;
  position: relative;
  display: inline-block;
  font-weight: bold;
  font-size: 1.5rem;
  padding: 0 0.8rem 0.3rem;
  letter-spacing: 0.1em;
  margin-bottom: 0.8rem;
  border-bottom: 0.2rem solid;
  margin-top: 1.4rem;
}

.banner-fruit__discount::before {
  border-color: var(--color03) transparent transparent transparent;
  content: "";
  position: absolute;
  border-style: solid;
  border-width: 0.8rem 1.1rem 0 1.1rem;
  width: 0;
  height: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  top: 100%;
}

.banner-fruit__discount::after {
  border-color: #FFF transparent transparent transparent;
  content: "";
  position: absolute;
  border-style: solid;
  border-width: 0.8rem 1.1rem 0 1.1rem;
  width: 0;
  height: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  top: calc(100% - 0.2rem);
}

.banner-fruit__discount span {
  font-family: var(--font-family02);
  font-size: 158%;
  padding: 0 0.2rem;
  vertical-align: -0.2rem;
  letter-spacing: 0;
  line-height: 1;
}

.banner-fruit__price01 {
  color: #cc1a1a;
  line-height: 1.2;
}

.banner-fruit__price-number {
  font-weight: bold;
  font-size: 3.8rem;
}

.banner-fruit__price-yen {
  font-weight: bold;
  font-size: 2rem;
}

.banner-fruit__button {
  margin-top: 0.7rem;
}

.banner-fruit__button a {
  background: #fc5400;
  background: -moz-linear-gradient(left, #fc5400 0%, #ff861c 100%);
  background: -webkit-linear-gradient(left, #fc5400 0%, #ff861c 100%);
  background: linear-gradient(to right, #fc5400 0%, #ff861c 100%);
  font-family: var(--font-family02);
  box-shadow: rgba(0, 0, 0, 0.1) 1px 1px 3px 0;
  position: relative;
  display: block;
  text-decoration: none;
  text-align: center;
  font-weight: bold;
  border-radius: 5px;
  color: #fff;
  margin: 0 auto;
  padding: 1.1rem 1rem 1.1rem 0;
  width: 85%;
  line-height: 1.35;
  font-size: 1.9rem;
}

.banner-fruit__button a::before {
  content: "";
  position: absolute;
  height: 100%;
  top: 0;
  background: url(/img/icon-arrow.svg) no-repeat center center;
  background-size: contain;
  width: 2rem;
  right: 1rem;
}

/*
-----------------------------------------------------------
  p-announcement
----------------------------------------------------------- */
.p-announcement {
  margin: 3rem 0;
}

.p-announcement__inner {
  max-width: 525px;
  margin: 0 auto;
  background: #FFF;
  border-radius: 1.3rem;
  overflow: hidden;
}

.p-announcement__heading {
  font-family: var(--font-family02);
  background: var(--color06) url(/img/texture.gif) repeat center center;
  background-size: 10rem auto;
  text-align: center;
  font-weight: bold;
  line-height: 1.45;
  font-size: 1.6rem;
  color: #FFF;
  padding: 0.6rem 1.8rem 0.4rem;
}

.p-announcement ul {
  padding: 1.1rem 1.8rem 1.4rem;
}

.p-announcement ul li {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 0.3rem 1rem;
  line-height: 1.3;
}

@media screen and (max-width: 520px) {
  .p-announcement ul li {
    flex-direction: column;
  }
}

.p-announcement ul li+li {
  margin-top: 1.7rem;
}

.p-announcement__date {
  color: var(--color-text-sub);
  letter-spacing: 0;
  font-size: 90%;
  line-height: 1.45;
  padding-top: 0.08rem;
}

.p-announcement__title {
  text-decoration: underline;
}

.p-announcement__title:hover {
  text-decoration: none;
}

/* --------------------------------------------------------
-----------------------------------------------------------
 p-contact-button
-----------------------------------------------------------
----------------------------------------------------------- */
.p-contact-button {
  margin-top: 3rem;
}

/* --------------------------------------------------------
-----------------------------------------------------------
 p-item
-----------------------------------------------------------
----------------------------------------------------------- */
.p-item {
  background: #fc5400;
  background: -moz-linear-gradient(left, #fc5400 0%, #ff861c 100%);
  background: -webkit-linear-gradient(left, #fc5400 0%, #ff861c 100%);
  background: linear-gradient(to right, #fc5400 0%, #ff861c 100%);
}

.p-item__inner {
  background: url(/img/texture.gif) repeat center center;
  background-size: 15rem auto;
  padding: 6rem 0 5rem;
}

.p-item__title {
  text-align: center;
  color: #FFF;
  line-height: 1.4;
  margin-bottom: 3rem;
}

.p-item__title-text01 {
  display: inline-block;
  position: relative;
  margin-bottom: 0.7rem;
  padding: 0 0.85rem;
}

.p-item__title-text01::before,
.p-item__title-text01::after {
  content: "";
  position: absolute;
  background: #FFF;
  height: 1px;
  width: 5rem;
  top: 0;
  bottom: 0;
  margin: auto 0;
  border-radius: 1px;
}

.p-item__title-text01::before {
  right: 100%;
}

.p-item__title-text01::after {
  left: 100%;
}

.p-item__title-text02 {
  font-family: var(--font-family02);
  font-weight: bold;
  display: block;
  font-size: 3.4rem;
}

.p-item__body {
  max-width: 575px;
  margin: 0 auto;
}

/*
-----------------------------------------------------------
 p-item-area
----------------------------------------------------------- */
.p-item-area+.p-item-area {
  margin-top: 4.5rem;
}

.p-item-area__message {
  font-family: var(--font-family02);
  color: #FFF;
  font-weight: bold;
  font-size: 2.2rem;
  margin-bottom: 0.7rem;
  text-align: center;
  line-height: 1.45;
}

.p-item-area__inner {
  box-shadow: rgba(0, 0, 0, 0.1) 1px 1px 3px 0;
  display: block;
  text-align: center;
  overflow: hidden;
  background-color: #fff;
  border-radius: 1.3rem;
  padding: 2.3rem 1.5rem 1.5rem;
}

.p-item-area__top {
  margin-bottom: 1.5rem;
}

.p-item-area__img {
  position: relative;
  margin-bottom: 1rem;
}

.p-item-area__img-img {
  position: relative;
  left: 50%;
  width: 25.8rem;
}

.p-item-area.--subscription .p-item-area__img-img,
.p-item-area.--subscription02 .p-item-area__img-img {
  transform: translate(calc(-50% - 1rem), 0);
}

.p-item-area.--onetime .p-item-area__img-img {
  transform: translate(calc(-50% + 1rem), 0);
}

.p-item-area__img-label {
  color: #FFF;
  position: absolute;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  font-weight: bold;
  border-radius: 50%;
  z-index: 10;
  line-height: 1.4;
  border: 0.3rem solid;
  bottom: 0;
  width: 8rem;
  height: 8rem;
  padding-top: 0.5rem;
  font-size: 1.5rem;
}

.p-item-area.--subscription .p-item-area__img-label {
  background: var(--color02);
  left: calc(50% + 5.5rem);
}

.p-item-area.--subscription02 .p-item-area__img-label {
  background: var(--color02);
  left: calc(50% + 5.5rem);
  font-size: 1.7rem;
  padding-top: 0;
  line-height: 1.3;
}

.p-item-area.--onetime .p-item-area__img-label {
  color: var(--color02);
  background: #FFF;
  left: calc(50% - 13.5rem);
}

.p-item-area__title {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  line-height: 1.45;
  padding-top: 0.5rem;
}

.p-item-area__title-text01 {
  font-size: 1.7rem;
}

.p-item-area__title-text02 {
  font-family: var(--font-family02);
  line-height: 1.2;
  font-size: 3.8rem;
}

.p-item-area__price-discount {
  font-family: var(--font-family02);
  background: var(--color06);
  position: relative;
  display: inline-block;
  font-weight: bold;
  color: #FFF;
  font-size: 1.6rem;
  padding: 0.3rem 1.7rem;
  margin-bottom: 0.8rem;
  border-radius: 100px;
}

.p-item-area__price-discount::before {
  border-color: var(--color06) transparent transparent transparent;
  content: "";
  position: absolute;
  border-style: solid;
  border-width: 0.8rem 1.1rem 0 1.1rem;
  width: 0;
  height: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  top: calc(100% - 0.2rem);
}

.p-item-area__price-discount span {
  font-family: var(--font-family01);
  font-size: 188%;
  padding: 0 0rem 0 0.2rem;
  vertical-align: -0.3rem;
  letter-spacing: 0.2rem;
  line-height: 1;
}

.p-item-area__price-main {
  font-size: 1.7rem;
  line-height: 1.2;
}

.p-item-area__price-main-text01 {
  font-weight: bold;
}

.p-item-area__price-main-text02 {
  font-size: 173%;
  font-weight: bold;
  letter-spacing: 0.05rem;
  padding-right: 0.1rem;
}

.p-item-area__price-main-text03 {
  font-size: 93%;
}

.p-item-area__note {
  color: var(--color-text-sub);
  line-height: 1.45;
  font-size: 1.2rem;
  margin-top: 1.1rem;
}

.p-item-area__more {
  background: #077542;
  background: -moz-linear-gradient(left, #077542 0%, #018c1d 100%);
  background: -webkit-linear-gradient(left, #077542 0%, #018c1d 100%);
  background: linear-gradient(to right, #077542 0%, #018c1d 100%);
  display: flex;
  flex-direction: row;
  align-items: stretch;
  justify-content: center;
  flex-wrap: nowrap;
  font-weight: bold;
  color: #FFF;
  border-radius: 0.6rem;
  padding: 0.8rem 1rem;
  margin-top: 0.9rem;
  gap: 0.5rem;
  font-size: 1.6rem;
}

.p-item-area__more::after {
  content: "";
  display: block;
  background: url(/img/icon-arrow.svg) no-repeat center center;
  background-size: contain;
  width: 1.8rem;
}


/* --------------------------------------------------------
-----------------------------------------------------------
 p-pack-fruit-top
-----------------------------------------------------------
----------------------------------------------------------- */
.p-pack-fruit-top {
  margin-top: 4.5rem;
}

.p-pack-fruit-top__message {
  font-family: var(--font-family02);
  font-weight: bold;
  color: #fff;
  margin-bottom: 0.7rem;
  line-height: 1.45;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.p-pack-fruit-top__message-sub {
  font-size: 2rem;
}

.p-pack-fruit-top__message-main {
  font-size: 2.2rem;
}

@media (max-width: 520px) {
  .p-pack-fruit-top__message-sub {
    font-size: 1.8rem;
  }

  .p-pack-fruit-top__message-main {
    font-size: 2rem;
  }
}