/*共通設定*/
*{
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
html{
  font-size: 62.5%;
  color: #696969;
  line-height: 1.7;
}
a{
  text-decoration: none;
}
li{
  list-style-type: none;
}
.main{
  max-width: 1120px;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap:20px;
  margin: 0 auto;
  padding: 0 0px;
}
.main img{
  width: 100%;
}
/*共通設定*/


/*メイン*/
.page_wrap{
  width: 100%;
}
.page_wrap .contents_wrap{
  padding: 6rem 0;
}

/*リード文*/
.page_ttl{
  font-size: 2.8rem;
  border-bottom: 2px solid #e3a5ba;
  padding-bottom: 10px;
  font-weight: bold;
}
.page_point{
  max-width: 620px;
  width: 100%;
  background-color: #e485a5;
  color: #FFF;
  font-size: 3rem;
  text-align: center;
  padding: 2rem;
  margin: 0 auto 4rem;
  border-radius: 10px;
  font-weight: bold;
  font-family: "dnp-shuei-mgothic-std", sans-serif;
}
.page_text{
  font-size: 1.6rem;
  text-align: center;
  margin-bottom: 4rem;
}

.point{
  border: 2px solid #e485a5;
  padding: 2rem;
  max-width: 620px;
  width: 100%;
  margin: 0 auto 4rem;
}
.point .point_text{
  font-size: 1.4rem;
  text-align: left;
  color: #e485a5;
}


/*バストサイズ*/
.BustSize{
  background-color: #f1f5f8;
  padding: 0 4rem;
}
.BustSize .contents_ttl{
  font-size: 3rem;
  text-align: center;
  font-weight: bold;
  margin-bottom: 3rem;
  font-family: "dnp-shuei-mgothic-std", sans-serif;
}
.BustSize .page_text{
  font-size: 1.6rem;
  text-align: center;
  margin-bottom: 3rem;
}
.step{
  margin-bottom: 4rem;
}
.step_list{
  display: flex;
  justify-content: space-between;
}
.step_list .step_num{
  position: relative;
  width: 20%;
  font-size: 2.4rem;
  text-align: center;
  display: flex;
  justify-content: center;
  color: #e485a5;
  gap:5px;
  padding: 4rem 0 0;
  font-family: "dnp-shuei-mgothic-std", sans-serif;
  font-weight: bold;
}
.step_list .step_num span{
  background-color: #e485a5;
  border-radius: 999px;
  text-align: center;
  width: 30px;
  height: 30px;
  color: #f1f5f8;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "dnp-shuei-mgothic-std", sans-serif;
  font-weight: bold;
  margin-top: 3px;
}
.step_list .step_num::after {
  content: "";
  position: absolute;
  top: 8rem;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  border-left: 2px dashed #e485a5; /* 縦の破線 */
}
.step_list .step_item{
  width: 80%;
  background-color: #FFF;
  padding: 3rem;
  text-align: center;
}
.step_list.num1 .step_item{
  border-radius: 25px 25px 0px 0px;
}
.step_list.num2 .step_item{
  border-radius: 0;
  padding-top: 0;
}
.step_list.num3 .step_item{
  border-radius: 0 0 25px 25px;
  padding-top: 0;
}
.step_list.num2 .step_num{
  padding-top: 0;
}
.step_list.num3 .step_num{
  padding-top: 0;
}
.step_list.num2 .step_num::after{
  top: 4rem;
}
.step_list.num3 .step_num::after{
  content: none;
}
.step_list .step_ttl{
  font-size: 2.4rem;
  color: #e485a5;
  margin-bottom: 2rem;
  text-align: left;
  font-weight: bold;
  font-family: "dnp-shuei-mgothic-std", sans-serif;
}
.step_list .page_text{
  text-align: left;
}
.calculator{
  background-color: #a4cfd8;
  border-radius: 25px;
  padding: 2.5rem;
}
.calculator_ttl{
  text-align: center;
  font-size: 2rem;
  color: #FFF;
  font-weight: bold;
  border-bottom: 1px solid #FFF;
  padding-bottom: 2rem;
  margin-bottom: 3rem;
}
.calculator_text,.sizeResult__txt{
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  margin-bottom: 3rem;
}
.sizeResult__txt{
  padding-top: 3rem;
}
.sizeResult__digit {
    text-align: center;
}
.label{
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
}
input[type="text"] {
  max-width: 200px;
  width: 100%;
  border: none;
  margin: 0 10px 0 10px;
  font-size: 2.4rem;
  margin-bottom: 20px;
  border-radius: 5px;
  height: 50px;
  text-align: center;
  font-family: "Lato", sans-serif;
}
.sizeResult__digit input[type="text"]{
  margin: 0;
  font-size: 3rem;
}
.form__btn{
  text-align: center;
  margin-top: 2rem;
}
.form__btn button {
    background-color: #666666;
    max-width: 500px;
    width: 100%;
    margin: 0 auto;
    text-align: center;
    border: 0px;
    padding: 1rem;
    border-radius: 999px;
    font-size: 2rem;
    color: #FFF;
}
.sizeResult { display: none; }
.sizeResult.is-visible { display: block; }
.size_btn{
  background-color: #e485a5;
  color: #FFF;
  font-size: 3rem;
  text-align: center;
  max-width: 500px;
  width: 100%;
  border-radius: 999px;
  margin: 3rem auto 0;
  padding: 10px 0;
  font-weight: bold;
  font-family: "dnp-shuei-mgothic-std", sans-serif;
}
.hipwaist .contents_ttl{
  font-size: 3rem;
  text-align: center;
  font-weight: bold;
  margin-bottom: 3rem;
}
.hipwaist .contents_flex{
  display: flex;
  justify-content: center;
  gap:3rem;
  margin-bottom: 6rem;
}
.hipwaist .contents_flex .img{
  width: 60%;
}
.hipwaist .contents_flex .info{
 width: 40%;
}
.hipwaist .contents_flex .info_ttl{
  font-size: 1.8rem;
  color: #e485a5;
  margin-bottom: 1rem;
  text-align: left;
}
.hipwaist .contents_flex .text{
  text-align: left;
}
.hipwaist .text{
  font-size: 1.6rem;
  margin-bottom: 3rem;
  text-align: center;
}
@media screen and (max-width:1120px){
  .main{
    margin-top: 30px;
    padding: 0 20px 60px;
  }

  .page_ttl{
    font-size: 2.2rem;
  }
  .step_list .step_num,
  .step_list .step_ttl{
    font-size: 1.8rem;
  }
  .page_point,
  .hipwaist .contents_ttl,
  .BustSize .contents_ttl,
  .size_btn{
    font-size: 2.4rem;
  }
  .calculator{
    padding: 2rem 1.5rem;
  }
  .sizeResult__txt{
    font-size: 1.8rem;
  }
  .step_list .step_num span{
    width: 25px;
    height: 25px;
  }

}
@media screen and (max-width:768px){
  .main{
    padding: 0 10px 40px;
  }
  .BustSize{
    padding: 0 10px;
  }
  .step_list .step_item{
    width: 77%;
    padding: 1.5rem;
  }

  input[type="text"] {
    max-width: 130px;
  }


  .page_ttl{
    font-size: 2rem;
  }
  .step_list .step_num,
  .step_list .step_ttl{
    font-size: 1.6rem;
  }
  .page_point,
  .hipwaist .contents_ttl,
  .BustSize .contents_ttl,
  .size_btn{
    font-size: 2rem;
  }
  .hipwaist .contents_flex{
    display: block
  }
  .hipwaist .contents_flex .img,
  .hipwaist .contents_flex .info{
    width: 100%;
  }
  .hipwaist .contents_flex{
    margin-bottom: 4rem;
  }
  .hipwaist .contents_flex .info_ttl{
    text-align: center;
    margin-bottom: 0;
  }
  .hipwaist .text{
    margin-bottom: 2rem;
  }
  .hipwaist .contents_flex .text{
    text-align: center;
  }
}
@media screen and (max-width:520px){
        .page_wrap .contents_wrap{
          padding: 4rem 0 0;
        }
        .page_ttl,
        .page_point,
        .hipwaist .contents_ttl,
        .BustSize .contents_ttl,
        .size_btn{
        font-size: 1.8rem;
      }
      .step_list .step_num span {
        width: 25px;
        height: 23px;
    }
}
@media screen and (max-width:375px){
        .page_ttl,
        .page_point,
        .hipwaist .contents_ttl,
        .BustSize .contents_ttl,
        .size_btn{
        font-size: 1.5rem;
      }
}
/*メイン*/

