@charset "utf-8";
body {
  color: #332e2a;
}
img {
  width: 100%;
}
main {
  background-color: #dbfdef47;
}
.text {
  display: inline-block;
}
.br {
  display: none;
}
.br_2 {
  display: block;
}
:nth-child(3 of section) {
  border-image: conic-gradient(#c5f1f933) fill 0 / 1 /0 100lvi;
}
section.features {
  max-width: 720px;
  margin: 100px auto 0;
  text-align: center;
}
.f-top-t2 {
  text-align: start;
  padding: 15px 10px;
  margin: 0 auto;
}
.f-top-t2 h5 {
  font-size: clamp(21px, 21/1440*100vw, 1.35rem);
  font-weight: 300;
  color: #012153;
  letter-spacing: 0.25rem;
  border: 1px solid #012153b0;
  padding: 8px 20px;
  align-items: center;
  display: flex;
  gap: 1vw;
  margin-bottom: 20px;
}
.f-top-t2 h5::before {
  background-color: #30416bd6;
  background-color: #2c5056d6;
  content: "";
  height: 1px;
  width: 80px;
  margin-left: -50px;
}
.f-top-t2 p {
  font-size: 1rem;
  padding-left: 15px;
  line-height: 1.75rem;
}
.poreprogram_top_img {
  max-width: clamp(300px, 60vw, 860px);
  margin: 20px auto 60px;
}
.fix-span {
  color: #30416b;
  font-weight: 400;
  background: linear-gradient(transparent 60%, #b7e8f8 50%);
}
.fix-span02 {
  color: #30416b;
  font-weight: 400;
  background: linear-gradient(transparent 60%, #dcedf7d1 50%);
}
.feature_1 {
  border: solid 1px rgb(51 62 71 / 80%);
  max-width: clamp(280px, 80vw, 400px);
  height: 50px;
  border-radius: 30px;
  margin: 0 auto;
  padding: 5px 40px;
}
.feature_1 p {
  color: rgb(70 84 95);
  font-weight: 400;
  line-height: 1.6rem;
  font-size: 1.1rem;
}
.feature_img {
  padding: 8px 16px 20px 20px;
  margin-bottom: 1vw;
}
.pore_program_img {
  max-width: clamp(280px, 90vw, 620px);
  margin: 0 auto 15px;
}
.pore_p {
  font-size: 1.4rem;
  line-height: 2.2rem;
}
.test {
  text-align: center;
  padding: 2.5vw 0;
}
.test h3 {
  font-size: 2.4rem;
  line-height: 3.2rem;
  letter-spacing: 0.12rem;
  font-weight: 300;
  color: #5ca1dd;
}
.test p {
  font-weight: 400;
  letter-spacing: 0.02rem;
  font-size: 1rem;
}
.indegredients_inner h6 {
  font-size: 1.05rem;
  font-weight: 400;
  border-radius: 30px;
  border: 2px solid;
  padding: 2px 10px;
  width: fit-content;
  margin: 0 auto;
  line-height: 1.4rem;
  color: #1a3f5f;
}
.indegredients_top {
  max-width: clamp(280px, 95vw, 720px);
  margin: 0 auto 60px;
}
.pad_img {
  max-width: clamp(280px, 80vw, 360px);
  margin: 20px auto 10px;
}
.pad02_img {
  max-width: clamp(280px, 95vw, 620px);
  margin: 20px auto 10px;
}
.blue_01 img {
  width: 250px;
}
.youtube_wrap {
  max-width: clamp(280px, 80vw, 680px);
  margin: 0 auto;
}
.youtube {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 56.25%;
  overflow: hidden;
}
.youtube iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.ft00 {
  display: flex;
  justify-content: center;
  align-items: center;
}
.feature_top {
  padding: 0 15px;
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  text-align: right;
  width: 600px;
  height: 500px;
  background-image: url("images/pore01.jpg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
.recommend {
  background-image: url("../images/products/pore25.jpg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  line-height: 1.7em;
}
.howto_ppp {
  margin-top: 65px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.howto_ppp p {
  line-height: 1.65rem;
}
.howto_number {
  border-radius: 15px;
  width: 30px;
  height: 30px;
  background: #3e6281;
  display: flex;
  justify-content: center;
  align-items: center;
  color: white;
}
.blue3-3 img {
  max-width: clamp(140px, 40vw, 260px);
}
.blue3-2 img {
  max-width: 300px;
}
.blue3-3 {
  grid-column: 2;
  grid-row: 2;
}
.blue3-2 {
  grid-column: 1;
  grid-row: 2;
}
.blue3-1 {
  grid-column: 1 / 3;
  grid-row: 1;
}
.blue3 {
  margin-top: 50px;
  display: grid;
  grid-template-rows: repeat(2, auto);
  grid-template-columns: repeat(2, auto);
  /*gap: 15px;*/
  border-bottom: solid 1px steelblue;
  justify-content: center;
  row-gap:15px; 
  column-gap: 3vw;
	
}
.blue2 {
  margin-top: 40px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
.peptide {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  margin-bottom: 70px;
}
.blue-grid {
  display: grid;
  grid-template-rows: repeat(2, auto);
  grid-template-columns: repeat(2, auto);
  gap: 15px;
  border-bottom: solid 1px steelblue;
  justify-content: center;
}
.blue-grid00 {
  grid-row: 1;
  grid-column: 1/3;
}
.blue-grid01 {
  grid-row: 2;
  grid-column: 1;
}
.blue-grid02 {
  grid-row: 2;
  grid-column: 2;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1.6rem;
}
.blue {
  margin-top: 50px;
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  border-bottom: solid 1px steelblue;
}
.blue-grid01 img {
  max-width: 250px;
}
.blue_02 {
  font-size: 1em;
  line-height: 1.5em;
  text-align: center;
}
.blue_03 img {
  width: 70%;
  height: auto;
}
.blue_04 {
  margin-right: 20px;
  margin-left: 20px;
  text-align: left;
}
.sub_t {
  font-size: 1.35em;
  font-weight: 400;
  margin: 60px 0 30px 0;
}
/*.textureandcolor*/
.textureandcolor h4 {
  font-weight: 400;
  font-size: 1.25rem;
  letter-spacing: 0.04rem;
}
.textureandcolor p {
  text-align: start;
  font-size: 1rem;
  max-width: clamp(280px, 80vw, 480px);
  margin: 1vw auto 5vw;
}
/*.textureandcolor*/
.b_r {
  width: 200px;
  height: 30px;
  border-radius: 15px;
  background: #3e6281;
  color: white;
  font-size: 1em;
  display: flex;
  justify-content: center;
  align-items: center;
}
.step_flex-2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 50px;
  margin-top: 2vw;
}
.step_flex03 {
  font-size: 1em;
  display: flex;
  align-items: center;
  flex-direction: column;
  line-height: 1.5em;
  max-width: clamp(280px, 30vw, 360px);
  height: 420px;
}
.step_flex03 img {
  max-width: 260px;
  padding-top: 10px;
}
.step_flex03 ul {
  list-style: none;
  text-align: start;
  font-size: 0.92rem;
  max-width: 280px;
  margin-top: -30px;
}
.step_flex02 {
  max-width: clamp(290px, 85vw, 350px);
  font-size: 1em;
  line-height: 1.5em;
  text-align: left;
}
.step_flex-1, .step02_flex-1 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  padding: 8px 0 10px;
}
.step_flex01 {
  max-width: clamp(280px, 85vw, 780px);
}
.step_flex01 img {
  width: 250px;
  height: auto;
}
.step_tb {
  margin: 30px 0;
  padding: 20px 0;
  background: #a6c5df8a;
  background: #b8f0fa5e;
}
.feature_flex img {
  width: 50%
}
.f-point {
  display: flex;
  justify-content: center;
}
.f-point01 {
  background: steelblue;
  width: 30px;
  height: 30px;
  color: white;
  display: flex;
  justify-content: center;
  align-items: center;
  border: solid 1px steelblue;
}
.f-point02 {
  background: white;
  width: clamp(280px, 80vw, 460px);
  height: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  border: solid 1px steelblue;
  font-weight: 400;
}
.f-point03 {
  padding: 5px 0 20px;
  width: 430px;
  width: clamp(260px, 80vw, 420px);
  /*height: 60px;*/
  display: flex;
  justify-content: flex-start;
  align-items: center;
  line-height: 1.5em;
  letter-spacing: 0.04rem;
  font-size: 0.95rem;
}
.feature_2_caption img {
  width: 50%;
}
.f-top-t3 img {
  width: 50%;
}
.checkmark001 {
  padding-left: 24px;
  position: relative;
}
.checkmark001:before, .checkmark001:after {
  content: "";
  display: block;
  position: absolute;
}
.checkmark001:before {
  width: 16px;
  height: 16px;
  background: #ffffff;
  border: 1px solid #388dbfd1;
  left: 0;
  top: 2px;
}
.checkmark001:after {
  border-left: 2px solid #427c97;
  border-bottom: 2px solid #427c97;
  width: 18px;
  height: 5px;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  left: 5px;
  top: 3px;
}
.v_line_fix {
  margin: 0 auto;
  width: 1px;
  height: 70px;
  background-color: #30416b;
}
.relative img {
  width: 50%;
}
.absolute p {
  text-align: right;
}
.relative {
  position: relative;
}
.absolute {
  position: absolute;
  right: 25%;
  bottom: 50px;
}
.f-top-t {
  font-size: 1.1em;
  line-height: 1.7em;
  letter-spacing: 0.15em;
}
.f-top {
  text-align: center;
  height: 35px;
  width: 60%;
  border: solid 1px #B9B9B9;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center
}
.hf-1 {
  margin: 30px;
}
.howto_flex2 {
  display: flex;
  flex-wrap: wrap;
  align-content: center;
  justify-content: center;
}
.howto {
  text-align: center;
}
.howto img {
  max-width: 100%;
}
.textureandcolor {
  text-align: center;
}
.textureandcolor img {
  max-width: 100%;
  height: auto;
}
.heroimg {
  width: 335px;
  margin: 35px auto 20px;
}
.heroimg img {
  width: 100%;
  height: auto;
}
@media (max-width: 960px) {
  .hero_area.perfect_pore_program .hero_area_bg {
    background-image: url("../images/products/perfect_pore_program_sp.jpg");
    background-size: cover;
  }
  .heroimg {
    width: 43%;
    margin-top: 5px;
    margin-bottom: 5px;
  }
}
.peptide-flex {
  display: flex;
  flex-wrap: wrap;
  align-content: center;
  justify-content: center;
}
.pf-1 {
  position: relative;
  display: inline-block;
  width: 150px;
  height: 150px;
  border-radius: 50%;
  border: solid 3px steelblue;
  margin: 10px;
}
.pf-1 p {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  font-size: 0.8em;
}
.pf-2 {
  margin: 10px;
}
.feature_flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
.ff-01 img {
  width: 100%;
}
.ff-01 {
  max-width: clamp(180px, 30vw, 210px);
  height: auto;
}
.ff-02 {
  padding-left: 50px;
  max-width: 300px;
  text-align: left;
  padding: 20px 0 20px 30px;
}
.ff-02 p1, .feature_1_caption p1, .feature_2_caption p1, .indegredients_inner p1, .howto p1, .textureandcolor p1 {
  font-size: 1.2em;
  line-height: 1.5em;
}
.indegredients_inner p1 {
  font-size: 1.05em;
  line-height: 1.5em;
}
.ff-02 p2, .feature_2_caption p2, .indegredients_inner p2, .howto p2, .textureandcolor p2 {
  font-size: 1.2em;
  line-height: 1.5em;
  color: #207bc6;
  font-weight: 400;
}
.indegredients_inner p2 {
  font-size: 1.35em;
  line-height: 1.5em;
}
.blue-grid00 p2 {
  font-size: 1.1em;
}
.blue-grid00 p2, .blue_02 p2 {
  font-size: 1.2em;
}
.ff-02 p3, .feature_1_caption p3, .indegredients_inner p3, .howto p3, .textureandcolor p3 {
  font-size: 1.5em;
  line-height: 1.7em;
  color: 243150;
  font-weight: 400;
}
.feature_2_caption p4, .indegredients_inner p4, .howto p4, .textureandcolor p4 {
  font-size: 1.5em;
  letter-spacing: 0.04rem;
  line-height: 1.75em;
}
/*indegredients_inner_p*/
.indegredients_inner p {
  font-size: 0.95rem;
  line-height: 1.4rem;
}
.indegredients_inner p4 {
  font-size: 1.6em;
  line-height: 1.7em;
  letter-spacing: 0.04rem;
}
.indegredients_inner .step_point {
  color: #243150;
  font-weight: 400;
  font-size: 1.2rem;
  line-height: 3.2rem;
}
/*indegredients_inner_p*/
.feature_flex-2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: top;
}
.ff-2-1 {
  background: #FFFFFF;
  text-align: center;
  margin: 10px;
  padding: 10px;
}
.ff-2-2 {
  background: #FFFFFF;
  text-align: center;
  margin: 10px;
  padding: 10px;
}
.feature_flex-3 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: top;
}
.ff-3-1 {
  text-align: center;
  margin: 15px;
  font-size: 1.2em;
  font-weight: 400;
  color: steelblue;
  line-height: 1.5em;
}
#feature_3_grid {
  padding: 15px;
  margin: 0 auto;
  align-content: start;
  justify-content: center;
  display: grid;
  grid-template-rows: repeat(11, auto);
  grid-template-columns: repeat(2, auto);
  grid-gap: 10px;
  background: #FCDFD9;
}
.f3-title {
  grid-column: 1/3;
  grid-row: 1;
  font-size: 1.5em;
  font-weight: 400;
  color: #ffffff;
  line-height: 1.7em;
}
.f3g-1 {
  grid-column: 1;
  grid-row: 2/4;
  font-size: 2.5em;
  font-weight: 200;
  width: 50px;
}
.f3g-2 {
  grid-column: 2;
  grid-row: 2;
  font-size: 1.2em;
  font-weight: 400;
  color: steelblue;
  text-align: left;
  line-height: 1.2em;
}
.f3g-3 {
  grid-column: 2;
  grid-row: 3;
  font-size: 1em;
  text-align: left;
  line-height: 1.5em;
}
.f3g-4 {
  grid-column: 1;
  grid-row: 4/6;
  font-size: 2.5em;
  font-weight: 200;
  width: 50px;
}
.f3g-5 {
  grid-column: 2;
  grid-row: 4;
  font-size: 1.2em;
  font-weight: 400;
  color: steelblue;
  text-align: left;
  line-height: 1.2em;
}
.f3g-6 {
  grid-column: 2;
  grid-row: 5;
  font-size: 1em;
  text-align: left;
  line-height: 1.5em;
}
.f3g-7 {
  grid-column: 1;
  grid-row: 6/8;
  font-size: 2.5em;
  font-weight: 200;
  width: 50px;
}
.f3g-8 {
  grid-column: 2;
  grid-row: 6;
  font-size: 1.2em;
  font-weight: 400;
  color: steelblue;
  text-align: left;
  line-height: 1.2em;
}
.f3g-9 {
  grid-column: 2;
  grid-row: 7;
  font-size: 1em;
  text-align: left;
  line-height: 1.5em;
}
.f3g-10 {
  grid-column: 1;
  grid-row: 8/10;
  font-size: 2.5em;
  font-weight: 200;
  width: 50px;
}
.f3g-11 {
  grid-column: 2;
  grid-row: 8;
  font-size: 1.2em;
  font-weight: 400;
  color: steelblue;
  text-align: left;
  line-height: 1.2em;
}
.f3g-12 {
  grid-column: 2;
  grid-row: 9;
  font-size: 1em;
  text-align: left;
  line-height: 1.5em;
}
.f3g-13 {
  grid-column: 1;
  grid-row: 10/12;
  font-size: 2.5em;
  font-weight: 200;
  width: 50px;
}
.f3g-14 {
  grid-column: 2;
  grid-row: 10;
  font-size: 1.2em;
  font-weight: 400;
  color: steelblue;
  text-align: left;
  line-height: 1.2em;
}
.f3g-15 {
  grid-column: 2;
  grid-row: 11;
  font-size: 1em;
  text-align: left;
  line-height: 1.5em;
}
.feature_ttl p {
  color: #ff8aa3;
}
.feature_ttl {
  margin: 0 0 45px;
  display: flex;
  justify-content: center;
  text-align: center;
}
.feature_ttl p {
  font-family: 'Lato', sans-serif;
  font-size: 30px;
  font-weight: 400;
  margin: 0;
  line-height: 1.0;
  margin: 0 0 10px;
  letter-spacing: 1px;
}
.feature_ttl h3 {
  font-size: 20px;
  font-weight: 300;
  margin: 0;
  line-height: 1.0;
  padding: 0 0px 15px;
}
.feature_ttl div {
  padding: 0 50px;
  border-bottom: 1px solid #ff8aa3;
}
.feature_grade {
  text-align: center;
  min-height: 500px;
  padding-top: 45px;
}
.feature_grade img, .mochi_section img {
  max-width: 100%;
  height: auto;
}
.feature_1 p1 {
  font-size: 2em;
  font-weight: 600;
  font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
}
.feature_1_caption {
  text-align: center;
  margin: 0 0 50px;
}
.feature_1_caption img {
  max-width: 100%;
}
.feature_2_caption {
  text-align: center;
  margin: 0 0 25px;
}
.feature_2_caption strong {
  color: #ff8aa3;
}
.feature_2 {
  max-width: 550px;
  margin: 0 auto 75px;
  padding: 0 20px;
}
.feature_2_title {
  color: #FFFFFF;
  padding: 5px;
  background: steelblue;
  text-align: center;
  font-family: 'Lato', sans-serif;
  font-size: 24px;
  font-weight: 300;
}
.point {
  margin-top: 5px;
  margin-left: auto;
  margin-right: auto;
  border: solid 1px black;
  width: 350px;
  padding: 5px;
  font-size: 1.2em;
}
.feature_3 {
  max-width: 580px;
  margin: 0 auto 25px;
  padding: 0 20px;
}
.feature_3_tag {
  max-width: 540px;
  margin: 0 auto 15px;
  font-size: 120%;
  display: flex;
  justify-content: space-between;
  padding: 0 50px;
}
.amino-title {
  margin-left: auto;
  margin-right: auto;
  color: #FFFFFF;
  padding: 5px;
  background: #F1A793;
  text-align: center;
  width: 300px;
  font-size: 20px;
  font-weight: 300;
}
.amino-title2 {
  margin-left: auto;
  margin-right: auto;
  color: #FFFFFF;
  padding: 5px;
  background: #000000;
  text-align: center;
  width: 200px;
  font-size: 15px;
  font-weight: 300;
}
@media(max-width: 768px) {
　 section.indegredients {
        padding: 30px 20px;
    }
　.howto {
    padding: 50px 0;
}
  .f-top-t2 {
    padding: 15px 20px;
  }
  .feature_1_caption {
    margin: 0 0 25px;
  }
  .feature_2 {
    margin-bottom: 30px;
  }
  .feature_3_tag {
    font-size: 15px;
    padding: 0 20px;
  }
  .feature_4_title {
    font-size: 20px;
    margin: 0 0 25px;
  }
  .test {
    padding: 6vw 2.5vw;
  }
  .test h3 {
    letter-spacing: 0.08rem;
  }
}
.feature_4_title {
  text-align: center;
  color: #ff8aa3;
  font-size: 30px;
  font-weight: 400;
  margin: 0 0 50px;
}
.feature_4_caption {
  text-align: center;
  margin: 0 0 40px;
  padding: 0 20px;
}
.feature_4 {
  max-width: 900px;
  margin: 0 auto 25px;
  padding: 0 20px;
}
.feature_5_caption {
  text-align: center;
  margin: 0 0 60px;
  padding: 0 20px;
}
.mochi_section {
  background: #fff0f3;
  padding: 60px 0;
  margin: 0 0 40px;
}
.mochi_title {
  text-align: center;
  color: #ff8aa3;
  font-weight: 400;
  font-size: 30px;
  line-height: 1.2;
  margin: 0 0 40px;
}
.mochi_img1 {
  max-width: 700px;
  margin: 0 auto 40px;
}
.mochi_caption {
  text-align: center;
}
.mochi_caption span {
  font-size: 120%;
}
@media(max-width: 767px) {
  .mochi_section {
    padding: 25px 20px;
  }
  .mochi_title {
    font-size: 20px;
    margin: 0 0 20px;
  }
  .mochi_img1 {
    max-width: 700px;
    margin: 0 auto 20px;
  }
  .mochi_caption span {
    font-size: 120%;
  }
}
.solution_flex {
  max-width: 600px;
  margin: 0 auto 90px;
  border: 1px solid #ff8aa3;
  display: flex;
  justify-content: center;
  padding: 45px 0;
}
.solution_flex ul li:last-child {
  margin-bottom: 0;
}
.sectiontitle {
  margin: 0 auto 60px;
}
.sectiontitle h4 {
  font-size: 24px;
  font-weight: 400;
  margin: 0;
  text-align: center;
}
.sectiontitle h4 span {
  border-bottom: 1px solid #ea9819;
  padding: 0 0 5px;
}
.indegredients {
  text-align: center;
}
#container {
  text-align: left;
  font-size: 0.9em;
  display: grid;
  grid-template-rows: repeat(3, 1fr);
  grid-template-columns: repeat(6, 1fr);
  grid-gap: 5px;
  justify-content: center;
  align-items: center;
}
.indegredients_col .sectiontitle {
  margin: 0 0 25px;
}
.solution_flex ul {
  margin-left: 35px;
}
.solution_flex li {
  font-size: 18px;
  font-weight: 300;
  margin: 0 0 30px;
  position: relative;
  list-style: none;
}
.second_check li::after, .solution_flex li::after, .solution_check_flex_caption dl::after {
  content: '';
  display: block;
  width: 20px;
  height: 20px;
  background: url(../../images/products/recommend_check_collagen_boosting_facemask.png) no-repeat 0 0;
  background-size: 100%;
  position: absolute;
  top: 0px;
  left: -35px;
}
.solution_title {
  text-align: center;
  font-size: 24px;
  font-weight: 400;
  margin: 0 0 60px;
  line-height: 1.5;
  padding: 0 20px;
}
.solution_title span {
  border-bottom: 1px solid #ff8aa3;
  padding-bottom: 3px;
}
.solution_check_flex {
  max-width: 1000px;
  margin: 0 auto 160px;
  display: flex;
  justify-content: space-between;
  padding: 0 20px;
}
.solution_check_figure {
  width: 375px;
}
.solution_check_figure img {
  width: 100%;
  height: auto;
}
.solution_check_flex_caption dl {
  margin: 0 0 40px 40px;
  position: relative;
}
.solution_check_flex_caption dt {
  font-size: 110%;
  margin: 0 0 15px;
  font-weight: 500;
}
.solution_check_flex_caption dd {
  line-height: 1.5;
}
.he {
  max-width: 840px;
  margin: 0 auto 60px;
  padding: 0 20px;
}
.he img {
  width: 100%;
  height: auto;
}
@media(max-width: 767px) {
  .solution_flex {
    margin: 0 20px 40px;
    padding: 20px 0;
  }
  .solution_flex li {
    font-size: 15px;
  }
  .solution_title.sp {
    font-size: 14px;
    margin: 0 20px 30px;
    border-bottom: 1px solid #ff8aa3;
    padding-bottom: 5px;
  }
  .solution_check_flex {
    display: flex;
    flex-direction: column-reverse;
    margin-bottom: 50px;
  }
  .solution_check_figure {
    width: 53vw;
    margin: 0 auto 30px;
  }
  .solution_check_flex_caption dl {
    margin-bottom: 20px;
  }
  .solution_check_flex_caption dt {
    margin: 0 0 10px;
  }
  .solution_title {
    font-size: 16px;
    margin: 0 0 30px;
  }
  .he {
    margin: 0 auto 60px;
  }
}
.thumb img {
  width: 100%;
  height: auto;
}
.thumb_flex {
  display: flex;
  justify-content: space-between;
}
.thumb_flex .caption {
  width: 260px;
}
.thumb_flex .thumb {
  width: 190px;
}
.hero_area_caption {
  left: -9.6vh;
}
.features_flex {
  margin: 0 auto 0px;
  padding: 0 30px;
  box-sizing: border-box;
}
.itary_catch {
  text-align: center;
  margin: 0 0 35px;
  font-size: 22px;
  line-height: 1.5;
  font-weight: 400;
  padding: 0 20px;
}
.itary_catch span {
  font-size: 120%;
}
.itary_catch_flex {
  margin: 0 0 30px;
  display: flex;
  justify-content: center;
}
.itary_catch_flex div {
  border: 1px solid #ccc;
  text-align: center;
  padding: 10px 50px;
}
.itary_logo {
  max-width: 670px;
  margin: 0 auto 20px;
  padding: 0 20px;
}
.itary_logo img {
  width: 100%;
  height: auto;
}
.itary_logo_caption {
  text-align: center;
  font-size: 120%;
  margin: 0 0 60px;
  padding: 0 20px;
  line-height: 1.5;
}
.ingredient_col {
  text-align: center;
  padding: 0 20px;
  font-size: 11px;
}
.ingredient_col p.ingredient_caption {
  font-size: 11px;
}
.ingredient_col p.ingredient_caption span {
  font-size: 13px;
}
.ingredient_col.first {
  margin: 0 0 45px;
}
.indegredients_col h3 {
  font-size: 24px;
  font-weight: 500;
  margin: 0 0 30px;
  line-height: 1;
}
.indegredients_col .figure {
  margin: 50px 0;
}
.subtitle {
  margin: 60px 0 30px;
}
.subtitle h5 {
  font-size: 20px;
  font-weight: 500;
  text-align: center;
  background: #f5f5f5;
  width: auto;
  max-width: 500px;
  margin: 0 auto;
  padding: 3px 0;
}
@media(max-width: 767px) {
  .itary_catch {
    font-size: 16px;
  }
  .itary_logo_caption {
    font-size: 15px;
    margin: 0 0 30px;
  }
}
.recommend img {
  max-width: 100%;
}
.recommend_inner li:before {
  background: url("../images/products/recommend_check_radiance_essence_cushion.png") no-repeat 0 0;
  background-size: 20px;
}
.ingredient_col_flex_center {
  margin: 0 0 30px;
  display: flex;
  justify-content: center;
}
.ingredient_col_flex_center .ingredient_col {
  width: auto;
  margin: 0 15px
}
.ingredient_thumb img {
  width: 120px;
  height: auto;
}
.ingredient_col_flex {
  max-width: 610px;
  margin: 0 auto 120px;
  display: flex;
  padding: 0 20px;
}
.ingredient_col_flex .ingredient_thumb {
  margin-right: 20px;
}
h4.single {
  text-align: center;
  font-size: 22px;
  font-weight: 400;
  margin: 0 0 -30px;
}
@media(max-width: 767px) {
  .ingredient_col_flex {
    margin: 0 auto 60px;
    display: flex;
  }
  .ingredient_col_flex .ingredient_thumb {
    width: 19vw;
    margin-right: 10px;
  }
  .ingredient_col_flex .ingredient_thumb img {
    width: 100%;
    height: auto;
  }
  .ingredient_col_flex_caption {
    flex: 1;
  }
  .ingredient_col_flex_caption_title + p {
    font-size: 13px;
  }
}
.howto_inner {
  max-width: 600px;
  margin: 0 auto;
}
.howto_inner h5 {
  font-family: 'Lato', sans-serif;
  font-size: 20px;
  line-height: 1;
  font-weight: 300;
  background: #F2F2F2;
  letter-spacing: 1px;
  margin: 0 0 30px;
  padding: 12px 0 10px;
  text-align: center;
}
.f-red {
  color: #DB1C24;
}
.howto_flex {
  margin-bottom: 70px;
}
.howto_notes {
  text-align: center;
  clear: both;
  padding: 0 20px;
}
.howto_notes h5 {
  font-weight: 300;
  font-size: 18px;
  margin: 0 0 25px;
}
.howto_notes h5 span {
  background: #f5f5f5;
  padding: 10px 40px;
}
@media(max-width: 960px) {
  .feature_4, .solution_check_flex {
    padding-left: 20px;
    padding-right: 20px;
  }
  .hero_area_caption h1, .hero_area_caption p.lead, p.product_name {
    color: #3C3C3C;
  }
  .hero_area_caption h1 {
    color: #888C98;
  }
}
@media(max-width: 767px) {
  br.spbr {
    display: block !important;
  }
  .hero_area_caption h1 {
    font-size: 7vw;
    letter-spacing: 0.04rem;
  }
  .hero_area_caption p.lead {
    font-size: 3vw;
  }
  .feature_ttl {
    margin: 0 0 20px;
  }
  .feature_ttl div {
    padding: 0 5px;
  }
  .feature_ttl p {
    font-size: 21px;
    line-height: 1.5;
  }
  .feature_ttl h3 {
    font-size: 14px;
  }
  .second_section {
    padding: 50px 20px;
  }
  .second_first_figure {
    margin: 0 0 50px;
  }
  .howto_flex.bet .howto_flex_col {
    width: 32%;
  }
  .howto_flex.bet .howto_flex_col img {
    width: 100%;
    height: auto;
  }
  .sectiontitle h4, .indegredients_col h3, h4.single {
    font-size: 17px;
  }
  .indegredients_col.second p {
    font-size: 13px;
  }
  .indegredients_col.second p.ingredient_caption {
    font-size: 10px;
  }
  p.product_name {
    font-size: 13px;
    letter-spacing: 0.04rem;
  }
  .subtitle h5 {
    font-size: 16px;
    width: 80%;
    padding: 2px 20px;
  }
  .sectiontitle {
    margin-bottom: 30px;
  }
  h4.single {
    margin-bottom: -20px;
  }
  section.features {
    margin: 65px 0 0px;
  }
  section.indegredients {
    padding: 0 0 10px;
  }
  .subtitle {
    margin: 30px 0 15px;
  }
  .indegredients_col .figure {
    margin: 25px 0;
    padding: 0 30px;
  }
  .indegredients_col .figure img {
    width: 100%;
    height: auto;
  }
  .ingredient_col_flex_center .ingredient_col {
    margin: 0 2vw;
  }
  .ingredient_col_flex_center .ingredient_thumb {
    width: 19vw;
    margin-left: auto;
    margin-right: auto;
  }
  .ingredient_col_flex_center .ingredient_thumb img {
    width: 100%;
    height: auto;
  }
  .ingredient_col p.ingredient_caption span {
    font-size: 12px;
  }
	.feature_1 {
	margin-bottom: 10px;
	}
	
}


.recommend_inner li:before {
  background-size: 16px;
}
.howto_inner {
  padding: 0 20px;
}
.howto_inner h5 {
  font-size: 18px;
  padding: 8px 0 10px;
  margin: 0 0 20px;
}
.howto_flex {
  margin: 0 0 20px;
}
.howto_caption {
  margin: 0 0 40px;
}
.howto_inner .howto_caption:last-child {
  margin: 0;
}
.howto_flex.center .howto_flex_col {
  width: 32%;
}
.howto_flex.center .howto_flex_col img {
  width: 100%;
}
.howto_flex.center .howto_flex_col.extra {
  width: 64%;
}
@media(max-width: 600px) {
  :nth-child(3 of section) {
  background-color: #c5f1f933;
  border-image: none;
}	
	
  .f-top-t2 {
    padding: 15px;
  }
  .f-top-t2 h5 {
    font-size: clamp(16px, 20/600*100vw, 20px);
    letter-spacing: 0.25rem;
    gap: 3vw;
  }
  .f-top-t2 h5::before {
    width: 56px;
    margin-left: -40px;
  }
  .pore_p {
    max-width: clamp(280px, 80vw, 380px);
    font-size: clamp(18px, 20/600*100vw, 20px);
    line-height: 1.7rem;
    margin: 0 auto;
    letter-spacing: 0.08rem;
  }
  .step_flex-2 {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 50px;
    margin-top: 40px;
  }
  .step_flex03 {
    height: auto;
  }
  .textureandcolor p {
    font-size: clamp(14px, 16/600*100vw, 16px);
    text-align: start;
    line-height: 1.6rem;
    max-width: clamp(280px, 80vw, 420px);
    margin: 0 auto 60px;
  }
  .indegredients_inner p2 {
    font-size: 1.2em;
  }
  .test h3 {
    font-size: clamp(1.6rem, 6vw, 2.4rem);
    letter-spacing: 0.04rem;
  }
  .f-point02 {
    font-size: clamp(0.8rem, 4vw, 0.95rem);
    line-height: 1.2rem;
  }
  .f-point03 {
    font-size: clamp(0.85rem, 3vw, 0.9rem);
  }
  .br_2 {
    display: none;
  }
  .howto_ppp {
    max-width: clamp(280px, 80vw, 380px);
    margin: 45px auto 0;
  }
  .howto_ppp p {
    padding-bottom: 10px;
  }
  .peptide .blue_02 {
    padding-right: 13.5px;
  }
  .blue-grid01 img {
    max-width: clamp(200px, 80vw, 300px);
  }
  .blue-grid02 {
    max-width: clamp(250px, 80vw, 350px);
  }
  .step_flex-1, .step02_flex-1 {
    max-width: 500px;
    margin: 0 auto 8vw;
  }
  .step02_flex-1 {
    flex-wrap: wrap-reverse;
  }
  .blue-grid {
    grid-template-rows: repeat(3, auto);
    grid-template-columns: repeat(1, auto);
  }
  .blue-grid00 {
    grid-row: 1;
    grid-column: 1;
  }
  .blue-grid01 {
    grid-row: 3;
    grid-column: 1;
  }
  .blue-grid02 {
    grid-row: 2;
    grid-column: 1;
  }
  .textureandcolor h4 {
    font-size: clamp(18px, 20/600*100vw, 20px);
  }
  .feature_grade {
    min-height: 400px;
  }
}
@media(max-width: 450px) {
  .hero_area_caption.sp {
    margin-top: clamp(20px, 35/425*100vw, 35px);
  }
  .hero_area_caption h1 {
    font-size: clamp(20px, 36/425*100vw, 36px);
    letter-spacing: 0.04rem;
  }
  .hero_area_caption p.lead {
    font-size: clamp(13px, 16/425*100vw, 16px);
  }
  p.product_name {
    font-size: clamp(10px, 13/425*100vw, 13px);
  }
}

@media(max-width: 425px) {	
  .br {
    display: block;
  }
  .test p {
    font-size: clamp(14px, 15.5/425*100vw, 15.5px);
    line-height: 1.4rem;
    letter-spacing: 0.06rem;
  }
  .feature_1 {
    padding: 5px 10px;
  }
  .feature_1 p {
    font-size: clamp(10px, 15 / 375 * 100vw, 0.95rem);
    line-height: 1.45rem;
  }
  .ff-02 {
    padding: 20px 0 20px 40px;
  }
  .f-point01, .f-point02 {
    padding: 7px 0;
    line-height: 1.2rem;
    letter-spacing: 0.06rem;
  }
  .f-point03 {
    padding: 15px 0;
  }
  .indegredients_inner .step_point {
    font-size: 1.05rem;
  }
  .indegredients_inner p {
    font-size: 0.9rem;
  }
  section.features {
    padding: 0 10px;
  }
  .howto_ppp {
    margin: 45px auto 0;
  }
  .f-top-t2 h5 {
		padding: 8px 6px;
    }
	.f-top-t2 h5::before{
		width: 38px;
		margin-left: -20px;
	}	
	
	
}
@media(max-width: 375px) {
  .pore_p {
    text-align: start;
    padding-left: 10px;
  }
  .f-top-t2 h5 {
	gap: 2vw;
	letter-spacing: 0.15rem;
    }
}

@media(max-width: 320px) {
  .feature_2_title {
    font-size: 22px;
  }
  .feature_3_tag {
    font-size: 13px;
  }
  .solution_title.sp {
    font-size: 12px;
  }
  .itary_logo_caption {
    font-size: 14px;
  }
  .howto_notes h5 {
    font-size: 15px;
  }
}