@charset "utf-8";

/* スタイルシート
作成者：Hatomi Inc.
作成日：R8.3.24
-------------------------------------------------------------------------------------*/

/* =========================================================
  Responsive BR
========================================================= */

/* デフォルト無効 */
.br-701-800,
.br-801-900,
.br-901-1000{
  display:none;
}

/* 701〜800 */
@media (min-width:701px) and (max-width:800px){
  .br-701-800{
    display:inline;
  }
}

/* 801〜900 */
@media (min-width:801px) and (max-width:900px){
  .br-801-900{
    display:inline;
  }
}

/* 901〜1000 */
@media (min-width:801px) and (max-width:900px){
  .br-901-1000{
    display:inline;
  }
}

/* br-smallview */
@media (max-width:1000px){
  .br-smallview{
    display:none;
  }
}

/* br-smallview-btn */
.br-smallview-btn{
  display:none;
}

@media (min-width:551px) and (max-width:1000px) {
  .br-smallview-btn{
    display:inline;
  }
}



/* =========================================================
  Section Title
========================================================= */

.sectionTitle{
  margin: 0 0 2.5rem;
}
@media (max-width: 700px){
  .sectionTitle{
    margin: 0 0 2rem;
  }
}
@media (max-width: 480px){
  .sectionTitle{
    margin: 0 0 1.5rem;
  }
}

.sectionTitle__head{
  margin: 0;
  padding: 1.4rem 1rem;
  background: #DDE9D3;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
@media (max-width: 700px){
  .sectionTitle__head{
    padding: 1.3rem 1rem;
    gap: 1rem;
  }
}
/*
@media (max-width: 500px){
  .sectionTitle__head{
    align-items: flex-start;
    flex-direction: column;
  }
}
*/
@media (max-width: 480px){
  .sectionTitle__head{
    padding: 1.3rem 1rem;
  }
}

.sectionTitle__ja{
  position: relative;
  display: inline-block;
  padding-left: 1.125rem;
  color: #000;
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1.4;
	 white-space: nowrap;
}
@media (max-width: 700px){
  .sectionTitle__ja{
    font-size: 1.3rem;
    padding-left: 1rem;
  }
}
@media (max-width: 480px){
  .sectionTitle__ja{
    font-size: 1rem;
    padding-left: 0.875rem;
  }
}

.sectionTitle__ja::before{
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 0.3125rem;
  height: 1.875rem;
  background: #7AC943;
  transform: translateY(-50%);
}
@media (max-width: 700px){
  .sectionTitle__ja::before{
    height: 1.625rem;
  }
}
@media (max-width: 480px){
  .sectionTitle__ja::before{
    width: 0.25rem;
    height: 1.25rem;
  }
}

.sectionTitle__en{
  flex: 0 0 auto;
  color: #7AC943;
  font-size: .9rem;
  font-weight: 700;
  line-height: 1.4;
  font-style: italic;
  white-space: nowrap;
}
@media (max-width: 700px){
  .sectionTitle__en{
    font-size: .8rem;
    white-space: normal;
    align-self: flex-end;
  }
}
@media (max-width: 480px){
  .sectionTitle__en{
    font-size: 0.6rem;
  }
}

.sectionTitle__note{
  display: inline-block;
  margin-left: 0.5em;
  font-size: 0.6em;
  font-weight: 700;
  line-height: 1.4;
  vertical-align: baseline;
}
@media (max-width: 700px){
  .sectionTitle__note{
    font-size: 0.62em;
  }
}
@media (max-width: 480px){
  .sectionTitle__note{
    margin-left: 0.4em;
    font-size: 0.68em;
  }
}
/* =========================================================
  Section Box Title
========================================================= */

.sectionBoxTitle{
  display: flex;
  align-items: center;
  gap: 0.6rem;
  margin: 0 0 1rem;
}
@media (max-width: 700px){
  .sectionBoxTitle{
    margin-bottom: 1rem;
  }
}
@media (max-width: 480px){
  .sectionBoxTitle{
    margin-bottom: 1rem;
  }
}

.sectionBoxTitle__icon{
  flex: 0 0 auto;
  width: 0.9rem;
  height: 0.9rem;
  background: #79BE49;
}
@media (max-width: 480px){
  .sectionBoxTitle__icon{
    width: 0.75rem;
    height: 0.75rem;
  }
}

.sectionBoxTitle__text{
  font-size: 1.15rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.02em;
}
@media (max-width: 700px){
  .sectionBoxTitle__text{
    font-size: 1.1rem;
  }
}
@media (max-width: 480px){
  .sectionBoxTitle__text{
    font-size: 1.05rem;
  }
}


/* =========================================================
  Pill Arrow Button
========================================================= */

.pillArrowBtn{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;

  width: 17rem;
  min-height: 3.75rem;

  padding: 0.9rem 2.8rem 0.9rem 1.6rem;

  background: #F4EBE2;
  border-radius: 999px;
  text-decoration: none;

  transition: opacity .25s ease;
}

@media (max-width: 700px){
  .pillArrowBtn{
    min-height: 3.25rem;
    padding: 0.75rem 2.6rem 0.75rem 1.25rem;
  }
}

@media (max-width: 480px){
  .pillArrowBtn{
    width: 100%;
  }
}


/* テキスト */

.pillArrowBtn__text{
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}

@media (max-width: 700px){
  .pillArrowBtn__text{
    font-size: 1rem;
  }
}

@media (max-width: 480px){
  .pillArrowBtn__text{
    font-size: .9rem;
  }
}


/* 矢印 */

.pillArrowBtn__icon{
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);

  width: 1.4rem;
  height: 1.4rem;

  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;

  transition: transform .25s ease;

  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 26'%3E%3Ccircle cx='13' cy='13' r='12.5' fill='%23fff' stroke='%2379be49'/%3E%3Cline x1='7.4' y1='13' x2='17.9' y2='13' stroke='%2379be49' stroke-width='1.5' stroke-linecap='round'/%3E%3Cline x1='18.6' y1='13' x2='14.7' y2='16.9' stroke='%2379be49' stroke-width='1.5' stroke-linecap='round'/%3E%3Cline x1='14.7' y1='9.1' x2='18.6' y2='13' stroke='%2379be49' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
}

@media (max-width: 700px){
  .pillArrowBtn__icon{
    width: 1.25rem;
    height: 1.25rem;
  }
}

@media (max-width: 480px){
  .pillArrowBtn__icon{
    width: 1.125rem;
    height: 1.125rem;
  }
}


.pillArrowBtn:hover .pillArrowBtn__icon{
  transform: translate(3px,-50%);
}



/* =========================================================
  PRP HERO
========================================================= */

.prpHero{
  overflow: hidden;
  background: #fff;
}

.prpHero__inner{
  position: relative;
}

.prpHero__content{
  position: relative;
  z-index: 2;
  width: min(100%, 31rem);
  padding: 2.2rem 0 2.2rem;
}
@media (max-width: 700px){
  .prpHero__content{
    width: 100%;
    padding: 1.7rem 0 1.2rem;
  }
}
@media (max-width: 480px){
  .prpHero__content{
    padding: 1.4rem 0 1rem;
  }
}

.prpHero__image{
  position: absolute;
  top: 0;
  right: -2rem;
  bottom: 0;
  width: min(40%, 28rem);
  overflow: hidden;
  z-index: 1;
  pointer-events: none;
}
@media (max-width: 700px){
  .prpHero__image{
    width: 55%;
  }
}
@media (max-width: 480px){
  .prpHero__image{
    width: 65%;
  }
}

.prpHero__image::before{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 5rem;
  height: 100%;
  z-index: 2;
  background: linear-gradient(to right, #fff 0%, rgba(255,255,255,0) 100%);
}
@media (max-width: 700px){
  .prpHero__image::before{
    width: 3rem;
  }
}
@media (max-width: 480px){
  .prpHero__image::before{
    width: 2.5rem;
  }
}

.prpHero__image::after{
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 0;
  height: 100%;
  z-index: 2;
}
@media (min-width: 1200px){
  .prpHero__image::after{
    width: 5rem;
    background: linear-gradient(to right, rgba(255,255,255,0) 0%, #fff 100%);
  }
}

.prpHero__image img{
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  width: auto;
  max-width: none;
}

/* =========================================================
  PRP HERO
========================================================= */

.prpHero{
  overflow: hidden;
  background: #fff;
}

.prpHero__inner{
  position: relative;
}

.prpHero__content{
  position: relative;
  z-index: 2;
  /*width: min(100%, 31rem);*/
	 width: 100%;
}
@media (min-width: 1201px){
  .prpHero__content{
    padding: 6rem 0 6rem;
  }
}
@media (max-width: 1200px){
  .prpHero__content{
    padding: 6rem 0 6rem;
  }
}
@media (max-width: 700px){
  .prpHero__content{
    padding: 2.5rem 0 2.5rem;
  }
}
@media (max-width: 480px){
  .prpHero__content{
    padding: 3rem 0 3rem;
  }
}

.prpHero__image{
  position: absolute;
  top: 0;
  right: -2rem;
  bottom: 0;
  width: min(40%, 28rem);
  overflow: hidden;
  z-index: 1;
  pointer-events: none;
}
@media (max-width: 700px){
  .prpHero__image{
    width: 55%;
  }
}
@media (max-width: 480px){
  .prpHero__image{
    width: 65%;
  }
}

.prpHero__image::before{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 5rem;
  height: 100%;
  z-index: 2;
  background: linear-gradient(to right, #fff 0%, rgba(255,255,255,0) 100%);
}
@media (max-width: 700px){
  .prpHero__image::before{
    width: 3rem;
  }
}
@media (max-width: 480px){
  .prpHero__image::before{
    width: 2.5rem;
  }
}

.prpHero__image::after{
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 0;
  height: 100%;
  z-index: 2;
}
@media (min-width: 1200px){
  .prpHero__image::after{
    width: 5rem;
    background: linear-gradient(to right, rgba(255,255,255,0) 0%, #fff 100%);
  }
}

.prpHero__image img{
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  width: auto;
  max-width: none;
}

/* =========================================================
  prpHero__lead
========================================================= */

.prpHero__lead{
  margin: 0;
  color: #000;
  font-family: "Yu Mincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "MS PMincho", serif;
  line-height: 1;
}

.prpHero__leadTop{
  display: flex;
  align-items: flex-end;
  gap: 0.5em;
  margin-bottom: 1.05rem;
}
@media (max-width: 700px){
  .prpHero__leadTop{
    margin-bottom: 0.85rem;
			 gap: 0.3em;
  }
}
@media (max-width: 480px){
  .prpHero__leadTop{
    margin-bottom: 0.65rem;
  }
}

.prpHero__leadTopText{
  display: inline-block;
  font-size: clamp(2.3rem, 1.0rem + 2vw, 3.8rem);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0;
}
@media (max-width: 700px){
  .prpHero__leadTopText{
    font-size: clamp(1.8rem, 1.2rem + 1.6vw, 2.8rem);
  }
}
@media (max-width: 480px){
  .prpHero__leadTopText{
    font-size: 1.9rem;
  }
}

.prpHero__leadTopText--sm{
  font-size: clamp(1.6rem, 1.1rem + 1.1vw, 2.5rem);
	 margin: 0 .1rem;
}
@media (max-width: 700px){
  .prpHero__leadTopText--sm{
    font-size: clamp(1.3rem, 1rem + 0.9vw, 1.9rem);
			 margin: 0 .1rem;
  }
}
@media (max-width: 480px){
  .prpHero__leadTopText--sm{
    font-size: 1.35rem;
			 margin: 0 .1rem;
  }
}

.prpHero__leadRed{
  color: #ED1C24;
}

.prpHero__leadBlock{
  display: inline-flex;
  flex-direction: column;
  align-items: stretch;
}

.prpHero__leadMain{
  display: inline-flex;
  align-items: flex-start;
  gap: 0.6em;
}
@media (max-width: 700px){
  .prpHero__leadMain{
    gap: 0.4em;
  }
}
@media (max-width: 480px){
  .prpHero__leadMain{
    gap: 0.3em;
  }
}

.prpHero__leadChar{
  position: relative;
  display: inline-block;
  padding-top: 0.42em;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0;
}
@media (min-width: 901px){
  .prpHero__leadChar{
    font-size: clamp(3.7rem, 1.5rem + 2.8vw, 5.4rem);
			 font-weight: 600;
  }
}
@media (max-width: 900px){
  .prpHero__leadChar{
    font-size: clamp(3rem, 1.5rem + 2.8vw, 5.4rem);
  }
}
@media (max-width: 700px){
  .prpHero__leadChar{
    font-size: clamp(2.3rem, 1.5rem + 2vw, 3.8rem);
  }
}
@media (max-width: 480px){
  .prpHero__leadChar{
    font-size: 2.5rem;
  }
}

.prpHero__leadChar::before{
  content: "";
  position: absolute;
  top: 6px;
  left: 50%;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #7AC943;
  transform: translateX(-50%);
}
@media (max-width: 700px){
  .prpHero__leadChar::before{
    width: 5px;
    height: 5px;
    top: 3px;
  }
}
@media (max-width: 480px){
  .prpHero__leadChar::before{
    width: 5px;
    height: 5px;
    top: 3px;
  }
}

.prpHero__catch{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin-top: 1.5rem;
  padding: 0.45rem 1rem 0.5rem;
  box-sizing: border-box;
  background: #7AC943;
  color: #fff;
  font-family: "Yu Mincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "MS PMincho", serif;
  font-size: clamp(1.1rem, 0.95rem + 0.4vw, 1.5rem);
  font-weight: 700;
  line-height: 1.4;
	 letter-spacing: .1em;
}
@media (max-width: 700px){
  .prpHero__catch{
    margin-top: 1.2rem;
    padding: 0.4rem 0.85rem 0.45rem;
    font-size: clamp(1rem, 0.9rem + 0.3vw, 1.2rem);
  }
}
@media (max-width: 480px){
  .prpHero__catch{
    margin-top: 1.2rem;
    padding: 0.35rem 0.75rem 0.4rem;
    font-size: 1rem;
  }
}

/* =========================================================
  prpHero__points
========================================================= */

.prpHero__points{
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin: 1.5rem 0 0;
  padding: 0;
  list-style: none;
}
@media (max-width: 480px){
  .prpHero__points{
    gap: 0.6rem;
			 margin: 1rem 0 0;
  }
}

.prpHero__point{
  position: relative;
  padding-left: 1.7rem;
}
@media (min-width: 901px){
  .prpHero__point{
    padding-left: 2rem;
  }
}

@media (max-width: 900px){
  .prpHero__point{
    padding-left: 1.6rem;
  }
}

@media (max-width: 700px){
  .prpHero__point{
    padding-left: 1.5rem;
  }
}

@media (max-width: 480px){
  .prpHero__point{
    padding-left: 1.4rem;
  }
}

.prpHero__point::before{
  content: "";
  position: absolute;
	 left: 0;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20version%3D%221.1%22%20viewBox%3D%220%200%2042%2041.6%22%3E%3Cpath%20fill%3D%22%2379be49%22%20d%3D%22M10.8%2C13.6c-.7-.2%2C3.7%2C4%2C9%2C18.2.7.3.7.2%2C2.2-2.4%2C1.5-2.6%2C16.6-25.6%2C20.1-26.9-.3-.6-6.4%2C3.7-8.1%2C5.3-1.6%2C1.6-12.7%2C12.2-13.6%2C12.7-1.3-1.2-8.8-6.5-9.5-6.8Z%22/%3E%3Cpath%20fill%3D%22%23040000%22%20d%3D%22M36.1%2C12.3c1.4%2C2.5%2C2.2%2C5.4%2C2.2%2C8.4%2C0%2C9.6-7.8%2C17.5-17.5%2C17.5S3.3%2C30.4%2C3.3%2C20.8%2C11.2%2C3.3%2C20.8%2C3.3s7.7%2C1.4%2C10.7%2C3.6c.3-.3.7-.6.9-.9.4-.4%2C1-.8%2C1.6-1.3C30.4%2C1.8%2C25.8%2C0%2C20.8%2C0%2C9.3%2C0%2C0%2C9.3%2C0%2C20.8s9.3%2C20.8%2C20.8%2C20.8%2C20.8-9.3%2C20.8-20.8-1.2-8-3.3-11.3c-.6.8-1.4%2C1.8-2.2%2C2.8Z%22/%3E%3C/svg%3E");
}

@media (min-width: 901px){
  .prpHero__point::before{
			 top: 1rem;
    width: 1.3rem;
    height: 1.3rem;
  }
}

@media (max-width: 900px){
  .prpHero__point::before{
			 top: .6rem;
    width: 1.1rem;
    height: 1.1rem;
  }
}

@media (max-width: 700px){
  .prpHero__point::before{
			 top: .6rem;
    width: 1rem;
    height: 1rem;
  }
}

@media (max-width: 480px){
  .prpHero__point::before{
			 top: .65rem;
    width: 0.9rem;
    height: 0.9rem;
  }
}

.prpHero__pointText{
  display: inline;
  /*font-size: clamp(1rem, 0.98rem + 0.05vw, 1.02rem);*/
  font-size: 1.7rem;
  font-weight: 700;
  line-height: 1.65;
  background-image: linear-gradient(to top, #FEF8A6 0%, #FEF8A6 50%, transparent 50%);
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}
@media (max-width: 900px){
  .prpHero__pointText{
    font-size: clamp(1.2rem, 0.98rem + 0.05vw, 1.02rem);
  }
}

@media (max-width: 700px){
  .prpHero__pointText{
    font-size: clamp(1rem, 0.98rem + 0.05vw, 1.02rem);
  }
}

@media (max-width: 480px){
  .prpHero__pointText{
    font-size: 0.95rem;
  }
}


/* =========================================================
  PRP RECOMMEND
========================================================= */

.prpRecommend{
  background: #fff;
}



/* =========================================================
  PRP RECOMMEND / worry
========================================================= */

.prpRecommend__worry{
  padding: 2.75rem 0 1.8rem;
  background: #EEF7E5;
}
@media (max-width: 700px){
  .prpRecommend__worry{
    padding: 2.2rem 0 1.5rem;
  }
}
@media (max-width: 480px){
  .prpRecommend__worry{
    padding: 1.8rem 0 1.25rem;
  }
}

.prpRecommend__list{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2rem 2.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (max-width: 700px){
  .prpRecommend__list{
    gap: 1.5rem 1rem;
  }
}
@media (max-width: 480px){
  .prpRecommend__list{
    grid-template-columns: 1fr;
    gap: 1.4rem;
    max-width: 20rem;
    margin: 0 auto;
  }
}

.prpRecommend__item{
  text-align: center;
}

.prpRecommend__photo{
  width: min(100%, 16rem);
  aspect-ratio: 1 / 1;
  margin: 0 auto;
  border: 0.35rem solid #7AC943;
  border-radius: 50%;
  overflow: hidden;
  background: #fff;
}
@media (max-width: 700px){
  .prpRecommend__photo{
    width: min(100%, 12rem);
    border-width: 0.28rem;
  }
}
@media (max-width: 480px){
  .prpRecommend__photo{
    width: min(100%, 11rem);
    border-width: 0.25rem;
  }
}

.prpRecommend__photo img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.prpRecommend__label{
  margin: 0.9rem 0 0;
  color: #000;
  font-size: clamp(1.15rem, 1.02rem + 0.25vw, 1.35rem);
  font-weight: 700;
  line-height: 1.5;
}
@media (max-width: 700px){
  .prpRecommend__label{
    margin-top: 0.7rem;
    font-size: 1.02rem;
  }
}
@media (max-width: 480px){
  .prpRecommend__label{
    margin-top: 0.6rem;
    font-size: 1rem;
  }
}



/* =========================================================
  PRP RECOMMEND / message
========================================================= */

.prpRecommend__message{
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 1.5rem 0;
  padding: 2.5rem 0 2.8rem;
  text-align: center;
}
@media (max-width: 700px){
  .prpRecommend__message{
    margin: 1rem 0 .5rem;
    padding: 2.0rem 0 2.8rem;
  }
}
@media (max-width: 480px){
  .prpRecommend__message{
    margin: 1rem 0 .5rem;
    padding: 1.7rem 0 2.8rem;
  }
}

.prpRecommend__messageLead{
  position: relative;
  z-index: 3;
  margin: 0;
  color: #000;
  font-size: clamp(1.15rem, 0.95rem + 0.5vw, 1.7rem);
  font-weight: 700;
  line-height: 1.4;
  text-shadow:
    0 0 10px rgba(255,255,255,0.96),
    0 0 20px rgba(255,255,255,0.92),
    0 0 30px rgba(255,255,255,0.88);
}
@media (max-width: 700px){
  .prpRecommend__messageLead{
    font-size: 1.1rem;
  }
}
@media (max-width: 480px){
  .prpRecommend__messageLead{
    font-size: 1rem;
  }
}

.prpRecommend__messageArrow{
  position: absolute;
  top: 1.1rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
  width: min(100%, 38rem);
  height: 10rem;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  background: linear-gradient(
    to bottom,
    rgba(122, 201, 67, 0.08) 0%,
    rgba(122, 201, 67, 0.22) 28%,
    rgba(122, 201, 67, 0.50) 58%,
    rgba(122, 201, 67, 0.82) 82%,
    rgba(122, 201, 67, 1) 100%
  );
  filter: drop-shadow(0 14px 18px rgba(122, 201, 67, 0.14));
}
@media (max-width: 700px){
  .prpRecommend__messageArrow{
    top: 1rem;
    width: min(100%, 29rem);
    height: 7.8rem;
  }
}
@media (max-width: 480px){
  .prpRecommend__messageArrow{
    top: 0.9rem;
    width: min(100%, 28rem);
    height: 7rem;
  }
}

.prpRecommend__messageTitle{
  position: relative;
  z-index: 2;
  margin: 1rem 0 0;
  color: #000;
  font-size: clamp(2rem, 1.35rem + 1.5vw, 3rem);
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0.02em;
  text-shadow:
    0 0 11px rgba(255,255,255,1),
    0 0 11px rgba(255,255,255,1),
    0 0 11px rgba(255,255,255,1);
}
@media (max-width: 700px){
  .prpRecommend__messageTitle{
    margin-top: 1rem;
    font-size: clamp(1.5rem, 1.1rem + 0.9vw, 2.1rem);
  }
}
@media (max-width: 480px){
  .prpRecommend__messageTitle{
    margin-top: .5rem;
    font-size: 1.45rem;
    line-height: 1.5;
  }
}

@media (max-width: 400px){
  .prpRecommend__messageTitle{
    margin-top: .5rem;
    font-size: 1.3rem;
    line-height: 1.5;
  }
}


/* =========================================================
  PRP RECOMMEND / about
========================================================= */

.prpRecommend__about{
  padding: 5rem 0 5rem;
  background:
    /*linear-gradient(rgba(124, 145, 194, 0.72), rgba(124, 145, 194, 0.72)),*/
    url(../images/prp_recommend_bg.jpg) center center / cover no-repeat;
}
@media (max-width: 700px){
  .prpRecommend__about{
    padding: 4rem 0 4rem;
  }
}
@media (max-width: 480px){
  .prpRecommend__about{
    padding: 3rem 0 3rem;
  }
}

.prpRecommend__aboutInner{
  max-width: 57rem;
  margin: 0 auto;
}

.prpRecommend__aboutTitle{
  margin: 0;
  color: #fff;
  text-align: center;
  font-size: clamp(1.9rem, 1.35rem + 1vw, 2.8rem);
  font-weight: 700;
  line-height: 1.4;
}
@media (max-width: 700px){
  .prpRecommend__aboutTitle{
    font-size: clamp(1.45rem, 1.1rem + 0.7vw, 1.9rem);
  }
}
@media (max-width: 480px){
  .prpRecommend__aboutTitle{
    font-size: 1.35rem;
    line-height: 1.5;
  }
}

.prpRecommend__aboutText{
  margin: 2.15rem 0 0;
  color: #fff;
  font-size: clamp(1rem, 0.96rem + 0.12vw, 1.08rem);
  font-weight: 500;
  line-height: 2.35;
}
@media (max-width: 700px){
  .prpRecommend__aboutText{
    margin-top: 1.5rem;
    font-size: 0.98rem;
    line-height: 2.1;
  }
}
@media (max-width: 480px){
  .prpRecommend__aboutText{
    margin-top: 1.2rem;
    font-size: 0.94rem;
    line-height: 1.95;
  }
}



/* =========================================================
  PRP LIFE
========================================================= */

.prpLife{
  padding: 1rem 0 6rem;
}

@media (max-width: 1200px){
  .prpLife{
    padding: 3rem 0 6rem;
  }
}

.prpLife__stack{
  position: relative;
}
@media (max-width: 800px){
  .prpLife__stack{
    display: flex;
    flex-direction: column;
  }
}

.prpLife__visuals{
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  /*min-height: 23rem;*/
	 align-items: center;
}
@media (max-width: 1200px){
  .prpLife__visuals{
    /*min-height: 16rem;*/
  }
}
@media (max-width: 800px){
  .prpLife__visuals{
    order: 2;
    min-height: 0;
    margin-top: 1.75rem;
    align-items: center;
  }
}

.prpLife__photo{
  margin: 0;
  overflow: hidden;
  flex: 0 0 auto;
}

.prpLife__photo img{
  display: block;
  width: 100%;
  height: auto;
}

.prpLife__photo--left{
  width: 17rem;
  margin-left: 3rem;

}
@media (max-width: 1200px){
  .prpLife__photo--left{
    width: 13rem;
    margin-left: 0;
			 margin-top: -2rem;
  }
}
@media (max-width: 800px){
  .prpLife__photo--left{
    width: 15rem;
			 margin-left: -2rem;
			 margin-top: -9rem;
  }
}

@media (max-width: 600px){
  .prpLife__photo--left{
    width: 13rem;
			 margin-left: -2rem;
			 margin-top: -9rem;
  }
}

@media (max-width: 480px){
  .prpLife__photo--left{
    width: 10rem;
			 margin-left: -2rem;
			 margin-top: -9rem;
  }
}

.prpLife__photo--right{
  width: 18rem;
  margin-right: 3rem;
}

@media (max-width: 1200px){
  .prpLife__photo--right{
    width: 14rem;
    margin-right: -2rem;
			 margin-top: -2rem;
  }
}
@media (max-width: 800px){
  .prpLife__photo--right{
    width: 15rem;
			 margin-top: -9rem;
  }
}

@media (max-width: 600px){
  .prpLife__photo--right{
    width: 13rem;
			 margin-top: -9rem;
  }
}

@media (max-width: 480px){
  .prpLife__photo--right{
    width: 10rem;
			 margin-top: -9rem;
  }
}

@media (min-width: 1201px){
.prpLife__photos{
  transform: translateY(4rem);
}
}

@media (max-width: 1200px){
.prpLife__photos{
  transform: translateY(6rem);
}
}

@media (max-width: 800px){
.prpLife__photos{
  transform: translateY(4rem);
}
}

.prpLife__content{
  position: relative;
  z-index: 2;
  max-width: 52rem;
  margin: -11.5rem auto 0;
  text-align: center;
}
@media (max-width: 1200px){
  .prpLife__content{
    max-width: 40rem;
    margin-top: -8.75rem;
  }
}
@media (max-width: 800px){
  .prpLife__content{
    order: 1;
    max-width: none;
    margin: 0;
  }
}

.prpLife__title{
  margin: 0;
  color: #000;
  font-weight: 700;
  line-height: 1.35;
	 letter-spacing: 0.09em;
}

.prpLife__titleLine{
  text-decoration-line: underline;
  text-decoration-style: dashed;
  text-decoration-color: #222;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.95rem;
}
@media (max-width: 1200px){
  .prpLife__titleLine{
    text-underline-offset: 0.8rem;
  }
}
@media (max-width: 800px){
  .prpLife__titleLine{
    text-underline-offset: 0.65rem;
  }
}

.prpLife__titleSm{
  font-size: 1.35rem;
  font-weight: 700;
}
@media (max-width: 800px){
  .prpLife__titleSm{
    font-size: 1rem;
  }
}

.prpLife__titleLg{
  font-size: 2rem;
  font-weight: 700;
}
@media (max-width: 1200px){
  .prpLife__titleLg{
    font-size: 2rem;
  }
}
@media (max-width: 800px){
  .prpLife__titleLg{
    font-size: 1.45rem;
  }
}

.prpLife__titleLg--red{
  color: #C1272D;
}

.prpLife__lead{
  max-width: 31rem;
  margin: 2rem auto 0;
  text-align: left;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.9;
	 padding-left: 1rem;
}
@media (max-width: 1200px){
  .prpLife__lead{
    max-width: 28rem;
    margin-top: 1.65rem;
    font-size: 0.98rem;
  }
}
@media (max-width: 800px){
  .prpLife__lead{
    max-width: none;
    margin-top: 2rem;
    padding-left: 0;
    font-size: 0.95rem;
    line-height: 1.8;
			 text-align: center;
			 text-shadow:
    -1px -1px 0 #fff,
     1px -1px 0 #fff,
    -1px  1px 0 #fff,
     1px  1px 0 #fff;
  }
}

.prpLife__text{
  max-width: 31rem;
  margin: 1rem auto 0;
  padding-left: 5rem;
  text-align: left;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.9;
}
@media (max-width: 1200px){
  .prpLife__text{
    max-width: 28rem;
    margin: 1rem auto 0;
    padding-left: 2rem;
    font-size: 0.98rem;
  }
}
@media (max-width: 800px){
  .prpLife__text{
    max-width: none;
    margin: 1rem auto 0;
    padding-left: 0;
    font-size: 0.95rem;
    line-height: 1.8;
			 text-align: center;
			 text-shadow:
    -1px -1px 0 #fff,
     1px -1px 0 #fff,
    -1px  1px 0 #fff,
     1px  1px 0 #fff;
  }
}


/* =========================================================
  PRP METHOD
========================================================= */

.prpMethod{
  padding: 5rem 0 5.5rem;
  background:
    /*linear-gradient(rgba(124, 145, 194, 0.72), rgba(124, 145, 194, 0.72)),*/
    url(../images/prp_method_bg.jpg) center center / cover no-repeat;
}

@media (max-width: 1200px){
  .prpMethod{
    padding: 4rem 0 4.5rem;
  }
}
@media (max-width: 800px){
  .prpMethod{
    padding: 3rem 0 3.5rem;
  }
}

.prpMethod__inner{
  max-width: 78rem;
  margin: 0 auto;
}

.prpMethod__title{
  margin: 0 0 5rem;
  color: #000;
  text-align: center;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
	
  text-shadow:
    0 0 2px #fff,
    0 0 4px #fff,
    0 0 6px #fff;	
	
	
}
@media (max-width: 1200px){
  .prpMethod__title{
    font-size: 1.8rem;
  }
}
@media (max-width: 800px){
  .prpMethod__title{
			 margin: 0 0 4rem;
  }
}

.prpMethod__subTitle{
  width: min(100%, 30rem);
  margin: -3rem auto 0;
  padding: 0.95rem 1.5rem 1rem;
  background: #7AC943;
  color: #fff;
  text-align: center;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.4;
}
@media (max-width: 1200px){
  .prpMethod__subTitle{
    width: min(100%, 30rem);
    margin: -3rem auto 0;
    font-size: 1.35rem;
  }
}
@media (max-width: 800px){
  .prpMethod__subTitle{
    width: min(100%, 30rem);
    margin: -3rem auto 0;
    padding: 0.8rem 1rem 0.85rem;
    font-size: 1.15rem;
  }
}

@media (max-width: 700px){
  .prpMethod__subTitle{
    width: 85%;
  }
}

.prpMethod__lead{
  max-width: 61rem;
  margin: 2.4rem auto 0;
  font-size: 1rem;
  line-height: 1.95;
}
@media (max-width: 1200px){
  .prpMethod__lead{
    margin-top: 2rem;
    font-size: 0.98rem;
  }
}
@media (max-width: 800px){
  .prpMethod__lead{
    margin-top: 2rem;
    font-size: 0.95rem;
    line-height: 1.85;
  }
}

.prpMethod__list{
  max-width: 61rem;
  margin: 3rem auto 0;
  padding: 0;
  list-style: none;
}
@media (max-width: 1200px){
  .prpMethod__list{
    margin-top: 2rem;
  }
}

@media (min-width: 1101px){
  .prpMethod__list{
    max-width: 58rem;
  }
}

@media (max-width: 800px){
  .prpMethod__list{
    margin-top: 1.8rem;
  }
}

.prpMethod__item{
  position: relative;
  padding-left: 4rem;
  color: #000;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.85;
}
@media (max-width: 1200px){
  .prpMethod__item{
    padding-left: 3.2rem;
    font-size: 0.98rem;
  }
}
@media (max-width: 800px){
  .prpMethod__item{
    padding-left: 2.4rem;
    font-size: 0.95rem;
    line-height: 1.75;
  }
}

.prpMethod__item + .prpMethod__item{
  margin-top: 0.85rem;
}
@media (max-width: 800px){
  .prpMethod__item + .prpMethod__item{
    margin-top: 0.7rem;
  }
}

.prpMethod__item::before{
  content: "";
  position: absolute;
  top: 0.15rem;
  left: 0;
  width: 1.7rem;
  height: 1.7rem;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20version%3D%221.1%22%20viewBox%3D%220%200%2025%2024.1%22%3E%3Cpath%20fill%3D%22%233EAC4A%22%20d%3D%22M4.6%2C7.3c-0.5-0.1%2C2.4%2C2.6%2C5.9%2C11.9c0.5%2C0.2%2C0.4%2C0.1%2C1.4-1.6C12.9%2C15.9%2C22.7%2C0.9%2C25%2C0c-0.2-0.4-4.2%2C2.4-5.3%2C3.4c-1.1%2C1-8.3%2C7.9-8.9%2C8.3C10%2C11%2C5.1%2C7.5%2C4.6%2C7.3z%22/%3E%3Cpath%20fill%3D%22%23414042%22%20d%3D%22M21.1%2C6.6v14.2c0%2C0.8-0.6%2C1.4-1.4%2C1.4H3.3c-0.8%2C0-1.4-0.6-1.4-1.4V4.3c0-0.8%2C0.6-1.4%2C1.4-1.4h14.9c0.2-0.2%2C0.4-0.3%2C0.5-0.5c0.4-0.4%2C1-0.9%2C1.7-1.4C20.2%2C1%2C20%2C1%2C19.8%2C1H3.3C1.5%2C1%2C0%2C2.5%2C0%2C4.3v16.5c0%2C1.8%2C1.5%2C3.3%2C3.3%2C3.3h16.5c1.8%2C0%2C3.3-1.5%2C3.3-3.3V4.3c0-0.1%2C0-0.2%2C0-0.3C22.6%2C4.7%2C21.9%2C5.5%2C21.1%2C6.6z%22/%3E%3C/svg%3E");
}
@media (max-width: 800px){
  .prpMethod__item::before{
    width: 1.35rem;
    height: 1.35rem;
    top: 0.18rem;
  }
}

.prpMethod__inner__box{
position: relative;
background-color: #FFF;
border-radius: 20px;
padding: 1rem 4rem 4rem;
}

@media (max-width: 800px){
  .prpMethod__inner__box{
    padding: 1rem 2rem 3rem;
  }
}


/* =========================================================
  PRP DETAIL
========================================================= */

.prpDetail{
  padding: 4rem 0 5rem;
  background: #F2F2F2;
}
@media (max-width: 1200px){
  .prpDetail{
    padding: 4rem 0 4.5rem;
  }
}
@media (max-width: 800px){
  .prpDetail{
    padding: 3.5rem 0 4rem;
  }
}

.prpDetail__box{
  position: relative;
  background-color: #FFF;
  border-radius: 20px;
  padding: 1rem 4rem 4rem;
}
@media (max-width: 800px){
  .prpDetail__box{
    padding: 1rem 2rem 3rem;
  }
}
@media (max-width: 700px){
  .prpDetail__box{
    padding: 1rem 1.25rem 2.5rem;
    border-radius: 16px;
  }
}

.prpDetail__title{
  width: min(100%, 30rem);
  margin: -3rem auto 0;
  padding: 0.95rem 1.5rem 1rem;
  background: #7AC943;
  color: #fff;
  text-align: center;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.4;
}
@media (max-width: 1200px){
  .prpDetail__title{
    width: min(100%, 30rem);
    margin: -3rem auto 0;
    font-size: 1.35rem;
  }
}
@media (max-width: 800px){
  .prpDetail__title{
    width: min(100%, 30rem);
    margin: -3rem auto 0;
    padding: 0.8rem 1rem 0.85rem;
    font-size: 1.15rem;
  }
}
@media (max-width: 700px){
  .prpDetail__title{
    width: 85%;
  }
}

.prpDetail__body{
  margin-top: 1.75rem;
}
@media (max-width: 800px){
  .prpDetail__body{
    margin-top: 1.5rem;
  }
}

.prpDetail__body p{
  margin: 0;
  font-size: 1rem;
  line-height: 2.15;
}
@media (max-width: 800px){
  .prpDetail__body p{
    font-size: 0.98rem;
    line-height: 2;
  }
}
@media (max-width: 700px){
  .prpDetail__body p{
    font-size: 0.95rem;
    line-height: 1.9;
  }
}

.prpDetail__body p + p{
  margin-top: 1.6rem;
}
@media (max-width: 800px){
  .prpDetail__body p + p{
    margin-top: 1.35rem;
  }
}
@media (max-width: 700px){
  .prpDetail__body p + p{
    margin-top: 1.1rem;
  }
}

.prpDetail__highlight{
  color: #7AC943 !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  line-height: 1.9 !important;
}
@media (max-width: 800px){
  .prpDetail__highlight{
    font-size: 1.02rem !important;
    line-height: 1.8 !important;
  }
}
@media (max-width: 700px){
  .prpDetail__highlight{
    font-size: 0.98rem !important;
  }
}

.prpDetail__criteria{
  margin-top: 2.4rem;
}
@media (max-width: 800px){
  .prpDetail__criteria{
    margin-top: 2rem;
  }
}

.prpDetail__criteriaTitle{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  margin: 0;
  text-align: center;
  font-size: 1.5rem;
  line-height: 1.4;
	 font-weight: 600;
}
@media (max-width: 800px){
  .prpDetail__criteriaTitle{
    gap: 0.75rem;
    font-size: 1.25rem;
  }
}
@media (max-width: 700px){
  .prpDetail__criteriaTitle{
    gap: 0.6rem;
    font-size: 1.1rem;
  }
}

.prpDetail__criteriaTitle::before,
.prpDetail__criteriaTitle::after{
  content: "";
  flex: 1 1 auto;
  height: 1px;
  background: #BFBFBF;
  min-width: 3rem;
}
@media (max-width: 700px){
  .prpDetail__criteriaTitle::before,
  .prpDetail__criteriaTitle::after{
    min-width: 1.5rem;
  }
}

.prpDetail__criteriaBody{
  margin-top: 1rem;
}
@media (max-width: 800px){
  .prpDetail__criteriaBody{
    margin-top: 0.9rem;
  }
}

.prpDetail__criteriaBody > p{
  margin: 0;
  color: #000;
  font-size: 1rem;
  font-weight: 500;
  line-height: 2;
}
@media (max-width: 800px){
  .prpDetail__criteriaBody > p{
    font-size: 0.98rem;
    line-height: 1.9;
  }
}
@media (max-width: 700px){
  .prpDetail__criteriaBody > p{
    font-size: 0.95rem;
    line-height: 1.8;
  }
}

.prpDetail__list{
  margin: 0.5rem 0 0;
  padding: 0;
  list-style: none;
}
@media (max-width: 700px){
  .prpDetail__list{
    margin-top: 0.4rem;
  }
}

.prpDetail__list li{
  position: relative;
  padding-left: 1.1em;
  color: #000;
  font-size: 1rem;
  font-weight: 500;
  line-height: 2;
}
@media (max-width: 800px){
  .prpDetail__list li{
    font-size: 0.98rem;
    line-height: 1.9;
  }
}
@media (max-width: 700px){
  .prpDetail__list li{
    font-size: 0.95rem;
    line-height: 1.8;
  }
}

.prpDetail__list li::before{
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
}

/* =========================================================
  PRP EFFECT
========================================================= */

.prpEffect{
  padding: 4.5rem 0 5rem;
}
@media (max-width: 1200px){
  .prpEffect{
    padding: 4rem 0 4.5rem;
  }
}
@media (max-width: 800px){
  .prpEffect{
    padding: 3.25rem 0 3.75rem;
  }
}

/* -------------------------
  バッジ
------------------------- */

.prpEffect__badge{
  display: flex;
  justify-content: center;
  gap: 0.1rem;
  margin: 0;
}

.prpEffect__badge{
  display: flex;
  justify-content: center;
  margin: 0;
}

.prpEffect__badge span{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 50%;
  background: #7AC943;
  color: #FCEE21;
  font-weight: 700;
  line-height: 0;
  margin-left: -0.6rem;
}

/* 先頭戻す */
.prpEffect__badge span:first-child{
  margin-left: 0;
}

/* -------------------------
  タイトル
------------------------- */

.prpEffect__title{
  margin: 1.35rem 0 1.5rem;
  text-align: center;
  font-size: 2rem;
  font-weight: 700;
}

@media (max-width: 700px){
  .prpEffect__title{
    margin-bottom: 1.5rem;
			 line-height: 1.4;
  }
}

.prpEffect__title .sp_view{
	 display: none;
}

@media (max-width: 700px){
  .prpEffect__title .sp_view{
    display:inline;
  }
}


.prpEffect__lead{
  margin-top: 0.8rem;
  text-align: center;
  color: #7F7F7F;
}

@media (max-width: 820px){
  .prpEffect__lead{
    text-align: left;
  }
}

/* -------------------------
  セクション
------------------------- */

.prpEffect__section{
  margin-top: 2.4rem;
}

/* -------------------------
  見出し（線 + ラベル）
------------------------- */

.prpEffect__sectionTitle{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  margin: 0;
}

.prpEffect__sectionTitle::before,
.prpEffect__sectionTitle::after{
  content: "";
  flex: 1 1 auto;
  height: 1px;
  background-image: repeating-linear-gradient(
    to right,
    #666 0 3px,
    transparent 3px 8px
  );
  background-repeat: repeat-x;
  background-position: center;
  background-size: auto 1px;
}

.prpEffect__sectionTitleText{
  display: inline-block;
  padding: 0.6rem 1.2rem 0.65rem;
  background: #7AC943;
  color: #fff;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.2;
}

@media (max-width: 800px){
  .prpEffect__sectionTitle{
    gap: 0.75rem;
  }

  .prpEffect__sectionTitle::before,
  .prpEffect__sectionTitle::after{
    min-width: 2rem;
  }

  .prpEffect__sectionTitleText{
    padding: 0.45rem 0.9rem 0.5rem;
    font-size: 1.15rem;
  }
}

/* -------------------------
  本文
------------------------- */

.prpEffect__text{
  margin-top: 1.3rem;
}

.prpEffect__text p + p{
  margin-top: 0.5rem;
}


/* =========================================================
  PRP APPROVAL
========================================================= */

.prpApproval{
  padding: 4rem 0;
  background:url(../images/prp_method_bg.jpg) center center / cover no-repeat;

}
@media (max-width: 800px){
  .prpApproval{
    padding: 3rem 0;
  }
}

.prpApproval__box{
  background: #fff;
  border-radius: 20px;
  padding: 2.5rem 3rem 3rem;
}
@media (max-width: 800px){
  .prpApproval__box{
    padding: 2rem 1.5rem 2.5rem;
  }
}

.prpApproval__title{
  margin: 0 0 2rem;
  text-align: center;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
}
@media (max-width: 800px){
  .prpApproval__title{
    margin-bottom: 1.5rem;
    font-size: 1.5rem;
  }
}

.prpApproval__subTitle{
  margin: 2.5rem 0 1.5rem;
  padding: 0.5rem 1rem .6rem;
  background: #7AC943;
  color: #fff;
  text-align: center;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.4;
}
@media (max-width: 800px){
  .prpApproval__subTitle{
    margin: 2rem 0 1.2rem;
    padding: 0.5rem 1rem .6rem;
    font-size: 1.1rem;
  }
}

.prpApproval__box p{
  margin: 0 0 .5rem;
  line-height: 1.9;
}
@media (max-width: 800px){
  .prpApproval__box p{
    margin-bottom: 1rem;
    line-height: 1.8;
  }
}

/* =========================================================
  PRP FlowArea
========================================================= */

.prpFlowArea{
  background: url("../images/bg_prp_flow.jpg") center / cover no-repeat;
}



/* =========================================================
  PRP FLOW
========================================================= */

.prpFlow{
  position: relative;
  padding: 4rem 0 5rem;
  overflow: hidden;
}
@media (max-width: 1200px){
  .prpFlow{
    padding: 3.5rem 0 4.5rem;
  }
}
@media (max-width: 800px){
  .prpFlow{
    padding: 3rem 0 3.5rem;
  }
}

.prpFlow .column__inner{
  position: relative;
  z-index: 2;
}

.prpFlow__title{
  margin: 0;
  text-align: center;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
}
@media (max-width: 800px){
  .prpFlow__title{
    font-size: 1.5rem;
  }
}

.prpFlow__title::after{
  content: "";
  display: block;
  width: 12rem;
  height: 0.45rem;
  margin: 0.9rem auto 0;
  background: #7AC943;
}
@media (max-width: 800px){
  .prpFlow__title::after{
    width: 9rem;
    height: 0.35rem;
    margin-top: 0.75rem;
  }
}

.prpFlow__list{
  margin-top: 2.5rem;
}
@media (max-width: 800px){
  .prpFlow__list{
    margin-top: 2rem;
  }
}

.prpFlow__item{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 3rem;
}
@media (max-width: 1200px){
  .prpFlow__item{
    gap: 2rem;
  }
}
@media (max-width: 800px){
  .prpFlow__item{
    flex-direction: column;
    gap: 1.25rem;
  }
}

.prpFlow__item + .prpFlow__item{
  margin-top: 3rem;
}
@media (max-width: 800px){
  .prpFlow__item + .prpFlow__item{
    margin-top: 2rem;
  }
}

.prpFlow__body{
  flex: 1 1 0%;
  min-width: 0;
  padding-top: 0.1rem;
}
@media (max-width: 800px){
  .prpFlow__body{
    width: 100%;
    padding-top: 0;
  }
}

.prpFlow__head{
  display: flex;
  align-items: center;
  gap: 1rem;
  margin: 0;
  padding-bottom: 1rem;
  background-image: repeating-linear-gradient(
    to right,
    #CFCFCF 0,
    #CFCFCF 6px,   /* 線の長さ */
    transparent 6px,
    transparent 12px /* 間隔 */
  );
  background-position: left bottom;
  background-repeat: repeat-x;
  background-size: auto 1px;
}

@media (max-width: 800px){
  .prpFlow__head{
    gap: 0.8rem;
    padding-bottom: 0.8rem;
  }
}

.prpFlow__step{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 5.4rem;
  padding: 0.45rem 0.8rem 0.5rem;
  border-radius: 999px;
  background: #7AC943;
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
}
@media (max-width: 800px){
  .prpFlow__step{
    min-width: 4.8rem;
    font-size: 0.95rem;
  }
}

.prpFlow__label{
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.4;
}
@media (max-width: 800px){
  .prpFlow__label{
    font-size: 1.2rem;
  }
}

.prpFlow__text{
  margin-top: 0.95rem;
}
@media (max-width: 800px){
  .prpFlow__text{
    margin-top: 0.8rem;
  }
}

.prpFlow__text p{
  margin: 0;
  line-height: 1.9;
}

.prpFlow__noteList{
  margin: 1rem 0 0;
  padding: 0;
  list-style: none;
}
@media (max-width: 800px){
  .prpFlow__noteList{
    margin-top: 0.8rem;
  }
}

.prpFlow__noteList li{
  position: relative;
  padding-left: 1em;
  line-height: 1.9;
}

.prpFlow__noteList li::before{
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
}

.prpFlow__image{
  flex: 0 0 42%;
  margin: 0;
}
@media (max-width: 1200px){
  .prpFlow__image{
    flex-basis: 40%;
  }
}
@media (max-width: 800px){
  .prpFlow__image{
    width: 100%;
    max-width: none;
    margin-left: 0;
    flex-basis: auto;
  }
}

.prpFlow__image img{
  display: block;
  width: 100%;
  height: auto;
}


/* =========================================================
  PRP PRICE
========================================================= */

.prpPrice{
  position: relative;
  padding: 0 0 4.5rem;
}
@media (max-width: 800px){
  .prpPrice{
    padding: 0 0 3.5rem;
  }
}

.prpPrice .column__inner{
  border-top: 1px solid #E5E5E5;
  padding-top: 4rem;
}
@media (max-width: 800px){
  .prpPrice .column__inner{
    padding-top: 3rem;
  }
}

.prpPrice__tableWrap{
  margin-top: 2.5rem;
}
@media (max-width: 800px){
  .prpPrice__tableWrap{
    margin-top: 2rem;
  }
}

.prpPrice__table{
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}
@media (max-width: 600px){
  .prpPrice__table{
    display: block;
    width: 100%;
			 border-bottom: #DDD solid 1px;
  }
}

.prpPrice__table tbody{
  width: 100%;
}
@media (max-width: 600px){
  .prpPrice__table tbody{
    display: block;
    width: 100%;
  }
}

.prpPrice__table tr{
  border: 1px solid #D9D9D9;
}
@media (max-width: 600px){
  .prpPrice__table tr{
    display: block;
    width: 100%;
    margin-bottom: 0;
    border: none;
  }
}

.prpPrice__table th{
  width: 30%;
  padding: 1.5rem 2rem;
  background: #E6F0DC;
  text-align: center;
  font-weight: 700;
  vertical-align: middle;
}
@media (max-width: 800px){
  .prpPrice__table th{
    padding: 1.2rem 1.2rem;
  }
}
@media (max-width: 600px){
  .prpPrice__table th{
    display: list-item;
    list-style: none;
    width: 100%;
    box-sizing: border-box;
    border-top: #DDD solid 1px;
    border-right: #DDD solid 1px;
    border-left: #DDD solid 1px;
    border-bottom: none;
    padding: 10px 20px 10px 20px;
    background: #E6F0DC;
    text-align: left;
  }
}

.prpPrice__table td{
  padding: 1.5rem 2rem;
  vertical-align: middle;
}
@media (max-width: 800px){
  .prpPrice__table td{
    padding: 1.2rem 1.2rem;
  }
}
@media (max-width: 600px){
  .prpPrice__table td{
    display: list-item;
    list-style: none;
    width: 100%;
    box-sizing: border-box;
    border-right: #DDD solid 1px;
    border-left: #DDD solid 1px;
    /*border-bottom: #DDD solid 1px;*/
    padding: 15px 20px 15px 20px;
  }
}

.prpPrice__note{
  margin-top: 2rem;
}
@media (max-width: 800px){
  .prpPrice__note{
    margin-top: 1.5rem;
  }
}

.prpPrice__note p{
  margin: 0 0 0.2rem;
  line-height: 1.8;
	 font-size: 90%;
	 color: #444;
}



/* =========================================================
  PRP FAQ
========================================================= */

.prpFaq{
  padding: 0 0 4.5rem;
}
@media (max-width: 800px){
  .prpFaq{
    padding: 0 0 3.5rem;
  }
}

.prpFaq .column__inner{
  border-top: 1px solid #E5E5E5;
  padding-top: 4rem;
}
@media (max-width: 800px){
  .prpFaq .column__inner{
    padding-top: 3rem;
  }
}

.prpFaq__list{
  margin-top: 3.5rem;
}
@media (max-width: 800px){
  .prpFaq__list{
    margin-top: 3rem;
  }
}

.prpFaq__item{
  background: #F7F7F7;
  border-radius: 20px;
  padding: 1.35rem 1.5rem 1.45rem;
}
@media (max-width: 800px){
  .prpFaq__item{
    border-radius: 16px;
    padding: 1.1rem 1rem 1.2rem;
  }
}

.prpFaq__item + .prpFaq__item{
  margin-top: 2rem;
}
@media (max-width: 800px){
  .prpFaq__item + .prpFaq__item{
    margin-top: 1.5rem;
  }
}

.prpFaq__row{
  display: flex;
  align-items: flex-start;
  gap: 1.2rem;
}
@media (max-width: 800px){
  .prpFaq__row{
    gap: 0.9rem;
  }
}

.prpFaq__row--a{
  margin-top: 1.1rem;
}
@media (max-width: 800px){
  .prpFaq__row--a{
    margin-top: 0.9rem;
  }
}

.prpFaq__icon{
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.6rem;
  height: 2.6rem;
  border-radius: 50%;
  color: #fff;
}

.prpFaq__iconInner{
  display: block;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1;

  /* ← これがキモ */
  transform: translateY(-0.08em);
}

@media (max-width: 800px){
  .prpFaq__icon{
    width: 2.2rem;
    height: 2.2rem;
  }
  .prpFaq__iconInner{
    font-size: 1.05rem;
  }
}

.prpFaq__icon--q{
  background: #7AC943;
}

.prpFaq__icon--a{
  background: #EC7AB0;
}

.prpFaq__text{
  margin: 0;
  line-height: 1.85;
}

.prpFaq__text--q{
  font-weight: 500;
}
@media (max-width: 800px){
  .prpFaq__text--q{
  }
}

.prpFaq__text--a{
}
@media (max-width: 800px){
  .prpFaq__text--a{
    line-height: 1.8;
  }
}
















