/*  ========================================== global */
html {
  font-size: 62.5%;
}
blockquote {
  display: none;
}
img {
  max-width: 100%;
}
.wrap_inner {
  margin: 40px auto;
  max-width: 960px;
  width: calc(100% - 40px);
}
.pc {
  display: block;
}
.smt {
  display: none;
}
ul {
  margin: 0;
  padding: 0;
}
ul.rayout2col,
ul.rayout3col,
ul.rayout4col,
ul.rayout5col {
  display: flex;
  flex-wrap: wrap;

  gap: 20px;
}
ul.rayout2col > li {
  width: calc((100% - 20px) / 2);
  list-style-type: none;
}
ul.rayout3col > li {
  width: calc((100% - 40px) / 3);
  list-style-type: none;
}
ul.rayout4col > li {
  width: calc((100% - 60px) / 4);
  list-style-type: none;
}
ul.rayout5col > li {
  width: calc((100% - 80px) / 5);
  list-style-type: none;
  text-align: center;
}

@media (max-width: 768px) {
  .pc {
    display: none;
  }
  .smt {
    display: block;
  }
  .wrap_inner {
    margin-right: auto;
    margin-left: auto;
    width: calc(100% - 40px);
  }

  ul.rayout2col,
  ul.rayout3col,
  ul.rayout4col,
  ul.rayout5col {
    display: block;
  }
  ul.rayout2col li,
  ul.rayout3col li,
  ul.rayout3col li,
  ul.rayout5col li {
    width: auto;
  }
}

/*  ========================================== font */
p,
li,
dt,
dd {
  font-weight: normal;
  font-style: normal;
  font-size: 1.6rem;
  font-family: "Noto Sans JP", sans-serif;

  font-optical-sizing: auto;
}
h1,
h2,
h3,
h4,
h5,
h6,
strong {
  margin: 0;
  padding: 0;
  font-weight: normal;
  font-weight: normal;
  font-style: normal;
  font-family: "Noto Sans JP", sans-serif;

  font-optical-sizing: auto;
}
.caution {
  font-size: 1.2rem;
  line-height: 1.8rem;
}

/*  ========================================== line-height: */
p {
  line-height: 2.8rem;
}

/*  ========================================== header2 */
.header {
  overflow: hidden;
  background: #ffffff;
}

.header .top-wapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.header .top-wapper h1 {
  margin: 1.0416666666666665vw 0 1.0416666666666665vw 1.0416666666666665vw;
}
.header .top-wapper .topTxt {
  margin: 0 2.083333333333333vw 0;
  color: #000000;
  text-align: right;
  letter-spacing: 7.2px;
  font-weight: 100;
  font-size: 2.083333333333333vw;
  font-family: "Noto Sans JP-Thin", Helvetica;
  line-height: 64px;
}
.header .img-wapper {
  position: relative;
  width: 100%;
  padding-top: 50.10416666666667%;
  background-image: url("https://d2w53g1q050m78.cloudfront.net/eceternamcojp/uploads/lp_202412/planA_bg_pc_202508.jpg");
  background-size: contain;
  background-repeat: no-repeat;
}
.header .img-box {
  position: absolute;
  top: 0;
  display: flex;
  align-items: center;
  flex-flow: column;
  margin-left: 4.88997555012225vw;
  width: 100%;
  width: 33%;
}
.header .planb-subtxt-pc {
  margin-top: 40px;
  max-width: 444px;
  max-height: 37px;
  width: 23.125vw;
}
.header .planb-maintxt-pc {
  margin-top: 24px;
  max-width: 590px;
  max-height: 230px;
  width: 30.729166666666668vw;
}
.header .planb-award {
  width: 30vw;
  margin: 1vw -29px 0 -1.5vw;
}
.header .planb-product-pc {
  max-width: 625px;
  max-height: 609px;
  width: 26vw;
}
.header .icon-wapper {
  position: relative;
  display: flex;
  /* bottom: 0; */
  align-items: stretch;
  justify-content: flex-end;
  top: -190px;
  list-style-type: none;
  width: 100%;
  right: 0;
  /* margin: 0 0 auto 0; */
  /* text-align: right; */
}
.header .icon {
  width: 170px;
  margin-left: 32.8125vw;
}
.icon-award {
  width: 150px;
}

@media screen and (max-width: 769px) {
  header .top-wapper {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    flex-flow: column !important;
  }
  header .top-wapper h1 {
    margin: 2.1333333333333333vw 0 0 2.1333333333333333vw !important;
  }
  header .top-wapper .topTxt {
    margin: 2.1333333333333333vw auto !important;
    color: #000000 !important;
    text-align: left !important;
    letter-spacing: 7.2px !important;
    font-weight: 100 !important;
    font-size: 4.8vw !important;
    font-family: "Noto Sans JP-Thin", Helvetica !important;
    line-height: 160% !important;
  }
  header .img-wapper {
    position: relative !important;
    width: 100% !important;
    padding-top: 145.6% !important;
    background-image: url("https://d2w53g1q050m78.cloudfront.net/eceternamcojp/uploads/lp_202412/planA_bg_sp_202508.jpg") !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
  }
  header .img-box {
    position: absolute !important;
    top: 0 !important;
    bottom: 0 !important;
    display: flex !important;
    align-items: flex-end !important;
    flex-flow: column !important;
    margin-left: 2.1333333333333333vw !important;
    padding-bottom: 2vw;
    width: 100% !important;
    width: 70% !important;
    justify-content: flex-end !important;
  }
  header .planb-subtxt-pc {
    margin: 0 auto !important;
    width: 59.199999999999996vw !important;
  }
  header .planb-maintxt-pc {
    margin: 2.1333333333333333vw 0 0 2.1333333333333333vw !important;
    width: 70vw !important;
  }
  header .planb-product-pc {
    width: 69.19999999999999vw !important;
  }
    .header .planb-award {
        width: 62vw;
        margin: 0 14px -2vw -1.5vw;
        text-align: center;
    }
    
  header .icon {
    position: absolute !important;
    right: -4.266667vw !important;
    bottom: 0 !important;
    width: 120px !important;
  }
}

/*  ========================================== concept */
section.concept {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 50lvh;
  background-color: #d9dfea;
  background-image: url("https://d2w53g1q050m78.cloudfront.net/eceternamcojp/uploads/lp_202409/bg_white_gray.png");
  background-size: cover;
  background-repeat: no-repeat;
}
section.concept .wrap_inner {
  margin: 120px 0;
  padding: 60px;
  max-width: 550px;
  background: #ffffff;
  box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.5);
}
section.concept .wrap_inner h2 {
  position: relative;
  text-align: center;
  letter-spacing: 1.2rem;
  font-size: 3.4rem;
}
section.concept .wrap_inner p span {
  display: inline-block;
}
section.concept .wrap_inner p ruby {
  font-size: 1.3rem;
}
section.concept .wrap_inner h2:before {
  position: absolute;
  top: 65px;
  display: block;
  width: 100%;
  height: 1px;
  background: #000000;
  content: "";
}

section.concept .wrap_inner h2 strong {
  position: relative;
  display: inline-block;
  margin-top: 40px;
  letter-spacing: 3rem;
  font-weight: normal;
  font-size: 7rem;
}
section.concept .wrap_inner h2 strong ruby {
  position: absolute;
  top: -5px;
  left: -3px;
  width: 100%;
  text-align: center;
  letter-spacing: 2.3rem;
  font-size: 1rem;
}
section.concept .wrap_inner h2 strong sup {
  position: absolute;
  top: 5px;
  right: -20px;
  font-size: 2rem;
}
@media screen and (max-width: 769px) {
  section.concept .wrap_inner {
    margin: 40px 0;
    padding: 30px;
    max-width: none;
    width: calc(100% - 110px);
  }
  section.concept .wrap_inner h2 {
    letter-spacing: 0.4rem;
    font-size: 2rem;
  }
  section.concept .wrap_inner h2:before {
    top: 50px;
  }
}
/*  ========================================== evaluation */
section.evaluation {
  max-width: none;
  background: #d9dfea;
}
section.evaluation .wrap_inner {
  margin: 0 auto;
  padding: 40px 0;
}
section.evaluation h2 {
  margin-bottom: 80px;
  text-align: center;
  font-weight: 500;
  font-size: 4rem;
  line-height: 7.2rem;
}
section.evaluation h2 sup,
section.evaluation h2 span {
  font-size: 1.4rem;
}
section.evaluation h2 span {
  display: block;
  line-height: 1.4rem;
}

section.evaluation p {
  margin-top: 0;
}
section.evaluation .rayout3col li span {
  display: block;
  min-height: 200px;
  background-image: url("https://d2w53g1q050m78.cloudfront.net/eceternamcojp/uploads/lp_202409/bg_list_evaluation.png");
  background-position: center top;
  background-size: 200px;
  background-repeat: no-repeat;
  text-align: center;
  font-weight: 500;
  font-size: 3rem;
  line-height: 200px;
}
section.evaluation .rayout3col li p {
  margin-top: 80px;
  text-align: center;
  font-size: 1.5rem;
  line-height: 2.8rem;
}

@media screen and (max-width: 769px) {
  section.evaluation h2 {
    font-size: 2.8rem;
    line-height: 4.8rem;
  }
  section.evaluation h2 span {
    margin-top: 20px;
  }
  section.evaluation .rayout3col li {
    margin-bottom: 60px;
  }
  section.evaluation .rayout3col li p {
    margin-top: 30px;
  }
}

/*  ========================================== evaluation2 */

section.evaluation2 {
  overflow: hidden;
  background-color: #d9dfea;
  background-image: url("https://d2w53g1q050m78.cloudfront.net/eceternamcojp/uploads/lp_202409/bg_proposal_B2.png");
  background-size: 139px;
}
section.evaluation2 .wrap_inner {
  margin: 40px auto 0 auto;
}

section.evaluation2 ul.rayout2col {
  position: relative;
  flex-direction: row-reverse;
}
section.evaluation2 ul.rayout2col li:first-child {
  margin-right: -200px;
  width: 900px;
}
section.evaluation2 ul.rayout2col li:last-child {
  width: calc(100% - 700px - 20px);
}
section.evaluation2 ul.rayout2col li:last-child div {
  width: 700px;
}
section.evaluation2 ul.rayout2col li p.caution {
  position: absolute;
  top: 380px;
  left: 0;
}
section.evaluation2 h2 {
  display: inline-block;
  padding: 20px;
  background: #ffffff;
}
section.evaluation2 .warp_lip_product {
  position: relative;
}
section.evaluation2 .warp_lip_product img {
  position: absolute;
  top: 0;
  left: 120px;
  width: 120px;
}
section.evaluation2 .warp_lip_product div {
  margin-left: 180px;
}
section.evaluation2 p.tex4 {
  margin: 40px 0 0 -130px;
}
section.evaluation2 p.tex4 ruby {
  font-size: 1.3rem;
}

@media screen and (max-width: 769px) {
  section.evaluation2 {
    padding-bottom: 40px;
  }

  section.evaluation2 ul.rayout2col li:first-child,
  section.evaluation2 ul.rayout2col li:last-child {
    width: auto;
  }
  section.evaluation2 ul.rayout2col li:first-child {
    margin-right: auto;
    margin-left: -100px;
  }
  section.evaluation2 p.tex1 {
    margin: 0 auto;
    padding: 20px;
    width: auto;
    font-size: 2rem;
    line-height: 4rem;
  }
  section.evaluation2 ul.rayout2col li:last-child div {
    margin-left: auto;
    width: auto;
    text-align: center;
  }
  section.evaluation2 .warp_lip_product {
    display: none;
  }
  section.evaluation2 ul.rayout2col li p.caution {
    position: relative;
    top: auto;
  }
}

section.point-ttl {
  max-width: none;
  background: #f8f8fc;
}
section.point-ttl .wrap_inner {
  margin: 0 auto;
  max-width: 960px;
  width: calc(100% - 40px);
  position: relative;
}
section.point-ttl img {
  margin: 0 auto;
  max-width: 100%;
  max-height: 100lvh;
}
section.point-ttl img {
  margin: 0 auto;
  max-width: 100%;
  max-height: none;
}
section.point-ttl .wrap_inner .tex,
section.point-ttl .wrap_inner p.caution {
  display: block;
  margin: 0 auto;
  max-width: 1000px;
  width: calc(100% - 40px);
}
section.point-ttl .wrap_inner .tex {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  box-sizing: border-box;
  margin: 0 auto;
  background: none;
}
section.point-ttl .wrap_inner .tex p {
  margin-top: 60px;
  margin-right: auto;
  margin-left: 100px;
  max-width: 1000px;
  font-size: 2rem;
  line-height: 8rem;
}
section.point-ttl .wrap_inner p.caution {
  position: absolute;
  right: 0;
  bottom: 20px;
  left: 0;
  box-sizing: border-box;
  margin: 0 auto;
  background: none;
}
.caution {
  font-size: 1.2rem;
  line-height: 1.8rem;
}
@media screen and (max-width: 769px) {
  section.point-ttl {
    overflow: hidden;
  }
  section.point-ttl .wrap_inner {
    margin: 0 auto;
    max-width: none;
    width: 100%;
    position: relative;
  }
  section.point-ttl img.smt {
    max-width: none;
    width: 100%;
  }
  section.point-ttl .wrap_inner .tex p {
    margin-top: 70px;
    font-size: 1.9rem;
    line-height: 4.5rem;
    margin-left: 0;
  }
  section.point-ttl .wrap_inner p.caution {
    bottom: 0;
  }
}

/*  ========================================== point */
section.point {
  padding: 80px 0;
  background-image: url(https://d2w53g1q050m78.cloudfront.net/eceternamcojp/uploads/lp_202501/point-bg_pc.jpg);
  background-repeat: no-repeat;
  background-size: 115% 100%;
  background-position: top center;
}
section.point img {
  margin: 0 auto;
  max-width: 100%;
  max-height: 100lvh;
}
section.point .wrap_inner {
  margin: 0 auto;
  max-width: none;
  width: 100%;
}
section.point .wrap_inner h2 {
  max-width: 485px;
  width: 100%;
  margin: 0 auto;
}
section.point .wrap_inner .point_content {
  max-width: 960px;
  min-width: 769px;
  width: 100%;
  margin: 0 auto;
}
section.point .wrap_inner .point_content .point_tex {
  padding-top: 80px;
}
section.point .wrap_inner .point_content .point_tex:first-child {
  padding-top: 40px;
}
section.point .wrap_inner .point_content .product01 {
}
section.point .wrap_inner .point_content .product02 {
}
@media screen and (min-width: 769px) and (max-width: 960px) {
  section.point {
    padding: 80px 0;
    background-image: url(https://d2w53g1q050m78.cloudfront.net/eceternamcojp/uploads/lp_202501/point-bg_pc.jpg);
    background-repeat: no-repeat;
    background-size: 130% 100%;
    background-position: top center;
  }
  section.point img {
    margin: 0 auto;
    max-width: 90%;
    max-height: 100lvh;
  }
  section.point .wrap_inner .point_content {
    max-width: none;
    min-width: none;
    width: 100%;
    margin: 0 auto;
  }
}
@media screen and (max-width: 768px) {
  section.point {
    padding: 60px 0;
    background-image: url("https://d2w53g1q050m78.cloudfront.net/eceternamcojp/uploads/lp_202501/point-bg_sp.jpg");
    background-repeat: no-repeat;
    background-size: 100% 100%;
    background-position: top center;
  }
  section.point img {
    margin: 0 auto;
    max-width: 100%;
    max-height: none;
  }
  section.point .wrap_inner {
    margin: 0 auto;
    max-width: none;
    width: 100%;
  }
  section.point .wrap_inner h2 {
    max-width: 501px;
    width: 100%;
    margin: 0 auto;
  }
  section.point .wrap_inner .point_content {
    max-width: 768px;
    min-width: 345px;
    width: 100%;
    margin: 0 auto;
  }
  section.point .wrap_inner .point_content .point_tex {
    padding-top: 40px;
  }
  section.point .wrap_inner .point_content .product01 {
  }
  section.point .wrap_inner .point_content .product02 {
  }
}

/*  ========================================== appearance */

section.appearance {
  overflow: hidden;
  background: #e1c3aa;
  background-image: url("https://d2w53g1q050m78.cloudfront.net/eceternamcojp/uploads/lp_202409/bg_appearance.png");
  background-position: 0 11px;
  background-size: contain;
  background-repeat: repeat-x;
}
section.appearance .wrap_inner {
  margin: 40px auto 0 auto;
  text-align: center;
}

section.appearance p.tex1 {
  position: relative;
  z-index: 1;
  display: block;
  margin: 0 auto 90px auto;
  padding: 30px 20px;
  width: 370px;
  background: #898a88;
  color: #ffffff;
  text-align: left;
  font-weight: normal;
  font-size: 3rem;
  line-height: 4.8rem;
}
section.appearance .wrap_appearance {
  display: flex;
  align-items: end;
  margin-top: -216px;
}
section.appearance .wrap_appearance img {
  height: 500px;
}
section.appearance .wrap_appearance .box {
  margin-bottom: 40px;
  padding: 80px 40px;
  width: 100%;
  background: #ffffff;
}

section.appearance h2,
section.appearance div.tex2 {
  text-align: left;
}
section.appearance h2 {
  margin-bottom: 30px;
  font-weight: 500;
  font-size: 3rem;
  line-height: 4.8rem;
}
section.appearance h2 strong {
  position: relative;
  display: inline-block;
}
section.appearance h2 strong ruby {
  position: absolute;
  top: -16px;
  right: 11px;
  left: 0;
  margin: 0 auto;
  text-align: center;
  font-size: 1.1rem;
}
section.appearance h2 strong sup {
  display: inline-block;
  margin-left: 5px;
}
@media (max-width: 768px) {
  section.appearance {
    padding-bottom: 40px;
    background-color: #fafafc;
    background-image: none;
  }

  section.appearance .wrap_inner {
    width: auto;
  }
  section.appearance p.tex1 {
    margin: 0 auto;
    width: auto;
    width: calc(100% - 80px);
    font-size: 2.4rem;
    line-height: 3.6rem;
  }
  section.appearance .wrap_appearance {
    display: block;
    padding-top: 170px;
  }
  section.appearance .wrap_appearance img {
    width: 100%;
    height: auto;
  }
  section.appearance div.tex2 {
  }
  section.appearance .wrap_appearance .box {
    position: relative;
    z-index: 1;
    margin: -50px auto 0 auto;
    padding: 30px;
    width: calc(100% - 100px);
  }
  section.appearance h2 {
    font-size: 2.2rem;
    line-height: 4.6rem;
  }
}
/*  ========================================== suggestion */
.suggestion {
  padding: 20px;
  background: #ffffff;
  background-image: url("https://d2w53g1q050m78.cloudfront.net/eceternamcojp/uploads/lp_202409/bg_suggestion.png");
  background-position: top center;
  background-repeat: no-repeat;
}
.suggestion .wrap_inner {
  text-align: center;
}
.suggestion ul {
  justify-content: center;
  margin-bottom: 80px;

  gap: 80px;
}
.suggestion ul li {
  width: 150px;
  height: 150px;
  border-radius: 75px;
  background: #e4e3e1;
  text-align: center;
  font-weight: 500;
  font-size: 2.4rem;
  line-height: 2.8rem;
}
.suggestion ul li span {
  display: block;
  margin-top: 15px;
  margin-bottom: 15px;
  font-weight: 400;
  font-size: 19px;
  line-height: 26px;
}
.suggestion ul li:nth-child(1) span {
  line-height: 54px;
}
.suggestion p.tex1,
.suggestion p.tex2 {
  margin: 0;
  margin-bottom: 60px;
  text-align: center;
  letter-spacing: 1rem;
  font-size: 3rem;
  line-height: 6rem;
}
.suggestion p.tex2 {
  display: inline-block;
  padding: 20px 30px;
  background: #8c8d8b;
  color: #ffffff;
}
.suggestion p.tex2 strong {
  position: relative;
  display: inline-block;
}
.suggestion p.tex2 strong ruby {
  position: absolute;
  top: 0;
  left: -4px;
  width: 88px;
  text-align: center;
  font-size: 11px;
  line-height: 11px;
}

@media (max-width: 768px) {
  .suggestion .wrap_inner {
    margin-bottom: 0;
    width: auto;
  }

  .suggestion ul {
    display: flex;

    gap: 20px;
  }
  .suggestion ul li {
    width: calc((100% - 20px) / 2);
  }
  .suggestion p.tex1,
  .suggestion p.tex2 {
    letter-spacing: normal;
    font-size: 2rem;
    line-height: 3.6rem;
  }
  .suggestion p.tex2 {
    margin-bottom: 0;
    letter-spacing: 1rem;
  }
  .suggestion p.tex2 strong ruby {
    top: -9px;
    left: -18px;
    letter-spacing: 0.4rem;
  }
}

/*  ========================================== overview */
.overview {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  min-height: 500px;
  background: #ffffff;
  background-image: url("https://d2w53g1q050m78.cloudfront.net/eceternamcojp/uploads/lp_202409/bg_overview.png");
  background-position: top center;
  background-repeat: no-repeat;
}
.overview h2 {
  text-align: right;
  font-size: 6rem;
  line-height: 6rem;
}
.overview h2 span {
  display: block;
  margin-bottom: 40px;
  font-size: 3.6rem;
  line-height: 3.6rem;
}
.overview2 {
  background-image: url("https://d2w53g1q050m78.cloudfront.net/eceternamcojp/uploads/lp_202409/bg_overview2.png");
  background-position: top left;
  background-repeat: repeat-y;
}
.overview2 .wrap_inner {
  margin: 0 auto;
  padding: 80px 0;
}

.overview2 .rayout2col {
  align-items: center;
  justify-content: center;
  margin-bottom: 80px;
}
.overview2 .rayout2col:last-child {
  margin-bottom: 0;
}
.overview2 .rayout2col:nth-child(2n) {
  flex-direction: row-reverse;
}

.overview2 .rayout2col li {
  text-align: center;
}
.overview2 .rayout2col li h2 {
  text-align: center;
  font-size: 6rem;
  line-height: 9rem;
}
.overview2 .rayout2col li p {
  font-size: 2.8rem;
  line-height: 4.9rem;
}
.overview2 .rayout2col li p strong,
.overview2 .rayout2col li p span {
  display: block;
}

.overview2 .rayout2col li p strong {
  margin: 10px auto;
  padding: 15px 30px;
  width: 200px;
  background: #8c8d8b;
  color: #ffffff;
  text-align: center;
  font-size: 2.3rem;
  line-height: 2.3rem;
}
.overview2 .rayout2col li p span {
  font-size: 2.5rem;
  line-height: 2.3rem;
}

@media (max-width: 768px) {
  .overview {
    min-height: 300px;
  }

  .overview .wrap_inner {
    width: auto;
  }
  .overview h2 {
    font-size: 3.8rem;
    line-height: 4.6rem;
  }
  .overview h2 span {
    font-size: 2.6rem;
    line-height: 2.6rem;
  }
  .overview2 .rayout2col li h2 {
    margin-bottom: 40px;
    font-size: 4rem;
    line-height: 6rem;
  }
}

/*  ========================================== try_it */

section.try_it {
  position: relative;
  padding: 60px 0;
  background-color: #e3e2e1;
}
section.try_it:after {
  position: absolute;
  display: inline-block;
  margin: auto auto;
  width: 100%;
  color: #e3e2e1;
  content: "▼";
  text-align: center;
  font-size: 80px;
}

section.try_it .rayout2col {
  align-items: center;
  flex-direction: row-reverse;
  margin-bottom: 120px;
}
section.try_it div.tex1 {
  text-align: center;
}

section.try_it div.tex1 h2 {
  margin: 0;
  margin-bottom: 80px;
  padding: 0;
  font-size: 6rem;
  line-height: 9rem;
}
section.try_it div.tex1 p {
  margin: 0;
  margin-bottom: 80px;
  padding: 0;
  letter-spacing: 1rem;
  font-size: 3.5rem;
  line-height: 4.8rem;
}
section.try_it p.tex2 {
  display: block;
  margin: 0;
  padding: 30px 40px;
  background: #000000;
  color: #ffffff;
  text-align: center;
  letter-spacing: 1rem;
  font-size: 4.8rem;
  line-height: 8rem;
}

section.try_it .rayout3col {
  margin: 0 auto 60px auto;
  max-width: 600px;
}
section.try_it .rayout3col li {
  text-align: center;
}
section.try_it .rayout3col li img {
  width: 90px;
}
section.try_it .rayout3col li strong {
  display: block;
  margin: 10px auto;
  font-weight: 400;
  font-size: 1.4rem;
  font-family: "Jost", sans-serif;
  line-height: 2.5rem;

  font-optical-sizing: auto;
}
section.try_it .rayout3col li p {
  font-size: 1.4rem;
  line-height: 2.5rem;
}

section.try_it .wrap_difference {
  margin-bottom: 120px;
  text-align: center;
}
section.try_it .wrap_difference p {
  display: inline-block;
  margin: 0;
  padding: 10px 20px;
  background: #000000;
  color: #ffffff;
  letter-spacing: 1rem;
  font-size: 4.4rem;
  line-height: 4.4rem;
}
section.try_it .wrap_difference p:first-child {
  margin-bottom: 10px;
}
section.try_it .wrap_charm {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 60px;
}
section.try_it .wrap_charm p {
  text-align: center;
}
section.try_it .wrap_charm:before,
section.try_it .wrap_charm:after {
  display: block;
  width: 100px;
  height: 100px;
  background-position: top;
  background-repeat: no-repeat;
  content: "";
}
section.try_it .wrap_charm:before {
  background-image: url("https://d2w53g1q050m78.cloudfront.net/eceternamcojp/uploads/lp_202409/slash_left.png");
}
section.try_it .wrap_charm:after {
  background-image: url("https://d2w53g1q050m78.cloudfront.net/eceternamcojp/uploads/lp_202409/slash_right.png");
}
section.try_it .rayout2col.approach {
  justify-content: center;
  margin-bottom: 30px;
}
section.try_it .rayout2col.approach p {
  text-align: center;
  letter-spacing: 1rem;
  font-size: 2.7rem;
  line-height: 4rem;
}

section.try_it2 p.tex1 {
  margin: 40px auto 80px auto;
  padding: 40px;
  width: 900px;
  background: #90918f;
  color: #ffffff;
  text-align: center;
  letter-spacing: 0.5rem;
  font-size: 4rem;
  line-height: 7rem;
}
section.try_it2 p.tex1 strong {
  display: block;
  margin-bottom: 20px;
}

@media (max-width: 768px) {
  section.try_it {
    padding: 30px 0;
  }
  section.try_it .wrap_inner {
    margin-top: 0;
  }
  section.try_it .rayout2col {
    margin-bottom: 40px;
  }
  section.try_it .rayout2col h2 {
    margin-top: 30px;
    font-size: 4.2rem;
    line-height: 6rem;
  }
  section.try_it .rayout3col li {
    margin-bottom: 30px;
  }

  section.try_it p.tex1 {
  }
  section.try_it p.tex2 {
    font-size: 3rem;
    line-height: 6rem;
  }
  section.try_it .wrap_difference p {
    display: block;
    font-size: 2.4rem;
    line-height: 3rem;
  }
  section.try_it .wrap_difference p:first-child {
    margin-bottom: 0;
    padding-bottom: 0;
  }
  section.try_it .wrap_charm {
    margin-bottom: 30px;
  }

  section.try_it .wrap_charm p.tex3 {
    letter-spacing: 0;
    font-size: 2.8rem;
    line-height: 3.8rem;
  }
  section.try_it .wrap_charm:before,
  section.try_it .wrap_charm:after {
    width: 50px;
    height: 200px;
  }
  section.try_it .wrap_charm p.tex4 {
    font-size: 2.4rem;
  }
  section.try_it p.tex5 {
    padding: 20px;
    letter-spacing: normal;
    font-size: 2.8rem;
    line-height: 4.2rem;
  }
  section.try_it div.tex1 h2 {
    margin-bottom: 40px;
    font-size: 4rem;
  }
  section.try_it div.tex1 p {
    letter-spacing: normal;
    font-size: 2.4rem;
    line-height: 3.6rem;
  }
  section.try_it:after {
    bottom: -50px;
  }
  section.try_it2 {
    margin: 40px auto 20px auto;
    margin-top: 40px;
    width: calc(100% - 80px);
  }
  section.try_it2 p.tex1 {
    margin: 0 auto;
    padding: 20px;
    width: auto;
    font-size: 2.6rem;
    line-height: 3.6rem;
  }
}

/*  ========================================== habits */

section.habits {
  position: relative;
  padding: 60px 0;
  background-color: #e3e2e1;
}

section.habits .wrap_habits {
  display: flex;
  margin-bottom: 80px;
  padding: 40px;
  background: #ffffff;

  gap: 40px;
}
section.habits .wrap_habits .tex,
section.habits .rayout3col {
  width: calc((100% - 40px) / 2);
}
section.habits .wrap_habits .tex {
  text-align: center;
}
section.habits .wrap_habits .tex p {
  font-size: 1.8rem;
  line-height: 2.6rem;
}
section.habits .wrap_habits .tex p.tex1 {
  margin: 60px;
  letter-spacing: 1rem;
  font-size: 6rem;
  line-height: 8rem;
}
section.habits .wrap_habits .tex p.tex1 strong {
  position: relative;
  display: inline-block;
}
section.habits .wrap_habits .tex p.tex1 strong ruby {
  position: absolute;
  top: 0;
  left: 0;
  width: 130px;
  letter-spacing: 1rem;
  font-size: 1.1rem;
  line-height: 1.1rem;
}

section.habits .rayout3col li {
  text-align: center;
}
section.habits .rayout3col li img {
  width: 90px;
  opacity: 0.5;
}
section.habits .rayout3col li strong {
  display: block;
  margin: 10px auto;
  font-weight: 400;
  font-size: 1.4rem;
  font-family: "Jost", sans-serif;
  line-height: 2.5rem;

  font-optical-sizing: auto;
}
section.habits .rayout3col li p {
  font-size: 1.4rem;
  line-height: 2.5rem;
}

section.habits .wrap_difference {
  margin-bottom: 120px;
  text-align: center;
}
section.habits .wrap_difference p {
  display: inline-block;
  margin: 0;
  padding: 10px 20px;
  background: #000000;
  color: #ffffff;
  letter-spacing: 1rem;
  font-size: 4.4rem;
  line-height: 4.4rem;
}
section.habits .wrap_difference p:first-child {
  margin-bottom: 10px;
}
section.habits .wrap_charm {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 60px;
}
section.habits .wrap_charm p {
  text-align: center;
}
section.habits .wrap_charm:before,
section.habits .wrap_charm:after {
  display: block;
  width: 100px;
  height: 100px;
  background-position: top;
  background-repeat: no-repeat;
  content: "";
}
section.habits .wrap_charm:before {
  background-image: url("https://d2w53g1q050m78.cloudfront.net/eceternamcojp/uploads/lp_202409/slash_left.png");
}
section.habits .wrap_charm:after {
  background-image: url("https://d2w53g1q050m78.cloudfront.net/eceternamcojp/uploads/lp_202409/slash_right.png");
}
section.habits .rayout2col.approach {
  justify-content: center;
  margin-bottom: 30px;
}
section.habits .rayout2col.approach p {
  text-align: center;
  letter-spacing: 1rem;
  font-size: 2.7rem;
  line-height: 4rem;
}
@media (max-width: 768px) {
  section.habits .wrap_habits {
    display: block;
    padding: 10px;
  }
  section.habits .wrap_habits .tex,
  section.habits .rayout3col {
    width: auto;
  }
  section.habits .wrap_habits .tex p.tex1 {
    margin: 20px 0;
  }
  section.habits .wrap_difference p {
    display: block;
    padding: 10px;
    font-size: 2.7rem;
    line-height: 4rem;
  }
  section.habits .wrap_difference p:first-child {
    margin-bottom: 0;
  }
}

/*  ========================================== sales_promotion */
.sales_promotion {
  padding: 20px;
  background: #cdccca;
}
.sales_promotion p.out_of_the_box {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-weight: 500;
  font-size: 2.4rem;
  line-height: 4.8rem;
}
.sales_promotion p.out_of_the_box:before,
.sales_promotion p.out_of_the_box:after {
  display: block;
  width: 50px;
  height: 50px;
  background-position: top;
  background-repeat: no-repeat;
  content: "";
}
.sales_promotion p.out_of_the_box:before {
  background-image: url("https://d2w53g1q050m78.cloudfront.net/eceternamcojp/uploads/lp_202409/slash_left.png");
}
.sales_promotion p.out_of_the_box:after {
  background-image: url("https://d2w53g1q050m78.cloudfront.net/eceternamcojp/uploads/lp_202409/slash_right.png");
}

.sales_promotion .wrap_inner {
  padding: 20px;
  background: #ffffff;
}
.sales_promotion .wrap_inner ul.tex1 {
  align-items: center;
  margin-bottom: 20px;
}

.sales_promotion .wrap_inner ul.tex1 li:nth-child(1) {
  width: 280px;
  font-size: 2rem;
  line-height: 2rem;
}
.sales_promotion .wrap_inner ul.tex1 li:nth-child(2) {
  width: calc(100% - 22px - 300px);
  border: 1px solid #666666;
  text-align: center;
  font-size: 1.3rem;
  line-height: 1.3rem;
}
.sales_promotion .wrap_inner ul.tex1 li:nth-child(2) span {
  display: inline-block;
  padding: 10px 20px;
}
.sales_promotion .wrap_inner h2 {
  font-size: 3rem;
  line-height: 4.8rem;
}
.sales_promotion .wrap_inner p.tex2 {
  line-height: 3.6rem;
}
.sales_promotion .wrap_inner p.tex3 {
  display: flex;
  align-items: center;
  font-weight: 500;
  font-style: normal;
  font-size: 2.4rem;
  font-family: "Jost", sans-serif;

  font-optical-sizing: auto;
  gap: 20px;
}
.sales_promotion .wrap_inner p.tex3 span.regular {
  display: inline-block;
  padding: 15px 20px;
  border: 1px solid #666666;
  text-align: center;
  font-size: 1.4rem;
  line-height: 1.4rem;
}

.sales_promotion .wrap_inner p.tex3 span.small {
  font-size: 1.2rem;
  line-height: 1.2rem;
}
.sales_promotion .wrap_inner p.tex3 strong {
  color: #d0231a;
  font-size: 7.2rem;
  line-height: 7.2rem;
}

.sales_promotion .wrap_inner .about_regular_purchase h3 {
  font-size: 1.4rem;
  line-height: 3.2rem;
}

.sales_promotion .wrap_inner .about_regular_purchase ul li {
  margin-left: 20px;
  list-style-type: disc;
  font-size: 1.2rem;
  line-height: 2rem;
}
.sales_promotion.single_purchase {
  padding: 0 0 10px 0;
  background: #666666;
}
.sales_promotion.single_purchase .wrap_inner {
  margin: 0 auto;
  padding: 10px 0;
  background: none;
  color: #ffffff;
}
.sales_promotion.single_purchase .rayout2col {
  align-items: end;
}
.sales_promotion.single_purchase .rayout2col li:first-child p {
  display: block;
  padding: 15px 20px;
  border: 1px solid #ffffff;
  text-align: center;
  font-size: 1.4rem;
  line-height: 1.4rem;
}
.sales_promotion.single_purchase .rayout2col li:first-child p strong {
  display: inline-block;
  margin: 0 5px;
  font-size: 2.2rem;
  line-height: 2.2rem;
}

.sales_promotion.single_purchase .shipping_charges h3 {
  font-size: 1.2rem;
  line-height: 3.2rem;
}

.sales_promotion.single_purchase .shipping_charges ul li {
  margin-left: 20px;
  list-style-type: disc;
  font-size: 1.2rem;
  line-height: 2rem;
}
@media (max-width: 768px) {
  .sales_promotion p.out_of_the_box {
    font-size: 2.2rem;
    line-height: 3.6rem;
  }
  .sales_promotion p.out_of_the_box:before,
  .sales_promotion p.out_of_the_box:after {
    width: 30px;
    height: 50px;
  }
}

/*  ========================================== repeat_sales_promotion */
.repeat_sales_promotion {
  background: #eeeeee;
  color: #999999;
  text-align: center;
  font-size: 5rem;
  line-height: 600px;
}
@media (max-width: 768px) {
  .repeat_sales_promotion {
    font-size: 2rem;
  }
  .sales_promotion .wrap_inner ul.tex1 li:nth-child(1),
  .sales_promotion .wrap_inner ul.tex1 li:nth-child(2) {
    width: auto;
    text-align: center;
  }
  .sales_promotion .wrap_inner ul {
    margin: 20px auto;
  }
  .sales_promotion .wrap_inner ul.tex1 li:nth-child(1),
  .sales_promotion .wrap_inner ul.tex1 li:nth-child(2) {
    margin-bottom: 10px;
    font-size: 1.8rem;
    line-height: 2rem;
  }
  .sales_promotion .wrap_inner h2 {
    font-size: 2.4rem;
    line-height: 3.6rem;
  }
  .sales_promotion .wrap_inner p.tex3 {
    display: block;
    text-align: center;
  }
  .sales_promotion .wrap_inner p.tex3 span.regular {
    display: block;
    margin-bottom: 20px;
  }
  .sales_promotion .wrap_inner p.small {
    text-align: center;
  }
  .sales_promotion.single_purchase .rayout2col li:first-child p {
    font-size: 1.2rem;
  }
}

/*  ========================================== skin_damage */
.skin_damage {
  padding: 20px;
  background: #808080;
}
.skin_damage h2 {
  margin-bottom: 80px;
  color: #ffffff;
  text-align: center;
  font-weight: 500;
  font-size: 4rem;
  line-height: 7.8rem;
}
.skin_damage ul.example_damege {
  margin-bottom: 80px;
}

.skin_damage ul.example_damege2 {
  align-items: stretch;
}
.skin_damage ul.example_damege2 li {
  flex: 1;
  box-sizing: border-box;
}

.skin_damage ul.example_damege2 li:last-child {
  position: relative;
  display: flex;
  align-items: center;
  flex: 1;
  justify-content: center;
  box-sizing: border-box;
  margin: 5px;
  padding: 40px;
  background: #ffffff;
  text-align: center;
}
.skin_damage ul.example_damege2 li:last-child:before {
  position: absolute;
  top: 0;
  right: auto;
  bottom: 0;
  left: 78px;
  display: inline-block;
  margin: auto;
  color: #ffffff;
  content: "▲";
  transform: rotate(-90deg);
}
.skin_damage ul.example_damege2 li p {
  margin: 0;
  padding: 0;
  text-align: left;
  font-size: 1.6rem;
  line-height: 2.9rem;
}
.skin_damage ul.example_damege2 li p strong {
  font-weight: 500;
  font-size: 1.8rem;
}
@media (max-width: 768px) {
  .skin_damage .wrap_inner {
    width: auto;
  }

  .skin_damage h2 {
    font-size: 2.6rem;
    line-height: 4.8rem;
  }
  .skin_damage ul.example_damege {
    display: flex;
    justify-content: center;
    margin-bottom: 40px;

    gap: 10px;
  }
  .skin_damage ul.example_damege li {
    width: calc((100% - 20px) / 3);
  }
  .skin_damage ul.example_damege2 {
  }
  .skin_damage ul.example_damege2 li:last-child {
    margin: 0;
  }
  .skin_damage ul.example_damege2 li:last-child:before {
    display: none;
  }
  .skin_damage ul.example_damege2 li p {
    text-align: center;
  }
}

/*  ========================================== troubleshooting */
.troubleshooting {
  padding: 20px 20px;
  background-color: #ffffff;
  background-image: url("https://d2w53g1q050m78.cloudfront.net/eceternamcojp/uploads/lp_202409/bg_troubleshooting.png");
  background-position: top;
  background-repeat: repeat-x;
}
.troubleshooting .wrap_inner {
  padding: 60px 60px 0 60px;
  background: #ffffff;
  text-align: center;
}
.troubleshooting .wrap_inner h2 {
  margin-bottom: 80px;
  letter-spacing: 1.2rem;
  font-weight: 500;
  font-size: 3.3rem;
}

.troubleshooting .wrap_inner ul.rayout2col {
  align-items: center;
  margin-bottom: 80px;

  gap: 40px;
}
.troubleshooting .wrap_inner ul.rayout2col > li {
  width: calc((100% - 40px) / 2);
}
.troubleshooting .wrap_inner ul.rayout2col > li:first-child img {
  width: 320px;
}

.troubleshooting .wrap_inner ul.checkbox li {
  position: relative;
  list-style-type: none;
  text-align: left;
  font-size: 1.6rem;
  line-height: 3.5rem;
}
.troubleshooting .wrap_inner ul.checkbox li:before {
  display: inline-block;
  margin-right: 5px;
  content: "□";
}
.troubleshooting .wrap_inner ul.checkbox li:after {
  position: absolute;
  top: -4px;
  left: 4px;
  color: #c96363;
  content: "✓";
}

.troubleshooting .wrap_inner img.line_point_detail {
  display: block;
  margin: 0 auto 40px auto;
  width: 480px;
}
.troubleshooting .wrap_inner > p {
  font-weight: 500;
  font-size: 3rem;
  line-height: 4.8rem;
}

@media (max-width: 768px) {
  .troubleshooting .wrap_inner {
    margin: 0;
    padding: 20px;
    width: auto;
  }
  .troubleshooting .wrap_inner h2 {
    margin-top: 20px;
    margin-bottom: 40px;
    letter-spacing: 1rem;
    font-size: 2.6rem;
  }
  .troubleshooting .wrap_inner ul {
    margin-left: 20px;
  }
  .troubleshooting .wrap_inner ul.rayout2col > li {
    width: auto;
  }
  .troubleshooting .wrap_inner ul.rayout2col > li:first-child {
    margin-bottom: 20px;
  }
  .troubleshooting .wrap_inner ul.checkbox li {
    margin-left: -20px;
    padding-left: 20px;
  }
  .troubleshooting .wrap_inner ul.checkbox li:before {
    margin-left: -20px;
  }
  .troubleshooting .wrap_inner img.line_point_detail {
    width: 100%;
  }
  .troubleshooting .wrap_inner > p {
    font-size: 2rem;
  }
}

/*  ========================================== proposal */

section.proposal .rayout2col {
  align-items: center;
}
section.proposal .rayout2col li:last-child {
  margin-left: -100px;
  padding: 40px;
  background: #ffffff;
  text-align: center;
}
section.proposal .rayout2col li:last-child h2 {
  text-align: center;
  font-size: 3rem;
  line-height: 4.8rem;
}
section.proposal span.tex1 {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.4rem;
  line-height: 4.8rem;
}
section.proposal span.tex1:before,
section.proposal span.tex1:after {
  display: block;
  width: 50px;
  height: 50px;
  background-position: top;
  background-repeat: no-repeat;
  content: "";
}
section.proposal span.tex1:before {
  background-image: url("https://d2w53g1q050m78.cloudfront.net/eceternamcojp/uploads/lp_202409/slash_left.png");
}
section.proposal span.tex1:after {
  background-image: url("https://d2w53g1q050m78.cloudfront.net/eceternamcojp/uploads/lp_202409/slash_right.png");
}

@media (max-width: 768px) {
  section.proposal .rayout2col li:last-child {
    margin-top: 20px;
    margin-left: 0;
    padding: 0;
  }
  section.proposal .rayout2col li:last-child h2 {
    font-size: 2.6rem;
  }
  section.proposal span.tex1 {
    font-size: 2rem;
    line-height: 3.8rem;
  }
}

/*  ========================================== voice */
section.voice {
  padding: 80px 0;
  background-color: #ecf1f7;
}
section.voice img {
  margin: 0 auto;
  max-width: 100%;
  max-height: 100lvh;
}
section.voice .wrap_inner {
  margin: 0 auto;
  max-width: none;
  width: 100%;
}
section.voice .wrap_inner h2 {
  max-width: 494px;
  width: 100%;
  margin: 0 auto;
}
section.voice .wrap_inner .voice_content {
  max-width: 960px;
  min-width: 769px;
  width: 100%;
  margin: 0 auto;
}
section.voice .wrap_inner .voice_content .voice_tex {
  padding-top: 40px;
}
@media screen and (min-width: 769px) and (max-width: 960px) {
  section.voice {
    padding: 40px 0;
    background-color: #ecf1f7;
  }
  section.voice .wrap_inner {
    margin: 0 !important;
  }
  section.voice img {
    margin: 0 auto;
    max-width: 90%;
    max-height: 100lvh;
  }
  section.voice .wrap_inner .voice_content {
    max-width: none;
    min-width: none;
    width: 100%;
    margin: 0 auto;
  }
}
@media screen and (max-width: 768px) {
  section.voice {
    padding: 40px 0;
    background-color: #ecf1f7;
  }
  section.voice .wrap_inner {
    margin: 0 !important;
  }
  section.voice img {
    margin: 0 auto;
    max-width: 100%;
    max-height: none;
  }
  section.voice .wrap_inner {
    margin: 0 auto;
    max-width: none;
    width: 100%;
  }
  section.voice .wrap_inner h2 {
    max-width: 247px;
    width: 100%;
    margin: 0 auto;
  }
  section.voice .wrap_inner .voice_content {
    max-width: 768px;
    min-width: 345px;
    width: calc(100% - 30px);
    margin: 0 auto;
  }
  section.voice .wrap_inner .voice_content .voice_tex {
    padding-top: 40px;
  }
}

/*  ========================================== makuake */

section.makuake .wrap_inner {
  margin-top: 80px;
}
section.makuake .rayout2col li {
  text-align: center;
}
section.makuake .rayout2col li h2,
section.makuake .rayout2col li p {
  font-weight: 500;
}

section.makuake .rayout2col li h2 {
  font-size: 1.6rem;
  line-height: 2.3rem;
}
section.makuake .rayout2col li p {
  font-size: 1.8rem;
  line-height: 3.3rem;
}

section.makuake .rayout2col li img {
  display: block;
  margin: 20px auto;
  width: 256px;
}
section.makuake .rayout2col li p.apeal {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0;
  padding: 30px;
  background: #000000;
  color: #ffffff;
  font-size: 2rem;
  line-height: 3.3rem;
}
section.makuake .rayout2col li p.apeal strong {
  display: inline-block;
  margin: 0 10px;
  font-weight: 400;
  font-size: 6.4rem;
  font-family: "Jost", sans-serif;

  font-optical-sizing: auto;
}
section.makuake .rayout2col li p.caution {
  font-size: 1.1rem;
  line-height: 1.8rem;
}
@media (max-width: 768px) {
  section.makuake .rayout2col li p.apeal {
    padding: 20px;
  }
  section.makuake .rayout2col li p.apeal strong {
    font-size: 4rem;
  }
  section.makuake .rayout2col li p.caution {
    text-align: left;
  }
}

/*  ========================================== before_after */
section.before_after {
  margin: 0 auto;
  padding: 0;
}
section.before_after .wrap_inner {
  margin: 0 auto;
  padding: 0;
}

section.before_after.bg_gradation {
  padding: 20px 20px;
  background-color: #ffffff;
  background-image: url("https://d2w53g1q050m78.cloudfront.net/eceternamcojp/uploads/lp_202409/bg_troubleshooting.png");
  background-position: top;
  background-repeat: repeat-x;
}

section.before_after .wrap_inner {
  margin-top: 0;
}
section.before_after.bg_gradation .wrap_inner {
  padding-top: 80px;
  padding-bottom: 80px;
}

section.before_after .rayout2col.ttl {
  overflow: hidden;
  align-items: stretch;
  margin-bottom: 0;
  height: 410px;

  gap: 0;
}
section.before_after .rayout2col.ttl li {
  width: 50%;
}
section.before_after .rayout2col.ttl li:last-child {
  display: flex;
  align-items: center;
  flex: 1;
  justify-content: center;
  box-sizing: border-box;
  background: #828381;
  color: #ffffff;
}
section.before_after .rayout2col.ttl li p {
  font-size: 3.6rem;
  line-height: 7.2rem;
}

section.before_after .wrap_inner > div {
  margin-left: 50%;
  width: 50%;
}

section.before_after .wrap_inner > p:first-child {
  margin-top: 0;
}
section.before_after .wrap_inner ul.wrap_before_after {
  position: relative;
  display: flex;
  align-items: flex-start;

  gap: 20px;
}
section.before_after .wrap_inner ul.wrap_before_after li:nth-child(1) {
  width: calc(((100% - 40px) / 8) * 2);
}
section.before_after .wrap_inner ul.wrap_before_after li:nth-child(2) {
  width: calc(((100% - 40px) / 8) * 3);
}
section.before_after .wrap_inner ul.wrap_before_after li:nth-child(3) {
  width: calc(((100% - 40px) / 8) * 3);
}
section.before_after .wrap_inner ul.wrap_before_after li:nth-child(3) div {
  margin-top: 70px;
}
section.before_after .wrap_inner ul.wrap_before_after li:nth-child(3) div p {
  font-size: 2.6rem;
  line-height: 4rem;
}
section.before_after .wrap_inner ul.wrap_before_after li p.caution {
  position: absolute;
  bottom: 5px;
  margin: 0;
  font-size: 1.8rem;
  line-height: 2.4rem;
}
section.before_after .wrap_inner ul.wrap_before_after li p.caution span {
  position: relative;
  display: block;
  margin-left: 1.6rem;
  font-size: 1.2rem;
  line-height: 1.8rem;
}
section.before_after .wrap_inner ul.wrap_before_after li p.caution span:before {
  position: absolute;
  top: 0;
  left: -1.6rem;
  content: "※";
}
section.before_after.bg_gradation .rayout2col {
  position: relative;
}

section.before_after.bg_gradation p.tex1 {
  position: relative;
  padding: 40px 0;
  background: #ffffff;
  text-align: center;
  letter-spacing: 1rem;
  font-size: 4rem;
  line-height: 8rem;
}
/*
section.before_after.bg_gradation p.tex1:before {
  position: absolute;
  top: -40px;
  right: 0;
  left: 0;
  display: inline-block;
  margin: auto auto;
  width: 100%;
  color: #ffffff;
  content: "▲";
  text-align: center;
  font-size: 80px;
}
*/
section.before_after.bg_gradation .wrap_tex {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}

section.before_after.bg_gradation p.tex2 {
  padding-bottom: 30px;
  width: 450px;
  border-bottom: 1px solid #000000;
  text-align: left;
  font-size: 2.8rem;
  line-height: 4.8rem;
}
section.before_after.bg_gradation p.tex2 strong {
  display: block;
  margin: 30px 0;
  letter-spacing: 1rem;
  font-size: 6rem;
  line-height: 8rem;
}
section.before_after.bg_gradation p.tex3 {
  font-size: 2.8rem;
  line-height: 4.8rem;
}

@media (max-width: 768px) {
  section.before_after {
    margin-bottom: 20px;
    background-size: contain;
  }
  section.before_after .wrap_inner > div {
    margin-left: auto;
    width: auto;
  }
  section.before_after .wrap_inner p.tex1 {
    margin-top: 20px;
    font-size: 2.6rem;
    line-height: 4.6rem;
  }
  section.before_after .wrap_inner p.tex3 {
    margin-bottom: 30px;
    font-size: 2.4rem;
    line-height: 3.6rem;
  }
  section.before_after .wrap_inner ul.wrap_before_after {
    display: block;
  }
  section.before_after .wrap_inner ul.wrap_before_after li:nth-child(3) {
    width: auto;
  }
  section.before_after .wrap_inner ul.wrap_before_after li:nth-child(1),
  section.before_after .wrap_inner ul.wrap_before_after li:nth-child(2) {
    margin-right: auto;
    margin-left: auto;
    width: 200px;
  }
  section.before_after .wrap_inner ul.wrap_before_after li:nth-child(3) div {
    margin-top: 20px;
    text-align: center;
  }
  section.before_after .wrap_inner ul.wrap_before_after li:nth-child(3) div p {
    position: relative;
    text-align: center;
    font-size: 1.8rem;
    line-height: 3rem;
  }
  section.before_after
    .wrap_inner
    ul.wrap_before_after
    li:nth-child(3)
    div
    p.caution {
    display: inline-block;
    text-align: left;
  }
  section.before_after .rayout2col.ttl {
    height: auto;
  }
  section.before_after .rayout2col.ttl li {
    width: auto;
  }
  section.before_after.bg_gradation .wrap_inner {
    padding-top: 20px;
    padding-bottom: 20px;
  }
  section.before_after.bg_gradation .wrap_tex {
    position: relative;
  }
  section.before_after.bg_gradation p.tex2 {
    width: auto;
  }
}

/*  ========================================== special */
section.special {
  overflow: hidden;
  margin-top: 30px;
}
section.special h2 {
  padding: 80px 0;
  background-color: #ffffff;
  text-align: center;
  font-size: 3.6rem;
  line-height: 6rem;
}
section.special h2 span {
  display: block;
  margin: 0 auto;
  max-width: 960px;
  width: calc(100% - 40px);
}
section.special .rayout2col h3 {
  font-size: 3rem;
  line-height: 4.8rem;
}
section.special .rayout2col p {
  font-size: 2.3rem;
  line-height: 4rem;
}
section.special .rayout2col {
  gap: 40px;
}

section.special .rayout2col li {
  position: relative;
}
section.special .rayout2col > li:first-child {
  padding-left: 50px;
  width: calc(((100% - 40px) / 2) - 65px);
  border-left: 2px solid #eeeeee;
}
section.special .rayout2col li:first-child img {
  position: absolute;
  top: -10px;
  left: -40px;
  width: 85px;
  background: #ffffff;
}

section.special .block_special {
  position: relative;
  text-align: center;
}
section.special .wrap_gradation .block_special .tex1 {
  position: absolute;
  top: -78px;
  right: 0;
  left: 0;
  display: inline-block;
  margin: auto;
  padding: 10px 30px;
  width: 330px;
  background: #000000;
  color: #ffffff;
  font-size: 1.7rem;
  line-height: 1.7rem;
}
section.special .wrap_gradation .block_special .tex2 {
  margin: 80px auto;
  font-weight: 500;
  font-size: 3.2rem;
  line-height: 3.2rem;
}

section.special .wrap_gradation {
  position: relative;
  padding: 60px 0;
  background-image: url("https://d2w53g1q050m78.cloudfront.net/eceternamcojp/uploads/lp_202409/bg_troubleshooting.png");
  background-position: top center;
  background-repeat: repeat-x;
}
section.special .wrap_gray {
  position: relative;
  margin-bottom: 150px;
  padding: 40px 0 0 0;
  background: #d1d2d4;
}

section.special .wrap_gray::after {
  position: absolute;
  bottom: -99px;
  left: 0;
  margin-left: 0;
  border-top: 100px solid #d1d2d4;
  border-right: 50vw solid transparent;
  border-left: 50vw solid transparent;
  content: "";
}

section.special .wrap_gradation .wrap_inner {
  margin-top: 0;
}

.specal1 img {
  max-width: 800px;
  width: calc(100% - 20px);
}
section.special .wrap_gray .wrap_inner {
  margin: 0 auto;
}
section.special .wrap_gray .tex3 {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 40px auto;
  font-weight: 500;
  font-size: 2.4rem;
  line-height: 4.2rem;
}
section.special .wrap_gray .tex3 span {
  display: inline-block;
  font-size: 1.7rem;
}
section.special .wrap_gray img {
  display: block;
  margin: 0 auto;
  max-width: 700px;
  width: calc(100% - 20px);
}
section.special .yurai {
  margin-bottom: 120px;
}
section.special .yurai p {
  text-align: center;
  font-size: 4rem;
  line-height: 6rem;
}
@media (max-width: 768px) {
  section.special h2 {
    margin-bottom: 60px;
    padding: 30px 10px;
    font-size: 2.8rem;
    line-height: 4.2rem;
  }

  section.special h2 span {
    padding: 20px;
    width: calc(100% - 80px);
    background-color: rgba(255, 255, 255, 0.75);
    font-size: 2.8rem;
    line-height: 5rem;
    filter: progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#bfffffff,EndColorStr=#bfffffff);
  }

  section.special .rayout2col h3 {
    margin-left: -20px;
    font-size: 2.2rem;
    line-height: 3.6rem;
  }
  section.special .rayout2col p {
    margin-left: -20px;
    font-size: 2rem;
    line-height: 3rem;
  }

  section.special .rayout2col > li:first-child,
  section.special .rayout2col li {
    width: auto;
  }
  section.special .rayout2col li:first-child {
    margin-left: 10px;
  }
  section.special .rayout2col li:first-child img {
    left: -25px;
    width: 50px;
  }
  section.special .wrap_gradation {
    padding-bottom: 0;
  }
  section.special .wrap_gradation .block_special .tex1 {
    width: auto;
    font-size: 1.4rem;
    line-height: 1.4rem;
  }
  section.special .wrap_gradation .block_special .tex2 {
    font-size: 2.2rem;
    line-height: 3.6rem;
  }
  section.special .wrap_gray .tex3 {
    display: block;
    text-align: center;
  }
  section.special .wrap_gray .tex3 span {
    display: block;
  }
  section.special .yurai p {
    font-size: 3rem;
    line-height: 5rem;
  }
  section.special .yurai {
    margin-bottom: 0;
  }
}
/*  ========================================== special */

section.special2 div.wrap_detail {
  position: relative;
  margin-top: 200px;
}

section.special2 h2 {
  position: relative;
  margin: 0 auto;
  padding: 40px;
  width: 600px;
  height: 160px;
  border: 1px solid #cccccc;
  letter-spacing: 0.4rem;
  font-size: 3rem;
  line-height: 7rem;
}
section.special2 h2:after {
  position: absolute;
  top: -20px;
  left: -20px;
  display: block;
  padding: 40px;
  width: 600px;
  height: 160px;
  border: 1px solid #000000;
  content: " ";
}
section.special2 h2 strong {
  font-size: 4.8rem;
}
section.special2 h3 {
  position: absolute;
  top: -120px;
  left: -30px;
  padding-top: 20px;
  padding-bottom: 20px;
  padding-left: 100px;
  width: 550px;
  background-image: url("https://d2w53g1q050m78.cloudfront.net/eceternamcojp/uploads/lp_202409/h2_special2.png");
  background-position: top right;
  background-size: cover;
  font-weight: 300;
  font-size: 5.5rem;
  line-height: 8.4rem;
}
section.special2 div.wrap_detail:nth-child(3) h3,
section.special2 div.wrap_detail:nth-child(4) h3 {
  line-height: 16.8rem;
}
section.special2 div.wrap_detail:nth-child(1) h3:before,
section.special2 div.wrap_detail:nth-child(2) h3:before,
section.special2 div.wrap_detail:nth-child(3) h3:before,
section.special2 div.wrap_detail:nth-child(4) h3:before {
  position: absolute;
  top: -60px;
  left: 0;
  display: block;
  width: 80px;
  height: 150px;
  background-size: cover;
  background-repeat: no-repeat;
  content: " ";
}
section.special2 div.wrap_detail:nth-child(1) h3:before {
  background-image: url("https://d2w53g1q050m78.cloudfront.net/eceternamcojp/uploads/lp_202409/num_special2_1.png");
}
section.special2 div.wrap_detail:nth-child(2) h3:before {
  background-image: url("https://d2w53g1q050m78.cloudfront.net/eceternamcojp/uploads/lp_202409/num_special2_2.png");
}
section.special2 div.wrap_detail:nth-child(3) h3:before {
  background-image: url("https://d2w53g1q050m78.cloudfront.net/eceternamcojp/uploads/lp_202409/num_special2_3.png");
}
section.special2 div.wrap_detail:nth-child(4) h3:before {
  background-image: url("https://d2w53g1q050m78.cloudfront.net/eceternamcojp/uploads/lp_202409/num_special2_4.png");
}
section.special2 p {
  font-size: 1.9rem;
  line-height: 3.8rem;
}

section.special2 .rayout2col {
  align-items: center;
  justify-content: center;
}
@media (max-width: 768px) {
  section.special2 .wrap_inner {
    width: auto;
  }

  section.special2 div.wrap_detail {
    margin-top: 100px;
  }
  section.special2 .rayout2col {
    margin: 10px auto;
    width: calc(100% - 40px);
  }

  section.special2 h2 {
    padding: 20px;
    width: auto;
    height: auto;
    text-align: center;
    font-size: 2.4rem;
    line-height: 3.6rem;
  }
  section.special2 h2 strong {
    font-size: 3.4rem;
    line-height: 3.6rem;
  }
  section.special2 h2:after {
    display: none;
  }

  section.special2 h3 {
    position: relative;
    top: auto;
    left: auto;
    padding-left: 10px;
    width: auto;
    font-size: 4rem;
    line-height: 6rem;
  }
  section.special2 div.wrap_detail:nth-child(1) h3:before,
  section.special2 div.wrap_detail:nth-child(2) h3:before,
  section.special2 div.wrap_detail:nth-child(3) h3:before,
  section.special2 div.wrap_detail:nth-child(4) h3:before {
    top: -100px;
    left: 0;
  }
}

/*  ========================================== test */
section.test {
  margin-top: 80px;
  margin-bottom: 80px;
}
section.test .ttl {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  min-height: 500px;
  background-color: #000000;
  background-image: url("https://d2w53g1q050m78.cloudfront.net/eceternamcojp/uploads/lp_202409/bg_test.png");
  background-position: top center;
  background-repeat: no-repeat;
}
section.test .ttl h2,
section.test .ttl p {
  color: #ffffff;
}
section.test .ttl h2 {
  margin-bottom: 30px;
  font-size: 5.6rem;
  line-height: 5.6rem;
}
section.test .ttl h2 span {
  display: block;
  margin-bottom: 15px;
  padding-bottom: 0;
  width: 160px;
  border-bottom: 2px solid #ffffff;
  font-size: 2.2rem;
}
section.test .ttl p {
  font-size: 2.3rem;
  line-height: 3.6rem;
}
section.test h3 {
  font-weight: 500;
  font-size: 2.5rem;
  line-height: 3.6rem;
}
section.test .rayout2col {
  margin-top: 140px;

  gap: 120px;
}
section.test .rayout2col li {
  position: relative;
  width: calc((100% - 120px) / 2);
}
section.test .rayout2col li:before {
  position: absolute;
  top: -60px;
  left: -60px;
  display: block;
  width: 100px;
  height: 100px;
  background-size: cover;
  background-repeat: no-repeat;
  content: " ";
}
section.test .rayout2col li:nth-child(1):before {
  background-image: url("https://d2w53g1q050m78.cloudfront.net/eceternamcojp/uploads/lp_202409/num_test_1.png");
}
section.test .rayout2col li:nth-child(2):before {
  background-image: url("https://d2w53g1q050m78.cloudfront.net/eceternamcojp/uploads/lp_202409/num_test_2.png");
}

@media (max-width: 768px) {
  section.test .wrap_inner {
    width: auto;
  }
  section.test .ttl h2 {
    font-size: 3.8rem;
  }
  section.test .ttl p {
    font-size: 2rem;
  }
  section.test .rayout2col {
    margin-top: 40px;
    padding-right: 10px;
    padding-left: 40px;
  }
  section.test .rayout2col li {
    margin-top: 80px;
    width: auto;
  }
  section.test .rayout2col li:before {
    left: -30px;
  }
}

/*  ========================================== wrap_ingredients */

.wrap_ingredients {
  display: flex;
  flex-wrap: wrap;
  margin-top: 40px;

  gap: 20px;
}
.wrap_ingredients div {
  margin-bottom: 40px;
  width: calc((100% - 40px) / 3);
}
.wrap_ingredients div strong {
  display: block;
  margin-top: 20px;
  margin-bottom: 20px;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 2.8rem;
}
.wrap_ingredients div ul li {
  list-style-type: none;
  font-size: 1.4rem;
  line-height: 2.4rem;
}

ul.all_Ingredients li {
  display: inline-block;
  font-size: 1.1rem;
  line-height: 2rem;
}
ul.all_Ingredients li:after {
  content: "、";
}
ul.all_Ingredients li:last-child {
  margin-right: 0;
}
ul.all_Ingredients li:first-child:after,
ul.all_Ingredients li:last-child:after {
  content: none;
}
p.ingredients_images {
  text-align: right;
}

@media (max-width: 768px) {
  .wrap_ingredients {
  }
  .wrap_ingredients div {
    margin-bottom: 20px;
    width: calc((100% - 20px) / 2);
  }
}

/*  ========================================== from_eternam */

.from_eternam {
  position: relative;
  padding: 60px 0;
  background-image: url("https://d2w53g1q050m78.cloudfront.net/eceternamcojp/uploads/lp_202409/bg_troubleshooting.png");
  background-position: top center;
  background-repeat: repeat-x;
}
.from_eternam h2 {
  margin: 0;
  padding: 0;
  font-weight: 100;
  font-size: 3.4rem;
  line-height: 3.4rem;
}
.from_eternam ul.rayout2co {
  align-items: center;
}
.from_eternam ul.rayout2col li:first-child img {
  width: 400px;
}
.from_eternam ul.rayout2col li:first-child img.photo {
  margin-top: -50px;
  margin-left: -10px;
}
.from_eternam ul.rayout2col li:last-child p {
  font-size: 1.4rem;
  line-height: 2.4rem;
}
.from_eternam .wrap_inner {
  margin-bottom: 40px;
  padding-bottom: 40px;
  border-bottom: 1px solid #808080;
}
@media (max-width: 768px) {
  .from_eternam h2 {
    font-size: 3rem;
  }

  .from_eternam {
    padding: 60px 0 0 0;
  }
  .from_eternam .wrap_inner {
    margin-top: 0;
  }

  .from_eternam ul.rayout2col li:first-child {
    text-align: center;
  }

  .from_eternam ul.rayout2col li:first-child img,
  .from_eternam ul.rayout2col li:first-child img.photo {
    margin-bottom: 10px;
    width: 300px;
  }

  .from_eternam ul.rayout2col li:first-child img.photo {
    margin-right: auto;
    margin-left: auto;
  }
}

/*  ========================================== product_detail */

.product_detail .rayout2col {
  gap: 30px;
}
.product_detail .rayout2col > li {
  width: calc((100% - 30px) / 2);
}
.product_detail .rayout2col > li ul li {
  list-style-type: none;
  font-size: 1.2rem;
  line-height: 2.1rem;
}
.product_detail .rayout2col > li:first-child {
  width: 360px;
}
.product_detail .rayout2col > li:last-child {
  width: calc(100% - 360px - 30px);
}

.product_detail div.ttl {
  margin-bottom: 40px;
}
.product_detail div.ttl h2,
.product_detail div.ttl p {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid #aaaaaa;
  font-size: 1.9rem;
  line-height: 1.9rem;

  gap: 20px;
}
.product_detail div.ttl h2 span,
.product_detail div.ttl p span {
  font-size: 1.2rem;
}
.product_detail div.ttl p span.split {
  margin-left: 100px;
}
.product_detail .wrap_caution h3 {
  margin-bottom: 20px;
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 2.6rem;
}

.product_detail .all_Ingredients {
  margin-top: 20px;
  padding: 20px;
  border: 1px solid #000000;
}
@media (max-width: 768px) {
  .product_detail .rayout2col > li:first-child,
  .product_detail .rayout2col > li:last-child {
    width: auto;
  }
  .product_detail .rayout2col > li:first-child {
    margin-bottom: 20px;
  }
  .product_detail div.ttl p span.split {
    margin-left: 30px;
  }
}

/*  ========================================== benefits */
.benefits {
  overflow: hidden;
  padding: 90px 0;
  width: 99vw;
  background: #888987;
}
.benefits .wrap_inner {
  display: flex;
  align-items: center;
  margin-left: calc((100vw - 960px) / 2);
  padding: 50px 100vw 50px 50px;
  background: #ffffff;
}
.benefits h2 {
  position: relative;
  text-align: center;
  letter-spacing: 1.3rem;
  font-weight: 200;
  font-size: 5rem;
  line-height: 5rem;

  writing-mode: vertical-rl;
}
.benefits h2 span {
  display: inline-block;
  padding: 20px 0 9px 5px;
  font-weight: 200;
  font-size: 8rem;
  font-family: "Jost", sans-serif;
  transform: rotate(-90deg);

  writing-mode: vertical-rl;
  font-optical-sizing: auto;
}
.benefits ol {
  margin-left: 100px;
}
.benefits ol li {
  position: relative;
  display: flex;
  align-items: baseline;
  padding-left: 100px;
  border-bottom: 1px solid #888987;
  list-style-type: none;
  font-weight: 200;
  font-size: 3.6rem;
  line-height: 12.4rem;
}
.benefits ol li span {
  position: absolute;
  top: 5px;
  left: 0;
  display: inline-block;
  font-weight: 200;
  font-size: 5rem;
  font-family: "Jost", sans-serif;

  font-optical-sizing: auto;
}
.benefits ol li strong {
  display: inline-block;
  margin: 0 10px;
  font-weight: 300;
  font-size: 8.2rem;
  font-family: "Jost", sans-serif;

  font-optical-sizing: auto;
}
.benefits ol li:nth-child(n + 3) strong {
  font-size: 3.6rem;
  line-height: 12.4rem;
}
@media (max-width: 768px) {
  .benefits {
    padding: 20px;
    width: auto;
  }

  .benefits .wrap_inner {
    display: block;
    margin: 0 auto;
    padding: 20px;
    width: auto;
  }

  .benefits h2 {
    font-size: 2.8rem;

    writing-mode: initial;
  }
  .benefits h2 span {
    padding: 0;
    font-size: 5rem;
    line-height: 5rem;
    transform: none;

    writing-mode: initial;
  }
  .benefits ol {
    margin: 0;
    padding: 0;
  }
  .benefits ol li {
    align-items: center;
    justify-content: space-between;
    padding: 0;
    font-size: 2rem;
  }
  .benefits ol li span {
    position: relative;
    font-size: 3rem;
  }
  .benefits ol li strong {
    margin: 0;
    font-size: 5rem;
  }
  .benefits ol li:nth-child(n + 3) strong {
    margin: 0 5px;
    font-size: 2.6rem;
  }
  .benefits ol li,
  .benefits ol li span,
  .benefits ol li strong,
  .benefits ol li:nth-child(n + 3) strong {
    line-height: 6rem;
  }
}

/*  ========================================== faq */
section.faq {
  margin-bottom: 120px;
}
section.faq h2 {
  text-align: center;
  font-size: 4.4rem;
}
section.faq h2 img {
  width: 400px;
}
section.faq dl {
  margin: 40px auto;
  max-width: 600px;
}
section.faq dt,
section.faq dd {
  margin: 0;
  padding: 0;
  font-size: 1.5rem;
  line-height: 3.6rem;
}
section.faq dt {
  font-weight: 500;
}
section.faq dd {
  margin-bottom: 20px;
}
@media (max-width: 768px) {
  section.faq h2 {
    font-weight: 100;
    font-size: 3rem;
  }
}

/*  ========================================== footer */
footer {
  padding: 40px;
  background: #888987;
  color: #ffffff;
  text-align: center;
}
footer h2 img {
  width: 80px;
}
footer h2 {
  margin-bottom: 40px;
}
footer p.wrap_sns a {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 40px;
  color: #ffffff;

  gap: 20px;
}
footer p.wrap_sns img {
  width: 30px;
}
footer ul {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 40px;
}
footer ul li {
  list-style-type: none;
  font-size: 1.3rem;
  line-height: 1.3rem;
}
footer ul li:after {
  content: "｜";
}
footer ul li a {
  color: #ffffff;
}
footer ul li:last-child:after {
  content: none;
}

@media (max-width: 768px) {
  footer ul {
    display: block;
  }
  footer ul li {
    font-size: 1.8rem;
    line-height: 4.2rem;
  }
  footer ul li:after {
    content: none;
  }
}

__payment_form_css__

/*-------------------------------------*
 * PCデザイン可変部分
 *-------------------------------------*/
/* 【PC】フォームの項目名ラベル内必須アイコン */
span.form_required_ec {
  /* セクションラベルの色 */
  background: #7e0f09;
  /* セクションラベルのフォント色*/
  color: #ffffff;
}
/* 【PC】フォームのセクションラベル */
.landing_form_label_ec {
  /* セクションラベルの色 */
  background: #203594;
  background: #999999;
  /* セクションラベルのフォント色*/
  color: #ffffff;
  /* セクションラベルのフォントサイズ */
  font-size: 18px;
}
/* 【PC】フォーム入力ボックス内の基本デザイン */
table.landing_form_ec {
  border-top: 1px solid #d0dcec;
  border-right: 1px solid #d0dcec;
  border-bottom: 1px solid #999999;
  background: #ffffff;
}
/* 【PC】フォーム左側　項目名ラベル */
.landing_form_ec th {
  border-bottom: 1px solid #d0dcec;
  border-left: 1px solid #d0dcec;
  background-color: #e1edfd;
  background-color: #eeeeee;
}
/* 【PC】フォーム右側　入力ボックス */
.landing_form_ec td {
  border-bottom: 1px solid #d0dcec;
  border-left: 1px solid #d0dcec;
  background-color: #ffffff;
}

/* 【PC】購入ボタンのデザイン */
.submit_bottom_ec {
  width: 400px;
  height: 150px;
  border: 0;
  background-size: 394px auto;
  background-repeat: no-repeat;
  cursor: pointer;
}

/*-------------------------------------*
 * スマートフォンデザイン可変部分
 *-------------------------------------*/
/* 【SP】フォームの項目名ラベル内必須アイコン */
span.form_required_sp_ec {
  /* セクションラベルの色 */
  background: #7e0f09;
  /* セクションラベルのフォント色*/
  color: #ffffff;
}

/* 【SP】フォームのセクションラベル */
.landing_form_label_sp_ec {
  /* セクションラベルの色 */
  background: #203594;
  /* セクションラベルのフォント色*/
  color: #ffffff;
  /* セクションラベルのフォントサイズ */
  font-size: 18px;
}

/* 【SP】フォームの項目名ラベル */
.form_box_label_sp_ec {
  border-top: 1px solid #c3c3c3;
  border-bottom: 1px solid #c3c3c3;
  background: #cadefc;
}

/* 【SP】購入ボタンのデザイン */
.submit_bottom_sp_ec {
  width: 100%;
  height: 150px;
  border: 0;
  background-size: 100% auto;
  background-repeat: no-repeat;
  cursor: pointer;
}

/*-------------------------------------*
	11/18 追加改修分
 *-------------------------------------*/

table.pricelist {
  width: 100%;
}
table.pricelist th {
  font-size: 1.2rem;
  line-height: 1.2rem;
}
table.pricelist td {
  font-size: 1.4rem;
  line-height: 1.4rem;
}
table.pricelist th,
table.pricelist td {
  padding: 5px;
  padding-bottom: 10px;
  border-bottom: 1px dotted #666666;
}
.sales_promotion ul.rayout2col.flexReverse {
  flex-direction: row-reverse;
}
.sales_promotion .wrap_inner ul.tex1 li:nth-child(1) {
  width: 280px;
}

.sales_promotion .wrap_inner ul.tex1 li:nth-child(2) {
  width: calc(100% - 22px - 280px);
}
.sales_promotion .wrap_inner p.tex2 {
  line-height: 3rem;
}
section.evaluation2 .warp_lip_product img {
  top: -40px;
  left: -30px;
  width: 580px;
}
section.evaluation2 ul.rayout2col li p.caution {
  top: -40px;
  right: 0;
  left: auto;
}
@media (max-width: 768px) {
  .sales_promotion .wrap_inner ul {
    margin: 0 auto;
  }
  .sales_promotion .wrap_inner ul.tex1 li:nth-child(2) {
    width: auto;
  }

  section.proposal2 p.tex1 {
    margin: 0 auto;
  }
  section.proposal2 ul.rayout2col li:last-child div {
    margin-top: 20px;
  }
  section.proposal .rayout2col li:last-child {
    margin-top: 40px;
    margin-left: 0;
  }
  section.evaluation2 ul.rayout2col li p.caution {
    top: auto;
    right: auto;
    left: auto;
  }
  section.evaluation2 .warp_lip_product {
    display: block;
  }
  section.evaluation2 .warp_lip_product img {
    position: relative;
    top: auto;
    left: auto;
    width: auto;
  }
  section.evaluation2 {
    padding-bottom: 0;
  }
}

/*
============ product_detail追加分
*/

.product_detail .rayout2col > li {
  position: relative;
  margin-bottom: 40px;
}
.product_detail .rayout2col > li a {
  display: block;
  margin-top: 5px;
  margin-bottom: 5px;
  padding: 10px 10px;
  background: #d0231a;
  color: #ffffff;
  text-align: center;
  text-decoration: none;
  font-size: 1.6rem;
  line-height: 2.5rem;
}
.product_detail .rayout2col > li a:hover {
  background: #000000;
}
.product_detail div.ttl {
  margin-bottom: 10px;
}
.product_detail .rayout2col > li:nth-child(2n + 1) {
  width: 240px;
}
.product_detail .rayout2col > li,
.product_detail .rayout2col > li:last-child {
  width: calc(100% - 240px - 30px);
}
.product_detail .wrap_caution {
  margin-top: 20px;
}

.product_detail .wrap_caution ul li {
  position: relative;
  padding-left: 1.6rem;
  list-style-type: none;
  font-size: 1.2rem;
  line-height: 2.1rem;
}
.product_detail .wrap_caution ul li:before {
  position: absolute;
  top: 0;
  left: 0;
  content: "○";
}
.product_detail .wrap_caution ul li span {
  font-size: 1.2rem;
}
.product_detail div.ttl {
  display: flex;
  margin-bottom: 10px;

  gap: 20px;
}
.product_detail div.ttl_sub {
  width: calc(100% - 220px);
}
.product_detail div.ttl p.smt {
  display: none;
}
.product_detail div.ttl_sub div.color_description {
  display: flex;
  align-items: center;

  gap: 20px;
}
.product_detail div.ttl_sub div.color_description img.icon_color {
  width: 80px;
}
.product_detail div.ttl_sub div.color_description p {
  margin: 0 0 15px 0;
  padding: 0;
  border: none;
}
.product_detail div.ttl_sub div.usage_scenes div {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 10px;

  gap: 10px;
}
.product_detail div.ttl_sub div.usage_scenes img {
  width: 20px;
}
.yellow_base,
.blue_base {
  display: inline-block;
  padding: 0 10px;
  color: #666666;
  font-size: 1.1rem;
  line-height: 1.6rem;
}
.yellow_base {
  background: #f9e1b0;
}
.blue_base {
  background: #fae1df;
}

.product_detail div.ttl_sub2 {
  width: 200px;
}
.product_detail .rayout2col > li span.purchase_notes {
  display: block;
  margin-top: 10px;
  text-align: left;
  font-size: 1.1rem;
}
.product_detail div.ttl p span.name_color {
  width: 200px;
}
.product_detail div.ttl p span.split {
  margin-left: 0;
}
.product_detail div.ttl h2 {
  margin-bottom: 20px;
  width: 100%;
  font-size: 2.4rem;
}
.product_detail div.ttl p span.name_color,
.product_detail div.ttl p span.capacity {
  font-size: 1.9rem;
}

@media (max-width: 768px) {
  .product_detail .rayout2col > li,
  .product_detail .rayout2col > li:last-child {
    width: auto;
  }
  .product_detail .rayout2col > li a,
  .product_detail .rayout2col > li span.purchase_notes {
    position: relative;
    display: block;
    width: auto;
    text-align: center;
  }
  .product_detail .rayout2col > li a {
    margin-top: 15px;
    margin-bottom: 15px;
    padding: 10px 5px;
    font-size: 1.8rem;
    line-height: 1.8rem;
  }
  .product_detail .rayout2col > li span.purchase_notes {
    top: auto;
    margin-bottom: 10px;
    padding-bottom: 20px;
    border-bottom: 1px solid #808080;
    text-align: left;
    font-size: 1.4rem;
    line-height: 1.8rem;
  }
  .product_detail .rayout2col > li:nth-child(2n + 1) {
    width: auto;
    text-align: center;
  }
  .product_detail .rayout2col > li:nth-child(2n + 1) img {
    max-width: 50%;
  }
  .product_detail div.ttl {
    display: block;
  }
  .product_detail div.ttl p {
    font-size: 1.6rem;
    line-height: 2.8rem;
  }

  .product_detail div.ttl p.smt {
    display: block;
    border: none;
    font-size: 1.6rem;
    line-height: 2.8rem;
  }
  .product_detail div.ttl_sub,
  .product_detail div.ttl_sub2 {
    width: auto;
  }

  .product_detail div.ttl_sub div.color_description img.icon_color {
    width: 50px;
  }
  .product_detail div.ttl_sub div.color_description p {
    font-size: 1.6rem;
    line-height: 2.8rem;
  }
  .product_detail div.ttl p span.name_color {
    width: 150px;
  }
}

/*  ========================================== cp-promotion */
.cp-promotion {
  padding: 60px 0;
  background-color: #ecf1f7;
}
.cp-promotion .wrap_inner {
  margin: 0 auto;
  padding: 40px 20px;
  background: #ffffff;
}
.cp-promotion .wrap_inner p.cp-Ttl {
  margin: 0 auto;
}
.cp-promotion .wrap_inner p.cp-Ttl img {
  margin: 0 auto;
  text-align: center;
  width: 100%;
  max-width: 821px;
  height: auto;
  max-height: 90px;
}
.cp-promotion .wrap_inner p.cp-lead {
  margin: 32px 0 24px;
  color: #586065;
  text-align: center;
  letter-spacing: 7.2px;
  font-weight: 400;
  font-size: 24px;
  font-family: "Noto Sans JP-Regular", Helvetica;
  line-height: 160%;
}
.cp-promotion .wrap_inner .cp-contents {
  display: flex;
}
.cp-promotion .wrap_inner .cp-txtBox {
  width: 460px;
}
.cp-promotion .wrap_inner .cp-txtBox .cp-boxTtl {
  margin: 16px 16px 0 0;
  color: #586065;
  text-align: center;
  text-align: right;
  letter-spacing: 1.12px;
  font-weight: 400;
  font-size: 16px;
  font-family: "Noto Sans JP-Regular", Helvetica;
  line-height: 160%;
}
.cp-promotion .wrap_inner .cp-txtBox .cp-boxLimited {
  position: absolute;
}
.cp-promotion .wrap_inner .cp-txtBox .cp-Limited {
  position: absolute;
  top: 0;
  left: 40px;
}
.cp-promotion .wrap_inner .cp-txtBox .cp-LimitedTxt {
  margin-top: 16px;
  padding: 24px 40px;
  width: 100%;
  background-color: #6fa4c4;
  color: #ffffff;
  text-align: left;
  letter-spacing: 1.68px;
  font-weight: 400;
  font-size: 24px;
  font-family: "Noto Sans JP-Regular", Helvetica;
  line-height: 160%;
}
.cp-promotion .wrap_inner .cp-txtBox .cp-LimitedTxt .LimitedTxt-big {
  letter-spacing: 0.91px;
  font-size: 36px;
  line-height: 160%;
}
.cp-promotion .wrap_inner .cp-txtBox .cp-boxMainTxt {
  position: relative;
  top: 144px;
  margin-left: 40px;
}
.cp-promotion .wrap_inner .cp-txtBox .cp-boxComment {
  position: relative;
  top: 150px;
  margin-left: 40px;
}
.cp-promotion .wrap_inner .cp-img {
  z-index: 0;
}
.cp-promotion .wrap_inner .cp-btn {
  text-align: center;
  margin: 40px auto 0;
}
.cp-promotion .wrap_inner .cp-btn .btn,
a.btn,
button.btn {
  font-size: 24px;
  font-weight: 400;
  line-height: 160%;
  position: relative;
  display: inline-block;
  padding: 16px 108px;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #fff;
  border-radius: 0;
  margin: 0;
}
.cp-promotion .wrap_inner .cp-btn .btn-border {
  border-radius: 0;
  background: #6fa4c4;
  -webkit-box-shadow: 4px 4px 0 #586065;
  box-shadow: 4px 4px 0 #586065;
}
.cp-promotion .wrap_inner .cp-btn p.btn-border:hover {
  -webkit-box-shadow: 0 0 0 586065;
  box-shadow: 0 0 0 586065;
}
@media screen and (min-width: 769px) and (max-width: 960px) {
  .cp-promotion .wrap_inner {
    background: #ffffff;
  }
  .cp-promotion .wrap_inner p.cp-Ttl img {
  }
  .cp-promotion .wrap_inner p.cp-lead {
    text-align: left;
    letter-spacing: 0.875rem;
    font-size: 3.1209362808842656vw;
    font-family: "Noto Sans JP-Regular", Helvetica;
  }
  .cp-promotion .wrap_inner .cp-txtBox .cp-boxTtl {
    letter-spacing: 0.11666666666666668vw;
    font-size: 1.6666666666666667vw;
  }
  .cp-promotion .wrap_inner .cp-txtBox .cp-boxLimited {
    position: absolute;
  }
  .cp-promotion .wrap_inner .cp-txtBox .cp-Limited {
    position: absolute;
    top: 0;
    left: 2.080624187256177vw;
  }
  /*
  .cp-promotion .wrap_inner .cp-txtBox .cp-Limited img {
    width: 85px;
    height: 42px;
  }
  */
  .cp-promotion .wrap_inner .cp-txtBox .cp-LimitedTxt {
    width: 100%;
    letter-spacing: 0.10923276983094929rem;
    font-weight: 400;
    font-size: 2.5vw;
    font-family: "Noto Sans JP-Regular", Helvetica;
  }
  .cp-promotion .wrap_inner .cp-txtBox .cp-LimitedTxt .LimitedTxt-big {
    letter-spacing: 0.09479166666666666vw;
    font-size: 3.75vw;
  }
  .cp-promotion .wrap_inner .cp-txtBox .cp-boxMainTxt {
    position: relative;
    margin-left: 0;
  }
  .cp-promotion .wrap_inner .cp-txtBox .cp-boxComment {
    position: relative;
    margin-left: 0;
  }
  .cp-promotion .wrap_inner .cp-img {
    z-index: 0;
  }
}
@media screen and (max-width: 768px) {
  .cp-promotion .wrap_inner {
    margin: 0 2.1333333333333333vw;
    padding: 4.2666667vw 0;
    background: #ffffff;
    width: calc(100% - 4.2666667vw);
  }
  .cp-promotion .wrap_inner p.cp-Ttl {
    margin: 0 2.1333333333333333vw;
  }
  .cp-promotion .wrap_inner p.cp-Ttl img {
    margin: 0;
    text-align: left;
    width: 100%;
    max-width: 605px;
    height: auto;
    max-height: 180px;
  }
  .cp-promotion .wrap_inner p.cp-lead {
    margin: 4.2666667vw 2.1333333333333333vw;
    color: #586065;
    text-align: left;
    letter-spacing: 0.2rem;
    font-weight: 400;
    font-size: 4.2666667vw;
    font-family: "Noto Sans JP-Regular", Helvetica;
    line-height: 160%;
  }
  .cp-promotion .wrap_inner .cp-contents {
    display: block;
  }
  .cp-promotion .wrap_inner .cp-txtBox {
    width: 100%;
  }
  .cp-promotion .wrap_inner .cp-txtBox .cp-boxTtl {
    margin: 16px 16px 0 0;
    color: #586065;
    text-align: center;
    text-align: right;
    letter-spacing: 1.12px;
    font-weight: 400;
    font-size: 16px;
    font-family: "Noto Sans JP-Regular", Helvetica;
    line-height: 160%;
  }
  .cp-txtBox .cp-boxTtl {
    margin: 16px 16px 0 0;
    color: #586065;
    text-align: center;
    text-align: right;
    letter-spacing: 1.12px;
    font-weight: 400;
    font-size: 16px;
    font-family: "Noto Sans JP-Regular", Helvetica;
    line-height: 160%;
  }
  .cp-promotion .wrap_inner .cp-txtBox .cp-boxLimited {
    position: absolute;
    min-width: 340px;
    max-width: 768px;
    width: 100%;
  }
  .cp-promotion .wrap_inner .cp-txtBox .cp-Limited {
    position: absolute;
    top: 0;
    left: 0;
  }
  .cp-promotion .wrap_inner .cp-txtBox .cp-Limited img {
    width: 23.52941176470588vw;
    height: 12.324929971988796vw;
  }
  .cp-promotion .wrap_inner .cp-txtBox .cp-LimitedTxt {
    margin: 4.2666667vw 0 0;
    padding: 2.1333333333333333vw 0 4.266666666666667vw 29.13165266106443vw;
    width: 66.66666666666666vw;
    background-color: #6fa4c4;
    color: #ffffff;
    text-align: left;
    letter-spacing: 1.68px;
    font-weight: 400;
    font-size: 3.9215686274509802vw;
    font-family: "Noto Sans JP-Regular", Helvetica;
    line-height: 160%;
  }
  .cp-promotion .wrap_inner .cp-txtBox .cp-LimitedTxt .LimitedTxt-big {
    letter-spacing: 0.91px;
    font-size: 4.6875vw;
    line-height: 160%;
  }
  .cp-promotion .wrap_inner .cp-boxMainTxt {
    margin: 47.199999999999996vw auto 0;
    text-align: center;
    position: absolute;
    left: 50%;
    width: 70%;
    /* -webkit-transform: translate(-50%, -50%); */
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
  .cp-promotion .wrap_inner .cp-boxMainTxt {
    /*
    width: 97vw;
    height: 11.59794vh;
		*/
  }
  .cp-promotion .wrap_inner .cp-txtBox .cp-boxMainTxt img {
  }
  .cp-promotion .wrap_inner .cp-boxComment {
    margin: 64.8vw auto 0;
    text-align: center;
    width: 100%;
    position: absolute;
    /* top: 680px; */
    left: 50%;
    width: 70%;
    /* -webkit-transform: translate(-50%, -50%); */
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
  .cp-promotion .wrap_inner .cp-img {
    text-align: center;
    background: #6fa4c4;
    margin: 0;
    padding: 0 2.1333333333333333vw;
    position: relative;
    top: 17.866666666666667vw;
  }
  .cp-promotion .wrap_inner p.cp-boxTtl {
    margin: 17.599999999999998vw auto 6.4vw;
    color: #fff;
    text-align: center;
    text-align: center;
    letter-spacing: 0.2rem;
    font-weight: 400;
    font-size: 3.9215686274509802vw;
    font-family: "Noto Sans JP-Regular", Helvetica;
    line-height: 160%;
    padding: 0 0 24px;
    background-color: #6fa4c4;
  }
  .cp-promotion .wrap_inner .cp-btn {
    text-align: center;
    margin: 40.53333333333333vw 2.1333333333333333vw 0;
  }
  .cp-promotion .wrap_inner .cp-btn .btn,
  a.btn,
  button.btn {
    font-size: 24px;
    font-weight: 400;
    line-height: 160%;
    position: relative;
    display: inline-block;
    padding: 16px 5.602240896358544vw;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    letter-spacing: 0.1em;
    color: #fff;
    border-radius: 0;
    margin: 0;
  }
}
@media screen and (min-width: 555px) and (max-width: 768px) {
  .cp-promotion .wrap_inner .cp-boxMainTxt {
    width: 100%;
  }
  .cp-boxMainTxt img {
    margin: 0 auto;
  }
}

/*------------------------------------
* PC,SP共通部分
*-------------------------------------*/
/* リセット */
body {
  margin: 0;
}

#lp-form h1,
#lp-form h2,
#lp-form h3,
#lp-form h4,
#lp-form h5,
#lp-form h6,
#lp-form p,
#lp-form ul,
#lp-form ol,
#lp-form li,
#lp-form dl,
#lp-form dt,
#lp-form dd,
#lp-form blockquote {
  margin: 0;
}

#lp-form ul,
#lp-form ol {
  /*list-style: none inside;*/
}

#lp-form img,
#lp-form a img {
  border: 0;
  vertical-align: middle;
}

#lp-form .clearfix {
  zoom: 1;
}

#lp-form .clearfix:after {
  clear: both;
  content: "";
  display: block;
}

#lp-form {
  font-size: 12px;
  line-height: 1.42857143;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: #333333;
}

#lp-form table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* Form 項目と入力ボックス間の空白調節*/
.col-1,
.col-2,
.col-3,
.col-4,
.col-5,
.col-6,
.col-7,
.col-8,
.col-9,
.col-10,
.col-11,
.col-12,
.col-13,
.col-14,
.col-15,
.col-16,
.col-17,
.col-18,
.col-19,
.col-20,
.col-21,
.col-22,
.col-23,
.col-24 {
  float: left;
  position: relative;
  min-height: 1px;
}
.col-24 {
  width: 100%;
}
.col-23 {
  width: 95.83333333%;
}
.col-22 {
  width: 91.66666667%;
}
.col-21 {
  width: 87.5%;
}
.col-20 {
  width: 83.33333333%;
}
.col-19 {
  width: 79.16666667%;
}
.col-18 {
  width: 75%;
}
.col-17 {
  width: 70.83333333%;
}
.col-16 {
  width: 66.66666667%;
}
.col-15 {
  width: 62.5%;
}
.col-14 {
  width: 58.33333333%;
}
.col-13 {
  width: 54.16666667%;
}
.col-12 {
  width: 50%;
}
.col-11 {
  width: 45.83333333%;
}
.col-10 {
  width: 41.66666667%;
}
.col-9 {
  width: 37.5%;
}
.col-8 {
  width: 33.33333333%;
}
.col-7 {
  width: 29.16666667%;
}
.col-6 {
  width: 25%;
}
.col-5 {
  width: 20.83333333%;
}
.col-4 {
  width: 16.66666667%;
}
.col-3 {
  width: 12.5%;
}
.col-2 {
  width: 8.33333333%;
}
.col-1 {
  width: 4.16666667%;
}

/*------------------------------------
* PC部分
*-------------------------------------*/
/* 本フォーム全体  */
.form_container_ec {
  width: 940px;
  margin-right: auto;
  margin-left: auto;
  padding-left: 0px;
  padding-right: 0px;
  overflow: hidden;
}
.form_main_container_ec {
  font-size: 12px;
  width: 100%;
  border-radius: 3px;
}
.landing_form_label_ec {
  padding: 15px;
}
/* フォームの項目名ラベル */
.form_box_label {
  background: #cadefc;
  border-bottom: 1px solid #c3c3c3;
  border-top: 1px solid #c3c3c3;
  padding: 2%;
  vertical-align: middle;
  text-align: left;
  color: #333;
  margin-bottom: 2%;
}
span.form_required_ec {
  padding: 2px 4px;
  margin-left: 5px;
  display: inline-block;
  float: right !important;
}
/* フォーム入力ボックス内の基本デザイン */
table.landing_form_ec {
  width: 852px;
  margin: 0 auto;
}
/* フォーム一項目　項目名ラベルと入力ボックス */
.landing_form_ec tr {
  line-height: 18px;
  font-size: 14px;
}
/* フォーム左側　項目名ラベル */
.landing_form_ec th {
  text-align: left;
  vertical-align: top;
  padding: 13px 11px;
}
/* フォーム右側　入力ボックス */
.landing_form_ec td {
  width: 584px;
  padding: 13px 5px;
}
/* フォームトップメッセージ */
.login_message_ec,
.purchase_message_ec {
  font-weight: normal;
  font-size: 14px;
  padding: 20px 0px;
  margin-left: 4%;
  margin-right: 4%;
}
/* エラーメッセージ背景 */
.alert-danger_ec {
  background-color: #f2dede;
  border-color: #ebccd1;
  color: #a94442;
}

.alert-success_ec {
  background-color: #dff0d8;
  border-color: #d6e9c6;
  color: #468847;
}

.form_main_container_sp_ec .formError {
  width: 200px;
}

.form_main_container_ec .formError {
  width: 470px;
}

.formError .formErrorContent {
  width: 60%;
  font-size: 100%;
}

.alert_ec {
  padding: 15px;
  margin-bottom: 20px;
  border: 1px solid transparent;
  border-radius: 4px;
}
.alert_ec ul {
  padding-inline-start: 40px;
}
p.caution_ec {
  padding-top: 10px;
  font-size: 14px;
}
.optin_view_ec,
.agreement_view_ec,
.order_checklist_view_ec {
  margin-left: 4%;
  padding-top: 20px;
  position: relative;
}

.submit_ec {
  padding-top: 2%;
  padding-left: 2%;
  padding-right: 2%;
  padding-bottom: 2%;
  margin-left: auto;
  margin-right: auto;
}

#option_types {
  margin-top: 10px;
}

#option_types:empty {
  display: none;
}

.option_type {
  margin: 5px 0;
}

.option_type label {
  display: inline-block;
  width: 80px;
}

.form_group_ec {
  padding-left: 2%;
  padding-right: 2%;
  position: relative;
}
.form_main_container_ec div.form_group_ec input {
  padding: 10px 10px;
  font-size: 12px;
  margin-left: auto;
  margin-right: auto;
  color: #555555;
  background-color: #ffffff;
  background-image: none;
  border: 1px solid #cccccc;
  border-radius: 3px;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -webkit-transition: border-color ease-in-out 0.15s,
    box-shadow ease-in-out 0.15s;
  -o-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
  transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
}
.form_main_container_ec div.form_group_ec input[type="checkbox"] {
  margin-left: 3px;
  margin-right: 3px;
}
.form_main_container_ec div.form_group_ec select {
  padding: 10px 10px;
  height: 40px;
  font-size: 12px;
  margin-left: auto;
  margin-right: auto;
  color: #555555;
  background-color: #ffffff;
  background-image: none;
  border: 1px solid #cccccc;
  border-radius: 3px;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -webkit-transition: border-color ease-in-out 0.15s,
    box-shadow ease-in-out 0.15s;
  -o-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
  transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
}
.form_main_container_ec div.form_group_ec .disabled-input-ec {
  pointer-events: none;
  background-color: #ccc !important;
  opacity: 0.7;
}
input.input_box_ec {
  width: 70%;
}
select.input_box_product_ec {
  min-width: 50%;
}
p.input_product_ec {
  display: inline-block;
}
input.input_box_name_ec {
  width: 70%;
}
input.input_box_name1_ec {
  width: 70%;
}
input.input_box_name2_ec {
  width: 70%;
}
input.input_box_kana_ec {
  width: 70%;
}
input.input_box_kana1_ec {
  width: 70%;
}
input.input_box_kana2_ec {
  width: 70%;
}
select.input_box_sex_ec {
  width: 25%;
}
select.input_box_job_ec {
  width: 70%;
}
select.input_box_birth_year_ec {
  width: 25%;
}
select.input_box_birth_month_ec {
  width: 15%;
}
select.input_box_birth_day_ec {
  width: 15%;
}
input.input_box_zip1_ec {
  width: 50px;
}
input.input_box_zip2_ec {
  width: 60px;
}
select.input_box_pref_ec {
  width: 150px;
}
input.input_box_addr1_ec {
  width: 70%;
}
input.input_box_addr2_ec {
  width: 70%;
}
input.input_box_addr3_ec {
  width: 70%;
}
input.input_box_tel_ec {
  width: 70%;
}
input.input_box_tel1_ec {
  width: 45px;
}
input.input_box_tel2_ec {
  width: 45px;
}
input.input_box_tel3_ec {
  width: 45px;
}
input.input_box_fax_ec {
  width: 70%;
}
input.input_box_fax1_ec {
  width: 45px;
}
input.input_box_fax2_ec {
  width: 45px;
}
input.input_box_fax3_ec {
  width: 45px;
}
input.input_box_email_ec {
  width: 70%;
}
input.input_box_email_confirm_ec {
  width: 70%;
}
input.input_box_customer_number_ec {
  width: 70%;
}
select.input_box_card_method_ec {
  width: 50%;
}
select.input_box_card_times_ec {
  width: 15%;
}
input.input_box_card_number_ec {
  width: 70%;
}
select.input_box_card_month_ec {
  width: 15%;
}
select.input_box_card_year_ec {
  width: 15%;
}
input.input_box_card_name_ec {
  width: 70%;
}

p.form_box_label_ec strong {
  font-weight: bold;
}
p.form_box_label_ec label {
  font-weight: bold;
}
div.form_group_ec p {
}
div.form_group_ec span {
  font-weight: bold;
}
div.scheduled_delivery_date_text_ec {
  font-size: 14px;
  line-height: 20px;
}

div.pre_ordered_delivery_description_text_ec {
  font-size: 14px;
  line-height: 20px;
}

.preview_container_ec > table th,
.preview_container_ec > table td {
  border: 1px solid #d0dcec;
}

.table_bordered_ec {
  border: 0px !important;
}

.table_ec {
  width: 100%;
  max-width: 100%;
}

.table_ec tr > .pull_right_ec {
  text-align: right;
}

.table_ec tr > th.product_name_ec {
  width: 60%;
}

.table_ec tr > th.product_price_ec {
  width: 15%;
}

.table_ec tr > th.product_quantity_ec {
  width: 10%;
}

.table_ec tr > th.product_sub_total_ec {
  width: 15%;
}

.total_color_ec {
  color: #ff0000;
  font-weight: bold;
}

.without_border_ec {
  border: none !important;
}

/* Paypal */
#paypal-button-container {
  width: 50%;
}

/* Amazon Pay */
.amazon_pay_box_ec {
  border: solid 1px #c3c3c3;
  margin: 10px;
  padding: 20px 0;
  text-align: center;
}

.amazon_pay_title_ec {
  margin: 0 auto 10px auto !important;
  padding: 0;
  overflow: hidden;
  white-space: nowrap;
  font-size: 25px;
  color: #df1800;
  font-weight: bold;
}

.amazon_pay_subtitle_ec {
  margin: 0 auto 10px auto !important;
  padding: 0;
  overflow: hidden;
  white-space: nowrap;
  font-size: 20px;
  color: #e6a300;
}

.amazon_pay_message_ec {
  margin: 0 auto;
  font-weight: bold;
  text-align: center;
}

.amazon_pay_not_use_message_ec {
  height: 32px;
  margin: 0 auto !important;
  padding: 0;
  text-align: center;
  overflow: hidden;
  white-space: nowrap;
  font-size: 15px;
  color: #e6a300;
}

.amazon_pay_button_all_ec {
  margin: 20px auto 20px;
  width: 300px;
}

.amazon_pay_button_wallet_ec {
  padding-top: 15px;
  margin-left: -25px;
}

.amazon_pay_button_wallet_ec input.billing_agreement_ec {
  visibility: hidden;
  font-size: 0px !important;
}

.address_book_widget_wrapper_ec {
  height: 228px;
}

.wallet_widget_wrapper_ec {
  height: 228px;
  width: 417px;
  float: left;
  margin-right: 6px;
}

.consent_widget_wrapper_ec {
  height: 193px;
  width: 417px;
  float: left;
  margin-top: 5px;
}

.consent_wrapper_ec {
  height: 30px;
  width: 405px;
  color: white;
  background: red;
  vertical-align: middle;
  display: table-cell;
  padding: 0 10px;
  border-radius: 5px;
  position: relative;
}

.consent_wrapper_ec > span.consent_message_ec {
  padding: 0 0 0 10px;
}

.consent_wrapper_ec > span.consent_mandatory_ec {
  float: right;
  background: white;
  color: red;
  padding: 0 4px;
}

.consent_wrapper_ec > input.consent_checkbox_ec {
  visibility: hidden;
}

/* AmazonPay popup >> */
.amazon_pay_popup_box_ec {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  background: rgba(0, 0, 0, 0.7);
  z-index: 99999;
}

.amazon_pay_popup_content_ec {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 30%;
  max-height: 250px;
  padding: 20px;
  background: #ffffff;
}

.amazon_pay_popup_title_ec {
  font-size: 20px;
}

.amazon_pay_popup_close_ec {
  position: absolute;
  top: 10px;
  right: 20px;
  font-size: 30px;
  font-weight: bold;
  text-decoration: none;
  color: #333;
  border-style: none;
  cursor: pointer;
}

.amazon_pay_popup_subtitle_ec {
  margin: 40px 0 30px;
  font-size: 18px;
}

.amazon_pay_popup_body_ec {
  margin: 20px auto 20px;
  width: 300px;
}
/* << AmazonPay popup */

.login_message_box_ec {
  width: 852px;
  margin: 20px auto 0px auto;
  border: solid 1px #c3c3c3;
}

p.login_message_wrapper_ec {
  font-size: 14px;
  margin: 20px 0 !important;
  text-align: center;
}

/* Socialplus */
.socialplus_ec {
  margin: 0 0 10px 0;
  display: flex;
  flex-wrap: wrap;
  padding: 5px;
  justify-content: center;
}

.socialplus_ec .button-container {
  width: calc(33.3% - 10px);
  margin: 5px;
}

.socialplus_ec .button-container .button {
  position: relative;
  display: block;
  color: #fff;
  width: 100%;
  text-align: center;
  border-radius: 4px;
  line-height: 40px;
  padding-left: 40px;
  height: 40px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  border: none;
  overflow: hidden;
  text-decoration: none;
}

.socialplus_ec .button-container .button:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 40px;
  height: 40px;
  background-size: 100%;
}

.socialplus_ec .button-container .button:after {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  display: inline-block;
  width: 40px;
  height: 100%;
  border-right-style: solid;
  border-right-width: 1px;
}

.socialplus_ec .button-container .btn-facebook {
  background-color: #4267b2;
}

.socialplus_ec .button-container .btn-facebook:before {
  background-image: url("/assets/login-facebook-3e1626e3d5c7df61a277513295e7acb6cf9112c4df07db1b867c7641a7005492.png");
}

.socialplus_ec .button-container .btn-facebook:after {
  border-color: #8298cc;
}

.socialplus_ec .button-container .btn-twitter {
  background-color: #438dc4;
}

.socialplus_ec .button-container .btn-twitter:before {
  background-image: url("/assets/login-twitter-944a487f4746a5ce6557d56ae65421e8b71eaa7fda7a0f74a1bed6b86d345567.png");
}

.socialplus_ec .button-container .btn-twitter:after {
  border-color: #88beef;
}

.socialplus_ec .button-container .btn-google {
  background-color: #0056c7;
}

.socialplus_ec .button-container .btn-google:before {
  background-image: url("/assets/login-google-0119f2ac53e7fc66fe39b1e40fc4757c35ceab4bf28021ce0a81d45eee5d2360.png");
}

.socialplus_ec .button-container .btn-google:after {
  border-color: #4285f4;
}

.socialplus_ec .button-container .btn-gplus {
  background-color: #d04d40;
}

.socialplus_ec .button-container .btn-gplus:before {
  background-image: url("/assets/login-gplus-f2319e7179a28ad715384eb95ff7490c6ff1efa46a13c944022702b87ab4be07.png");
}

.socialplus_ec .button-container .btn-gplus:after {
  border-color: #cf837a;
}

.socialplus_ec .button-container .btn-mixi {
  background-color: #cba958;
}

.socialplus_ec .button-container .btn-mixi:before {
  background-image: url("/assets/login-mixi-99e3d6436ac6491642b1ed205a8f6ea2fbc7a349aea04474f1ae3477c27373f5.png");
}

.socialplus_ec .button-container .btn-mixi:after {
  border-color: #e6bc5c;
}

.socialplus_ec .button-container .btn-yahoo {
  background-color: #fe0032;
  border: 0.5px solid #f00;
}

.socialplus_ec .button-container .btn-yahoo:before {
  background-image: url("/assets/login-yahoo-ecc9e51a9724b036b6fd228bdef4855731ad44ae44b75fe1f4af7eb0f59684de.png");
}

.socialplus_ec .button-container .btn-yahoo:after {
  border-color: #fe0032;
}

.socialplus_ec .button-container .btn-rakuten {
  background-color: #b21d23;
}

.socialplus_ec .button-container .btn-rakuten:before {
  background-image: url("/assets/login-rakuten-8e21ab472f9e803e6d89857d15dd46768e21dc685f03156cfd96205df6773a66.png");
}

.socialplus_ec .button-container .btn-rakuten:after {
  border-color: #ae6164;
}

.socialplus_ec .button-container .btn-line {
  background-color: #31ae36;
}

.socialplus_ec .button-container .btn-line:before {
  background-image: url("/assets/login-line-ed8c51d83aae2ebc670a6fdc20afa7dc93ab3205464e89d999349f49f53659c0.png");
}

.socialplus_ec .button-container .btn-line:after {
  border-color: #70c053;
}

/* ecforce-payment */
.ecforce-payment-card-number,
.ecforce-payment-card-expiry,
.ecforce-payment-card-cvv {
  cursor: text !important;
  font-size: 12px !important;
  background-color: #ffffff !important;
  background-image: none !important;
  border: 1px solid #cccccc !important;
  border-radius: 3px !important;
  width: 70% !important;
}
.ecforce-payment-card-number #card-number,
.ecforce-payment-card-expiry #card-expiry,
.ecforce-payment-card-cvv #card-cvv {
  padding: 10px 10px !important;
}

.toggle_text {
  display: none;
}

/* カスタム項目 */
.free_columns-section_ec input {
  width: 70%;
}
.free_columns-section_ec input[type="checkbox"],
.free_columns-section_ec input[type="radio"] {
  width: auto;
  top: -2px;
  position: relative;
  display: inline-block;
  vertical-align: top;
}
.free_columns-section_ec .checkbox-wrapper,
.free_columns-section_ec .radio-wrapper {
  margin-top: 5px;
}
.free_columns-section_ec .checkbox-wrapper > label,
.free_columns-section_ec .radio-wrapper > label {
  display: inline-block;
  margin-left: 2px;
  width: 93%;
}
.free_columns-section_ec .form_group_ec label {
  font-weight: normal;
}
.free_columns-section_ec textarea {
  width: 100%;
}
.free_columns-section_ec select {
  width: 70%;
}
.free_columns-section_ec select[multiple] {
  height: 100% !important;
}
.free_columns-section_ec .category-caption-wrapper {
  margin: 1.5em 0 0.8em 3em;
  padding: 1em 0em 1em 1em;
  font-size: 14px;
  font-weight: bold;
  border-left: 5px solid #203594;
  width: 852px;
}
.free_columns-section_ec .category-caption-text {
  display: inline-block;
  width: 90%;
}
.free_columns-section_ec tr.free_column_category-footer td {
  border-left: none;
  border-right: none;
}
.free_columns-section_ec .category-btn-wrapper {
  cursor: pointer;
  font-size: 14px;
  display: inline-block;
  font-weight: bold;
  color: #010fee;
  letter-spacing: 0.2em;
}
.free_columns-section_ec .category-btn-wrapper .category-btn:before {
  display: inline-block;
  margin-right: 0.4rem;
  width: 1.9rem;
  height: 1.9rem;
  background-color: #010fee;
  border-radius: 50%;
  color: #fff;
  text-align: center;
}
.free_columns-section_ec
  .category-btn-wrapper.category-minus
  .category-btn:before {
  content: "ー";
  letter-spacing: 0;
  line-height: 1.95rem;
}
.free_columns-section_ec .category-btn-wrapper.category-plus {
  margin: 0.7em 0 0.8em 2em;
  padding: 1em;
}
.free_columns-section_ec
  .category-btn-wrapper.category-plus
  .category-btn:before {
  content: "＋";
  letter-spacing: 0;
  line-height: 1.95rem;
  font-weight: bold;
}

/* セット商品 */
.table_ec td.set_item_selected {
  padding-left: 28px;
}

/*------------------------------------
* スマートフォン部分
*-------------------------------------*/
.form_container_sp_ec {
  padding: 0;
  background-size: 100%;
  font-size: 16px;
  position: relative;
  overflow: hidden;
}
.landing_form_label_sp_ec {
  padding: 15px;
}
/* フォーム入力ボックスの基本 */
.form_main_container_sp_ec div.form_group_sp_ec input {
  padding: 8px 4px;
  line-height: 2.4;
  font-size: 16px;
  margin-left: auto;
  margin-right: auto;
}
.form_main_container_sp_ec div.form_group_sp_ec input[type="checkbox"] {
  margin-left: 3px;
  margin-right: 3px;
}
.form_main_container_sp_ec div.form_group_sp_ec select {
  height: 50px;
  font-size: 14px;
  margin-left: auto;
  margin-right: auto;
}
.form_group_sp_ec {
  padding-left: 15px;
  padding-right: 15px;
  padding-bottom: 30px;
  padding-top: 15px;
  position: relative;
}
.form_main_container_sp_ec div.form_group_sp_ec .disabled-input-ec {
  pointer-events: none;
  color: #555;
  background-color: #ccc !important;
  border: 1px solid #cccccc;
  opacity: 0.7;
}
/* フォームトップメッセージ */
.login_message_sp_ec,
.purchase_message_sp_ec {
  font-weight: normal;
  font-size: 14px;
  padding: 20px 0px;
  margin-left: 4%;
  margin-right: 4%;
}
/* エラーメッセージ背景 */
.alert-danger_sp_ec {
  background-color: #f2dede;
  border-color: #ebccd1;
  color: #a94442;
}

.alert-success_sp_ec {
  background-color: #dff0d8;
  border-color: #d6e9c6;
  color: #468847;
}

.alert_sp_ec {
  padding: 15px;
  margin-bottom: 20px;
  border: 1px solid transparent;
  border-radius: 4px;
}
.form_main_container_sp_ec {
  width: 100%;
  border-radius: 3px;
}
span.form_required_sp_ec {
  padding: 2px 4px;
  margin-left: 5px;
  display: inline-block;
}
/* フォームの項目名ラベル */
.form_box_label_sp_ec {
  padding: 2%;
  vertical-align: middle;
  text-align: left;
  margin-bottom: 2%;
}
select.input_box_sp_ec {
  padding: 10px;
  font-size: 14px;
  width: 100%;
  height: 50px;
}
input.input_box_sp_ec {
  width: 98%;
}
select.input_box_product_sp_ec {
  width: 98%;
}
select.input_box_quantity_sp_ec {
  width: 98%;
}
input.input_box_name_sp_ec {
  width: 98%;
}
input.input_box_name1_sp_ec {
  width: 45%;
}
input.input_box_name2_sp_ec {
  width: 45%;
}
input.input_box_kana_sp_ec {
  width: 98%;
}
input.input_box_kana1_sp_ec {
  width: 45%;
}
input.input_box_kana2_sp_ec {
  width: 45%;
}
select.input_box_sex_sp_ec {
  width: 98%;
}
select.input_box_job_sp_ec {
  width: 98%;
}
select.input_box_birth_year_sp_ec {
  width: 40%;
}
select.input_box_birth_month_sp_ec {
  width: 25%;
}
select.input_box_birth_day_sp_ec {
  width: 25%;
}
input.input_box_zip1_sp_ec {
  width: 80px;
}
input.input_box_zip2_sp_ec {
  width: 100px;
}
select.input_box_pref_sp_ec {
  width: 98%;
}
input.input_box_addr1_sp_ec {
  width: 98%;
}
input.input_box_addr2_sp_ec {
  width: 98%;
}
input.input_box_addr3_sp_ec {
  width: 98%;
}
input.input_box_tel_sp_ec {
  width: 98%;
}
input.input_box_tel1_sp_ec {
  width: 24%;
}
input.input_box_tel2_sp_ec {
  width: 24%;
}
input.input_box_tel3_sp_ec {
  width: 24%;
}
input.input_box_fax_sp_ec {
  width: 98%;
}
input.input_box_fax1_sp_ec {
  width: 24%;
}
input.input_box_fax2_sp_ec {
  width: 24%;
}
input.input_box_fax3_sp_ec {
  width: 24%;
}
input.input_box_company_sp_ec {
  width: 98%;
}
input.input_box_email_sp_ec {
  width: 98%;
}
input.input_box_email_confirm_sp_ec {
  width: 98%;
}
input.input_box_customer_number_sp_ec {
  width: 98%;
}
select.input_box_shipping_address_sp_ec {
  width: 98%;
}
select.input_box_wrapping_sp_ec {
  width: 98%;
}
select.input_box_card_method_sp_ec {
  width: 98%;
}
select.input_box_card_times_sp_ec {
  width: 98%;
}
input.input_box_card_number_sp_ec {
  width: 98%;
}
select.input_box_card_month_sp_ec {
  width: 25%;
}
select.input_box_card_year_sp_ec {
  width: 25%;
}
input.input_box_card_name_sp_ec {
  width: 98%;
}
select.input_box_container_payment_schedule_sp_ec {
  width: 98%;
}

p.form_box_label_sp_ec strong {
  font-weight: bold;
}
p.form_box_label_sp_ec label {
  font-weight: bold;
}
div.form_group_sp_ec p {
}
div.form_group_sp_ec span {
  font-weight: bold;
}
p.caution_sp_ec {
  padding-top: 10px;
  font-size: 14px;
}
p.product_name_sp_ec {
  padding: 0 15px 0 15px;
  font-size: 16px;
}
div.scheduled_delivery_date_text_sp_ec {
  font-size: 14px;
  line-height: 20px;
  padding-left: 15px;
  padding-right: 15px;
}
.optin_view_sp_ec,
.agreement_view_sp_ec,
.order_checklist_view_sp_ec {
  margin-left: 4%;
  padding-top: 15px;
  position: relative;
}
.submit_sp_ec {
  padding-top: 2%;
  padding-left: 2%;
  padding-right: 2%;
  padding-bottom: 2%;
  margin-left: auto;
  margin-right: auto;
}

.pre_ordered_delivery_description_text_sp_ec {
  font-size: 14px;
  line-height: 20px;
  padding-left: 15px;
  padding-right: 15px;
}

/* カスタム項目 */
.free_columns-section_sp_ec input {
  width: 98%;
}
.free_columns-section_sp_ec input[type="checkbox"],
.free_columns-section_sp_ec input[type="radio"] {
  width: auto;
  top: -1px;
  position: relative;
  display: inline-block;
  vertical-align: top;
}
.free_columns-section_sp_ec .checkbox-wrapper,
.free_columns-section_sp_ec .radio-wrapper {
  margin-top: 5px;
}
.free_columns-section_sp_ec .checkbox-wrapper > label,
.free_columns-section_sp_ec .radio-wrapper > label {
  display: inline-block;
  margin-left: 6px;
  width: 90%;
}
.free_columns-section_sp_ec .form_group_ec label {
  font-weight: normal;
}
.free_columns-section_sp_ec textarea {
  width: 100%;
}
.free_columns-section_sp_ec select {
  width: 98%;
}
.free_columns-section_sp_ec select[multiple] {
  height: 100% !important;
}
.free_columns-section_sp_ec .category-caption-wrapper {
  margin: 1em 0;
  padding: 1em 0em 1em 1em;
  font-size: 13px;
  font-weight: bold;
  border-left: 5px solid #203594;
}
.free_columns-section_sp_ec .category-caption-text {
  display: inline-block;
  width: 78%;
}
.free_columns-section_sp_ec tr.free_column_category-footer td {
  border-left: none;
  border-right: none;
}
.free_columns-section_sp_ec .category-btn-wrapper {
  cursor: pointer;
  font-size: 14px;
  display: inline-block;
  font-weight: bold;
  color: #010fee;
  letter-spacing: 0.2em;
}
.free_columns-section_sp_ec .category-btn-wrapper .category-btn:before {
  display: inline-block;
  margin-right: 0.4rem;
  width: 1.3rem;
  height: 1.3rem;
  background-color: #010fee;
  border-radius: 50%;
  color: #fff;
  text-align: center;
}
.free_columns-section_sp_ec
  .category-btn-wrapper.category-minus
  .category-btn:before {
  content: "ー";
  letter-spacing: 0;
  line-height: 1.35rem;
}
.free_columns-section_sp_ec .category-btn-wrapper.category-plus {
  padding: 1em;
}
.free_columns-section_sp_ec
  .category-btn-wrapper.category-plus
  .category-btn:before {
  content: "＋";
  letter-spacing: 0;
  line-height: 1.35rem;
  font-weight: bold;
}

/* セット商品 */
.table_sp_ec td.set_item_selected {
  padding-left: 28px;
}

/*------------------------------------
* PCデザイン可変部分
*-------------------------------------*/
/* 【PC】フォームの項目名ラベル内必須アイコン */
span.form_required_ec {
  /* セクションラベルの色 */
  background: #7e0f09;
  /* セクションラベルのフォント色*/
  color: #ffffff;
}
/* 【PC】フォームのセクションラベル */
.landing_form_label_ec {
  /* セクションラベルの色 */
  background: #203594;
  /* セクションラベルのフォント色*/
  color: #ffffff;
  /* セクションラベルのフォントサイズ */
  font-size: 18px;
}
/* 【PC】フォーム入力ボックス内の基本デザイン */
table.landing_form_ec {
  border-top: 1px solid #d0dcec;
  border-right: 1px solid #d0dcec;
  background: #fff;
  border-bottom: 1px solid #999;
}
/* 【PC】フォーム左側　項目名ラベル */
.landing_form_ec th {
  background-color: #e1edfd;
  border-bottom: 1px solid #d0dcec;
  border-left: 1px solid #d0dcec;
  background-color: #e1edfd;
}
/* 【PC】フォーム右側　入力ボックス */
.landing_form_ec td {
  border-bottom: 1px solid #d0dcec;
  border-left: 1px solid #d0dcec;
  background-color: #ffffff;
}
/* 【PC】購入ボタンのデザイン */
.login_button_ec {
  border: 0px;
  width: 400px;
  height: 150px;
  background: url("/assets/default_login_btn-3545ead6f7c1f581390be8bada934a229cd580f4f4830b21c14803de789ad249.png")
    center;
  background-size: 394px auto;
  background-repeat: no-repeat;
  cursor: pointer;
}
/* 【PC】購入ボタンのデザイン */
.submit_bottom_ec {
  border: 0px;
  width: 400px;
  height: 150px;
  background: url("/assets/default_btn-f6c2a9bc1ad7a90718756cd965847d700d3750ab3c837bf74bcf30dd3d083ea0.png")
    center;
  background-size: 394px auto;
  background-repeat: no-repeat;
  cursor: pointer;
}
/* 【PC】購入ボタンのデザイン */
.submit_button_complete_ec {
  border: 0px;
  width: 400px;
  height: 150px;
  background: url("/assets/default_order_comp-6baf1ae5951cb6ca295e07a256d9d8ce2e646d315125a11207f4d833c9cca5d3.png")
    center;
  background-size: 394px auto;
  background-repeat: no-repeat;
  cursor: pointer;
}
/*------------------------------------
* スマートフォンデザイン可変部分
*-------------------------------------*/
/* 【SP】フォームの項目名ラベル内必須アイコン */
span.form_required_sp_ec {
  /* セクションラベルの色 */
  background: #7e0f09;
  /* セクションラベルのフォント色*/
  color: #ffffff;
}

/* 【SP】フォームのセクションラベル */
.landing_form_label_sp_ec {
  /* セクションラベルの色 */
  background: #203594;
  /* セクションラベルのフォント色*/
  color: #ffffff;
  /* セクションラベルのフォントサイズ */
  font-size: 18px;
}

/* 【SP】フォームの項目名ラベル */
.form_box_label_sp_ec {
  background: #cadefc;
  border-bottom: 1px solid #c3c3c3;
  border-top: 1px solid #c3c3c3;
}

/* 【SP】ログインボタンのデザイン */
.login_button_sp_ec {
  border: 0px;
  width: 100%;
  height: 150px;
  background: url("/assets/default_login_btn-3545ead6f7c1f581390be8bada934a229cd580f4f4830b21c14803de789ad249.png")
    center;
  background-size: 100% auto;
  background-repeat: no-repeat;
  cursor: pointer;
}

/* 【SP】購入ボタンのデザイン */
.submit_bottom_sp_ec {
  border: 0px;
  width: 100%;
  height: 150px;
  background: url("/assets/default_btn-f6c2a9bc1ad7a90718756cd965847d700d3750ab3c837bf74bcf30dd3d083ea0.png")
    center;
  background-size: 100% auto;
  background-repeat: no-repeat;
  cursor: pointer;
}

.submit_button_complete_sp_ec {
  border: 0px;
  width: 100%;
  height: 150px;
  background: url("/assets/default_order_comp-6baf1ae5951cb6ca295e07a256d9d8ce2e646d315125a11207f4d833c9cca5d3.png")
    center;
  background-size: 100% auto;
  background-repeat: no-repeat;
  cursor: pointer;
}

.preview_container_sp_ec > table {
  width: 100%;
}

.preview_container_sp_ec > table th {
  background: #cadefc;
}

.preview_container_sp_ec > table,
.preview_container_sp_ec > table tr,
.preview_container_sp_ec > table th,
.preview_container_sp_ec > table td {
  border: 1px solid #c3c3c3;
}

.table_bordered_sp_ec {
  border: 0px !important;
}

.table_sp_ec {
  width: 100%;
  max-width: 100%;
  margin-bottom: 20px;
}

.table_sp_ec > thead > tr > th,
.table_sp_ec > tbody > tr > th,
.table_sp_ec > tfoot > tr > th,
.table_sp_ec > thead > tr > td,
.table_sp_ec > tbody > tr > td,
.table_sp_ec > tfoot > tr > td {
  padding: 8px;
  line-height: 1.42857143;
  vertical-align: top;
  border-top: 1px solid #ddd;
}

.table_bordered_sp_ec > thead > tr > th,
.table_bordered_sp_ec > tbody > tr > th,
.table_bordered_sp_ec > tfoot > tr > th,
.table_bordered_sp_ec > thead > tr > td,
.table_bordered_sp_ec > tbody > tr > td,
.table_bordered_sp_ec > tfoot > tr > td {
  border: 1px solid #ddd;
}

.table_sp_ec tr > th {
  border-top: 0px;
  background: #f0f0f0;
  font-size: 10px;
}

.table_sp_ec tr > th,
.table_sp_ec tr > td {
  font-size: 12px;
}

.table_bordered_sp_ec tr > th,
.table_bordered_sp_ec tr > td {
  border: 1px solid #e5e5e5 !important;
}

.table_sp_ec th,
.table_sp_ec td {
  vertical-align: middle !important;
  line-height: 20px !important;
  border-top: 1px solid #e5e5e5 !important;
}

.total_color_sp_ec {
  color: #ff0000;
  font-weight: bold;
  border-bottom: 1px solid #eee;
}

/* Amazon Pay */
.amazon_pay_box_sp_ec {
  border: solid 3px #c3c3c3;
  margin: 10px auto;
  padding: 20px 0;
  text-align: center;
}

.amazon_pay_title_sp_ec {
  margin: 0 auto 10px auto !important;
  padding: 0;
  overflow: hidden;
  white-space: nowrap;
  font-size: 18px;
  color: #df1800;
  font-weight: bold;
}

.amazon_pay_subtitle_sp_ec {
  margin: 0 auto 10px auto !important;
  padding: 0;
  overflow: hidden;
  white-space: nowrap;
  font-size: 15px;
  color: #e6a300;
}

.amazon_pay_message_sp_ec {
  margin: 0 10px;
  font-weight: bold;
  text-align: center;
}

.amazon_pay_not_use_message_sp_ec {
  margin: 0 10px !important;
  padding: 0 0 10px 0;
  text-align: center;
  font-size: 12px;
  color: #e6a300;
}

.amazon_pay_button_all_sp_ec {
  margin: 20px auto 20px;
  width: 300px;
}

.amazon_pay_button_wallet_sp_ec {
  padding-top: 15px;
  margin-left: -15px;
}

.amazon_pay_button_wallet_sp_ec input.billing_agreement_sp_ec {
  visibility: hidden;
  font-size: 0px !important;
}

.address_book_widget_wrapper_sp_ec,
.wallet_widget_wrapper_sp_ec,
.consent_widget_wrapper_sp_ec {
}

.address_book_widget_wrapper_sp_ec,
.wallet_widget_wrapper_sp_ec,
.consent_widget_wrapper_sp_ec {
}

.consent_wrapper_sp_ec {
  height: 30px;
  color: white;
  background: red;
  padding-top: 5px;
  margin: 10px 0;
}

.consent_wrapper_sp_ec > span.consent_message_sp_ec {
  padding: 0 0 0 10px;
}

.consent_wrapper_sp_ec > span.consent_mandatory_sp_ec {
  float: right;
  background: white;
  color: red;
  padding: 2px 8px;
  margin: 2px 10px;
}

.consent_wrapper_sp_ec > input.consent_checkbox_sp_ec {
  visibility: hidden;
}

/* AmazonPay popup >> */
.amazon_pay_popup_box_sp_ec {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  background: rgba(0, 0, 0, 0.7);
  z-index: 99999;
}

.amazon_pay_popup_content_sp_ec {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  max-height: 250px;
  padding: 20px;
  background: #ffffff;
}

.amazon_pay_popup_title_sp_ec {
  font-size: 20px;
}

.amazon_pay_popup_close_sp_ec {
  position: absolute;
  top: 10px;
  right: 20px;
  font-size: 30px;
  font-weight: bold;
  text-decoration: none;
  color: #333;
  border-style: none;
  cursor: pointer;
}

.amazon_pay_popup_subtitle_sp_ec {
  margin: 40px 0 30px;
  font-size: 15px;
}

.amazon_pay_popup_body_sp_ec {
  margin: 20px auto 20px;
  width: 300px;
}
/* << AmazonPay popup */

.login_message_box_sp_ec {
  width: 100%;
  margin: 0 auto;
  border: solid 1px #d0dcec;
}

p.login_message_wrapper_sp_ec {
  font-size: 14px;
  margin: 20px 0 !important;
  text-align: center;
}

/* Socialplus */
.socialplus_sp_ec {
  margin: 0 0 20px 0;
  overflow: hidden;
}

.socialplus_sp_ec .button-container {
  width: 100%;
  float: left;
  padding: 10px 10px 0;
  box-sizing: border-box;
}

.socialplus_sp_ec .button-container .button {
  position: relative;
  display: block;
  color: #fff;
  width: 100%;
  text-align: center;
  border-radius: 4px;
  line-height: 50px;
  padding-left: 20px;
  height: 50px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  border: none;
  overflow: hidden;
  text-decoration: none;
}

.socialplus_sp_ec .button-container .button:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 50px;
  height: 50px;
  background-size: 100%;
}

.socialplus_sp_ec .button-container .button:after {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  display: inline-block;
  width: 50px;
  height: 100%;
  border-right-style: solid;
  border-right-width: 1px;
}

.socialplus_sp_ec .button-container .btn-facebook {
  background-color: #4267b2;
}

.socialplus_sp_ec .button-container .btn-facebook:before {
  background-image: url("/assets/login-facebook-3e1626e3d5c7df61a277513295e7acb6cf9112c4df07db1b867c7641a7005492.png");
}

.socialplus_sp_ec .button-container .btn-facebook:after {
  border-color: #8298cc;
}

.socialplus_sp_ec .button-container .btn-twitter {
  background-color: #438dc4;
}

.socialplus_sp_ec .button-container .btn-twitter:before {
  background-image: url("/assets/login-twitter-944a487f4746a5ce6557d56ae65421e8b71eaa7fda7a0f74a1bed6b86d345567.png");
}

.socialplus_sp_ec .button-container .btn-twitter:after {
  border-color: #88beef;
}

.socialplus_sp_ec .button-container .btn-google {
  background-color: #0056c7;
}

.socialplus_sp_ec .button-container .btn-google:before {
  background-image: url("/assets/login-google-0119f2ac53e7fc66fe39b1e40fc4757c35ceab4bf28021ce0a81d45eee5d2360.png");
}

.socialplus_sp_ec .button-container .btn-google:after {
  border-color: #4285f4;
}

.socialplus_sp_ec .button-container .btn-gplus {
  background-color: #d04d40;
}

.socialplus_sp_ec .button-container .btn-gplus:before {
  background-image: url("/assets/login-gplus-f2319e7179a28ad715384eb95ff7490c6ff1efa46a13c944022702b87ab4be07.png");
}

.socialplus_sp_ec .button-container .btn-gplus:after {
  border-color: #cf837a;
}

.socialplus_sp_ec .button-container .btn-mixi {
  background-color: #cba958;
}

.socialplus_sp_ec .button-container .btn-mixi:before {
  background-image: url("/assets/login-mixi-99e3d6436ac6491642b1ed205a8f6ea2fbc7a349aea04474f1ae3477c27373f5.png");
}

.socialplus_sp_ec .button-container .btn-mixi:after {
  border-color: #e6bc5c;
}

.socialplus_sp_ec .button-container .btn-yahoo {
  background-color: #fe0032;
  border: 0.5px solid #f00;
}

.socialplus_sp_ec .button-container .btn-yahoo:before {
  background-image: url("/assets/login-yahoo-ecc9e51a9724b036b6fd228bdef4855731ad44ae44b75fe1f4af7eb0f59684de.png");
}

.socialplus_sp_ec .button-container .btn-yahoo:after {
  border-color: #fe0032;
}

.socialplus_sp_ec .button-container .btn-rakuten {
  background-color: #b21d23;
}

.socialplus_sp_ec .button-container .btn-rakuten:before {
  background-image: url("/assets/login-rakuten-8e21ab472f9e803e6d89857d15dd46768e21dc685f03156cfd96205df6773a66.png");
}

.socialplus_sp_ec .button-container .btn-rakuten:after {
  border-color: #ae6164;
}

.socialplus_sp_ec .button-container .btn-line {
  background-color: #31ae36;
}

.socialplus_sp_ec .button-container .btn-line:before {
  background-image: url("/assets/login-line-ed8c51d83aae2ebc670a6fdc20afa7dc93ab3205464e89d999349f49f53659c0.png");
}

.socialplus_sp_ec .button-container .btn-line:after {
  border-color: #70c053;
}

/* LINE ID 連携 */

.line_ec {
}

.line_ec .button-container.w100 {
  width: 100%;
}

.line_ec .button-container .button {
  position: relative;
  display: block;
  color: #fff;
  width: 100%;
  text-align: center;
  border-radius: 4px;
  line-height: 50px;
  padding-left: 30px;
  height: 50px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  border: none;
  overflow: hidden;
  text-decoration: none;
}

.line_ec .button-container .button:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 50px;
  height: 50px;
  background-size: 100%;
}

.line_ec .button-container .button:after {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  display: inline-block;
  width: 50px;
  height: 100%;
  border-right-style: solid;
  border-right-width: 1px;
}

@media screen and (min-width: 480px) {
  .line_ec {
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }

  .line_ec .button-container {
    width: calc(33.3% - 10px);
    margin: 5px;
  }

  .line_ec .button-container .button {
    line-height: 40px;
    padding-left: 40px;
    height: 40px;
  }

  .line_ec .button-container .button:before {
    width: 40px;
    height: 40px;
  }

  .line_ec .button-container .button:after {
    width: 40px;
  }
}

.line_ec .button-container .btn-line {
  background-color: #31ae36;
}

.line_ec .button-container .btn-line:before {
  background-image: image_url("login-line.png");
}

.line_ec .button-container .btn-line:after {
  border-color: #70c053;
}

.line_ec .button-container .btn-line:before {
  background-image: url("/assets/login-line-ed8c51d83aae2ebc670a6fdc20afa7dc93ab3205464e89d999349f49f53659c0.png");
}

.line_sp_ec {
}

.line_sp_ec .button-container.w100 {
  width: 100%;
}

.line_sp_ec .button-container .button {
  position: relative;
  display: block;
  color: #fff;
  width: 100%;
  text-align: center;
  border-radius: 4px;
  line-height: 50px;
  padding-left: 30px;
  height: 50px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  border: none;
  overflow: hidden;
  text-decoration: none;
}

.line_sp_ec .button-container .button:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 50px;
  height: 50px;
  background-size: 100%;
}

.line_sp_ec .button-container .button:after {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  display: inline-block;
  width: 50px;
  height: 100%;
  border-right-style: solid;
  border-right-width: 1px;
}

.line_sp_ec .button-container .btn-line:before {
  background-image: url("/assets/login-line-ed8c51d83aae2ebc670a6fdc20afa7dc93ab3205464e89d999349f49f53659c0.png");
}

.form_container_sp_ec .line_alert_sp_ec {
  font-size: 12px;
  padding: 0px;
}

.line_alert_sp_ec {
  margin: 10px;
}

@media screen and (min-width: 480px) {
  .line_sp_ec {
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }

  .line_sp_ec .button-container {
    width: calc(33.3% - 10px);
    margin: 5px;
  }

  .line_sp_ec .button-container .button {
    line-height: 40px;
    padding-left: 40px;
    height: 40px;
  }

  .line_sp_ec .button-container .button:before {
    width: 40px;
    height: 40px;
  }

  .line_sp_ec .button-container .button:after {
    width: 40px;
  }
}

.line_sp_ec .button-container .btn-line {
  background-color: #31ae36;
}

.line_sp_ec .button-container .btn-line:before {
  background-image: image_url("login-line.png");
}

.line_sp_ec .button-container .btn-line:after {
  border-color: #70c053;
  margin: 10px;
  width: 95%;
}

#popup_required_field_check.pc {
  z-index: 99999;
  width: 275px !important;
  float: right;
  padding: 20px;
  font-size: 18px;
  font-weight: bold;
  color: white;
  position: fixed;
  top: 25px;
  right: 25px;
  display: none;
}

#popup_required_field_check.sp {
  z-index: 99999;
  width: 100% !important;
  padding: 10px 0;
  font-size: 18px;
  font-weight: bold;
  color: white;
  position: fixed;
  top: 0;
  display: none;
  text-align: center;
}

#popup_required_field_check.required_field_exists {
  background: rgba(242, 133, 12, 0.8);
}

#popup_required_field_check.required_field_not_exists {
  background: rgba(4, 162, 34, 0.8);
}

.input_required_ec {
  background-color: rgba(242, 133, 12, 0.2) !important;
}

.hide {
  display: none !important;
}
/* 認証基盤 連携 */

.auth_infra_ec {
}

.auth_infra_ec .button-container.w100 {
  width: 100%;
}

.auth_infra_ec .button-container .button {
  position: relative;
  display: block;
  color: #fff;
  width: 100%;
  text-align: center;
  border-radius: 4px;
  line-height: 50px;
  height: 50px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  border: none;
  overflow: hidden;
  text-decoration: none;
  margin-top: 10px;
  cursor: pointer;
}

@media screen and (min-width: 480px) {
  .auth_infra_ec {
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }

  .auth_infra_ec .button-container {
    width: calc(33.3% - 10px);
    margin: 5px;
  }

  .auth_infra_ec .button-container .button {
    line-height: 40px;
    height: 40px;
  }
}

.auth_infra_ec .button-container .btn-auth_infra {
  background-color: #2780e3;
}

.auth_infra_sp_ec {
}

.auth_infra_sp_ec .button-container.w100 {
  width: 100%;
}

.auth_infra_sp_ec .button-container .button {
  position: relative;
  display: block;
  color: #fff;
  width: 100%;
  text-align: center;
  border-radius: 4px;
  line-height: 50px;
  height: 50px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  border: none;
  overflow: hidden;
  text-decoration: none;
  margin-top: 10px;
}

@media screen and (min-width: 480px) {
  .auth_infra_sp_ec {
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }

  .auth_infra_sp_ec .button-container {
    width: calc(33.3% - 10px);
    margin: 5px;
  }

  .auth_infra_sp_ec .button-container .button {
    line-height: 40px;
    padding-left: 40px;
    height: 40px;
  }
}

.auth_infra_sp_ec .button-container .btn-auth_infra {
  background-color: #2780e3;
}

/*-------------------------------------*
 * PCデザイン可変部分
 *-------------------------------------*/
/* 【PC】フォームの項目名ラベル内必須アイコン */
span.form_required_ec {
  /* セクションラベルの色 */
  background: #7e0f09;
  /* セクションラベルのフォント色*/
  color: #ffffff;
}
/* 【PC】フォームのセクションラベル */
.landing_form_label_ec {
  /* セクションラベルの色 */
  background: #203594;
  /* セクションラベルのフォント色*/
  color: #ffffff;
  /* セクションラベルのフォントサイズ */
  font-size: 18px;
}
/* 【PC】フォーム入力ボックス内の基本デザイン */
table.landing_form_ec {
  border-top: 1px solid #d0dcec;
  border-right: 1px solid #d0dcec;
  background: #fff;
  border-bottom: 1px solid #999;
}
/* 【PC】フォーム左側　項目名ラベル */
.landing_form_ec th {
  background-color: #e1edfd;
  border-bottom: 1px solid #d0dcec;
  border-left: 1px solid #d0dcec;
  background-color: #e1edfd;
}
/* 【PC】フォーム右側　入力ボックス */
.landing_form_ec td {
  border-bottom: 1px solid #d0dcec;
  border-left: 1px solid #d0dcec;
  background-color: #ffffff;
}

/* 【PC】購入ボタンのデザイン */
.submit_bottom_ec {
  border: 0px;
  width: 400px;
  height: 150px;
  background-size: 394px auto;
  background-repeat: no-repeat;
  cursor: pointer;
}

/*-------------------------------------*
 * スマートフォンデザイン可変部分
 *-------------------------------------*/
/* 【SP】フォームの項目名ラベル内必須アイコン */
span.form_required_sp_ec {
  /* セクションラベルの色 */
  background: #7e0f09;
  /* セクションラベルのフォント色*/
  color: #ffffff;
}

/* 【SP】フォームのセクションラベル */
.landing_form_label_sp_ec {
  /* セクションラベルの色 */
  background: #203594;
  /* セクションラベルのフォント色*/
  color: #ffffff;
  /* セクションラベルのフォントサイズ */
  font-size: 18px;
}

/* 【SP】フォームの項目名ラベル */
.form_box_label_sp_ec {
  background: #cadefc;
  border-bottom: 1px solid #c3c3c3;
  border-top: 1px solid #c3c3c3;
}

/* 【SP】購入ボタンのデザイン */
.submit_bottom_sp_ec {
  border: 0px;
  width: 100%;
  height: 150px;
  background-size: 100% auto;
  background-repeat: no-repeat;
  cursor: pointer;
}

/*  ========================================== cpPresent-promotion */
.cpPresent-promotion {
  padding: 60px 0;
  background-color: #6fa4c4;
}
.cpPresent-promotion .wrap_inner {
  margin: 0 auto;
  padding: 40px 20px;
  background: #ffffff;
}
.cpPresent-promotion .wrap_inner p.cp-Ttl {
  margin: 0 auto;
}
.cpPresent-promotion .wrap_inner p.cp-Ttl img {
  margin: 0 auto;
  text-align: center;
  width: 100%;
  max-width: 873px;
  height: auto;
  max-height: 104px;
}
.cpPresent-promotion .wrap_inner p.cp-lead {
  margin: 32px 0 0;
  color: #586065;
  text-align: center;
  letter-spacing: 7.2px;
  font-weight: 400;
  font-size: 24px;
  font-family: "Noto Sans JP-Regular", Helvetica;
  line-height: 160%;
}
.cpPresent-promotion .wrap_inner p.cp-lead small {
  font-size: 1.2rem;
  line-height: 160%;
  letter-spacing: 0.8px;
}
.cpPresent-promotion .wrap_inner .cpPresent-content {
  margin: 32px auto 0;
}
.cpPresent-promotion .wrap_inner .cpPresent-box {
  width: calc(100% - 170px);
  display: flex;
  justify-content: space-between;
  justify-items: center;
  margin: 0 auto;
}
.cpPresent-promotion .wrap_inner .cpPresent-box .boxImg {
  width: calc(60% - 20px);
}
.cpPresent-promotion .wrap_inner .cpPresent-box .color-detail {
  width: calc(40% - 20px);
}
.cpPresent-promotion .wrap_inner .cpPresent-box .color-detail .detail-box {
  display: flex;
}
.cpPresent-promotion .wrap_inner .cpPresent-box .color-detail .detail-box img {
  width: 50px;
  height: 50%;
  margin-right: 16px;
}
.cpPresent-promotion .wrap_inner .cpPresent-box .color-detail .boxTxt {
  font-weight: normal;
  font-style: normal;
  font-size: 1.6rem;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  margin-bottom: 16px;
  color: #586065;
}
.cpPresent-promotion
  .wrap_inner
  .cpPresent-box
  .color-detail
  .boxTxt
  .detailTtl001 {
  margin: 0 0 8px;
}
.cpPresent-promotion
  .wrap_inner
  .cpPresent-box
  .color-detail
  .boxTxt
  .detailTtl001
  .detailCAT001 {
  font-size: 1.6rem;
  line-height: 0;
  background-color: #586065;
  padding: 4px 8px;
  color: #fff;
  border-radius: 16px;
  margin-right: 8px;
}
.cpPresent-promotion
  .wrap_inner
  .cpPresent-box
  .color-detail
  .boxTxt
  .detailTtl002 {
  margin: 0 0 8px;
}
.cpPresent-promotion
  .wrap_inner
  .cpPresent-box
  .color-detail
  .boxTxt
  .detailTtl002
  .detailCAT002 {
  font-size: 1.6rem;
  line-height: 0;
  background-color: #ee7961;
  padding: 4px 8px;
  color: #fff;
  border-radius: 16px;
  margin-right: 8px;
}
.cpPresent-promotion
  .wrap_inner
  .cpPresent-box
  .color-detail
  .boxTxt
  .detailTtl003 {
  margin: 0 0 8px;
  color: #e58087;
}
.cpPresent-promotion
  .wrap_inner
  .cpPresent-box
  .color-detail
  .boxTxt
  .detailTtl003
  .detailCAT003 {
  font-size: 1.6rem;
  line-height: 0;
  background-color: #e58087;
  padding: 4px 8px;
  color: #fff;
  border-radius: 16px;
  margin-right: 8px;
}
.cpPresent-promotion
  .wrap_inner
  .cpPresent-box
  .color-detail
  .boxTxt
  .detailTtl004 {
  margin: 0 0 8px;
  color: #d4454d;
}
.cpPresent-promotion
  .wrap_inner
  .cpPresent-box
  .color-detail
  .boxTxt
  .detailTtl004
  .detailCAT004 {
  font-size: 1.6rem;
  line-height: 0;
  background-color: #d4454d;
  padding: 4px 8px;
  color: #fff;
  border-radius: 16px;
  margin-right: 8px;
}
.cpPresent-promotion
  .wrap_inner
  .cpPresent-box
  .color-detail
  .boxTxt
  .detailTtl005 {
  margin: 0 0 8px;
  color: #953f4f;
}
.cpPresent-promotion
  .wrap_inner
  .cpPresent-box
  .color-detail
  .boxTxt
  .detailTtl005
  .detailCAT005 {
  font-size: 1.6rem;
  line-height: 0;
  background-color: #953f4f;
  padding: 4px 8px;
  color: #fff;
  border-radius: 16px;
  margin-right: 8px;
}
.cpPresent-promotion
  .wrap_inner
  .cpPresent-box
  .color-detail
  .boxTxt
  .detailTxt {
  margin: 0;
}
@media screen and (min-width: 769px) and (max-width: 960px) {
  .cpPresent-promotion .wrap_inner {
    background: #ffffff;
  }
  .cpPresent-promotion .wrap_inner p.cp-Ttl img {
  }
  .cpPresent-promotion .wrap_inner p.cp-lead {
    text-align: left;
  }
  .cpPresent-promotion .wrap_inner p.cp-lead small {
    font-size: 2rem;
    line-height: 160%;
    letter-spacing: 0.8px;
  }
  .cpPresent-promotion .wrap_inner .cpPresent-content {
    margin: 32px auto 0;
  }
  .cpPresent-promotion .wrap_inner .cpPresent-box {
    width: 100%;
    display: block;
    justify-content: space-between;
    justify-items: center;
    margin: 0 auto;
  }
  .cpPresent-promotion .wrap_inner .cpPresent-box .boxImg {
    width: 100%;
    margin: 0 auto;
  }
  .cpPresent-promotion .wrap_inner .cpPresent-box .boxImg img {
    width: 100%;
    margin: 0 auto;
  }
  .cpPresent-promotion .wrap_inner .cpPresent-box .color-detail {
    width: 100%;
    margin-top: 32px;
  }
  .cpPresent-promotion .wrap_inner .cpPresent-box .color-detail .detail-box {
    display: flex;
    align-items: center;
    margin-bottom: 24px;
  }
  .cpPresent-promotion
    .wrap_inner
    .cpPresent-box
    .color-detail
    .detail-box:last-child {
    margin-bottom: 0;
  }
  .cpPresent-promotion
    .wrap_inner
    .cpPresent-box
    .color-detail
    .detail-box
    img {
    width: 100px;
    height: 50%;
    margin-right: 16px;
  }
  .cpPresent-promotion .wrap_inner .cpPresent-box .color-detail .boxTxt {
    margin-bottom: 0;
  }
  .cpPresent-promotion
    .wrap_inner
    .cpPresent-box
    .color-detail
    .boxTxt
    .detailTtl001 {
    margin: 0;
    font-size: 2.4rem;
  }
  .cpPresent-promotion
    .wrap_inner
    .cpPresent-box
    .color-detail
    .boxTxt
    .detailTtl001
    .detailCAT001 {
    font-size: 2rem;
    line-height: 2rem;
    padding: 8px 16px;
    border-radius: 23px;
    margin-right: 16px;
  }
  .cpPresent-promotion
    .wrap_inner
    .cpPresent-box
    .color-detail
    .boxTxt
    .detailTtl002 {
    margin: 0;
    font-size: 2.4rem;
    color: #ee7961;
  }
  .cpPresent-promotion
    .wrap_inner
    .cpPresent-box
    .color-detail
    .boxTxt
    .detailTtl002
    .detailCAT002 {
    font-size: 2rem;
    line-height: 2rem;
    padding: 8px 16px;
    border-radius: 23px;
    margin-right: 16px;
  }
  .cpPresent-promotion
    .wrap_inner
    .cpPresent-box
    .color-detail
    .boxTxt
    .detailTtl003 {
    margin: 0;
    font-size: 2.4rem;
    color: #e58087;
  }
  .cpPresent-promotion
    .wrap_inner
    .cpPresent-box
    .color-detail
    .boxTxt
    .detailTtl003
    .detailCAT003 {
    font-size: 2rem;
    line-height: 2rem;
    padding: 8px 16px;
    border-radius: 23px;
    margin-right: 16px;
  }
  .cpPresent-promotion
    .wrap_inner
    .cpPresent-box
    .color-detail
    .boxTxt
    .detailTtl004 {
    margin: 0;
    font-size: 2.4rem;
    color: #d4454d;
  }
  .cpPresent-promotion
    .wrap_inner
    .cpPresent-box
    .color-detail
    .boxTxt
    .detailTtl004
    .detailCAT004 {
    font-size: 2rem;
    line-height: 2rem;
    padding: 8px 16px;
    border-radius: 23px;
    margin-right: 16px;
  }
  .cpPresent-promotion
    .wrap_inner
    .cpPresent-box
    .color-detail
    .boxTxt
    .detailTtl005 {
    margin: 0;
    font-size: 2.4rem;
    color: #953f4f;
  }
  .cpPresent-promotion
    .wrap_inner
    .cpPresent-box
    .color-detail
    .boxTxt
    .detailTtl005
    .detailCAT005 {
    font-size: 2rem;
    line-height: 2rem;
    padding: 8px 16px;
    border-radius: 23px;
    margin-right: 16px;
  }
  .cpPresent-promotion
    .wrap_inner
    .cpPresent-box
    .color-detail
    .boxTxt
    .detailTxt {
    margin: 24px 0 0;
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 768px) {
  .cpPresent-promotion .wrap_inner {
    background: #ffffff;
  }
  .cpPresent-promotion .wrap_inner p.cp-Ttl img {
    width: 100%;
    max-width: 750px;
    height: auto;
    max-height: 236px;
  }
  .cpPresent-promotion .wrap_inner p.cp-lead {
    text-align: left;
    color: #586065;
    text-align: left;
    letter-spacing: 0.2rem;
    font-weight: 400;
    font-size: 4.2666667vw;
    font-family: "Noto Sans JP-Regular", Helvetica;
    line-height: 160%;
  }
  .cpPresent-promotion .wrap_inner p.cp-lead small {
    font-size: 2rem;
    line-height: 160%;
    letter-spacing: 0.8px;
  }
  .cpPresent-promotion .wrap_inner .cpPresent-content {
    margin: 32px auto 0;
  }
  .cpPresent-promotion .wrap_inner .cpPresent-box {
    width: 100%;
    display: block;
    justify-content: space-between;
    justify-items: center;
    margin: 0 auto;
  }
  .cpPresent-promotion .wrap_inner .cpPresent-box .boxImg {
    width: 100%;
    margin: 0 auto;
  }
  .cpPresent-promotion .wrap_inner .cpPresent-box .boxImg img {
    width: 100%;
    margin: 0 auto;
  }
  .cpPresent-promotion .wrap_inner .cpPresent-box .color-detail {
    width: 100%;
    margin-top: 32px;
  }
  .cpPresent-promotion .wrap_inner .cpPresent-box .color-detail .detail-box {
    display: flex;
    align-items: center;
    margin-bottom: 24px;
  }
  .cpPresent-promotion
    .wrap_inner
    .cpPresent-box
    .color-detail
    .detail-box:last-child {
    margin-bottom: 0;
  }
  .cpPresent-promotion
    .wrap_inner
    .cpPresent-box
    .color-detail
    .detail-box
    img {
    width: 100px;
    height: 50%;
    margin-right: 16px;
  }
  .cpPresent-promotion .wrap_inner .cpPresent-box .color-detail .boxTxt {
    margin-bottom: 0;
  }
  .cpPresent-promotion
    .wrap_inner
    .cpPresent-box
    .color-detail
    .boxTxt
    .detailTtl001 {
    margin: 0;
    font-size: 4.2666667vw;
  }
  .cpPresent-promotion
    .wrap_inner
    .cpPresent-box
    .color-detail
    .boxTxt
    .detailTtl001
    .detailCAT001 {
    font-size: 2rem;
    line-height: 2rem;
    padding: 8px 16px;
    border-radius: 23px;
    margin-right: 16px;
  }
  .cpPresent-promotion
    .wrap_inner
    .cpPresent-box
    .color-detail
    .boxTxt
    .detailTtl002 {
    margin: 0;
    font-size: 4.2666667vw;
    color: #ee7961;
  }
  .cpPresent-promotion
    .wrap_inner
    .cpPresent-box
    .color-detail
    .boxTxt
    .detailTtl002
    .detailCAT002 {
    font-size: 2rem;
    line-height: 2rem;
    padding: 8px 16px;
    border-radius: 23px;
    margin-right: 16px;
  }
  .cpPresent-promotion
    .wrap_inner
    .cpPresent-box
    .color-detail
    .boxTxt
    .detailTtl003 {
    margin: 0;
    font-size: 4.2666667vw;
    color: #e58087;
  }
  .cpPresent-promotion
    .wrap_inner
    .cpPresent-box
    .color-detail
    .boxTxt
    .detailTtl003
    .detailCAT003 {
    font-size: 2rem;
    line-height: 2rem;
    padding: 8px 16px;
    border-radius: 23px;
    margin-right: 16px;
  }
  .cpPresent-promotion
    .wrap_inner
    .cpPresent-box
    .color-detail
    .boxTxt
    .detailTtl004 {
    margin: 0;
    font-size: 4.2666667vw;
    color: #d4454d;
  }
  .cpPresent-promotion
    .wrap_inner
    .cpPresent-box
    .color-detail
    .boxTxt
    .detailTtl004
    .detailCAT004 {
    font-size: 2rem;
    line-height: 2rem;
    padding: 8px 16px;
    border-radius: 23px;
    margin-right: 16px;
  }
  .cpPresent-promotion
    .wrap_inner
    .cpPresent-box
    .color-detail
    .boxTxt
    .detailTtl005 {
    margin: 0;
    font-size: 4.2666667vw;
    color: #953f4f;
  }
  .cpPresent-promotion
    .wrap_inner
    .cpPresent-box
    .color-detail
    .boxTxt
    .detailTtl005
    .detailCAT005 {
    font-size: 2rem;
    line-height: 2rem;
    padding: 8px 16px;
    border-radius: 23px;
    margin-right: 16px;
  }
  .cpPresent-promotion
    .wrap_inner
    .cpPresent-box
    .color-detail
    .boxTxt
    .detailTxt {
    margin: 24px 0 0;
    font-size: 4.2666667vw;
  }
}
@media screen and (min-width: 555px) and (max-width: 768px) {
}

/*----------------------media----------------------------*/

.media {
  background: url("https://d2w53g1q050m78.cloudfront.net/eceternamcojp/uploads/lp_202412/bg_media_pc.jpg")
    no-repeat #efebf5 center top / cover;
  padding: 80px 0;
  overflow: hidden;
}
section.media .wrap_inner {
  margin: 0 auto;
}
.media_ttl {
  font-size: 2.8rem;
  text-align: center;
  padding-bottom: 24px;
  position: relative;
  margin-bottom: 80px;
}
.media_ttl::after {
  content: "";
  display: inline-block;
  width: 40px;
  height: 1px;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0 auto;
  background: #000;
}
.media_inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 60px;
  position: relative;
  padding: 60px 0 100px;
}
.media_inner::before {
  content: "";
  display: inline-block;
  width: 100vw;
  height: 100%;
  position: absolute;
  left: 160px;
  top: 0;
  background: #efebf5;
  mix-blend-mode: multiply;
  z-index: 1;
}

.media_ttl_sub {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 6px;
  position: relative;
  z-index: 2;
}
.media_ttl_sub_inner {
  display: inline-block;
  color: #fff;
  background: #d0231a;
  font-size: 2.8rem;
  font-weight: 500;
  padding: 12px 15px;
}
.media_product {
  display: flex;
  align-items: center;
  gap: 30px;
  position: relative;
  z-index: 2;
}
.media_product_img {
  width: 42px;
  margin: 0;
}
.media_product_content_icon {
  width: 120px;
  margin: 0 0 24px;
}
.media_product_content_txt {
  margin: 0;
  line-height: 1.5;
}
.media_list {
  width: 100%;
  position: relative;
  z-index: 3;
}
.media_list .slick-list {
  overflow: visible !important; /*debug*/
  width: 88%;
}
.media_list .slick-track {
  display: flex;
}
.media_item.slick-slide {
  float: none;
  background: #fff;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: auto;
}
.media_item.slick-slide + .media_item.slick-slide {
  margin-left: 10px;
}
.media_item_img {
  position: relative;
}
.media_item_img_inner {
  margin: 0;
  position: relative;
  z-index: 1;
}
.media_item_img_tag {
  margin: 0;
  position: absolute;
  z-index: 2;
  background: #fff;
  padding: min(1.25vw, 12px);
  left: 20px;
  bottom: 20px;
  font-size: min(1.67vw, 16px);
  font-weight: 500;
  line-height: 1.75;
}
.media_item_img_logo {
  margin: 0;
  position: absolute;
  z-index: 2;
  right: 20px;
  bottom: 20px;
  width: min(10.42vw, 100px);
}
.media_item_content_comment {
  padding: 30px 20px 0;
  font-size: 2.8rem;
  line-height: 1.5;
  font-weight: 500;
  margin: 0;
  flex-grow: 1;
}
.media_item_content_name {
  margin: 10px 0 0;
  padding: 0 20px 30px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  font-size: 2.2rem;
}
.media_nobreak {
  display: inline-block;
}
.media_item_content_name::before {
  content: "";
  display: inline-block;
  width: 40px;
  height: 1px;
  background: #000;
}
.media_list .slick-prev,
.media_list .slick-next {
  position: absolute;
  z-index: 98;
  top: auto;
  bottom: -84px;
  display: block;
  padding: 0;
  width: 60px;
  height: 60px;
  outline: none;
  color: #000;
  font-size: 0;
  line-height: 0;
  cursor: pointer;
  border: 1px solid #000;
  border-radius: 9999px;
}
.media_list .slick-prev {
  left: 0;
  background: url("https://d2w53g1q050m78.cloudfront.net/eceternamcojp/uploads/lp_202412/media_arrow.svg")
    no-repeat transparent center center / 12px auto;
  transform: rotate(180deg);
}
.media_list .slick-next {
  left: 76px;
  background: url("https://d2w53g1q050m78.cloudfront.net/eceternamcojp/uploads/lp_202412/media_arrow.svg")
    no-repeat transparent center center / 12px auto;
  transform: none;
}
.media_list .slick-prev::before,
.media_list .slick-next::before {
  content: "";
}

@media screen and (max-width: 768px) {
  .media {
    background: url("https://d2w53g1q050m78.cloudfront.net/eceternamcojp/uploads/lp_202412/bg_media_sp.jpg")
      no-repeat #efebf5 center top / cover;
    padding: 60px 0;
  }

  .media_ttl {
    font-size: 2.4rem;
    padding-bottom: 20px;
    margin-bottom: 60px;
  }
  .media_ttl::after {
    width: 30px;
  }
  .media_inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 30px;
    padding: 60px 0 0;
  }
  .media_inner::before {
    left: 40px;
    height: calc(100% - 60px);
  }
  .media_ttl_sub_inner {
    font-size: min(5.6vw, 2.1rem);
  }
  .media_product {
    width: 100%;
    align-items: flex-end;
    justify-content: center;
    order: 3;
    margin-top: 80px;
  }
  .media_product_content_icon {
    width: 120px;
    margin: 0 0 24px;
  }
  .media_product_content_txt {
    margin: 0;
    line-height: 1.5;
  }
  .media_list {
    width: 100%;
    order: 2;
  }
  .media_list .slick-list {
    width: 85%;
  }

  .media_item_img_tag {
    padding: min(1.87vw, 7px);
    left: 15px;
    bottom: 15px;
    font-size: min(3.2vw, 12px);
  }
  .media_item_img_logo {
    right: 15px;
    bottom: 15px;
    width: min(17.33vw, 65px);
  }

  .media_item_content_comment {
    padding: 20px 15px 0;
    font-size: min(5.6vw, 2.1rem);
  }
  .media_item_content_name {
    margin: 15px 0 0;
    padding: 0 15px 20px;
    font-size: 1.6rem;
  }
  .media_item_content_name::before {
    width: 30px;
  }
  .media_list .slick-prev,
  .media_list .slick-next {
    bottom: -68px;
    width: 44px;
    height: 44px;
  }
  .media_list .slick-prev {
    background: url("https://d2w53g1q050m78.cloudfront.net/eceternamcojp/uploads/lp_202412/media_arrow_sp.svg")
      no-repeat transparent center center / 8px auto;
  }
  .media_list .slick-next {
    left: 56px;
    background: url("https://d2w53g1q050m78.cloudfront.net/eceternamcojp/uploads/lp_202412/media_arrow_sp.svg")
      no-repeat transparent center center / 8px auto;
  }
}

/*----------------------media animate----------------------------*/

.fade_txt {
  opacity: 0;
  overflow: hidden;
}
.media.show .fade_txt {
  animation-name: slideTextX100;
  animation-duration: 1s;
  animation-fill-mode: forwards;
}

.media.show .fade_txt:nth-of-type(2),
.media.show .fade_txt:nth-of-type(2) .fade_txt_item {
  animation-delay: 0.25s;
}

@keyframes slideTextX100 {
  0% {
    transform: translateX(6%);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}



/* 202506_追加 */


/* オファー */
.offerArea {
margin: 0 auto;
line-height: 1em;
vertical-align: top;
}

.offerArea p {
margin: 0 auto;
line-height: 1em;
vertical-align: top;
}

.offerArea img {
margin: 0 auto;
line-height: 1em;
vertical-align: top;
}

.offerArea .cta_regular01 {
	position: relative;
}

.offerArea .cta_regular01 .btn_regular {
	width: 86.4%;
	position: absolute;
	top: 0;
	left: 6.8%;
}

.offerArea .cta_regular01 .btn_regular .c-button._shiny {
	position: relative;
	display: block;
	overflow: hidden;
	transition: 100ms;
}

.offerArea .cta_regular01 .btn_regular .c-button._shiny::before {
	position: absolute;
	content: '';
	display: inline-block;
	top: -24%;
	left: 0;
	width: 4%;
	height: 100%;
	background-color: #fff;
	transition: 100ms;
	animation: shinyshiny 2.5s ease-in-out infinite;
}

.offerArea .cta_regular01 .btn_regular .c-button._shiny:hover {
	-webkit-transform: translateY(3px);
}

@-webkit-keyframes shinyshiny {
	0% {
		-webkit-transform: scale(0) rotate(45deg);
		opacity: 0;
	}

	80% {
		-webkit-transform: scale(0) rotate(45deg);
		opacity: 0.5;
	}

	81% {
		-webkit-transform: scale(4) rotate(45deg);
		opacity: 1;
	}

	100% {
		-webkit-transform: scale(50) rotate(45deg);
		opacity: 0;
	}
}

.offerArea .cta_normal01 {
	position: relative;
}

.offerArea .cta_normal01 .btn_normal {
	width: 94.4%;
	position: absolute;
	top: 20%;
	left: 2.8%;
}

.offerArea .cta_normal01 .btn_normal .littledown {
	position: relative;
	display: block;
	overflow: hidden;
}

.offerArea .cta_normal01 .btn_normal .littledown:hover {
	-webkit-transform: translateY(3px);
}

@media screen and (min-width: 751px) {
.offerArea {
width: 750px;
}
}

/* フローティングバナー */
.fixed_btn {
	position: fixed;
	width: 100%;
	bottom: 0;
	display: none;
	left: 50%;
	transform: translateX(-50%);
	/* 中央揃え */
	z-index: 999;
}

.fixed_btn_inner {
	display: flex;
	justify-content: space-between;
	align-items: start;
}

@media screen and (min-width: 751px) {
.fixed_btn {
	width: 750px;
}
}
sss