@charset "utf-8";
@font-face {
  font-family: 'Local Noto Sans JP';
    src:
      local('Noto Sans JP'), /* Windows用 */
      local('Noto Sans CJK JP Regular') /* Android用 */;
}
:root{
  --color-pink:#cc7db1;
  --color-blue:#00B4C6;
  --color-orange:#F29A76;
  --color-green:#66BF97;
  --color-navy:#69A3D8;
}
.visually_hidden{
  position:absolute;
  width:1px;
  height:1px;
  margin:-1px;
  padding:0;
  overflow:hidden;
  clip:rect(0 0 0 0);
  clip-path:inset(50%);
  white-space:nowrap;
  border:0;
}
button{
  transition: all 0.2s;
}
@media (hover: hover) and (pointer: fine){
  button:hover {
    opacity: 0.8; transform: translateY(-2px);
  }
}
.pcmn_section_bg{
  min-height: calc(100vh - 55px);
  position: relative;
}
.pcmn_section_bg::before{
  content: "";
  display: block;
  width: 100%;
  height: 210px;
  height: 56vw;
  background: url(../img/bg_top.png) no-repeat top center;
  background-size: 100% auto;
  position: fixed;
  top: 55px;
  left: 0;
}
.pcmn_section_bg::after{
  content: "";
  display: block;
  width: 100%;
  height: 146px;
  height: 38.933vw;
  background: url(../img/bg_bottom.png) no-repeat bottom center;
  background-size: 100% auto;
  position: fixed;
  bottom: 0;
  left: 0;
}
.pcmn_section_bg > .inner{
  z-index: 1;
}
@media screen and (min-width :835px){
  .pcmn_section_bg{
    min-height: auto;
  }
  .pcmn_section_bg::before{
    position: absolute;
    top: 0;
    height: 240px;
  }
  .pcmn_section_bg::after{
    position: absolute;
    height: 161px;
  }
}
@media screen and (max-height :800px){
  .pcmn_section_bg::before{
    position: absolute;
    top: 0;
  }
  .pcmn_section_bg::after{
    position: absolute;
  }
}
.pcmn_btn{
  display: block;
  background-color: #fff;
  color: #000;
  font-weight: bold;
  text-align: center;
  border-radius: 50px;
  border: 1px solid #000;
  width: 100%;
  background-image: url(../img/ico_arrow_y.svg);
  background-repeat: no-repeat;
  background-position: right 15px center;
  background-size: 20px 20px;
  font-size: 1.4rem;
  box-shadow: 0px 2px 7px 0px rgba(0, 0, 0, 0.2);
  padding: 13px 40px;
  max-width: 345px;
  margin-left: auto;
  margin-right: auto;
}
.hidden { display: none !important; }
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}
.sec_recommend,.sec_ranking{
  background-color: #fff;
}

/* ===============================================
# sec_main
=============================================== */
.sec_main{
  background-color: #fffcd1;
}

/* area_start
----------------------------------------------- */
.area_start{
  padding-top: 40px;
  padding-top: 10.666vw;
  padding-bottom: 40px;
  padding-bottom: 10.666vw;
  display: flex;
  align-items: center;
}
.area_start .img_main{
  margin-top: 18px;
}
.area_start .img_main img{
  width: 102%;
  display: block;
  max-width: none;
}
.area_start .txt_sub{
  color: #e4007f;
  font-size: 1.5rem;
  font-weight: bold;
  text-align: center;
  margin-top: 18px;
  margin-bottom: 10px;
}
.area_start .img_main + .pcmn_btn{
  margin-top: 31px;
}
.area_start .pcmn_btn{
  font-size: 1.6rem;
}
@media (min-width :835px){
  .area_start{
    padding-top: 40px;
    padding-bottom: 40px;
  }
}

/* area_question
----------------------------------------------- */
.area_question{
  padding-top: 50px;
  padding-bottom: 133px;
  display: flex;
  align-items: center;
}
.area_question .ttl_main img{
  max-width: 72%;
  margin: 0 auto;
  display: block;
}
.area_question .box_question{
  background-image: repeating-linear-gradient(135deg, #fff100, #fff100 5px, #ffffff 5px, #ffffff 10px);
  border-radius: 5px;
  box-shadow: 0px 0px 7px 0px rgba(0, 0, 0, 0.2);
  position: relative;
  padding-top: 45px;
  padding-bottom: 42px;
  margin-top: 24px;
}
.area_question .box_question::before{
  content: "";
  display: block;
  width: calc(100% - 30px);
  height: calc(100% - 25px);
  background: #fff;
  border-radius: 5px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
}
.area_question .question_num{
  position: relative;
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 2rem;
  border: 1px solid #000;
  border-radius: 50px;
  max-width: 95px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  line-height: 1;
  padding: 5px 10px;
}
.area_question .question_txt{
  position: relative;
  margin-top: 23px;
  text-align: center;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 900;
  font-style: normal;
  font-size: 1.7rem;
  padding: 0 50px;
  line-height: 1.588;
}
.area_question .box_btn{
  position: relative;
  margin-top: 40px;
  display: flex;
  justify-content: center;
  gap: 5.395%;
  max-width: 278px;
  margin-left: auto;
  margin-right: auto;
}
.area_question .box_btn > button{
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 1.5rem;
  color: #fff;
  background-color: #000;
  border-radius: 50px;
  text-align: center;
  box-shadow: 0px 2px 7px 0px rgba(0, 0, 0, 0.2);
  width: 47.48%;
  padding: 13px 10px;
}
.area_question .box_btn > button.btn_yes{
  background-color: #ee87b4;
}
.area_question .box_btn > button.btn_no{
  background-color: #54c3f1;
}
.area_question .btn_reset{
  position: relative;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  color: #676767;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-style: normal;
  text-decoration: underline;
  display: block;
  margin-top: 20px;
  font-size: 1.3rem;
}

/* area_result
----------------------------------------------- */
.area_result{
  padding-top: 50px;
  padding-top: 13.333vw;
  padding-bottom: 50px;
  padding-bottom: 13.333vw;
  display: flex;
  align-items: center;
}
.area_result p{
  line-height: 1.714;
}
.area_result .ttl_result{
  width: 58.173%;
  margin-left: auto;
  margin-right: auto;
  max-width: 400px;
}
.area_result .box_result{
  background-color: #fff;
  box-shadow: 0px 0px 7px 0px rgba(0, 0, 0, 0.2);
  margin-top: 45px;
  padding: 18px 4vw 40px 4vw;
  border-radius: 10px;
  max-width: 550px;
  margin-left: auto;
  margin-right: auto;
  animation: fadeIn 0.8s;
}
.area_result .wrap_ttl{
  position: relative;
}
.area_result .wrap_ttl .txt_type{
  font-size: 1.5rem;
  color: #000;
  font-weight: bold;
  display: block;
}
.area_result .wrap_ttl .img_person{
  position: absolute;
  top: -44px;
  right: 0;
  width: 101px;
  height: 155px;
}
.area_result .wrap_ttl .ttl_result_main{
  display: flex;
  gap: 11px;
  align-items: center;
  color: #000;
  font-size: 22px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 900;
  font-style: normal;
  line-height: 1.227;
  padding-right: 100px;
  margin-top: 10px;
}
.area_result .wrap_ttl .ttl_result_main img{
  width: 74px;
}
.area_result .wrap_ttl .ttl_result_main > .ttl{
  display: block;
  padding-bottom: 5px;
}
.area_result .wrap_ttl .ttl_result_main > .ttl > span{
  display: inline-block;
}
.area_result .txt_trait{
  display: flex;
  gap: 12px;
  align-items: center;
  margin-top: 33px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 1.7rem;
  line-height: 1.47;
}
.area_result .txt_trait img{
  width: 70px;
}
.area_result .txt_trait + .ttl_result_point{
  margin-top: 28px;
}
.area_result .ttl_result_point{
  background-color: #000;
  width: fit-content;
  max-width: 230px;
  color: #fff;
  padding: 6px 10px 4px 6px;
  position: relative;
  line-height: 1;
  margin-top: 27px;
}
.area_result .ttl_result_point::before{
  content: "";
  display: block;
  width: 10px;
  height: 15px;
  background: #fff;
  clip-path: polygon(0 0, 100% 0, 100% 100%);
  position: absolute;
  top: -1px;
  right: -1px;
}
.area_result .ttl_result_point::after{
  content: "";
  display: block;
  width: 10px;
  height: 15px;
  background: #fff;
  clip-path: polygon(0 100%, 100% 0, 100% 100%);
  position: absolute;
  bottom: -1px;
  right: -1px;
}
.area_result .ttl_result_point + p{
  margin-top: 10px;
}
.area_result .ttl_result_point + .txt_bold{
  margin-top: 8px;
}
.area_result .txt_bold{
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 900;
  font-style: normal;
  color: #000;
  line-height: 1.5;
  font-size: 1.6rem;
}
@media (min-width :835px){
  .area_result{
    padding-top: 50px;
    padding-bottom: 50px;
  }
  .area_result .box_result{
    padding-right: 15px;
    padding-left: 15px;
  }
}

/* color
----------------------------------------------- */
/* res_a */
.area_result .res_a .wrap_ttl .ttl_result_main{
  color: var(--color-pink);
}
.area_result .res_a .ttl_result_point{
  background-color: var(--color-pink);
}
.area_result .res_a .txt_bold{
  color: var(--color-pink);
}
/* res_b */
.area_result .res_b .wrap_ttl .ttl_result_main{
  color: var(--color-blue);
}
.area_result .res_b .ttl_result_point{
  background-color: var(--color-blue);
}
.area_result .res_b .txt_bold{
  color: var(--color-blue);
}
/* res_c */
.area_result .res_c .wrap_ttl .ttl_result_main{
  color: var(--color-orange);
}
.area_result .res_c .ttl_result_point{
  background-color: var(--color-orange);
}
.area_result .res_c .txt_bold{
  color: var(--color-orange);
}
/* res_d */
.area_result .res_d .wrap_ttl .ttl_result_main{
  color: var(--color-green);
}
.area_result .res_d .ttl_result_point{
  background-color: var(--color-green);
}
.area_result .res_d .txt_bold{
  color: var(--color-green);
}
/* res_e */
.area_result .res_e .wrap_ttl .ttl_result_main{
  color: var(--color-navy);
}
.area_result .res_e .ttl_result_point{
  background-color: var(--color-navy);
}
.area_result .res_e .txt_bold{
  color: var(--color-navy);
}


/* area_technique
----------------------------------------------- */
.area_technique{
  position: relative;
  background: url(../img/bg_technique.jpg) repeat-y;
  background-size: 100% auto;
  padding-top: 20px;
  padding-top: 5.333vw;
  padding-bottom: 20px;
  padding-bottom: 5.333vw;
}
.area_technique .box_technique{
  background-color: rgba(255,255,255,.85);
  padding: 33px 4vw 30px 4vw;
  max-width: 550px;
  margin-left: auto;
  margin-right: auto;
}
.area_technique .ico_type{
  position: absolute;
  top: -16px;
  left: 50%;
  transform: translateX(-50%);
  width: 130px;
  background-color: #fff;
  border: 1px solid #000;
  border-radius: 50px;
  padding: 6px 10px;
  text-align: center;
  line-height: 1;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-style: normal;
}
.area_technique .ttl_technique{
  width: 83.8%;
  margin-left: auto;
  margin-right: auto;
}
.area_technique .list_technique{
  margin-top: 30px;
}
.area_technique .list_technique li{
  position: relative;
  padding-left: 27px;
  line-height: 1.714;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 1.4rem;
}
.area_technique .list_technique li + li{
  margin-top: 13px;
}
.area_technique .list_technique li::before{
  content: "";
  display: block;
  width: 19px;
  height: 19px;
  background: url(../img/ico_list.svg)no-repeat top center;
  background-size: contain;
  position: absolute;
  top: 2px;
  left: 0;
}
.area_technique .list_technique li .bg{
  background-color: #ee87b4;
  color: #fff;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 1.5rem;
  line-height: 1;
  padding: 0 2px 2px;
}
.area_technique .img_technique{
  display: block;
  margin-top: 16px;
  width: 91.428%;
  margin-right: 0;
  margin-left: auto;
}
@media (min-width :835px){
  .area_technique{
    padding-top: 20px;
    padding-bottom: 20px;
  }
  .area_technique .box_technique{
    padding-left: 15px;
    padding-right: 15px;
  }
}

/* sec_link
----------------------------------------------- */
.sec_link{
  padding-top: 40px;
  padding-bottom: 210px;
  padding-bottom: 56vw;
  padding-bottom: clamp(210px,56vw,360px);
  position: relative;
}
.sec_link::after{
  content: "";
  display: block;
  width: 100%;
  height: 170px;
  height: 45.333vw;
  background: url(../img/bg_link.png)no-repeat bottom center;
  background-size: 100% auto;
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  max-width: 750px;
  pointer-events: none;
}
.sec_link .box_btn + .box_btn{
  margin-top: 15px;
}
@media screen and (min-width :835px){
  .sec_link{
    padding-bottom: 230px;
  }
  .sec_link::before{
    content: "";
    display: block;
    width: 100%;
    height: 161px;
    background: url(../img/bg_bottom.png) no-repeat bottom center;
    background-size: 100% auto;
    bottom: 0;
    left: 0;
    position: absolute;
  }
}

/* sec_bnr
----------------------------------------------- */
.sec_bnr{
  position: relative;
  background-image: repeating-linear-gradient(135deg, #fff100, #fff100 5px, #ffffff 5px, #ffffff 10px);
  padding: 15px;
}
.sec_bnr .area_bnr{
  max-width: 690px;
  margin: 0 auto;
}
.sec_bnr .area_bnr img{
  border-radius: 10px;
}

