html {
  width: 100%;
  overflow-x: hidden;
}

a {
  text-decoration: none;
  transition: .3s;
}

a:hover {
  opacity: 0.8;

}

img {
  max-width: 100%;
  height: auto;
}

body {
  padding-top: 89px;
  border-color: #ffffff1a;
  overflow: hidden;
}

@media screen and (max-width: 950px) {
  body {
    padding-top: 65px;
  }
}

.flex-row {
  align-items: center;
  justify-content: space-between;
  display: flex;
  margin: auto;
  /* max-width: 1852px; */
  width: 100%;
  padding: 10px;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
  background-color: #fff;
}

.group-1 {
  align-self: center;
  background-image: url(../img/site-logo-1.png);
  background-size: 100%;
  background-position: center;
  background-repeat: no-repeat;
  height: 50px;
  margin-top: 4.21px;
  max-width: 280px;
  width: 60%;
}

.frame-171-1 {
  align-self: flex-end;
  background: linear-gradient(135deg, rgba(67, 161, 23, 1) 0%, rgba(137, 202, 34, 1) 100%);
  /* margin-left: 966px; */
}

.frame-171-3 {
  align-items: center;
  border-radius: 5px;
  display: inline-flex;
  justify-content: center;
  padding: 20px 10px;
  position: relative;
}

.text {
  letter-spacing: 0;
  line-height: 1.4;
  position: relative;
  text-align: center;
  width: 260px;
}

@media screen and (max-width: 950px) {
  .flex-row {
    padding: 5px 10px;
  }

  .frame-171-3 {
    max-width: 120px;
    padding: 5px;


  }

  .text {
    font-size: 14px;
    line-height: 1.2;
  }

}

.group-97 {
  background-image: url(../img/union.svg);
  background-size: contain;
  background-repeat: no-repeat;
  height: 15px;
  position: relative;
  width: 15px;
}

.frame-171-2 {
  background: linear-gradient(134deg, rgba(233, 71, 36, 1) 0%, rgba(245, 162, 25, 1) 100%);
  margin-left: 30px;
}

.x20250307 {
  align-items: flex-end;
  background-color: var(--white);
  display: flex;
  padding: 1px 0;

}

.overlap-group-6 {
  background: url(../img/image.png) no-repeat center;
  background-size: cover;
  width: 100%;
  padding: 53px 5%;
  display: flex;
  justify-content: center;
}

.frame-48202 {
  background: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0.6) 100%);
  border-radius: 10px;
  padding: 40px 5%;
  position: relative;
}


.frame-418 {
  align-items: center;
  background-color: var(--pomegranate);
  border-radius: 10px;
  display: flex;
  flex: 0 0 auto;
  gap: 10px;
  justify-content: center;
  padding: 5px 40px;
  position: relative;
}

/* 
.frame-4820 {
  align-items: flex-start;
  display: inline-flex;
  flex: 0 0 auto;
  flex-direction: column;
  justify-content: center;
  position: relative;
} */
@media screen and (max-width: 767px) {


  .overlap-group-6 {
    background: url(../img/image.png) no-repeat center;
    background-size: cover;
    width: 100%;
    padding: 20px 5%;
    display: flex;
    justify-content: center;
  }

  .frame-48202 {
    background: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0.6) 100%);
    border-radius: 10px;
    padding: 20px 5%;
    position: relative;
  }

  .frame-418 {
    gap: 5px;
    flex-wrap: wrap;
    padding: 20px;
  }

  .frame-4820 {
    width: 100%;
  }
}

.text-1-1 {
  color: var(--white);
  font-family: var(--font-family-zen_kaku_gothic_new);
  font-size: var(--font-size-xxxxl);
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1.4;
  position: relative;
}

.text-2-1 {
  color: var(--white);
  font-family: var(--font-family-zen_kaku_gothic_new);
  font-size: 90px;
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1.4;
  position: relative;
  text-align: center;
}

.number {
  color: var(--white);
  font-family: var(--font-family-roboto_condensed);
  font-size: 200px;
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1.4;
  position: relative;
  text-align: center;
  /* white-space: nowrap; */
  max-width: fit-content;
}

.text-3-4 {
  color: var(--white);
  font-size: 90px;
  line-height: 1.4;
  position: relative;
  text-align: center;
  max-width: fit-content;
}

.text-4-1 {
  color: var(--white);
  font-family: var(--font-family-zen_kaku_gothic_new);
  font-size: 60px;
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1.4;
  position: relative;
  text-align: center;
  /* white-space: nowrap; */
  max-width: fit-content;
}

.text-5-1 {
  color: var(--cultured-pearl);
  font-family: var(--font-family-noto_sans_jp);
  font-size: var(--font-size-m);
  font-weight: 400;
  letter-spacing: 0.48px;
  line-height: 1.4;
  position: relative;
  text-shadow: 0px 0px 20px #b7340880;
  /* white-space: nowrap; */
  max-width: fit-content;
}

.text-6-1 {
  color: transparent;
  font-family: var(--font-family-zen_kaku_gothic_new);
  font-size: var(--font-size-xxxxl);
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1.4;
  position: relative;
  text-align: center;
  margin: 30px 0 50px;
}

@media screen and (max-width: 950px) {

  .text-1-1 {
    font-size: 18px;
    line-height: 1.4;
    text-align: center;
  }

  .text-2-1 {
    font-size: 36px;
    line-height: 1.2;
  }

  .number {
    font-size: 120px;
    line-height: 1;
  }

  .text-3-4 {
    font-size: 34px;
    line-height: 1.2;
  }

  .text-4-1 {
    font-size: 34px;
    line-height: 1.4;
  }

  .text-5-1 {
    font-size: 11px;
  }

  .text-6-1 {
    margin: 30px 0;
  }
}

.span1 {
  color: var(--pomegranate);
}

.frame-48170 {
  align-items: center;
  align-self: stretch;
  display: flex;
  flex-wrap: wrap;
  flex: 0 0 auto;
  gap: 48px;
  justify-content: center;
  position: relative;
  max-width: 100%;
}

@media screen and (max-width: 950px) {
  .frame-48170 {
    gap: 20px;
  }

}

.frame {
  align-items: center;
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  gap: 10px;
  position: relative;
}
.frame_sp{
  align-items: center;
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  gap: 10px;
  position: relative;
  margin-top: 50px;
}
@media screen and (max-width: 768px){
  .frame{
    display: none;
  }
}
@media screen and (min-width: 769px){
  .frame_sp{
    display: none;
  }
}

.text-7-1 {
  color: transparent;
  font-family: var(--font-family-zen_kaku_gothic_new);
  font-size: var(--font-size-xxl);
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.4;
  position: relative;
  text-align: center;
  /* white-space: nowrap; */
  max-width: fit-content;
}

.span-1 {
  color: var(--mine-shaft);
  font-size: var(--font-size-xl);
  line-height: 1.4;
}

.span2-2 {
  color: var(--pomegranate);
  font-size: var(--font-size-xxxl);
  line-height: 1.4;
}

.frame-170-2 {
  padding: 20px 10px;
}

.text-1 {
  align-self: stretch;
  letter-spacing: 0;
  line-height: 1.4;
  position: relative;
  text-align: center;
}

.frame-170 {
  align-items: center;
  background: linear-gradient(135deg, rgba(67, 161, 23, 1) 0%, rgba(137, 202, 34, 1) 100%);
  border-radius: 5px;
  display: inline-flex;
  flex: 0 0 auto;
  justify-content: center;
  padding: 20px 10px;
  position: relative;
}

.group-97-3 {
  background-image: url(../img/union-1.svg);
  background-size: 100% 100%;
  height: 13px;
  position: relative;
  width: 8px;
}

.frame-48163 {
  width: 100%;
}

.frame-48162 {
  background-color: var(--lumber);
  padding: 80px 2%;
  width: 100%;
}

.frame-48161 {
  flex-wrap: wrap;
  align-self: stretch;
  display: flex;
  gap: 60px;
  position: relative;
  max-width: 100%;
  max-width: 1200px;
  justify-content: center;
  margin: auto;
}

@media screen and (max-width: 950px) {


  .frame-48162 {
    padding: 40px 5%;
    width: 100%;
  }

  .frame-48161 {
    gap: 30px;
  }
}

.table_wrap {
  width: 100%;
  overflow-x: auto;
  /* 横方向スクロールを有効に */
  -webkit-overflow-scrolling: touch;

}

.table {
  min-width: 960px;
}

.frame-48-1 {
  align-items: flex-start;
  align-self: stretch;
  flex: 0 0 auto;
  flex-direction: column;
  gap: 20px;
  max-width: 100%;
}


@media screen and (max-width: 950px) {
  .frame-48-1 {
    gap: 10px;
  }
}

.text-13 {
  align-self: stretch;
  letter-spacing: 0;
  line-height: 1.4;
  position: relative;
  /* text-shadow: 0px 0px 20px #b7340880; */
}

.frame-48-2 {
  align-items: flex-start;
  align-self: stretch;
  flex: 0 0 auto;
  flex-direction: column;
  gap: 20px;
  padding: 0px 0px 40px;
  max-width: 100%;
}

@media screen and (max-width: 950px) {
  .frame-48-2 {
    gap: 10px;
    padding: 0px 0px 20px;
  }

}

.h2 {
  line-height: 1.4;
}

.frame-48068 {
  align-self: stretch;
  flex: 0 0 auto;
  margin-bottom: -1.00px;
  position: relative;
  max-width: 100%;
}

.text-14 {
  letter-spacing: 0.48px;
  line-height: 1.4;
  position: relative;
  text-shadow: 0px 0px 20px #b7340880;
  max-width: 600px;
}

.image-1 {
  max-width: 540px;
  width: 100%;
}

.frame-48150 {
  max-width: 1200px;

  width: 90%;
  margin: 50px auto;
}

.h2-1 {
  line-height: 1.4;
  text-align: center;
}

.frame-48068-1 {
  flex: 0 0 auto;
  margin-bottom: -1.00px;
  position: relative;
}

.group-401 {
  position: relative;
  max-width: 1200px;
}

.frame-48129 {
  align-items: flex-start;
  flex-wrap: wrap;
  display: flex;
  gap: 50px;
  justify-content: center;
  position: relative;
}

.frame-48128 {
  align-items: center;
  align-self: stretch;
  background-color: var(--white);
  border: 2px solid;
  border-color: var(--fruit-salad);
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  gap: 40px;
  padding: 30px 50px;
  position: relative;
}

.section_title {
  border-bottom: 8px double var(--pomegranate);
  text-align: center;
  padding-bottom: 20px;
  width: 100%;
  margin-bottom: 50px;
  line-height: 1.4;
  color: var(--mine-shaft);
  font-family: var(--font-family-zen_kaku_gothic_new);
  font-size: var(--font-size-xxxxl);
  font-weight: 900;
}

@media screen and (max-width:950px) {
  .frame-48150 {
    margin: 30px auto;
  }

  .frame-48129 {
    gap: 10px;
  }

  .frame-48128 {
    width: 100%;
    padding: 20px;
    gap: 20px;
  }

  .section_title {
    padding-bottom: 10px;
    margin-bottom: 30px;
  }
}

.frame-48125 {
  align-items: center;
  display: inline-flex;
  flex: 0 0 auto;
  flex-direction: column;
  gap: 29px;
  position: relative;
}

.frame-2 {
  align-items: center;
  display: inline-flex;
  flex: 0 0 auto;
  gap: 10px;
  position: relative;
  /* flex-wrap: wrap; */
}

.frame-47984 {
  align-items: center;
  background-color: var(--fruit-salad);
  border-radius: 30px;
  display: inline-flex;
  flex: 0 0 auto;
  gap: 15px;
  justify-content: center;
  padding: 11px 30px;
  position: relative;
}

/* .text-15 {
  letter-spacing: 0;
  line-height:1.4;
  position: relative;
  text-align: center;
   /* white-space: nowrap; 
  max-width: fit-content;
} */

.text-2 {
  letter-spacing: 0;
  line-height: 1.4;
  position: relative;
  max-width: 420px;
}

.frame-48147 {
  align-items: center;
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  gap: 20px;
  position: relative;
  max-width: 475px;
}

.text-17 {
  color: transparent;
  font-family: var(--font-family-zen_kaku_gothic_new);
  font-size: var(--font-size-xxxl);
  font-weight: 900;
  line-height: 1.4;
  position: relative;
  text-align: center;
  max-width: 420px;
}

@media screen and (max-width: 950px) {

  .frame-48125 {
    gap: 10px;
  }

  .frame-2 {
    gap: 10px;

  }

  .frame-47984 {

    gap: 5px;
    padding: 5px 10px;
  }


  .frame-48147 {
    flex-wrap: wrap;
    gap: 10px;

  }
}

.span-2 {
  letter-spacing: 0;
  line-height: 1.4;
}

.span-3 {
  letter-spacing: 0.10px;
  line-height: 1.4;
}

.frame-48-3 {
  align-items: center;
  align-self: stretch;
  flex: 0 0 auto;
  gap: 20px;
  max-width: 100%;
}

.frame-4 {
  align-items: flex-start;
  align-self: stretch;
  background-color: var(--white);
  border-radius: 10px;
  box-shadow: 0px 0px 20px #0000001a;
  display: flex;
  flex: 1;
  flex-direction: column;
  flex-grow: 1;
  gap: 20px;
  justify-content: center;
  padding: 20px 30px;
  position: relative;
  width: 100%;
}

.frame-48064-1 {
  align-items: flex-start;
  display: inline-flex;
  flex: 0 0 auto;
  flex-direction: column;
  gap: 5px;
  position: relative;
}

.frame-3 {
  align-items: center;
  display: inline-flex;
  flex: 0 0 auto;
  gap: 20px;
  position: relative;
}

.rectangle-173 {
  height: 30px;
  position: relative;
  max-width: 30px;
}

.text_label-3 {
  letter-spacing: 0;
  line-height: 1.4;
  position: relative;
  white-space: nowrap;
  max-width: fit-content;
}

@media screen and (max-width: 950px) {

  .frame-48-3 {
    gap: 10px;
    flex-wrap: wrap;
  }

  .frame-4 {
    padding: 10px 20px;
    width: 100%;
    flex: auto;
  }


  .frame-3 {
    gap: 10px;
  }

  .rectangle-173 {
    height: 30px;
    position: relative;
    max-width: 30px;
  }


}

.frame-48-4 {
  align-items: center;
  flex: 1;
  flex-grow: 1;
  gap: 20px;
}

.frame-48064 {
  align-items: flex-start;
  align-self: stretch;
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  gap: 5px;
  position: relative;
  max-width: 100%;
}

.text_label {
  flex: 1;
  letter-spacing: 0;
  line-height: 1.4;
  position: relative;
}

.frame-48038 {
  align-items: flex-start;
  align-self: stretch;
  background-color: var(--white);
  border-radius: 10px;
  box-shadow: 0px 0px 20px #0000001a;
  display: flex;
  flex: 1;
  flex-direction: column;
  flex-grow: 1;
  gap: 20px;
  padding: 20px 30px;
  position: relative;
}

.frame-48037 {
  align-items: flex-start;
  background-color: var(--white);
  border-radius: 10px;
  box-shadow: 0px 0px 20px #0000001a;
  display: flex;
  flex: 1;
  flex-direction: column;
  flex-grow: 1;
  gap: 20px;
  padding: 20px 30px;
  position: relative;
}

@media screen and (max-width: 950px) {

  .frame-48-4 {
    align-items: center;
    flex: 1;
    flex-grow: 1;
    gap: 10px;
  }

  .frame-48038 {
    gap: 10px;
    padding: 10px 20px;
    flex: auto;
  }

  .frame-48037 {
    gap: 10px;
    padding: 10px 20px;
    flex: auto;
  }
}

.frame-315 {
  align-items: center;
  align-self: stretch;
  background-color: var(--cultured-pearl);
  border-radius: 10px;
  display: flex;
  gap: 10px;
  /* height: 245px; */
  justify-content: center;
  padding: 10px;
  position: relative;
  max-width: 100%;
}

.text-3 {
  letter-spacing: 0.54px;
  line-height: 1.4;
  position: relative;
  max-width: 430px;
}

.span-4 {
  letter-spacing: 0.10px;
}

.frame-48127 {
  align-items: center;
  align-self: stretch;
  background-color: var(--white);
  border: 2px solid;
  border-color: var(--pomegranate);
  border-radius: 10px;
  display: flex;
  flex: 1;
  flex-direction: column;
  flex-grow: 1;
  gap: 40px;
  padding: 30px 50px;
  position: relative;

}

/* .frame-48126 {
  align-items: center;
  display: inline-flex;
  flex: 0 0 auto;
  flex-direction: column;
  gap: 30px;
  position: relative;
} */

.group-314 {
  height: 46px;
  position: relative;
  max-width: 154px;
}

.overlap-group-7 {
  height: 46px;
  position: relative;
}

.frame-47984-1 {
  align-items: center;
  background-color: var(--pomegranate);
  border-radius: 30px;
  display: inline-flex;
  gap: 15px;
  justify-content: center;
  left: 0;
  padding: 11px 30px;
  /* position: absolute; */
  top: 0;
}

.text-19 {
  letter-spacing: 0;
  line-height: 1.4;
  position: relative;
  text-align: center;
  white-space: nowrap;
  max-width: fit-content;
}

.vector-container {
  height: 45px;
  right: 30px;
  position: absolute;
  top: 0;
  max-width: 40px;
}

.vector {
  height: 21px;
  left: 0;
  position: absolute;
  top: 0;
  max-width: 21px;
}

.vector-1 {
  height: 30px;
  left: 10px;
  position: absolute;
  top: 15px;
  max-width: 30px;
}

@media screen and (max-width: 950px) {

  .frame-48127 {
    gap: 20px;
    padding: 20px 20px;
    position: relative;

  }


  .group-314 {
    height: 46px;
    position: relative;
    max-width: 154px;
  }

  .overlap-group-7 {
    height: 46px;
    position: relative;
  }

  .vector-container {
    height: 45px;
    right: 30px;
    position: absolute;
    top: 0;
    max-width: 40px;
  }

  .vector {
    height: 21px;
    left: 0;
    position: absolute;
    top: 0;
    max-width: 21px;
  }

  .vector-1 {
    height: 30px;
    left: 10px;
    position: absolute;
    top: 15px;
    max-width: 30px;
  }
}

.span0 {
  text-decoration: underline;
}

.image-2 {
  align-self: stretch;
  /* height: 215px; */
  position: relative;
  max-width: 100%;
  margin-top: 10px;
}

.frame-48110 {
  align-items: center;
  align-self: stretch;
  background-color: var(--lumber);
  border-radius: 10px;
  display: flex;
  gap: 10px;
  /* height: 245px; */
  justify-content: center;
  padding: 10px;
  position: relative;
  max-width: 100%;
}

.group-314-1 {
  position: relative;
}

.frame-48-5 {
  width: 100%;
}

.c-cta {
  align-items: center;
  background: url(../img/mask-group-2.png) no-repeat center;
  background-size: cover;
  background-position: top 0 left 20%;
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  justify-content: center;
  padding: 80px 5% 180px;
  position: relative;
  width: 100%;


}

.mask-group {
  height: 627px;
  left: 0;
  position: absolute;
  top: 0;

}

.frame-48022 {
  align-items: center;
  display: inline-flex;
  flex: 0 0 auto;
  gap: 39px;
  position: relative;
  flex-wrap: wrap;
  width: 100%;
  max-width: 1130px;
  justify-content: center;
}

.frame-47971 {
  align-items: flex-start;
  display: inline-flex;
  flex: 0 0 auto;
  flex-direction: column;
  gap: 20px;
  position: relative;
}

.text-4 {
  letter-spacing: 0;
  line-height: 1.4;
  position: relative;
  max-width: 361px;
}

@media screen and (max-width: 1240px) {
  .frame-47971 {
    width: 100%;
    max-width: 800px;
  }
}
@media screen and (max-width: 767px) {
  .frame-48022 {
    gap: 20px;
  }

  .frame-47971 {
    gap: 10px;

  }

  .c-cta {
    padding: 30px 5% 70px;
  }

  .text-4 {
    font-size: 28px;
  }
}

.ellipse-21 {
  background-color: var(--pomegranate);
  border-radius: 7.5px;
  height: 15px;
  position: relative;
  width: 15px;
}

.ellipse-20 {
  background-color: var(--fruit-salad);
  border-radius: 7.5px;
  height: 15px;
  position: relative;
  width: 15px;
}

.ellipse-19 {
  background-color: var(--buttercup);
  border-radius: 7.5px;
  height: 15px;
  position: relative;
  width: 15px;
}

.frame-263 {
  position: relative;
  max-width: 800px;
}

.frame-48021 {
  align-items: flex-start;
  background-color: var(--white);
  border-radius: 10px;
  box-shadow: 0px 4px 10px 4px #9246351a;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 36px 50px 36px;
  position: relative;
  max-width: 800px;
}

@media screen and (max-width: 950px) {
  .frame-48021 {
    align-items: flex-start;
    padding: 20px 15px;
  }
}

.frame-48021 .frame-2 {
  flex-wrap: wrap;
}

.frame-48197 {
  align-items: flex-start;
  display: inline-flex;
  flex: 0 0 auto;
  flex-direction: column;
  gap: 10px;
  position: relative;
}

.frame-4-1 {
  align-items: flex-start;
  align-self: stretch;
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  gap: 10px;
  position: relative;
  max-width: 100%;
}

.text-5 {
  align-self: stretch;
  letter-spacing: 0.54px;
  line-height: 1.4;
  position: relative;
}

.text-6 {
  align-self: stretch;
  letter-spacing: 0.54px;
  line-height: 1.4;
  position: relative;
}

.frame-47973 {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  gap: 20px;
  position: relative;
  max-width: 364px;
}

.text-7 {
  align-self: stretch;
  letter-spacing: 0;
  line-height: 1.4;
  position: relative;
}

.span2 {
  letter-spacing: 0.08px;
  line-height: 1.4;
}

.frame-127 {
  align-items: center;
  background-color: var(--pomegranate-2);
  border-radius: 4px;
  display: inline-flex;
  flex: 0 0 auto;
  gap: 21px;
  padding: 13px 10px 13px 40px;
  position: relative;
}

@media screen and (max-width: 950px) {

  .frame-127 {
    gap: 11px;
    padding: 10px;
    width: 100%;
    justify-content: center;
    margin-bottom: 10px;
  }
}

.text_label-1 {
  letter-spacing: 0.54px;
  line-height: 1.4;
  position: relative;
  text-align: center;
  /* white-space: nowrap; */
  max-width: fit-content;
}

.group-105 {
  background-color: var(--white);
  border-radius: 13.5px;
  height: 27px;
  position: relative;
  max-width: 27px;
}

.group-container {
  border-radius: 13.5px;
  height: 27px;
  position: relative;
}

.group-97-1 {
  height: 14px;
  left: 10px;
  position: absolute;
  top: 6px;
  max-width: 10px;
}

.group-106-1 {
  border-radius: 13.5px;
  height: 27px;
  min-width: 27px;
  padding: 0 7.3px;
}

.group-97-2 {
  height: 14px;
  max-width: 10px;
}

.group-227 {
  max-width: 305px;
}


.image-24 {
  position: absolute;
  right: 0;
  top: 0;
  max-width: 215px;
  width: 80%;
}

.image-23 {
  position: absolute;
  top: 45px;
  right: 20%;
  max-width: 215px;
  width: 80%;
}

.x2024-11-22-152241-1 {
  position: absolute;
  right: 40%;
  top: 90px;
  max-width: 215px;
  width: 80%;
}


.group-416 {
  margin-top: -140px;
  position: relative;
  width: 100%;
  background: url(../img/rectangle-280.svg) no-repeat center;
  background-size: cover;
  background-position: top center;
  padding-top: 140px;

}

.frame-48151 {
  background-color: #fff5de;
  padding: 0px 5% 40px;
  position: relative;
  text-align: center;
}


.group-424 {
  background-image: url(../img/mask-group.png);
  background-size: 100% 100%;
  position: relative;
  padding-bottom: 80px;

}

.frame-4820-1 {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 40px;
  position: relative;
  max-width: 1200px;
  width: 90%;
  padding-bottom: 50px;
  margin: auto;
}

.text-27 {
  font-family: var(--font-family-noto_sans_jp);
  font-size: var(--font-size-m);
  font-weight: 400;
  letter-spacing: 0.48px;
  line-height: 1.4;
  position: relative;
  margin-bottom: 20px;
}

.span-5 {
  letter-spacing: 0.08px;
}

.frame-48054 {
  align-items: flex-start;
  align-self: stretch;
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  gap: 50px;
  position: relative;
  max-width: 100%;
}

.frame-4805 {
  align-items: flex-start;
  align-self: stretch;
  flex-wrap: wrap;
  display: flex;
  flex: 0 0 auto;
  gap: 50px;
  position: relative;
  max-width: 100%;
}

.frame-480 {
  align-items: center;
  background-color: var(--white);
  border-radius: 10px;
  box-shadow: 0px 0px 20px #0000001a;
  display: flex;
  flex: 1;
  flex-direction: column;
  flex-grow: 1;
  gap: 20px;
  padding: 30px;
  position: relative;
}

@media screen and (max-width: 950px) {

  .frame-48151 {
    padding: 0px 5% 1px;
  }


  .group-424 {
    padding-bottom: 30px;

  }

  .frame-4820-1 {
    gap: 10px;
    padding-bottom: 0;
  }

  .text-27 {
    margin-bottom: 10px;
  }

  .frame-48054 {
    gap: 20px;
  }

  .frame-4805 {
    gap: 20px;
  }

  .frame-480 {
    min-width: 100%;
    padding: 20px 10px;
  }
}

.frame-48051 {
  align-items: center;
  align-self: stretch;
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  gap: 10px;
  position: relative;
  max-width: 100%;
}

.frame-47983 {
  align-items: center;
  background-color: var(--pomegranate);
  border-radius: 30px;
  display: inline-flex;
  flex: 0 0 auto;
  gap: 15px;
  justify-content: center;
  padding: 11px 30px;
  position: relative;
}

.text_label-2 {
  align-self: stretch;
  letter-spacing: 0.48px;
  line-height: 1.4;
  position: relative;
  text-align: center;
}

.image {
  align-self: stretch;
  position: relative;
  max-width: 100%;
}

.frame-433 {
  display: flex;
  align-items: center;
  gap: 20px;
  max-width: 100%;
}

.image-3 {
  position: relative;
  /* max-width: 280px; */
}

.image-4 {
  max-width: 162px;
  width: 90%;
}

.frame-48027 {
  align-items: center;
  align-self: stretch;
  background-color: var(--white);
  border-radius: 10px;
  box-shadow: 0px 0px 20px #69201033;
  display: flex;
  flex: 1;
  flex-direction: column;
  flex-grow: 1;
  gap: 20px;
  padding: 30px;
  position: relative;
}

.group-435 {
  height: 21px;
  position: relative;
  max-width: 196px;
}



.text-28 {
  display: inline-block;
  background-color: var(--white);
  border: 1px solid;
  border-color: #999999;
  border-radius: 10px;
  height: 20px;
  min-width: 20px;
  color: #545454;
  font-family: var(--font-family-zen_kaku_gothic_new);
  font-size: 14px;
  font-weight: 900;
  letter-spacing: 0.42px;
  line-height: 17px;
  text-align: center;
  margin-left: 1px;
  /* white-space: nowrap; */
}

.text-29 {
  left: 0;
  letter-spacing: 0.48px;
  line-height: 1.4;
  /* position: absolute; */
  text-align: right;
  top: 0;
  /* white-space: nowrap; */
}

.frame-47975 {
  margin: 50px 0;
}

.span-6 {
  line-height: 1.4;
}

.span2-1 {
  line-height: 1.4;
}

.frame-170-1 {
  gap: 20px;
  padding: 20px 20px 20px 30px;
}


@media screen and (max-width: 950px) {
  .frame-47975 {
    margin: 30px 0 40px;
  }


  .frame-170-1 {
    gap: 10px;
    padding: 10px;
  }


}

.h2-3 {
  color: transparent;
  font-family: var(--font-family-zen_kaku_gothic_new);
  font-size: var(--font-size-xxxxl);
  font-weight: 900;
  line-height: 1.4;
  text-align: center;
}



.h3-h3-h3-h3-h3-h3-h3-h3-1 {
  background-color: var(--pomegranate);
  border-radius: 10px;
  padding: 10px 20px;
  margin: 0 0 40px;
}


.frame-48129-1 {
  align-items: center;
  display: flex;
  flex: 0 0 auto;
  gap: 30px;
  justify-content: center;
  position: relative;
}

.frame-48125-1 {
  align-items: center;
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  gap: 29px;
  position: relative;
  max-width: 384.71px;
}

@media screen and (max-width: 950px) {

  .h3-h3-h3-h3-h3-h3-h3-h3-1 {
    padding: 10px 10px;
    margin: 0 0 20px;
    line-height: 1.4;
  }

  .example .frame-48-6 {
    flex-wrap: nowrap;
  }

  .frame-48129-1 {
    flex-wrap: wrap;
    gap: 10px;
  }

  .frame-48125-1 {
    gap: 10px;
  }
}

.frame-48122 {
  align-items: center;
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  gap: 10px;
  justify-content: center;
  position: relative;
  max-width: 140px;
}

.before {
  letter-spacing: 0;
  line-height: 1.4;
  position: relative;
  text-align: center;
  /* white-space: nowrap; */
  max-width: fit-content;
}

.text-8 {
  align-self: stretch;
  letter-spacing: 0;
  line-height: 1.4;
  position: relative;
}

.vector-2 {
  position: relative;
  max-width: 144px;
  width: 90%;
  min-width: 30%;
}

.frame-4811 {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 10px;
  position: relative;
  max-width: 66.35px;
}

.group-31 {
  height: 60px;
  position: relative;
  max-width: 62px;
}

.overlap-group {
  align-items: center;
  background-color: #fff8ce;
  border-radius: 30px;
  display: flex;
  height: 60px;
  min-width: 60px;
  padding: 0 20px;
}

.text-3-1 {
  color: var(--buttercup);
  font-size: var(--font-size-xl);
  line-height: 1.4;
  min-width: 20px;
}

.frame-48115 {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 10px;
  position: relative;
  max-width: 68px;
}

.overlap-group-1 {
  align-items: center;
  background-color: #ffe5ce;
  border-radius: 30px;
  display: flex;
  height: 60px;
  min-width: 60px;
  padding: 0 20px;
}

.text-3-2 {
  color: var(--pomegranate);
  font-size: var(--font-size-xl);
  line-height: 1.4;
  min-width: 20px;
}

.frame-48112 {
  align-items: center;
  align-self: stretch;
  display: flex;
  flex: 0 0 auto;
  gap: 2px;
  position: relative;
  max-width: 100%;
}

.group-31-1 {
  height: 61px;
  position: relative;
  max-width: 32.18px;
}

.overlap-group-2 {
  align-items: center;
  background-color: #e8f8e1;
  border-radius: 30px;
  display: flex;
  height: 60px;
  min-width: 60px;
  padding: 0 20px;
}

.text-3-3 {
  color: var(--fruit-salad);
  font-size: var(--font-size-xl);
  line-height: 1.4;
  min-width: 20px;
}

.frame-315-1 {
  align-items: center;
  align-self: stretch;
  background-color: var(--cultured-pearl);
  border-radius: 10px;
  display: flex;
  flex: 1;
  flex-grow: 1;
  gap: 10px;
  justify-content: center;
  padding: 10px;
  position: relative;
  max-width: 100%;
}

.x12325h {
  line-height: 1.4;
  position: relative;
  max-width: 400px;
}

.span0-1 {
  color: #999999;
  font-family: var(--font-family-zen_kaku_gothic_new);
  font-size: var(--font-size-l);
  font-weight: 900;
  letter-spacing: 0.10px;
  line-height: 1.4;
}

.polygon-5 {
  height: 78.51px;
  position: relative;
  max-width: 43.67px;
}

.frame-48127-1 {
  align-items: center;
  align-self: startch;
  background-color: var(--white);
  border: 2px solid;
  border-color: var(--pomegranate);
  border-radius: 10px;
  display: flex;
  flex: 1;
  flex-direction: column;
  flex-grow: 1;
  gap: 40px;
  padding: 30px 50px;
  position: relative;
}

@media screen and (max-width: 950px) {
  .polygon-5 {
    transform: rotate(90deg);
    margin: 0 auto;
  }

  .frame-48127-1 {
    min-width: 100%;
    padding: 20px;
    gap: 20px;
  }

}

.frame-48126-1 {
  align-items: center;
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  gap: 30px;
  position: relative;
  max-width: 364px;
}


/* .group-314-1 {
  height: 46px;
  left: 51px;
  position: absolute;
  top: 0;
  max-width: 126px;
} */

.after {
  letter-spacing: 0;
  line-height: 1.4;
  position: relative;
  text-align: center;
  /* white-space: nowrap; */
  max-width: fit-content;
}

.vector-container-1 {
  height: 45px;
  right: 65px;
  position: absolute;
  top: 0;
  max-width: 40px;
}

.group-318 {
  display: flex;
  flex-direction: column;
  gap: 10px;
  justify-content: center;
  text-align: center;
}

.frame-4811-1 {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 10px;
  position: relative;
  max-width: 60px;
}

.group-31-2 {
  height: 60px;
  margin-right: -2.00px;
  position: relative;
  max-width: 62px;
}

.frame-48110-1 {
  align-items: center;
  align-self: stretch;
  background-color: var(--lumber);
  border-radius: 10px;
  display: flex;
  flex: 1;
  flex-grow: 1;
  gap: 10px;
  justify-content: center;
  padding: 10px;
  position: relative;
  max-width: 100%;
}

.text_label-4 {
  color: transparent;
  font-family: var(--font-family-zen_kaku_gothic_new);
  font-size: var(--font-size-m);
  font-weight: 900;
  letter-spacing: 0.48px;
  line-height: 1.4;
  position: relative;
  max-width: 400px;
}

.span-7 {
  color: var(--pomegranate);
  letter-spacing: 0.08px;
}

.span2-3 {
  letter-spacing: 0.24px;
  line-height: 1.4;
}

/* .frame-48154 {
  align-items: center;
  align-self: stretch;
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  justify-content: center;
  position: relative;
  max-width: 100%;
} */
.frame-48 {
  width: 100%;
}

.l-section__subtitle{
  background-color: var(--pomegranate);
  padding: 10px 20px;
  position: relative;
  border-radius: 10px;
  width: 100%;
  box-sizing: border-box;
  margin-bottom: 20px;
}


.group-106 {
  align-items: flex-start;
  background-color: var(--white);
  border-radius: 13.5px;
  display: flex;
  height: 27px;
  justify-content: flex-end;
  left: 0;
  min-width: 27px;
  padding: 6.4px 7.3px;
  /* position: absolute; */
  top: 0;
}

.frame-48195-1 {
  position: relative;
  width: 100%;
}

.frame-48151-2 {
  background-color: #fff6de;
}

.h2-4 {
  line-height: 1.4;
  text-align: center;
}

.group-425 {
  background-image: url(../img/mask-group-1.png);
  background-size: 100% 100%;
  position: relative;

}

.c-cta-1 {
  align-items: center;
  background: url(../img/mask-group-2.png) no-repeat center;
  background-size: cover;
  background-position: top 0 left 20%;
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  justify-content: center;
  padding: 80px 5%;
  position: relative;

}


.frame-5 {
  width: 90%;
  margin: auto;
  max-width: 1200px;
  padding-top: 50px;
}

@media screen and (max-width: 950px) {

  .l-section__subtitle{
    padding: 10px;
    margin-bottom: 10px;
  }

  .c-cta-1 {
    padding: 30px 5%;
    position: relative;

  }

  .frame-5 {
    padding-top: 30px;
  }

  .image-5 {
    width: 950px;
    max-width: initial;
  }

  .image_scroll {
    width: 100%;
    overflow-x: auto;
  }
}

.h2-5 {
  line-height: 1.4;
  text-align: center;
}

.group-358 {
  height: 893px;
  position: relative;
  max-width: 1200px;
}

.frame-container {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  gap: 40px;
  left: 0;
  min-height: 893px;
  position: absolute;
  top: 0;
  max-width: 580px;
}

.frame-17 {
  align-items: center;
  background-color: var(--white);
  border-radius: 10px;
  box-shadow: 0px 0px 20px #9145351a;
  display: flex;
  flex-direction: column;
  min-height: 292px;
  max-width: 580px;
}

.overlap-group-9 {
  height: 63px;
  position: relative;
  max-width: 580px;
}

.group-180 {
  height: 60px;
  left: 0;
  position: absolute;
  top: 0;
  max-width: 580px;
}

.text-56 {
  left: 50px;
  letter-spacing: 0;
  line-height: 1.4;
  position: absolute;
  top: 39px;
  max-width: 480px;
}

.text-57 {
  letter-spacing: 0;
  line-height: 1.4;
  margin-top: 10px;
  min-height: 34px;
  max-width: 480px;
}

.vector-3 {
  height: 1px;
  margin-top: 30px;
  object-fit: cover;
  max-width: 480px;
}

.text-9 {
  letter-spacing: 0.48px;
  line-height: 1.4;
  margin-top: 28px;
  min-height: 42px;
  max-width: 480px;
}

.frame-4804 {
  align-items: center;
  background-color: var(--white);
  border-radius: 10px;
  box-shadow: 0px 0px 20px #9145351a;
  display: flex;
  flex-direction: column;
  min-height: 271px;
  max-width: 580px;
}

.overlap-group-3 {
  height: 108px;
  position: relative;
  max-width: 580px;
}

.frame-171 {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  gap: 10px;
  left: 50px;
  position: absolute;
  top: 40px;
  max-width: 480px;
}

.text-10 {
  align-self: stretch;
  letter-spacing: 0;
  line-height: 1.4;
  position: relative;
}

.frame-17-1 {
  align-items: center;
  background-color: var(--white);
  border-radius: 10px;
  box-shadow: 0px 0px 20px #9145351a;
  display: flex;
  flex-direction: column;
  min-height: 250px;
  max-width: 580px;
}

.frame-container-1 {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  gap: 40px;
  left: 620px;
  min-height: 893px;
  position: absolute;
  top: 0;
  max-width: 580px;
}

.text-59 {
  letter-spacing: 0.48px;
  line-height: 1.4;
  margin-top: 28px;
  min-height: 84px;
  max-width: 480px;
}

.text-67 {
  letter-spacing: 0.48px;
  line-height: 1.4;
  margin-top: 28px;
  min-height: 63px;
  max-width: 480px;
}

.h2-6 {
  line-height: 1.4;
  text-align: center;
}

.frame-1-1 {
  align-items: center;
  align-self: stretch;
  display: flex;
  flex: 0 0 auto;
  position: relative;
  max-width: 100%;
  border-bottom: 1px solid var(--celeste);
}

.frame-179-1 {
  background-color: var(--pomegranate);
  border-color: var(--white);
  border-radius: 10px 0px 0px 0px;
  border-right-width: 2px;
  padding: 20px;
}

.text-74 {
  letter-spacing: 0.54px;
  line-height: 1.4;
  margin-top: -2.00px;
  position: relative;
  /* white-space: nowrap; */
  max-width: fit-content;
}

.frame-18 {
  align-items: center;
  background-color: var(--pomegranate);
  border-color: var(--white);
  border-right-style: solid;
  border-right-width: 2px;
  display: flex;
  flex: 1;
  flex-grow: 1;
  gap: 10px;
  justify-content: center;
  padding: 20px;
  position: relative;
}

.text-75 {
  letter-spacing: 0.54px;
  line-height: 1.4;
  margin-top: -2.00px;
  position: relative;
  /* white-space: nowrap; */
  max-width: fit-content;
}

.a {
  letter-spacing: 0.54px;
  line-height: 1.4;
  margin-top: -2.00px;
  position: relative;
  /* white-space: nowrap; */
  max-width: fit-content;
}

.frame-182 {
  align-items: center;
  background-color: var(--pomegranate);
  border-radius: 0px 10px 0px 0px;
  display: flex;
  flex: 1;
  flex-grow: 1;
  gap: 10px;
  justify-content: center;
  padding: 20px;
  position: relative;
}

.b {
  letter-spacing: 0.54px;
  line-height: 1.4;
  position: relative;
  /* white-space: nowrap; */
  max-width: fit-content;
}

.frame-179 {
  align-items: center;
  align-self: stretch;
  background-color: var(--cultured-pearl);
  border-color: var(--celeste);
  border-left-style: solid;
  border-left-width: 1px;
  border-right-style: solid;
  border-right-width: 1px;
  display: flex;
  flex: 1;
  flex-grow: 1;
  gap: 10px;
  justify-content: center;
  padding: 40px 20px;
  position: relative;
}

.text-76 {
  letter-spacing: 0.54px;
  line-height: 1.4;
  position: relative;
  /* white-space: nowrap; */
  max-width: fit-content;
}

.text-11 {
  letter-spacing: 0.48px;
  line-height: 1.4;
  position: relative;
  /* white-space: nowrap; */
  max-width: fit-content;
}

.vector-4 {
  height: 1px;
  object-fit: cover;
  position: relative;
  max-width: 1200px;
}

.text-80 {
  letter-spacing: 0.54px;
  line-height: 1.4;
  position: relative;
  /* white-space: nowrap; */
  max-width: fit-content;
}

.text-81 {
  letter-spacing: 0.48px;
  line-height: 1.4;
  position: relative;
  max-width: fit-content;
}

.text-8-1 {
  letter-spacing: 0.48px;
  line-height: 1.4;
  position: relative;
  max-width: fit-content;
}

.text-84 {
  letter-spacing: 0.54px;
  line-height: 1.4;
  position: relative;
  /* white-space: nowrap; */
  max-width: fit-content;
}

.frame-179-2 {
  align-self: stretch;
  background-color: var(--cultured-pearl);
  border-bottom-style: solid;
  border-bottom-width: 1px;
  border-color: var(--celeste);
  border-left-style: solid;
  border-left-width: 1px;
  border-radius: 0px 0px 0px 10px;
  border-right-width: 1px;
  padding: 40px 20px;
}

.text-88 {
  letter-spacing: 0.54px;
  line-height: 1.4;
  position: relative;
  /* white-space: nowrap; */
}

.frame-18-2 {
  border-bottom-style: solid;
  border-bottom-width: 1px;
}

.frame-182-1 {
  align-items: center;
  align-self: stretch;
  background-color: var(--white);
  border-bottom-style: solid;
  border-bottom-width: 1px;
  border-color: var(--celeste);
  border-radius: 0px 0px 10px 0px;
  border-right-style: solid;
  border-right-width: 1px;
  display: flex;
  flex: 1;
  flex-grow: 1;
  gap: 10px;
  justify-content: center;
  padding: 20px;
  position: relative;
}

.frame-47976 {
  align-items: center;
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  gap: 40px;
  position: relative;
  max-width: 610px;
  margin: 50px auto 80px;
  width: 90%;
}
@media screen and (max-width: 767px) {

  .frame-47976 {
    gap: 10px;
    margin: 30px auto;
}
}
.text-92 {
  color: transparent;
  font-family: var(--font-family-zen_kaku_gothic_new);
  font-size: var(--font-size-xxxl);
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1.4;
  position: relative;
  text-align: center;
  max-width: fit-content;
}

.group-228 {
  margin-right: -2.00px;
  position: relative;
  max-width: 612px;
}

.overlap-group2 {
  background-color: #f3ece1;
  border-radius: 10px;
  box-shadow: 0px 4px 10px 4px #9246351a;
  height: 240px;
  position: relative;
  max-width: 610px;
}

.overlap-group3 {
  height: 228px;
  left: 0;
  position: absolute;
  top: 12px;
  max-width: 610px;
}

.rectangle-46 {
  background-color: #ff4b25;
  border-radius: 0px 0px 10px 10px;
  height: 70px;
  left: 0;
  position: absolute;
  top: 158px;
  max-width: 610px;
}

.text-93 {
  color: var(--white);
  font-family: var(--font-family-zen_kaku_gothic_new);
  font-size: var(--font-size-xxl);
  font-weight: 900;
  left: 173px;
  letter-spacing: 0;
  line-height: 1.4;
  position: absolute;
  text-align: center;
  top: 184px;
  /* white-space: nowrap; */
}

.image-container {
  height: 180px;
  left: 276px;
  position: absolute;
  top: 0;
  max-width: 315px;
}

.image-24-1 {
  height: 120px;
  left: 100px;
  object-fit: cover;
  position: absolute;
  top: 0;
  max-width: 215px;
}

.image-23-1 {
  height: 120px;
  left: 50px;
  object-fit: cover;
  position: absolute;
  top: 30px;
  max-width: 215px;
}

.image-22 {
  height: 120px;
  left: 0;
  object-fit: cover;
  position: absolute;
  top: 60px;
  max-width: 215px;
}

/* .overlap-group1-1 {
  border-radius: 15px;
  height: 30px;

  top: 183px;
  max-width: 30px;
} */

.ellipse-5 {
  background-color: var(--white);
  border-radius: 13.5px;
  height: 27px;
  left: 0;
  position: absolute;
  top: 1px;
  max-width: 27px;
}

.group-97-4 {
  height: 14px;
  left: 10px;
  position: absolute;
  top: 7px;
  max-width: 10px;
}

.group-106-2 {
  border-radius: 15px;
  height: 30px;
  min-width: 30px;
  padding: 0 8.3px;
}

.group-97-5 {
  height: 15px;
  max-width: 11px;
}

.frame-228 {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 4px;
  left: 40px;
  position: absolute;
  top: 26px;
  max-width: 204px;
}

.text-94 {
  align-self: stretch;
  color: #e84721;
  font-family: var(--font-family-zen_kaku_gothic_new);
  font-size: var(--font-size-xxxl);
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1.4;
  position: relative;
  text-align: center;
}

.ellipse-21-1 {
  background-color: var(--pomegranate);
  border-radius: 3.5px;
  height: 7px;
  position: relative;
  max-width: 7px;
}

.ellipse-20-1 {
  background-color: #5b703a;
  border-radius: 3.5px;
  height: 7px;
  position: relative;
  max-width: 7px;
}

.ellipse-19-1 {
  background-color: var(--buttercup);
  border-radius: 3.5px;
  height: 7px;
  position: relative;
  max-width: 7px;
}

.text-95 {
  align-self: stretch;
  color: #450000;
  font-family: var(--font-family-zen_kaku_gothic_new);
  font-size: var(--font-size-l);
  font-weight: 900;
  letter-spacing: 0.54px;
  line-height: 1.4;
  position: relative;
  text-align: center;
}

.frame-360 {
  align-items: center;
  background-color: var(--lumber);
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  gap: 40px;
  padding: 80px 5%;
  position: relative;

}

.frame-48160 {
  align-items: flex-start;
  display: flex;
  flex: 0 0 auto;
  gap: 40px;
  position: relative;
  max-width: 1200px;
  flex-wrap: wrap;
}

.frame-48152 {
  align-items: flex-start;
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  gap: 20px;
  padding: 0px 0px 40px;
  position: relative;
  max-width: 340px;
}

.h2-7 {
  line-height: 1.4;
}

.text-96 {
  letter-spacing: 0;
  line-height: 1.4;
  position: relative;
  text-align: center;
  /* white-space: nowrap; */
  max-width: fit-content;
}

.frame-48182 {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  gap: 40px;
  position: relative;
  max-width: 800px;
  width: 100%;
}
@media screen and (max-width: 767px) {

.frame-360 {
  gap: 10px;
  padding: 40px 5%;

}

.frame-48160 {
  gap: 30px;
}

.frame-48152 {
  gap: 10px;
  padding: 0px 0px 20px;
  max-width: 340px;
}


.frame-48182 {
  gap: 10px;
}
.quetion .frame-48-1 {
margin-top: 20px;
}
}


.text-12 {
  flex: 1;
  letter-spacing: 0;
  line-height: 1.4;
  position: relative;
}

.frame-48181 {
  align-items: center;
  align-self: stretch;
  background-color: var(--white);
  border-radius: 10px;
  display: flex;
  flex: 0 0 auto;
  gap: 20px;
  padding: 20px;
  position: relative;
  margin-top: 20px;
}

.qa_icon {
  background-color: var(--pomegranate);
  border-radius: 50%;
  height: 50px;
  width: 50px;
  line-height: 50px;
  text-align: center;
  color: var(--white);
  font-family: var(--font-family-zen_kaku_gothic_new);
  font-size: var(--font-size-xxxl);
  font-weight: 900;
}

.qa_icon.anser {
  background-color: var(--fruit-salad);
}


@media screen and (max-width: 767px) {
  
.qa_icon {
  width: 30px;
  height: 30px;
  line-height: 30px;
  font-size: var(--font-size-l);
}
.frame-48181 {
  gap: 10px;
  padding: 10px;
  margin-top: 15px;
}
}

.text-99 {
  flex: 1;
  letter-spacing: 0.48px;
  line-height: 1.4;
  position: relative;
}


.text-10-1 {
  flex: 1;
  letter-spacing: 0.48px;
  line-height: 1.4;
  position: relative;
}



.text-104 {
  flex: 1;
  letter-spacing: 0;
  line-height: 1.4;
  position: relative;
}



.group-360 {
  height: 340px;
  margin-right: -2.00px;
  position: relative;

}

.overlap-group1-2 {
  align-items: center;
  background-color: #d9d9d9;
  display: flex;

  padding: 0 920px;
}

.text-106 {
  letter-spacing: 0;
  line-height: 1.4;
  min-width: 160px;
  text-align: center;
  /* white-space: nowrap; */
}

.frame-170-3 {
  align-items: center;
  background: linear-gradient(134deg, rgba(233, 71, 36, 1) 0%, rgba(245, 162, 25, 1) 100%);
  border-radius: 5px;
  display: inline-flex;
  flex: 0 0 auto;
  justify-content: center;
  position: relative;
}


.frame-179-3 {
  align-items: center;
  border-right-style: solid;
  /* display: flex; */
  flex: 1;
  flex-grow: 1;
  gap: 10px;
  justify-content: center;
  position: relative;
  text-align: center;
}

.frame-18-3 {
  align-items: center;
  align-self: stretch;
  background-color: var(--white);
  border-color: var(--celeste);
  border-right-style: solid;
  border-right-width: 1px;
  display: flex;
  flex: 1;
  flex-grow: 1;
  gap: 10px;
  justify-content: center;
  padding: 20px;
  position: relative;
}

.frame-48-6 {
  display: flex;
  position: relative;
}

.frame-48151-3 {
  width: 90%;
  padding: 40px 0px 40px;
  position: relative;
  margin: auto;
  text-align: center;
  max-width: 1200px;
}

.group-106-3 {
  align-items: center;
  background-color: var(--white);
  display: flex;
  justify-content: flex-end;
  left: 0;
  /* position: absolute; */
  top: 0;
}

.h2-8 {
  align-self: stretch;
  letter-spacing: 0;
  position: relative;
}

.h5-4 {
  letter-spacing: 0;
  line-height: 1.4;
  position: relative;
  text-align: center;
  /* white-space: nowrap; */
  max-width: fit-content;
}

.price-4 {
  letter-spacing: 0;
  line-height: 46px;
  padding-bottom: 5px;
  text-align: center;
  /* white-space: nowrap; */
}

.text-3-5 {
  font-family: var(--font-family-zen_kaku_gothic_new);
  font-weight: 900;
  letter-spacing: 0;
  /* white-space: nowrap; */
}

.reason {
  padding: 80px 0 50px;
  background: none;
  color: var(--mine-shaft);
  font-family: var(--font-family-noto_sans_jp) !important;
}

.reason__grid--item * {

  font-family: var(--font-family-noto_sans_jp) !important;
}

.frame-48151-1 {
  padding-top: 50px;
}

.l-section {
  max-width: 1200px;
  width: 90%;
  margin: 80px auto 50px;
}

@media screen and (max-width: 767px) {

.group-400 {
  height: 30px;
  position: relative;
  max-width: 32px;
}

.overlap-group-4 {  
  border-radius: 50%;
  height: 32px;
  min-width: 532px;
}

  .reason {
    padding: 30px 0 10px;
  }

  .group-416 {
    padding-top: 30px;
    margin-top: -30px;
  }

  .frame-48151-3 {
    padding: 0 0 40px;
  }

  .l-section {
    margin: 30px auto 0px;
  }
}


.note-container {
  /* 必要に応じてブロック要素に変えてもOK */
  position: relative;
}

.note-trigger {
  cursor: pointer;
}

.note-content {
  background-color: #D9D9D9;
  padding: 10px;
  /* トリガー下に少し余白 */
  font-size: 1rem;
  line-height: 1.4;
  position: absolute;
  top: 24px;
  right: 0;
  z-index: 1;
  transition: .3s;
  opacity: 0;
  height: auto;
  /* 必要なら background, padding, border-radius などで注釈風に装飾 */
}

/* ── PC（ホバー可能なデバイス） ── */
@media (hover: hover) and (pointer: fine) {

  /* ホバー時に隣接要素を表示 */
  .note-container:hover .note-content {
    opacity: 1;
    height: auto;
  }
}

/* ── SP（ホバー不可 or タッチデバイス） ── */
@media (hover: none),
(pointer: coarse) {

  /* :focus で表示させる */
  /* button 要素などフォーカス可能な要素を使っておけば、このクリック後も注釈が残ります */
  .note-container:focus .note-content {
    display: block;
  }
}


/* screen - frame-48208 */

.voice__container {
  padding: 71px 0 30px;
  max-width: 1020px;
  margin: auto;
}



.voice__main-content {
  align-items: flex-start;
  background-color: var(--white);
  border-radius: 10px;
  box-shadow: 0px 0px 40px #0000001a;
  display: flex;
  flex-direction: column;
  padding: 40px;
  position: relative;
}

.frame-48 .voice__main-content {
  margin-bottom: 40px;

}
.voice__header {
  align-items: center;
  display: inline-flex;
  flex: 0 0 auto;
  gap: 20px;
  position: relative;
  margin-bottom: 20px;
}

.voice__logo {
  position: relative;
  max-width: 100px;
}

.voice__title {
  letter-spacing: 0;
  line-height: 1.2;
  position: relative;
}

.voice__content {
  align-items: flex-start;
  align-self: stretch;
  display: flex;
  flex: 0 0 auto;
  gap: 40px;
  justify-content: center;
  position: relative;
  max-width: 100%;
}

.voice__text-container {
  background-color: var(--white);
  border: 2px solid;
  border-color: var(--pomegranate);
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: 30px;
  padding: 30px;
  height: auto;

}

.voice__grid {
  display: flex;
  gap: 30px;
}

.voice__sub-content {
  background-color: var(--white);
  border-radius: 10px;
  box-shadow: 0px 0px 40px #0000001a;
  padding: 30px;
  width: 50%;
  display: flex;
  flex-direction: column;
  flex: 1;

}

.voice__subtitle {
  align-self: stretch;
  letter-spacing: 0;
  line-height: 1.2;
  position: relative;
}

.voice__paragraph {
  background-color: var(--cultured-pearl);
  border-radius: 10px;
  padding: 30px;
  position: relative;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.voice__paragraph--red {
  background-color: var(--lumber);
}

.voice__text {
  flex: 1;
  letter-spacing: 0.48px;
  line-height: 1.2;
  position: relative;
}


.voice__content .frame-48128 {
  width: 50%;
  gap: 20px;
  padding: 20px 40px 30px;

}

.voice__content .frame-48127 {
  width: 50%;
  gap: 20px;
  padding: 20px 40px 30px;
}

.text--important {
  color: var(--pomegranate);
  font-weight: 600;
}
.voice_title_wrap {
  padding-bottom: 40px;
}
.voice_title {
  width: 90%;
  margin: auto;
  max-width: 1200px;
}
@media screen and (max-width: 950px) {

  .voice__container {
    padding: 30px 0 40px;
  }
    
  .voice__main-content {
    padding: 20px;
  }
  .voice__container .l-section__subtitle {
    margin-bottom: 20px;

  }
  
.frame-48 .voice__main-content {
  margin-bottom: 20px;

}
  .voice__header {
    gap: 10px;
    margin-bottom: 10px;
  }
  
  .voice__content {
    gap: 20px;
    flex-wrap: wrap;
  }
  
  .voice__text-container {
    gap: 10px;
    padding: 10px 20px;
  
  }
  
  .voice__grid {
    gap: 10px;
    flex-wrap: wrap;
  }
  
  .voice__sub-content {
    padding: 20px;
    width: 100%;
    flex: auto;
  
  }
  
 
  .voice__paragraph {
    padding: 10px;
  }
  
    
  .voice__content .frame-48128 {
    width: 100%;
    gap: 10px;
    padding: 10px 20px 20px;
  
  }
  
  .voice__content .frame-48127 {
    width: 100%;
    gap: 10px;
    padding: 10px 20px 20px;
  }
  
.voice_title_wrap {
  padding-bottom: 0;
}
}

.voice_title_wrap {
  padding-bottom: 20px;
}
.l-footer {
  margin-top: 40px;
}