@charset "utf-8";
/*Common*/
main{
  background-color:#FAF8F3;
}
html{
  font-size:10px!important;
}
body{
  color:#444;
  font-family:"Noto Sans JP",sans-serif;
}
.font64{
  font-size:clamp(3.2rem, 0.914rem + 6.1vw, 6.4rem);
}
.font48{
  font-size:clamp(2.4rem, 0.686rem + 4.57vw, 4.8rem);
}
.font40{
  font-size:clamp(2rem, 0.571rem + 3.81vw, 4rem);
}
.font36{
  font-size:clamp(2.4rem, 1.977rem + 1.8vw, 3.6rem);
}
.font32{
  font-size:clamp(1.6rem, 0.457rem + 3.05vw, 3.2rem);
}
.font24{
  font-size:clamp(1.6rem, 1.029rem + 1.52vw, 2.4rem);
}
.font20{
  font-size:clamp(1.6rem, 1.314rem + 0.76vw, 2rem);
}
.font18{
  font-size:clamp(1.6rem, 1.457rem + 0.38vw, 1.8rem);
}
.backTransparent{
   background-color:#FAF8F3;
}
@media (width <= 768px){
  .pcOnly{
    display:none!important;
  }
}
@media (width > 768px){
  .spOnly{
    display:none!important;
  }
}
.fvArea{
  width:100%;
  aspect-ratio:640 / 700;
  margin:auto;
  padding:0;
  @media (width > 768px){
    aspect-ratio:192 / 75;
    position:relative;
    background-repeat:no-repeat;
    background-size:contain;
    background-position:center;
  }
}
.catchCopy{
  position:absolute;
  margin:0;
}
.spFV{
  width:100%;
}
.gridArea{
  display:grid;
}
.flexArea{
  display:flex;
}
.inline{
  display:inline-block;
}
.width1400,.width1400-2{
  width:100%;
  max-width:1400px;
  margin:auto;
}
.width1200{
  width:100%;
  max-width:1200px;
  margin:auto;
}
.outerDefault{
  width:100%;
  padding:64px 16px;
  @media (width > 768px){
    padding:128px 16px;
  }
}
.table-scroll{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  table{
    width:100%;
    min-width:736px;
  }
}
.partnersArea{
  width:40%;
  max-width:354px;
  background-color:#fff;
  border:1px solid #DF6578;
  position:absolute;
  left:2.86%;
  top:12%;
  display:flex;
  flex-direction:row;
  flex-wrap:nowrap;
  align-items:center;
  justify-content:space-around;
  gap:16px;
  padding:40px 16px 16px;
  border-radius:16px;
  z-index:10;
  @media (width > 768px){
    left:auto;
    right:2.86%;
    top:30%;
  }
  @media (width > 1000px){
    flex-wrap:nowrap;
  }
  img{
    width:40%;
    &:first-of-type{
      max-width:100px;
    }
    &:last-of-type{
      max-width:190px;
    }
  }
  p{
    position:absolute;
    width:fit-content;
    color:#fff;
    padding:8px 16px;
    text-align:center;
    margin:auto;
    position:absolute;
    left:0;
    right:0;
    top:0;
    transform:translate(0,-50%);
    border-radius:2em;
    background-color:#DF6578;
    font-size:clamp(1.2rem, 0.771rem + 1.14vw, 1.8rem);
  }
}
.faqTitle{
  line-height:1!important;
  font-size:clamp(2.4rem, 1.977rem + 1.8vw, 3.6rem)!important;
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:start!important;
  justify-content:flex-start!important;
  font-family:"Prompt",sans-serif!important;
  font-weight:500!important;
  gap:16px!important;
  margin-bottom:48px!important;
  &::before{
    content:''!important;
    width:0.722em!important;
    aspect-ratio:1 / 1!important;
    background-image:url('../img/analytics_img019.png')!important;
    background-repeat:no-repeat!important;
    background-size:contain!important;
    background-position:center!important;
    display:block!important;
  }
  &::after{
    display:none!important;
  }
  span{
    span{
      font-size:20px;
      font-family:"Noto Sans JP",sans-serif;
      color:#064066;
      display:block;
      margin-top:1em;
    }
  }
}
.faqInput{
  display:none;
}
[class^=faqList]{
  font-weight:500;
  width:100%;
  border-bottom:2px solid #98C1DB;
  margin-bottom:40px;
  font-size:clamp(1.8rem, 1.589rem + 0.9vw, 2.4rem);
  dt{
    color:#064066;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    padding:16px 0;
    position:relative;
    &::before{
      font-family:"Prompt",sans-serif;
      content:'Q';
      color:#064066;
      font-size:1.3em;
      margin-right:24px;
    }
    &::after{
      content:'+';
      width:1.5em;
      text-align:center;
      display:flex;
      align-items:center;
      justify-content:center;
      margin:auto;
      position:absolute;
      right:0;
      bottom:0;
      top:0;
    }
    label{
      display:block;
      width:100%;
      padding-right:1.5em;
      position:relative;
      z-index:10;
    }
  }
  dd{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    height:0;
    padding:0;
    overflow:hidden;
    transition:0.3s;
    span{
      display:block;
    }
    &::before{
      font-family:"Prompt",sans-serif;
      content:'A';
      font-size:1.3em;
      margin-right:24px;
    }
  }
}
.faqInput:checked+[class^=faqList]{
  dt{
    &::after{
      content:'-';
    }
  }
  dd{
    height:auto;
    padding:16px 0 40px;
  }
}