@charset "utf-8";
html{
  font-family: "IBM Plex Sans JP", sans-serif;
  font-weight: 400;
  font-style: normal;
  color: #484E55;
}

.sp-br{
    display: none;
}

.pc-br{
    display: block;
}

@media screen and (max-width: 768px) {
  .sp-br{
    display: block;
  }

  .pc-br{
    display: none;
}

}

/* fv */
.lpTop .fv{
  position: relative;
  background-color: #4DCDE6;
  margin-bottom: 72px;
}

.lpTop .fv .fvImg3{
  position: absolute;
  bottom: -25px;
  width: 100%;
  z-index: 0;
}

.lpTop .fv .fvImg3 img{
  width: 100%;
}

/* .lpTop .fv::after{
  position: absolute;
  content: "";
  background-image: url(../../img/fv.webp);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  bottom: -25px;
  width: 100%;
  height: 357px;
} */

.lpTop .fv .fv-flex{
  max-width: 1021px;
  width: 100%;
  margin: 0 auto;
  display: flex;
  justify-content: space-evenly;
  flex-wrap: nowrap;
  padding: 53px 0 406px;
}

@media screen and (max-width:768px){
  .lpTop .fv{
    margin-bottom: 40px;
  }

  .lpTop .fv .fv-flex{
    flex-wrap: wrap;
    justify-content: flex-start;
    padding: 15px 16px 127px;
    gap: 8px;
  }

  /* .lpTop .fv::after{
    background-image: url(../../img/fv-sp.webp);
    bottom: -40px;
    height: 52%;
  } */

  .fvImg1{
    max-width: 300px;
  }

  .fvImg2{
    max-width: 270px;
  }
}

/* 概要 */
.bg-about{
position: relative;
overflow: hidden;
background: linear-gradient(to bottom, #FFFFFF 0%, #AAEAFE 100%);
padding-bottom: 108px;
}

.bg-about::before,
.bg-about::after{
  position: absolute;
  content: "";
  background-image: url(../../img/bg-white.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 132px;
  height: 163px;
  top: 40%;
}

.bg-about::before{
  left: -59px;
}

.bg-about::after{
  right: -59px;
}


.sec-about{
  max-width: 1000px;
  margin: 0 auto;
  padding-top: 79px;
}

.sec-about h2{
  text-align: center;
  color: #484E55;
  font-size: clamp(1.5rem, 1.257rem + 1.04vw, 2.5rem);
  /* max-w1920px min-w375px 40px-24px */
  font-weight: bold;
  padding: 48px 0;
  background-image: url(../../img/title-parts-blue.webp);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}

.sec-about .txtArea{
  position: relative;
  max-width: 1000px;
  margin: 0 auto;
  padding-top: 40px;
}

.sec-about .txtArea::before,
.sec-about .txtArea::after{
  z-index: 1;
  position: absolute;
  content: "";
  background-repeat: no-repeat;
  background-size: contain;
  width: 124px;
  height: 117px;
  top:40px;
}

.sec-about .txtArea::before{
  background-image: url(../../img/bg-red.svg);
  left: 0;
}

.sec-about .txtArea::after{
  background-image: url(../../img/bg-blue.svg);
  right: 0;
}

.sec-about .txtArea .txtBox{
  z-index: 2;
  position: relative;
  max-width: 800px;
  width: 100%;
  margin: 47px auto 0;
  background-color: #FFFFFF;
  padding: 32px 0;
}

.sec-about .txtArea .txtBox::before,
.sec-about .txtArea .txtBox::after{
  position: absolute;
  content: "";
  background-repeat: no-repeat;
  background-size: contain;
  width: 41px;
  height: 32px;
  transform: rotate(180deg);
}

.sec-about .txtArea .txtBox::before{
  background-image: url(../../img/red-line.svg);
  left: 8px;
  top: 8px;
}

.sec-about .txtArea .txtBox::after{
  background-image: url(../../img/blue-line.svg);
  right: 8px;
  bottom: 8px;
}

.sec-about .txtArea .txtBox p{
  text-align: center;
  font-size: 1rem;
}

.sec-about .cnt-flex{
  position: relative;
  max-width: 800px;
  margin: 0 auto;
  padding-top: 54px;
  padding-bottom: 24px;
  display: flex;
  justify-content: center;
  gap: 100px;
  flex-wrap: wrap;
}

.sec-about .cnt-flex::before{
  position: absolute;
  content: "";
  background-image: url(../../img/plus.png);
  background-repeat: no-repeat;
  background-size: contain;
  top: 48%;
  right: 0;
  left: 0;
  margin: 0 auto;
  width: 48px;
  height: 53px;
}

.sec-about .cnt-flex .serviceBox{
  max-width: 350px;
  width: 100%;
  background-color: #FFFFFF;
  box-shadow: 2px 2px 0 #adadad25;
  padding: 32px 0;
  border-radius: 5px;
}

.sec-about .cnt-flex .serviceBox h3{
  text-align: center;
  font-size: 1.125rem;
  padding-top: 8px;
  padding-bottom: 24px;
}

.sec-about .cnt-flex .serviceBox:nth-child(2) h3{
  padding-top: 0;
  padding-bottom: 8px;
}

.sec-about .cnt-flex .serviceBox p{
  font-size: 0.875rem;
  max-width: 286px;
  margin: 0 auto;
  line-height: 1.5;
}

.sec-about .cnt-flex .serviceBox p span{
  font-weight: bold;
  background: linear-gradient(transparent 50%, #FFF300 50%);
}

.sec-about .cnt-flex .serviceBox .inImg{
  max-width: 173px;
  margin: 0 auto;
}

.sec-about .cnt-flex .serviceBox:nth-child(2) .inImg{
  max-width: 140px;
}

.sec-about .cnt-flex .serviceBox .underImg{
  max-width: 250px;
  padding: 24px 0 24px;
  margin: 0 auto;
}

.sec-about .cnt-flex .serviceBox:nth-child(2) .underImg{
  padding: 8px 0 24px;
}

.sec-about .smallBox{
  max-width: 800px;
  margin: 0 auto;
  padding-bottom: 108px;
}

.sec-about .smallBox p{
font-size: 0.625rem;
line-height: 1.8;
}

.sec-about .catchTitle{
  max-width: 1000px;
  margin: 0 auto;
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-around;
}

.sec-about .catchTitle h3{
  position: relative;
  font-size: 1.5rem;
  padding-top: 32px;
}

.sec-about .catchTitle h3::after{
  position: absolute;
  content: "※1";
  font-size: 0.875rem;
  right: -16px;
  top: 56px;
}

.sec-about .catchTitle h3 span{
  font-weight: bold;
  background: linear-gradient(transparent 50%, #FFF300 50%);
}

.sec-about .catchTitle .catchIcon{
  max-width: 196px;
  display: block;
}

.sec-about .planBox{
  position: relative;
  max-width: 800px;
  margin: 80px auto 64px;
  background-color: #FFFFFF;
  padding-top: 64px;
  padding-bottom: 72px;
}

.sec-about .planBox::before{
  position: absolute;
  content: "";
  background-image: url(../../img/coin.webp);
  background-repeat: no-repeat;
  background-size: contain;
  width: 322px;
  height: 199px;
  top: -164px;
  right: 0;
  left: 0;
  margin: 0 auto;
}

.sec-about .planBox .smallBox{
  max-width: 532px;
  font-size: 0.625rem;
  line-height: 1.8;
  padding-bottom: 0;
  padding-left: 64px;
  margin: 0 0 auto;
}

.sec-about .planImg{
  max-width: 640px;
  margin: 0 auto;
  padding-bottom: 24px;
}

@media screen and (max-width:1050px){
  .bg-about::after{
    background-image: none;
  }
}

@media screen and (max-width:820px){
  .sec-about{
    padding-top: 48px;
    padding-left: 16px;
    padding-right: 16px;
  }

  .sec-about h2{
    padding: 24px 0;
  }

  .sec-about .txtArea .txtBox{
    margin: 0 auto;
  }

  .sec-about .txtArea::before,
  .sec-about .txtArea::after{
    background-image: none;
}

.sec-about .catchTitle .catchIcon{
  display: none;
}

.sec-about .smallBox{
  padding-bottom: 48px;
}

.sec-about .catchTitle h3{
  font-size: 1.37rem;
  text-align: center;
}

.sec-about .catchTitle h3::after{
  right: 24px;
  top: 99px;
}

.sec-about .planBox{
  margin: 108px auto 64px;
  padding-top: 72px;
  padding-bottom: 40px;
  padding-left: 16px;
  padding-right: 16px;
}

.sec-about .planBox::before{
  width: 240px;
  top: -99px;
  height: 150px;
}

.sec-about .planBox .smallBox{
  padding-left: 0;
}
}

/* ハッピーパスについて */

.sec-happypass-about{
  background-color: #FFF0F0;
  padding: 64px 0 88px;
}

.sec-happypass-about h2{
  text-align: center;
  font-size: clamp(1.5rem, 1.257rem + 1.04vw, 2.5rem);
  /* max-w1920px min-w375px 40px-24px */
  font-weight: bold;
  padding: 48px 0;
  background-image: url(../../img/title-parts-red.webp);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}

.sec-happypass-about .txt-1{
  font-size: clamp(1.125rem, 1.034rem + 0.39vw, 1.5rem);
    /* max-w1920px min-w375px 24px-18px */
  font-weight: bold;
  text-align: center;
  padding: 88px 0 24px;
}

.sec-happypass-about .txt-2{
  font-size: 1rem;
  text-align: center;
  padding-bottom: 32px;
}

.sec-happypass-about .aboutBox-hp{
  max-width: 800px;
  margin: 0 auto;
  padding: 48px 16px 16px;
  background-color: #FFFFFF;
  border-radius: 5px;
}

.sec-happypass-about .aboutBox-hp h3{
  text-align: center;
  font-size: clamp(1.125rem, 1.034rem + 0.39vw, 1.5rem);
  color: #E64D4D;
  font-weight: bold;
}

.sec-happypass-about .aboutBox-hp ul{
  display: flex;
  justify-content: center;
  gap: 32px;
  max-width: 704px;
  margin: 0 auto;
  padding-top: 48px;
  padding-bottom: 24px;
}

.sec-happypass-about .aboutBox-hp ul li{
  flex: 1 1 100%; /* 初期は1列 */
}

.sec-happypass-about .aboutBox-hp ul li div{
  margin: 0 auto;
  max-width: 152px;
}

.sec-happypass-about .aboutBox-hp ul li .aboutTitle{
  text-align: center;
  font-size: 1rem;
  padding-top: 16px;
  padding-bottom: 8px;
}

.sec-happypass-about .aboutBox-hp ul li .aboutTxt{
  font-size: 0.875rem;
  text-align: center;
  font-weight: bold;
  color: #E64D4D;
}

.sec-happypass-about .aboutBox-hp ul li .aboutTxt span{
  background: linear-gradient(transparent 50%, #FFDEDE 50%);
}

.sec-happypass-about .aboutBox-hp .aboutbodyTxt{
  text-align: center;
  padding: 32px 0 24px;
  font-size: 1rem;
}

.sec-happypass-about .aboutBox-hp p{
  text-align: right;
  font-size: 0.625rem;
}

@media screen and (max-width:768px){
  .sec-happypass-about{
    padding-right: 16px;
    padding-left: 16px;
  }

  .sec-happypass-about .txt-1{
    padding: 40px 0 16px;
  }

  .sec-happypass-about .txt-2{
    padding-bottom: 16px;
  }

  .sec-happypass-about .aboutBox-hp{
    padding: 32px 16px 16px;
  }

  .sec-happypass-about .aboutBox-hp ul {
    flex-wrap: wrap;
    gap: 40px 8px;
    padding-top: 24px;
  }

  .sec-happypass-about .aboutBox-hp ul li{
  flex: 1 1 calc(50% - 4px);
  }

  .sec-happypass-about .aboutBox-hp .aboutbodyTxt{
    padding: 8px 0 24px; 
  }
  .sec-happypass-about .aboutBox-hp p{
    text-align: center;
  }
}

/* ChargeSPOTについて */

.sec-cs-about{
  background-color: #E8F9FD;
  padding: 64px 16px 146px;
}

.sec-cs-about h2{
  text-align: center;
  font-size: clamp(1.5rem, 1.257rem + 1.04vw, 2.5rem);
  /* max-w1920px min-w375px 40px-24px */
  font-weight: bold;
  padding: 48px 0;
  background-image: url(../../img/title-parts-blue.webp);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}

.sec-cs-about .titleImg{
  max-width: 1000px;
  margin: 0 auto;
  padding-top: 48px;
  padding-bottom: 16px;
}

.sec-cs-about .abouttxtBox{
  max-width: 800px;
  margin: 0 auto;
  padding-bottom: 48px;
}

.sec-cs-about .abouttxtBox p{
  padding-bottom: 16px;
  text-indent: -16px;
  padding-left: 16px;
}

.sec-cs-about ul{
  max-width: 756px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  gap: 24px;
  flex-wrap: wrap;
  padding-bottom: 24px;
}

.sec-cs-about ul li{
  max-width: 171px;
  width: 100%;
  background-color: #FFFFFF;
  padding: 16px 0;
  border-radius: 5px;
  box-shadow: 2px 2px 4px rgba(72, 78, 85, 0.2);
}

.sec-cs-about ul li div{
  max-width: 74px;
  margin: 0 auto;
}

.sec-cs-about ul li p.listTitle{
  color: #1CBFE6;
  font-weight: bold;
  text-align: center;
  padding-top: 10px;
}

.sec-cs-about ul li p.listTitlesub{
  text-align: center;
  font-size: 0.5rem;
}

.sec-cs-about ul li p.listTxt{
  max-width: 134px;
  margin: 0 auto;
padding-top: 8px;
  font-size: 0.625rem;
  text-align: center;
}

.sec-cs-about ul li p.listTxt span{
   background: linear-gradient(transparent 50%, #E6FAFF 50%);
}

.sec-cs-about .listsmall{
  font-size: 0.625rem;
  max-width: 747px;
  margin: 0 auto;
  padding-bottom: 8px;
}

.sec-cs-about .chargemapBox{
  background-color: #fff;
  padding: 16px;
  max-width: 800px;
  margin: 0 auto;
  border-radius: 16px;
  box-shadow: 2px 2px 4px rgba(72, 78, 85, 0.2);
}

.sec-cs-about .chargemapBox{
  display: flex;
  justify-content: center;
  gap: 32px;
  flex-wrap: wrap;
  margin-top: 48px;
}

.sec-cs-about .chargemapBox .mapinfo .subtitle{
  font-size: 0.8125rem;
  color: #1EC0E5;
  font-weight: bold;
}

.sec-cs-about .chargemapBox .mapinfo .title{
  font-size: 1.875rem;
}

.sec-cs-about .chargemapBox .mapinfo .txtbox{
 font-size: 0.75rem;
 padding: 16px 0;
}

.sec-cs-about .chargetypeBox{
  max-width: 800px;
  margin: 24px auto;
  background-color: #fff;
  box-shadow: 2px 2px 4px rgba(72, 78, 85, 0.2);
  padding: 32px 16px;
  border-radius: 16px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 32px;
  align-items: center;
}

.sec-cs-about .chargetypeBox .txtBox .txtTitle{
  font-size: 0.8125rem;
  font-weight: bold;
  color: #1CBFE5; 
}

.sec-cs-about .chargetypeBox .txtBox .txtSubtitle{
font-size: 1.875rem;
padding-bottom: 16px;
}

.sec-cs-about .chargetypeBox .txtBox .txtbody{
font-size:0.75rem;
padding-top: 16px;
}

@media screen and (max-width:769px){
  .sec-cs-about{
    padding: 64px 16px 48px;
  }
  
  .sec-cs-about .titleImg{
    max-width: 250px;
  }

  .sec-cs-about ul {
    justify-content: space-between;
    gap: 16px; /* スマホ表示では間隔を少し小さくする */
    padding: 0 16px 24px;
  }

  .sec-cs-about ul li {
    width: calc(50% - 8px); /* gap 16px に合わせて調整 */
    max-width: none;
  }

  .sec-cs-about .chargemapBox{
    gap:16px;
  }
}

/* 金額 */

.sec-price{
  background-color: #FFF0F0;
  padding: 108px 0;
}

.sec-price .price_cnt{
  max-width: 800px;
  margin: 0 auto;
  padding-bottom: 24px;
}

.sec-price .all-table{
  padding-top: 88px;
  padding-bottom: 48px;
}

.sec-price h2{
  text-align: center;
  font-size: clamp(1.5rem, 1.257rem + 1.04vw, 2.5rem);
  /* max-w1920px min-w375px 40px-24px */
  font-weight: bold;
  padding: 48px 0;
  background-image: url(../../img/title-parts-red.webp);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}

.pricing-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 16px;
  border: 1px solid #484E55;
}

.pricing-table th,
.pricing-table td {
  border: 1px solid #484E55;
  padding: 8px;
  background-color: #fff;
}

.pricing-table td:first-child{
  width: 40%;
  background-color: #F5F3F3;
}

.pricing-table thead th {
  background-color: #F5F3F3;
  font-weight: bold;
}

.pricing-table .note {
  font-size: 12px;
}

@media screen and (max-width:769px) {
  .sec-price{
    padding: 56px 0;
  }
  .sec-price .all-table{
    padding-left: 16px;
    padding-right: 16px;
    padding-top: 48px;
  }
}

/* ご利用方法 */

.sec-flow{
  padding: 108px 0;
}

.sec-flow h2{
  text-align: center;
  font-size: clamp(1.5rem, 1.257rem + 1.04vw, 2.5rem);
  /* max-w1920px min-w375px 40px-24px */
  font-weight: bold;
  padding: 48px 0;
  background-image: url(../../img/title-parts-red.webp);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}

.sec-flow .sec-flow-happypass{
  padding-top: 72px;
}

.sec-flow .sec-flow-happypass h3{
  text-align: center;
  font-size: clamp(1.25rem, 1.098rem + 0.65vw, 1.875rem);
    /* max-w1920px min-w375px 30px-20px */
  color: #E64D4D;
  padding-bottom: 80px;
}

.sec-flow .sec-flow-happypass ol{
  position: relative;
  max-width: 830px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap:32px;
  margin: 0 auto;
}

.sec-flow .sec-flow-happypass ol::before,
.sec-flow .sec-flow-happypass ol::after{
  position: absolute;
  content: "";
  background-image: url(../../img/bg-orange.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 141px;
  height: 132px;
  right: 0;
  top: -40px;
}

.sec-flow .sec-flow-happypass ol::after{
  left: -31px;
  top: 160px;
  z-index: -1;
}

.sec-flow .sec-flow-happypass ol li{
  position: relative;
  max-width: 189px;
  width: 100%;
  background-color: #FFF2F2;
  padding: 56px 12px;
  border-radius: 8px;
}

.sec-flow .sec-flow-happypass ol li div{
  max-width: 166px;
  margin: 0 auto;
}

.sec-flow .sec-flow-happypass ol li::before{
  position: absolute;
  content: "";
  background-image: url(../../img/hp-step1.webp);
  background-repeat: no-repeat;
  background-size: contain;
  width: 86px;
  height: 86px;
  right: 0;
  left: 0;
  margin: 0 auto;
  top: -48px;
}

.sec-flow .sec-flow-happypass ol li:nth-child(2)::before{
  background-image: url(../../img/hp-step2.webp);
}

.sec-flow .sec-flow-happypass ol li:nth-child(3)::before{
  background-image: url(../../img/hp-step3.webp);
}

.sec-flow .sec-flow-happypass ol li p{
  padding-top: 16px;
  font-size: 0.875rem;
}

.sec-flow .sec-flow-charge{
  padding-top: 72px;
}

.sec-flow .sec-flow-charge h3{
  text-align: center;
  font-size: clamp(1.25rem, 1.098rem + 0.65vw, 1.875rem);
    /* max-w1920px min-w375px 30px-20px */
  color: #1EC0E5;
  padding-bottom: 80px;
}

.sec-flow .sec-flow-charge ol{
  position: relative;
  max-width: 830px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  row-gap: 96px; /* ← 縦方向のスペース */
  column-gap: 24px;
  margin: 0 auto;
}

.sec-flow .sec-flow-charge ol::before,
.sec-flow .sec-flow-charge ol::after{
  position: absolute;
  content: "";
  background-image: url(../../img/bg-blue.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 141px;
  height: 132px;
  z-index: -1;
}

.sec-flow .sec-flow-charge ol::before{
  left: -88px;
  top: 24px;
}

.sec-flow .sec-flow-charge ol::after{
  right: -72px;
  bottom: 57px;
}

.sec-flow .sec-flow-charge ol li{
  position: relative;
  max-width: 189px;
  width: 100%;
  background-color: #F4FCFF;
  padding: 56px 12px;
  border-radius: 8px;
}

.sec-flow .sec-flow-charge ol li div{
  max-width: 166px;
  margin: 0 auto;
}

.sec-flow .sec-flow-charge ol li::before{
  position: absolute;
  content: "";
  background-image: url(../../img/cs-step1.webp);
  background-repeat: no-repeat;
  background-size: contain;
  width: 86px;
  height: 86px;
  right: 0;
  left: 0;
  margin: 0 auto;
  top: -48px;
}

.sec-flow .sec-flow-charge ol li:nth-child(2)::before{
  background-image: url(../../img/cs-step2.webp);
}

.sec-flow .sec-flow-charge ol li:nth-child(3)::before{
  background-image: url(../../img/cs-step3.webp);
}

.sec-flow .sec-flow-charge ol li:nth-child(4)::before{
  background-image: url(../../img/cs-step4.webp);
}

.sec-flow .sec-flow-charge ol li:nth-child(5)::before{
  background-image: url(../../img/cs-step5.webp);
}

.sec-flow .sec-flow-charge ol li:nth-child(6)::before{
  background-image: url(../../img/cs-step6.webp);
}

.sec-flow .sec-flow-charge ol li:nth-child(7)::before{
  background-image: url(../../img/cs-step7.webp);
}

.sec-flow .sec-flow-charge ol li:nth-child(8)::before{
  background-image: url(../../img/cs-step8.webp);
}

.sec-flow .sec-flow-charge ol li p{
  padding-top: 16px;
  font-size: 0.875rem;
}

@media screen and (max-width:1050px){
  .sec-flow .sec-flow-charge ol::after{
    display: none;
  }
}


@media screen and (max-width:768px){
  .sec-flow {
    padding: 48px 0;
}

.sec-flow .sec-flow-charge{
  padding-top: 0;
}

.sec-flow .sec-flow-charge h3{
  padding-bottom: 16px;
}

  .sec-flow .sec-flow-happypass ol,
  .sec-flow .sec-flow-charge ol{
    gap: 88px;
  }

  .sec-flow .sec-flow-happypass ol li,
  .sec-flow .sec-flow-charge ol li{
    max-width: 290px;
    padding: 59px 16px;
  }

  .sec-flow .sec-flow-happypass ol li p,
  .sec-flow .sec-flow-charge ol li p{
    font-size: 1rem;
  }

  .sec-flow .sec-flow-happypass ol li::before,
  .sec-flow .sec-flow-charge ol li::before{
    width: 108px;
    height: 108px;
    top: -56px;
  }

  .sec-flow .sec-flow-happypass ol li div,
  .sec-flow .sec-flow-charge ol li div{
    max-width: 260px;
  }

  .sec-flow .sec-flow-happypass{
    padding-top: 0;
  }

  .sec-flow .sec-flow-happypass h3{
    padding-bottom: 16px;
  }

  .sec-flow .sec-flow-happypass ol::before,
.sec-flow .sec-flow-happypass ol::after{
  background-image: none;
}

.sec-flow .sec-flow-charge ol::before,
.sec-flow .sec-flow-charge ol::after{
  background-image: none;
}
}

.sec-faq{
  background-color: #EEF8FB;
  padding: 63px 0;
}

.sec-faq h2{
  text-align: center;
  font-size: clamp(1.5rem, 1.257rem + 1.04vw, 2.5rem);
  /* max-w1920px min-w375px 40px-24px */
  font-weight: bold;
  padding: 48px 0;
  background-image: url(../../img/title-parts-blue.webp);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}

.sec-faq .faqCnt{
  padding: 88px 0;
}

.sec-faq .faqCnt ol{
  margin-bottom: 64px;
}

.sec-faq .faqCnt .faqlist{
  max-width: 830px;
  margin: 0 auto 24px;
  background-color: #fff;
  border-radius: 5px;
  box-shadow: 0 3px 6px #A1A1A120;
  padding: 24px;
}

.sec-faq .faqCnt .faqlist .faqbox{
  padding-left: 72px;
}

.sec-faq .faqCnt .faqlist .faqbox .faq-q{
  padding-bottom: 16px;
  font-weight: bold;
}

.sec-faq .faqCnt .faqlist .faqbox .faq-q,
.sec-faq .faqCnt .faqlist .faqbox .faq-a{
  position: relative;
  font-size: 1rem;
}

.sec-faq .faqCnt .faqlist .faqbox .faq-q::before,
.sec-faq .faqCnt .faqlist .faqbox .faq-a::before{
  position: absolute;
  content: "";
  background-image: url(../../img/q.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 32px;
  height: 32px;
  left: -48px;
  top: -4;
}

.sec-faq .faqCnt .faqlist .faqbox .faq-a::before{
  background-image: url(../../img/a.svg);
  top: 0;
}

@media screen and (max-width:768px){
  .sec-faq{
    padding: 63px 16px;
  }
  .sec-faq .faqCnt{
    padding: 48px 0;
  }

  .sec-faq .faqCnt .faqlist .faqbox{
    padding-left: 40px;
  }
}