@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=M+PLUS+1p:wght@400;500;700;900&display=swap');

*{margin:0px; padding:0px;}
ul {list-style:none;}

p,span,li,h2,h3,a{transform: rotate(0.05deg);}

html{
    font-size: 62.5%;
}
body {
	font-family: "M PLUS 1p", sans-serif;
	font-size:2.4rem;/* 24px*/
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: 100%;
  color:#333;
  font-feature-settings: "palt";}

a{color:#333; text-decoration:none; transition: 0.5s all;}


	
img{
  width: 100%;
	max-width: 100%;
  height: auto;
}
.Center{
  text-align: center;
}

.m_b_10{margin-bottom: 10px;}
.m_b_20{margin-bottom: 20px;}
.m_b_30{margin-bottom: 30px;}
.m_b_40{margin-bottom: 40px;}
.m_b_50{margin-bottom: 50px;}
.m_b_60{margin-bottom: 60px;}


@media screen and (min-width:768px){
  .pc_hidden{display: none;}
  a:hover img{
	opacity:0.8;
	transition: 0.5s all;}
  
  }
@media screen and (max-width:1024px) {
  .sp-tb_br{display: block;}
  }
@media screen and (max-width:767px) {
  .sp_hidden{display: none;}
  body {font-size: 1.8rem;}
  .m_b_10{margin-bottom: 5px;}
  .m_b_20{margin-bottom: 10px;}
  .m_b_30{margin-bottom: 15px;}
  .m_b_40{margin-bottom: 20px;}
  .m_b_50{margin-bottom: 25px;}
  .m_b_60{margin-bottom: 30px;}
  }

.Container{
  overflow: hidden;
}
.Contents{
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 10px;
}
.Contents_inner{
  max-width: 810px;
  margin: 0 auto;
}
.Contents-l{
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 20px;
}

/* == 2506 ============================================== */

.kv{
  background-size: cover;
  background-repeat: no-repeat;
  background-position: top right;
  padding: 20px 20px 30px 20px;
  position: relative;}

.icon_pr{
  position: absolute;
  width: 50px;
  top: 20px;
  right: 20px;
}

.kv-headcopy{
  font-weight: 700;
  font-size: 3.6rem;
  position: relative;
  padding-left: 35px;
  padding-top: 10px;
}
.kv-headcopy:before{
  content: '';
  display: block;
  background: url("../image/icon_home.png") no-repeat 0 0;
  background-size: 100%;
  width: 65px;
  height: 60px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.kv_inner{
  max-width: 1000px;
  margin: 0 auto;
}
.kv-copy{
  margin-top: 30px;
}
.kv-cta img{
  max-width: 620px;}


@media screen and (min-width:768px){
  .kv{
    background-image: url("../image/kv-pc.jpg");
  }
  .kv-copy img{
    max-width: 577px;
  }
  
  .kv-cta img{margin-top: -30px;}
}

@media screen and (min-width:768px) and (max-width:1024px){
  .kv-copy img{
    width: 60vw; max-width: 577px;
  }
  .kv-headcopy{
    font-size: 3rem;
   }
  
  .kv-cta img{margin-top: 0; width: 60vw; max-width: 620px;}
}
@media screen and (max-width:767px){
  .kv{
    background-image: url("../image/kv-sp.jpg");
    padding: 15px 20px;
  }
  .icon_pr{
    width: 25px;
    height: 25px;
    top: 10px;
    right: 10px;}
    
  .kv-copy{
    text-align: center;
    margin-bottom: 22vh
  }
  .kv-copy img{
    max-width: 289px;
  }
  .kv-headcopy{
    font-size: 2rem;
    padding-left: 15px;
    padding-top: 5px;
 }
 .kv-headcopy:before{
    width: 32px;
    height: 30px;
  }
  .kv-cta{
    position: relative;
    max-width: 375px;
    margin: 0 auto;
  }
  .kv-illust{
    position: absolute;
    width: 60px;
    top: -32px;
    left: 30%;
  }

}

/*bg*/
.bg_yellow{
  background: #FFFFE8;
  padding: 100px 0;}

.bg_p-b{
  background: url("../image/bg_p-b.png") repeat-y;
  background-size: 100%;
  padding: 100px 0;
}
  .bg_p-b_bottom{padding-bottom: 0 !important;}
.bg_blue{
  background: url("../image/bg_b.png") repeat-y #DCF3FC;
  background-size: 100%;
  padding: 100px 0;
  color: #000;}
  
.bg_pink{
  background: url("../image/bg_p.png") repeat-y #FBEAF1;
  background-size: 100%;
  padding: 100px 0;
  color: #000;}
  

/*fukidashi*/
.fukidashi{
  border-radius: 30px;
  background: #FFF;
  border-width: 1px;
  border-style: solid;
  text-align: center;
  padding: 40px;
  margin-bottom: 80px;
  position: relative;
}
  
.fukidashi:after{
  content: '';
  display: block;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 100%;
  position: absolute;
  margin: auto;
  left: 0;
  right: 0;
}
  .fukidashi-g:after{
    background-image: url("../image/fukidashi_g.png");
    width: 44px;
    height: 38px;
    bottom: -38px;
  }
  .fukidashi-p{
    max-width: 900px;
    padding: 30px;
    margin: 0 auto 80px auto;
  }
  .fukidashi-p:after{
    background-image: url("../image/fukidashi_p.png");
    width: 58px;
    height: 48px;
    bottom: -48px;
  }
  .fukidashi-b{
    max-width: 900px;
    padding: 30px;
    margin: 0 auto 80px auto;
  }
  .fukidashi-b:after{
    background-image: url("../image/fukidashi_b.png");
    width: 44px;
    height: 38px;
    bottom: -38px;
  }
  @media screen and (max-width:767px){
    .bg_yellow,
    .bg_p-b,
    .bg_blue,
    .bg_pink{
      padding: 40px 0;}
    .fukidashi{
      margin-bottom: 40px;
      padding: 20px;
      border-radius: 15px;
    }
    .fukidashi-b,
    .fukidashi-p{padding: 10px;}
    
    .fukidashi-g:after,
    .fukidashi-b:after{
      width: 22px;
      height: 19px;
      bottom: -19px;}
      
    .fukidashi-p:after{
      width: 29px;
      height: 24px;
      bottom: -24px;
    }
  }
  
.triangle-p {
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 200px solid transparent;
  border-left: 200px solid transparent;
  border-top: 80px solid #fbeaf1;
  border-bottom: 0;
  margin: 0 auto 30px auto;
}
.triangle-w{
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 130px solid transparent;
  border-left: 130px solid transparent;
  border-top: 80px solid #FFF;
  border-bottom: 0;
  margin: 30px auto 0 auto;
}
.triangle-w-bg{
  background: #5ED7A2;}

.round_box{
  border-radius: 30px;
  background: #FFF;
  border-width: 1px;
  border-style: solid;
  overflow: hidden;
  text-align: center;
  padding: 30px 20px;
  margin-bottom: 30px;
}
  .box-s{max-width: 800px; margin: 0 auto 30px auto; padding: 20px; box-sizing: border-box;}

  .box-w{border: none;}
  .fukidashi-g,
  .box-g{border-color: #10b981;}
  
  .fukidashi-b,
  .box-b{border-color: #55c3f0;}
  
  .fukidashi-p,
  .box-p{border-color: #e79abb;}
  
  

.img-1{max-width: 874px;}
.img-2{max-width: 720px;}  
.img-3{max-width: 653px;}
.img-4{max-width: 950px;}

.cap{
  text-align: center;
  font-size: 1.8rem;
}


  @media screen and (max-width:767px){
    .triangle-p {
      border-right: 50vw solid transparent;
      border-left: 50vw solid transparent;
      border-top: 70px solid #fbeaf1;
      margin: 0 auto 20px auto;
    }
    .triangle-w{
      border-right: 50vw solid transparent;
      border-left: 50vw solid transparent;
      border-top: 70px solid #FFF;
      margin: 30px auto 0 auto;
    }
    .round_box{
      margin-bottom: 15px;
      padding: 20px;
      border-radius: 15px;}
      
    .box-g{
      border: none;
      margin: 0 -10px 10px 0;
      border-radius: 0;
      padding: 10px !important;
    }  
      
      
    .cap{
      font-size: 1.2rem;
    }  
  }
  
  
.lead_txt{
  font-weight: 500;
  font-size: 3.6rem;
  line-height: 1.7;
  text-align: center;
} 

.lead_txt-l{
  font-weight: 500;
  font-size: 4.8rem;
  line-height: 1.7;
  text-align: center;
}  
.lead_txt-b{
  font-weight: 700;
  color: #000;
}

.point_txt{
  font-weight: 500;
  font-size: 4.8rem;
  line-height: 1.7;
  max-width: 1000px;
  margin: 0 auto 40px auto;
  text-align: center;
}
.point_txt p{
  display: inline-block;
  position: relative;
}
.point_txt p:before{
  content: '';
  display: block;
  background: url("../image/icon_check.png") no-repeat 0 0;
  background-size: 100%;
  width: 220px;
  height: 179px;
  position: absolute;
  bottom: 0;
  left: -120px;
  opacity: 0.55;
  z-index: -1;
}
  .box-b + .point_txt,
  .cap  + .point_txt{margin-top: 100px;}

.large{
  font-size: 4.8rem;
  vertical-align: baseline;
}
.orange{
  font-weight: 700;
  color: #f38624;
}
.green{
  font-weight: 700;
  color: #11b981;
}
.marker{
  background: linear-gradient(transparent 50%, #fee600 50%,#fee600 95%,transparent 95%);
}
.know{
  color: #787dbe;
  font-size: 6rem;
  font-weight: 700;
  vertical-align:baseline;
}
  .know-s{
    font-size: 4.8rem;
  }

.ornament-1,
.ornament-2,
.ornament-3{
  position: relative;
}

.ornament-1:before{
  content: '';
  display: block;
  background: url("../image/ornament_1.png") no-repeat 0 0;
  background-size: 100%;
  width: 47px;
  height: 34px;
  position: absolute;
  top:-20px;
  left: -40px;
}
.ornament-2:before,
.ornament-2:after{
  content: '';
  display: block;
  background: url("../image/ornament_2.png") no-repeat 0 0;
  background-size: 100%;
  width: 82px;
  height: 82px;
  position: absolute;
  bottom:0;
}
.ornament-2:before{left: -82px;}
.ornament-2:after{right: -82px;}


.ornament-3{
  display: inline-block;
}
.ornament-3:before,
.ornament-3:after{
  content: '';
  display: block;
  width: 48px;
  height: 123px;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 100%;
  position: absolute;
  bottom: 0;}

.ornament-3:before{
  background-image: url("../image/ornament_3-1.png");
  left: -48px;
}
.ornament-3:after{
  background-image: url("../image/ornament_3-2.png");
  right: -48px;
}

.ornament-4{
  font-size: 5rem;
  font-weight: 400;
}

.dot{
  position: relative;
  vertical-align: baseline;
}
.dot:after{
  content: '';
  display: block;
  width: 10px;
  height: 10px;
  position: absolute;
  top: -5px;
  left: 0;
  right: 0;
  margin: auto;
  border-radius: 10px;
  background: #f38624;
}
.know_logo{
  margin-top: 40px;
  text-align: center;
}

.know_logo img{
  width: 510px;
}
@media screen and (max-width:1024px){
   
    .lead_txt{
      font-size: 3rem;}
    
    .lead_txt-l{
      font-size: 3.6rem;
    }
    .point_txt{
      font-size: 3.6rem;
    }
    .point_txt p:before{
      width: 110px;
      left: -70px;
      height: 90px;
      top: 50%;
      transform: translateY(-50%);
    }
    .large{
      font-size: 3rem;}
      
    .know{
      font-size: 4rem;
    }
      .know-s{
        font-size: 3.6rem;
      }  
    .dot:after{
      width: 6px;
      height: 6px;}  
}
@media screen and (max-width:767px){
   
    .lead_txt{
      font-size: 2rem;}
    
    .lead_txt-l{
      font-size: 2.2rem;
    }
    .point_txt{
      font-size: 2.2rem;
      margin: 0 auto 30px auto;
    }
    .point_txt p{
      display: block;
    }
    .point_txt p:before{left: 0;}
   
      .box-b + .point_txt,
      .cap  + .point_txt{margin-top: 50px;}

    .large{
      font-size: 2.4rem;}
      
    .know{
      font-size: 3rem;
    }
      .know-s{
        font-size: 2.4rem;
      }  
      
    .ornament-1:before{
      width: 23px;
      height: 17px;
      top:-10px;
      left: -15px;
    }
    .ornament-2:before,
    .ornament-2:after{content: none;
    }
    .ornament-2-sp{
      position: relative;
    }
    .ornament-2-sp:before,
    .ornament-2-sp:after{
      width: 41px;
      height: 41px;
      content: '';
      display: block;
      background: url("../image/ornament_2.png") no-repeat 0 0;
      background-size: 100%;
      position: absolute;
      bottom:0;
    }
    .ornament-2-sp:before{left: -41px;}
    .ornament-2-sp:after{right: -41px;}


    
    .ornament-3:before,
    .ornament-3:after{
      content: '';
      display: block;
      width: 20px;
      height: 50px;}

    .ornament-3:before{
      left: -20px;
    }
    .ornament-3:after{
      right: -20px;
    }

    .ornament-4{
      font-size: 2.5rem;
    }  
    
    .dot:after{
      width: 4px;
      height: 4px;
      top: -2px;}
    
    .know_logo img{
      width: 70vw;
      max-width: 510px;
    }
     
  }
  
  



/*result*/
.Result{
  text-align: center;
  padding: 40px 0;
}

.Result img{
  max-width: 570px;
}


@media screen and (max-width: 767px) { 
  .Result{padding: 10px 0;}
    
}

/*check*/
.Check_wrap{
  padding-bottom: 30px;
  margin: 0 20px;
  overflow-x: scroll;
  overflow-y: hidden;
  font-size: 1.4rem;
  text-align: left;
  overflow-scrolling: touch; 
}
.Check_Container{
  display: flex;
  width: 980px;
  justify-content: space-between;
  margin: 0 auto;
}
.Check_box{
  width: 210px;
}
.Check_ttl{
  padding: 10px;
  text-align: center;
  background: #D0EEFB;
  font-size: 1.5rem;
  border-radius: 0 0.25rem 0.25rem 0;
  }
  
.img_trump{
  text-align: center;
  margin: 15px 0 10px 0;
}
.img_trump img{
  max-width: 170px;
}

dl.Check_item{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
dl.Check_item dt{
  width: 83px;
  text-align: center;
  background: #F5F5F5;
  padding: 5px 0;
  margin-bottom: 10px;
  margin-right: 10px;
}
dl.Check_item dd{
  width: calc(100% - 93px);
  margin-bottom: 10px;
}
.star{
  display: flex;
}

@media screen and (max-width: 767px) { 
  .Check_wrap{
    font-size: 1.2rem;
    padding-bottom: 15px;
    margin: 0;}
    
  .Check_ttl{font-size: 1.3rem; padding: 5px 0;}  
  
  .Check_Container{
    width: 720px;}
    
  .Check_box{
    width: 160px;
  }
  .img_trump img{
    max-width: 130px;
  }
}
/*outline*/
.outline{
  margin: 30px 0 60px 0;
  padding: 0;
  color: #000;
  border-color: #333;
  }
.outline-ttl{
  background:#F0F4E9;
  padding: 30px;
  text-align: center;
  font-size: 3.6rem;
  font-weight: 700;}
  
.outline_inner{
  padding: 30px 80px;
}  
.fukidashi_touroku{
  text-align: right;
}
.fukidashi_touroku img{
  max-width: 387px;
}
.outline_list{
  margin-bottom: 40px;
}
.outline_list th,
.outline_list td{
  text-align: left;
  vertical-align: top;
  border-bottom: 2px solid #888;
  font-size: 3rem;
  padding: 30px 0;
}
.outline_list th{
  padding: 30px 50px;
  white-space: nowrap;
  font-weight: 700;
}
.outline_list td{
  font-weight: 500;
}
.outline_list tr:last-child th,
.outline_list tr:last-child td{
  border:none;
}
.caution{
  font-size: 1.8rem;
  text-align: left;
  font-weight: 500;
}
.img-touroku{
  text-align: center;
  margin-top: 30px;
}
.img-touroku img{
  max-width: 663px;
}
.img-hand {
  margin-top: 40px;
  text-align: center;}
  
.img-hand img{
  max-width: 860px;
}
  @media screen and (max-width:1024px){
    
    .outline-ttl{font-size: 2.8rem;}
    .outline_inner{
      padding: 30px;
    }  
    .outline_list{margin-bottom: 10px;}
    .outline_list th,
    .outline_list td{
      font-size: 2rem;
      padding: 10px 0;
    }
    .outline_list th{
      padding-right: 15px;
    }
    .caution{
      line-height: 1.5;
      font-size: 1.4rem;}
      
    
  }
  
  @media screen and (max-width:767px){
    .fukidashi_touroku img{
      width: 50vw;
    }
    .outline-ttl{font-size: 1.7rem; padding: 20px 10px;}
    .outline_inner{
      padding: 15px;
    }  
    .outline_list{margin-bottom: 10px;}
    .outline_list th,
    .outline_list td{
      font-size: 1.6rem;
      padding: 10px 0;
      border-width: 1px;
    }
    .outline_list th{
      padding-right: 15px;
    }
    .caution{
      line-height: 1.5;
      font-size: 1.2rem;}
      
    .img-touroku{
      padding: 0 10px;
    }  
  }
  
/*cta_area*/
.cta_area{
  background: #5ED7A2;
  padding: 40px 20px 80px 20px;}
  
.cta_bnr{
  position: relative;
  max-width: 866px;
  margin: 0 auto;
}  
.cta_bnr img{
  z-index: 2;
  position: relative;
}
.cta_bnr:before,
.cta_bnr:after{
  content: '';
  display: block;
  background: url("../image/bg_dot.png") no-repeat 0 0;
  background-size: 100%;
  width: 435px;
  height: 92px;
  position: absolute;
  z-index: 0;
}
.cta_bnr:before{
  top: 60px;
  right: -200px;
}
.cta_bnr:after{
  bottom: 10px;
  left: -100px;
}
.cta_bnr a{
  display: block;
  z-index: 1;
  position: relative;
}
.cta_bnr a:after{
  content: '';
  display: block;
  background: url("../image/bnr_cta_bg.png") no-repeat 0 0;
  background-size: 100%;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}


  @media screen and (max-width:767px){
    .cta_area{
      padding: 20px 10px 40px 10px;}
    
    .cta_bnr:before,
    .cta_bnr:after{
      width: 217px;
      height: 46px;
    }
    .cta_bnr:before{
      top:5px;
      right: -50px;
    }
    .cta_bnr:after{
      bottom:-20px;
      left: -50px;
    }
  }
  
  
/* == header ============================================== */
.header {
  background-color: #fff;
  position: relative;
  z-index: 2;
}

.header__inner {
  height: inherit;
}
.header__inner img{display: block;}
@media screen and (max-width: 767px) {
  .header__inner {
    padding: 0 25px;
  }
}

.header__name {
  border-bottom: 1px solid #999999;
}
@media screen and (max-width: 767px) {
  .header__name {
    border-bottom: none;
  }
}

.header__link {
  height: 135px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .header__link {
    height: 76px;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}

.header__logo {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
@media screen and (max-width: 767px) {
  .header__logo {
    max-width: 174px;
    width: 100%;
    height: auto;
    aspect-ratio: 240/66;
  }
}


/* == footer ============================================== */
footer {
  display: flex;
  flex-direction: column;
  padding: 8.4rem 5.0rem 2.8rem;
  background: #fff;
  box-sizing: border-box;
}
@media (max-width: 767px) {
  footer {
    padding: 7.2rem 2.4rem 15rem;
    background: #f9f3ed;
  }
}
footer .logo {
  width: 28.2rem;
  margin: 0 auto 6rem;
}
@media (max-width: 767px) {
  footer .logo {
    width: 26.2rem;
    margin-bottom: 4.5rem;
  }
}
footer .links_wrap {
  display: flex;
  justify-content: center;
}
@media (max-width: 767px) {
  footer .links_wrap {
    flex-direction: column;
    gap: 1.2rem;
  }
}
footer .bottom {
  position: relative;
  display: flex;
  justify-content: space-between;
  width: 100%;
  padding-top: 2.9rem;
  margin: 0 auto;
  border-top: 1px solid #b4b4b4;
}
@media (max-width: 767px) {
  footer .bottom {
    flex-wrap: wrap;
    padding-top: 0;
    border: unset;
  }
}
footer .bottom .privacy {
  position: absolute;
  top: -2.5rem;
  right: 0;
  width: 9.5rem;
  transform: translateY(-100%);
}
footer .privacy_md {
  width: 9.5rem;
  margin: 4.8rem auto;
}
footer .other_links {
  display: flex;
  gap: 3.8rem;
  font-size: 1.4rem;
}
@media (max-width: 767px) {
  footer .other_links {
    flex-wrap: wrap;
    gap: 3.0rem 1.8rem;
  }
}
@media (max-width: 767px) {
  footer .other_links li:last-of-type a {
    border-right: unset;
  }
}
@media (max-width: 767px) {
  footer .other_links li.no_padding a {
    padding-right: 0;
    border-right: unset;
  }
}
footer .other_links a {
  transition: 0.4s cubic-bezier(0.22, 0.11, 0.22, 1);
  color: #222;
}
@media (max-width: 767px) {
  footer .other_links a {
    padding-right: 1.8rem;
    border-right: 1px solid #121820;
  }
}
footer .other_links a:hover {
  color: #fe4d1f;
}
@media (max-width: 767px) {
  footer .other_links a:hover {
    color: #121820;
  }
}
footer .copyright {
  font-size: 1.4rem;
  font-weight: 400;
}
@media (max-width: 767px) {
  footer .copyright {
    display: block;
    width: 100%;
    text-align: center;
  }
}
footer .sns_title {
  width: 21.8rem;
  margin: 7.2rem auto 2.2rem;
}
.footer_sns {
  display: flex;
  gap: 3.6rem;
  align-items: center;
  justify-content: center;
  margin: 6rem auto 4.8rem;
}
@media (max-width: 767px) {
  .footer_sns {
    flex-wrap: wrap;
    gap: 2.5rem;
    margin: 0 auto 7.2rem;
  }
}
.footer_sns li {
  width: 4.8rem;
}
.footer_sns a {
  transition: 0.3s ease;
  color: #222;
}
.footer_sns a:hover {
  color: #fe4d1f;
}
@media (max-width: 767px) {
  .footer_sns a:hover {
    color: #121820;
  }
}

.links_list {
  display: flex;
  flex-direction: column;
  gap: 3.0rem;
  width: -moz-max-content;
  width: max-content;
}
@media (max-width: 767px) {
  .links_list {
    gap: 0;
    width: 100%;
    padding: 1.8rem 2.4rem 0.6rem;
    background: #fff;
    box-sizing: border-box;
    border-radius: 1.2rem;
  }
}

@media (max-width: 767px) {
  .links_list.show {
    padding-bottom: 1rem;
  }
}
@media (max-width: 767px) {
  .links_list.show .inner_list {
    max-height: 100%;
  }
}
.links_list.show .icon_inner {
  transform: rotate(270deg);
}
.links_list.show .icon_inner .line1 {
  opacity: 0;
}
@media (max-width: 767px) {
  .links_list.inner_list {
    max-height: 0;
    padding: 0;
    overflow: hidden;
    transition: max-height 0.5s ease;
  }
}
@media (max-width: 767px) {
  .links_list.inner_list li {
    flex-grow: 0;
    flex-shrink: 0;
    opacity: 0;
    transition: 200ms ease;
  }
}
.links_list.links_exclusive .title .en {
  display: block;
  width: 12.5rem;
}
@media (max-width: 767px) {
  .links_list.links_exclusive .title .en {
    width: 11.8rem;
  }
}
.links_list.links_favorite .title .en {
  display: block;
  width: 10.5rem;
}
@media (max-width: 767px) {
  .links_list.links_favorite .title .en {
    width: 10.1rem;
  }
}
.links_list.links_beauty {
  margin: 0 7.5rem 0 12.5rem;
}
@media (max-width: 767px) {
  .links_list.links_beauty {
    padding-top: 2.4rem;
    padding-bottom: 0.2rem;
    margin: 0;
  }
}
.links_list.links_beauty .title .en {
  display: block;
  width: 9.6rem;
}
@media (max-width: 767px) {
  .links_list.links_beauty .title .en {
    width: 9.1rem;
  }
}
@media (max-width: 767px) {
  .links_list.links_beauty .title .ja {
    transform: translateY(-0.8rem);
  }
}
.links_list .title {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 6.2rem;
}
@media (max-width: 767px) {
  .links_list .title {
    flex-direction: row;
    flex-grow: 0;
    flex-shrink: 0;
    gap: 1.2rem;
    align-items: flex-end;
    justify-content: flex-start;
    height: 5rem;
    padding-bottom: 1.8rem;
  }
}
.links_list .title .en {
  margin: 0 auto 0 0;
}
@media (max-width: 767px) {
  .links_list .title .en {
    margin: 0;
  }
}
.links_list .title .ja {
  display: block;
  font-size: 1.6rem;
  text-align: left;
  letter-spacing: -0.01em;
}
.links_list .title .icon {
  position: absolute;
  top: calc(50% - 0.9rem);
  right: 1.2rem;
  display: none;
  width: 2.1rem;
  height: 2.1rem;
  transform: translateY(-50%);
}
@media (max-width: 767px) {
  .links_list .title .icon {
    right: 0;
    width: 1.5rem;
    height: 1.5rem;
  }
}
.links_list .title .icon .icon_inner {
  position: relative;
  width: 100%;
  height: 100%;
  transition: 300ms cubic-bezier(0.075, 0.82, 0.165, 1);
}
.links_list .title .icon .line {
  position: absolute;
  top: 50%;
  left: 50%;
  content: "";
  background: #121820;
  border-radius: 100px;
  transition: 200ms linear 200ms;
  transform: translate(-50%, -50%);
}
.links_list .title .icon .line.line1 {
  width: 2.1rem;
  height: 0.1rem;
}
@media (max-width: 767px) {
  .links_list .title .icon .line.line1 {
    width: 1.5rem;
  }
}
.links_list .title .icon .line.line2 {
  width: 0.1rem;
  height: 2.1rem;
}
@media (max-width: 767px) {
  .links_list .title .icon .line.line2 {
    height: 1.5rem;
  }
}
.links_list a {
  position: relative;
  display: flex;

  gap: 1.8rem;
  align-items: center;
  font-size: 1.6rem;
  color: #121820;
}
@media (max-width: 767px) {
  .links_list a {
    gap: 2.9rem;
    height: 6.4rem;
    padding-left: 1.2rem;
    font-size: 2rem;
    font-weight: 300;
  }
}
@media (max-width: 767px) {
  .links_list a::after {
    position: absolute;
    top: 50%;
    right: 0;
    width: 0.85rem;
    height: 1.4rem;
    content: "";
    background-image: url('data:image/svg+xml;utf8,<svg width="8" height="13" viewBox="0 0 8 13" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1 1L6.5 6.5L1 12" stroke="%23121820" stroke-linecap="round"/></svg>');
    background-repeat: no-repeat;
    background-size: contain;
    transform: translateY(-50%);
  }
}
.links_list a:hover {
  color: #fe4d1f;
}
.links_list a:hover .text::after {
  transform: scaleX(1);
  transform-origin: right;
}
@media (max-width: 767px) {
  .links_list a:hover .text::after {
    transform: scaleX(0);
    transform-origin: left;
  }
}
@media (max-width: 767px) {
  .links_list a:hover {
    color: #121820;
  }
}
.links_list a .text {
  position: relative;
  transition: 0.4s cubic-bezier(0.22, 0.11, 0.22, 1);
}
.links_list a .text::after {
  position: absolute;
  bottom: -0.4rem;
  left: 0;
  width: 100%;
  height: 1px;
  content: "";
  background: #fe4d1f;
  transition: transform 700ms cubic-bezier(0.075, 0.82, 0.165, 1),
    transform-origin 0s linear 500ms;
  transform: scaleX(0);
  transform-origin: left;
}
.links_list .icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.4rem;
  height: 2.4rem;
}
.links_list .icon svg {
  max-width: 100%;
  max-height: 100%;
}
.links_list .icon path {
  transition: 0.3s ease;
}

.md-show {
  display: none;
}
@media screen and (max-width: 767px) {
  .md-show {
    display: block;
  }
}

@media screen and (max-width: 767px) {
  .md-none {
    display: none;
  }
}

.sm-show {
  display: none;
}
@media screen and (max-width: 425px) {
  .sm-show {
    display: block;
  }
}

@media screen and (max-width: 425px) {
  .sm-none {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .f__direction {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

@media screen and (max-width: 767px) {
  .section7__step-item2--1 {
    font-size: 1.8rem;
    margin-left: 0;
    margin-top: 20px;
  }
}

@media screen and (max-width: 767px) {
  .section7__step-item2--2 {
    font-size: 1.8rem;
  }
}

@media screen and (max-width: 767px) {
  .section7__step-item3--1 {
    margin-top: 20px;
    font-size: 1.8rem;
  }
}

@media screen and (max-width: 767px) {
  .section7__step-item4--1,
  .section7__step-item4--2,
  .section7__step-item4--3 {
    font-size: 1.8rem;
  }
}

@media screen and (max-width: 767px) {
  .item-right {
    margin-top: 20px;
  }
}

@media screen and (max-width: 767px) {
  .section7__step-item3.item-right,
  .section7__step-item4.item-right {
    margin: 20px auto 0;
  }
}

.overlayoff {
  position: absolute;
  pointer-events: none; /* クリックを無効化 */
  transition: opacity 0.3s ease;
}

.overlayon {
  background: rgba(255, 255, 255, 0.3);
}

.pic02 {
  width: 210px !important;
  margin-left: 75%;
  margin-top: -220px;
}

.notes {
    text-align: center;
    font-size: 1.7rem;
    margin-top: 20px;
}

.notes2 {
    text-align: left;
    padding: 0 2%;
    font-size: 1.7rem;
    margin-top: 20px;
}

@media screen and (max-width: 767px) {
  .notes2 {
    padding: 0 5%;
    font-size: 1.5rem;
    margin-top: 20px;
  }
}

.link_block {
    margin: 40px 12% 0 12%;
    padding-bottom: 80px;
}

.text01 {
  margin: 40px 0;
}

.text01 span {
  font-size: 0.7em;
}

.section3_img {
    margin: 40px 0 0 0;
}

.section2_h2 {
  margin: 0 -3%;
}

.section1__ttl_supplement {
  color: #11B882;
  text-align: center;
}

.section1__ttl_supplement span {
  font-size: 4.5rem;
}

.pic09div {
  margin-top: 80px;
}

.section3_1 {
  background-color: #EFF4EA;
  padding-top: 40px;
}

.section1__inner_padding {
  padding: 0 80px;
}

.pic10div {
  padding: 40px 7%;
  background-color: #5ED7A2;
}

.pic10div2 {
  padding-top: 0;
}

.section3__inner2 {
  background-color: #FFF;
  padding: 40px 6%;
  margin: 0 auto;
}

.container {
  display: flex;
  gap: 10px; /* 要素間の余白 */
}

.box {
  width: 50%; /* 2列に均等配置 */
  padding: 20px 0 20px 0;
}

.box img {
  width: 129px;
  float: left;
  margin-right: 12px;
}

.box h3 {
  font-size: 0.8em;
  margin-bottom: 12px;
}

.box div {
  font-size: 0.7em;
}

.tri {
  margin: 0 auto;
  width: 0;
  height: 0;
  border-left: 200px solid transparent;
  border-right: 200px solid transparent;
  border-top: 75px solid #10B980;
}

.link_block2 {
  margin: 0px 27% 0 27%;
  padding-bottom: 55px;
}

.pic24div {
  margin-top: 0;
  background-color: #5ED7A2;
}

.tri2 {
  margin: 0 auto;
  width: 0;
  height: 0;
  border-left: 130px solid transparent;
  border-right: 130px solid transparent;
  border-top: 80px solid #fff;
}

.cta_Wrap_inner_size {
  margin: 0 21%;
}

/* == テオリア ============================================== */
.section8 {
  background: #5e7681;
  padding: 114px 0 70px 0;
  color: #fff;
  text-align: center;
}
.section8__inner{
    box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .section8 {
    padding: 50px 0 60px 0;
  }
}

.section8 h2 {
  font-size: 50px;
  font-weight: 500;
  margin-top: 70px;
}
@media screen and (max-width: 767px) {
  .section8 h2 {
    font-size: 2.8rem;
    margin-top: 40px;
  }
}

.section8__inner {
  max-width: 980px;
  width: 100%;
  margin: 0 auto;
  padding: 0 45px;
}
@media screen and (max-width: 767px) {
  .section8__inner {
    padding-left: 3.26%;
    padding-right: 3.26%;
  }
}

.text1 {
  text-align: left;
  margin-top: 75px;
}
@media screen and (max-width: 767px) {
  .text1 {
    font-size: 1.8rem;
    margin-top: 45px;
  }
}

.section8__img {
  text-align: center;
}

.section8__img img {
  margin: 0 auto;
  max-width: 617px;
}

.text2 {
  margin-top: 45px;
}