.hamburger-menu {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.1);
  z-index: 9999;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.hamburger-menu.active {
  opacity: 1;
  pointer-events: auto;
}



@media (min-width: 850px) {
  .hamburger-menu {
    background: none;
  }
}

.hamburger-menu.active {
  display: flex;
}

.hamburger-menu-inner {
  width: 380px;
  max-width: 100vw;
  height: auto;
  background: rgba(255, 255, 255, 0.95);
  border-radius: 0 30px 30px 0;
  box-shadow: 2px 0 16px rgba(0, 0, 0, 0.07);
  padding: 24px 24px 24px 24px;
  box-sizing: border-box;
  overflow-y: auto;
  position: relative;
  transform: translateX(-100%);
  transition: transform 0.3s ease;
}

.hamburger-menu.active .hamburger-menu-inner {
  transform: translateX(0);
}

.hamburger-menu-header {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-bottom: 20px;
}

.hamburger-close img {
  width: 28px;
  height: 28px;
  cursor: pointer;
}

.hamburger-menu-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.hamburger-menu-list li {
  font-size: 1.1rem;
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  cursor: pointer;
}

.list-business-icon {
  width: 22px;
  height: 22px;
  margin-right: 12px;
}

.hamburger-menu-list li a {
  color: inherit;
  text-decoration: none;
  display: flex;
  align-items: center;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 700;
  font-size: 14px;
}

.hamburger-menu-list li img[alt="link"] {
  margin-left: 6px;
  width: 18px;
  height: 18px;
}

.li-kotira {
  margin-top: 40px;
}





#target-sp-1 {
  scroll-margin-top: 70px;
}

#target-sp-2 {
  scroll-margin-top: 70px;
}

#target-sp-3 {
  scroll-margin-top: 70px;
}

#target-sp-4 {
  scroll-margin-top: 80px;
}

#target-sp-5 {
  scroll-margin-top: 70px;
}

#target-sp-6 {
  scroll-margin-top: 80px;
}






#target-pc-1 {
  scroll-margin-top: 80px;
}

#target-pc-2 {
  scroll-margin-top: 100px;
}

#target-pc-3 {
  scroll-margin-top: 100px;
}

#target-pc-4 {
  scroll-margin-top: 120px;
}

#target-pc-5 {
  scroll-margin-top: 110px;
}

#target-pc-6 {
  scroll-margin-top: 120px;
}

#target-pc-7 {
  scroll-margin-top: 110px;
}





.button,
.button-2,
.button-3 {
  display: block;
  border: 2px solid #24bb61;
  border-radius: 12px;
  margin-bottom: 12px;
  text-align: center;
  background: #fff;
  color: #222;
  /* ←常に黒文字（お好みで#000もOK） */
  font-weight: bold;
  cursor: pointer;
  transition: background 0.2s, color 0.2s, border-color 0.2s;
  font-size: 1rem;
  padding: 16px 0;
  width: 100%;
  box-sizing: border-box;
  position: relative;
}

/* ラジオボタン自体は消す */
.button input[type="radio"],
.button-2 input[type="radio"],
.button-3 input[type="radio"] {
  display: none;
}

/* 選択中だけ薄緑背景。文字色は変えない！ */
.button:has(input[type="radio"]:checked),
.button-2:has(input[type="radio"]:checked),
.button-3:has(input[type="radio"]:checked) {
  background: #E1FFC3;
  /* お好みの薄緑色 */
}







.SP.div {
  position: relative;
  width: 390px;
  height: 10912px;
  background-color: #ffffff;
  overflow: hidden;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.3);
}

.SP .overlap {
  position: absolute;
  width: 391px;
  height: 3556px;
  top: 90px;
  left: 0;
}

.SP .frame {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 10px;
  position: absolute;
  top: 961px;
  left: 0;
}

.SP .overlap-wrapper {
  position: relative;
  width: 389px;
  height: 2355px;
}

.SP .overlap-group {
  position: relative;
  width: 472px;
  height: 2355px;
  left: -39px;
}

.SP .view {
  position: absolute;
  width: 390px;
  height: 1500px;
  top: 20px;
  left: 38px;
  background-color: #f4ffeb;
  border-radius: 40px 40px 0px 0px;
  box-shadow: 0px -4px 24px #41b24e1f;
}

.SP .image {
  position: absolute;
  width: 390px;
  height: 316px;
  top: 200px;
  left: 39px;
}

.SP .view-2 {
  display: flex;
  flex-direction: column;
  width: 390px;
  align-items: center;
  gap: 16px;
  position: absolute;
  top: 798px;
  left: 38px;
}

.SP .lightbulb-wrapper {
  position: relative;
  width: 80px;
  height: 80px;
  background-image: url(./img/1-1.png);
  background-size: cover;
  background-position: 50% 50%;
}

.SP .lightbulb {
  position: absolute;
  width: 40px;
  height: 40px;
  top: 17px;
  left: 20px;
}

.SP .text-wrapper {
  position: relative;
  width: fit-content;
  font-family: var(--SP-notosansjp-bold-24-font-family);
  font-weight: var(--SP-notosansjp-bold-24-font-weight);
  color: #000000;
  font-size: var(--SP-notosansjp-bold-24-font-size);
  text-align: center;
  letter-spacing: var(--SP-notosansjp-bold-24-letter-spacing);
  line-height: var(--SP-notosansjp-bold-24-line-height);
  font-style: var(--SP-notosansjp-bold-24-font-style);
}

.SP .text-wrapper-2 {
  position: absolute;
  width: 57px;
  top: 712px;
  left: 204px;
  background: linear-gradient(180deg,
      rgba(12, 65, 29, 1) 0%,
      rgba(31, 167, 75, 1) 100%);
  -webkit-background-clip: text !important;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 700;
  color: transparent;
  font-size: 24px;
  text-align: center;
  letter-spacing: 0;
  line-height: 18px;
}

.SP .overlap-group-wrapper {
  position: absolute;
  width: 472px;
  height: 348px;
  top: 185px;
  left: 0;
}

.SP .overlap-group-2 {
  position: relative;
  width: 390px;
  height: 361px;
  top: -2px;
  left: 39px;
  background-image: url(./img/vector.svg);
  background-size: 100% 100%;
}

.SP .overlap-2 {
  position: absolute;
  width: 93px;
  height: 68px;
  top: 284px;
  left: 66px;
}

.SP .vector {
  position: absolute;
  width: 68px;
  height: 52px;
  top: 0;
  left: 0;
}

.SP .img {
  position: absolute;
  width: 29px;
  height: 24px;
  top: 44px;
  left: 64px;
}

.SP .view-3 {
  display: flex;
  flex-direction: column;
  width: 340px;
  align-items: center;
  gap: 13px;
  position: absolute;
  top: 60px;
  left: 25px;
}

.SP .p {
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 700;
  color: transparent;
  font-size: 14px;
  letter-spacing: 0;
  line-height: 14px;
  position: relative;
  width: fit-content;
  margin-top: -1.00px;
  text-align: center;
}

.SP .span {
  color: #ffffff;
  line-height: 22px;
}

.SP .text-wrapper-3 {
  color: #fff349;
  font-size: var(--SP-notosansjp-bold-20-font-size);
  line-height: var(--SP-notosansjp-bold-20-line-height);
  font-family: var(--SP-notosansjp-bold-20-font-family);
  font-style: var(--SP-notosansjp-bold-20-font-style);
  font-weight: var(--SP-notosansjp-bold-20-font-weight);
  letter-spacing: var(--SP-notosansjp-bold-20-letter-spacing);
}

.SP .div-2 {
  position: relative;
  width: fit-content;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 700;
  color: transparent;
  font-size: 20px;
  text-align: center;
  letter-spacing: 0;
  line-height: 20px;
}

.SP .text-wrapper-4 {
  color: #ffffff;
  font-size: 14px;
  line-height: 22px;
}

.SP .IPO {
  margin-left: -5.00px;
  margin-right: -5.00px;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 700;
  color: transparent;
  font-size: 14px;
  letter-spacing: 0;
  line-height: 14px;
  position: relative;
  width: fit-content;
  text-align: center;
}

.SP .element {
  position: absolute;
  width: 193px;
  height: 193px;
  top: 483px;
  left: 136px;
}

.SP .logo {
  position: absolute;
  width: 326px;
  height: 58px;
  top: 988px;
  left: 70px;
  background-image: url(./img/image-1.png);
  background-size: cover;
  background-position: 50% 50%;
}

.SP .view-4 {
  position: absolute;
  width: 273px;
  height: 174px;
  top: 1068px;
  left: 95px;
}

.SP .mask-group {
  position: absolute;
  width: 138px;
  height: 174px;
  top: 0;
  left: 0;
  background-image: url(./img/image.png);
  background-size: 100% 100%;
}

.SP .mask-group-2 {
  position: absolute;
  width: 131px;
  height: 174px;
  top: 0;
  left: 142px;
  transform: rotate(180deg);
}

.SP .element-2 {
  position: absolute;
  width: 131px;
  height: 174px;
  top: 0;
  left: 0;
  transform: rotate(-180deg);
}

.SP .view-5 {
  display: flex;
  flex-direction: column;
  width: 390px;
  align-items: center;
  gap: 16px;
  position: absolute;
  top: -20px;
  left: 38px;
}

.SP .element-3 {
  position: relative;
  width: 80px;
  height: 80px;
  object-fit: cover;
}

.SP .div-3 {
  display: flex;
  flex-direction: column;
  width: 390px;
  height: 600px;
  align-items: center;
  position: absolute;
  top: 2202px;
  left: 1px;
  background-color: var(--white);
  border-radius: 40px 40px 0px 0px;
  box-shadow: 0px -4px 24px #40b24d1f;
}

.SP .div-4 {
  display: flex;
  flex-direction: column;
  width: 390px;
  align-items: flex-start;
  gap: 32px;
  padding: 36px 0px 0px;
  position: relative;
  flex: 0 0 auto;
}

.SP .frame-2 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: 0px 32px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.SP .div-5 {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  position: relative;
  flex: 0 0 auto;
}

.SP .ads-click-wrapper {
  display: flex;
  width: 64px;
  height: 64px;
  align-items: center;
  justify-content: center;
  gap: 6.4px;
  padding: 11.2px 12px;
  position: relative;
  background-color: var(--primary-green50);
  border-radius: 31.6px;
  border: 1.6px solid;
  border-color: var(--primary-green500);
}

.SP .img-2 {
  position: relative;
  width: 40px;
  height: 40px;
}

.SP .div-6 {
  position: relative;
  align-self: stretch;
  font-family: var(--SP-notosansjp-bold-24-font-family);
  font-weight: var(--SP-notosansjp-bold-24-font-weight);
  color: transparent;
  font-size: var(--SP-notosansjp-bold-24-font-size);
  text-align: center;
  letter-spacing: var(--SP-notosansjp-bold-24-letter-spacing);
  line-height: var(--SP-notosansjp-bold-24-line-height);
  font-style: var(--SP-notosansjp-bold-24-font-style);
}

.SP .text-wrapper-5 {
  color: #000000;
  font-family: var(--SP-notosansjp-bold-24-font-family);
  font-style: var(--SP-notosansjp-bold-24-font-style);
  font-weight: var(--SP-notosansjp-bold-24-font-weight);
  letter-spacing: var(--SP-notosansjp-bold-24-letter-spacing);
  line-height: var(--SP-notosansjp-bold-24-line-height);
  font-size: var(--SP-notosansjp-bold-24-font-size);
}

.SP .text-wrapper-6 {
  color: #1fa74b;
  font-family: var(--SP-notosansjp-bold-24-font-family);
  font-style: var(--SP-notosansjp-bold-24-font-style);
  font-weight: var(--SP-notosansjp-bold-24-font-weight);
  letter-spacing: var(--SP-notosansjp-bold-24-letter-spacing);
  line-height: var(--SP-notosansjp-bold-24-line-height);
  font-size: var(--SP-notosansjp-bold-24-font-size);
}

.SP .HR-wrapper {
  display: flex;
  width: 390px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0px 36px;
  position: relative;
  flex: 0 0 auto;
}

.SP .HR {
  position: relative;
  flex: 1;
  font-family: var(--SP-notosansjp-medium-14-font-family);
  font-weight: var(--SP-notosansjp-medium-14-font-weight);
  color: transparent;
  font-size: var(--SP-notosansjp-medium-14-font-size);
  letter-spacing: var(--SP-notosansjp-medium-14-letter-spacing);
  line-height: var(--SP-notosansjp-medium-14-line-height);
  font-style: var(--SP-notosansjp-medium-14-font-style);
}

.SP .text-wrapper-7 {
  color: #000000;
  font-family: var(--SP-notosansjp-medium-14-font-family);
  font-style: var(--SP-notosansjp-medium-14-font-style);
  font-weight: var(--SP-notosansjp-medium-14-font-weight);
  letter-spacing: var(--SP-notosansjp-medium-14-letter-spacing);
  line-height: var(--SP-notosansjp-medium-14-line-height);
  font-size: var(--SP-notosansjp-medium-14-font-size);
}

.SP .text-wrapper-8 {
  color: #1fa74b;
  font-family: var(--SP-notosansjp-medium-14-font-family);
  font-style: var(--SP-notosansjp-medium-14-font-style);
  font-weight: var(--SP-notosansjp-medium-14-font-weight);
  letter-spacing: var(--SP-notosansjp-medium-14-letter-spacing);
  line-height: var(--SP-notosansjp-medium-14-line-height);
  font-size: var(--SP-notosansjp-medium-14-font-size);
}

.SP .div-wrapper {
  position: relative;
  width: 390px;
  height: 694px;
}

.SP .overlap-group-3 {
  position: relative;
  width: 507px;
  height: 694px;
  left: -70px;
}

.SP .view-6 {
  position: absolute;
  width: 507px;
  height: 594px;
  top: 100px;
  left: 0;
}

.SP .rectangle {
  width: 338px;
  height: 109px;
  top: 443px;
  left: 112px;
  border-radius: 288px;
  background: linear-gradient(90deg,
      rgba(255, 255, 255, 0.2) 0%,
      rgba(166, 255, 81, 0.2) 39%,
      rgba(255, 251, 187, 0.2) 100%);
  opacity: 0.5;
  position: absolute;
  transform: rotate(-15.36deg);
}

.SP .rectangle-2 {
  width: 338px;
  height: 109px;
  top: 43px;
  left: 160px;
  border-radius: 288px;
  background: linear-gradient(90deg,
      rgba(255, 251, 187, 0.2) 0%,
      rgba(166, 255, 81, 0.2) 61%,
      rgba(255, 255, 255, 0.2) 100%);
  opacity: 0.5;
  position: absolute;
  transform: rotate(-15.36deg);
}

.SP .rectangle-3 {
  width: 338px;
  height: 39px;
  top: 228px;
  left: -1px;
  border-radius: 288px;
  background: linear-gradient(90deg,
      rgba(255, 251, 187, 0.2) 0%,
      rgba(166, 255, 81, 0.2) 61%,
      rgba(255, 255, 255, 0.2) 100%);
  opacity: 0.5;
  position: absolute;
  transform: rotate(-15.36deg);
}

.SP .element-4 {
  display: flex;
  flex-direction: column;
  width: 390px;
  align-items: center;
  gap: 32px;
  position: absolute;
  top: 0;
  left: 70px;
  margin-top: 20px;
}

.SP .div-7 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  margin-top: 32px;
}

.SP .div-7-2 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;

}

.SP .img-3 {
  position: relative;
  width: 34px;
  height: 34px;
}

.SP .text-wrapper-9 {
  position: relative;
  width: fit-content;
  margin-top: -1.00px;
  font-family: var(--SP-notosansjp-bold-24-font-family);
  font-weight: var(--SP-notosansjp-bold-24-font-weight);
  color: #000000;
  font-size: var(--SP-notosansjp-bold-24-font-size);
  text-align: center;
  letter-spacing: var(--SP-notosansjp-bold-24-letter-spacing);
  line-height: var(--SP-notosansjp-bold-24-line-height);
  white-space: nowrap;
  font-style: var(--SP-notosansjp-bold-24-font-style);
}

.SP .frame-3 {
  display: flex;
  flex-direction: column;
  width: 318px;
  align-items: flex-start;
  gap: 40px;
  position: relative;
  flex: 0 0 auto;
}

.SP .frame-4 {
  display: flex;
  align-items: center;
  gap: 16px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.SP .frame-5 {
  display: flex;
  width: 108px;
  height: 108px;
  align-items: center;
  justify-content: center;
  gap: 5.92px;
  position: relative;
  background-color: var(--white);
  border-radius: 6px;
  overflow: hidden;
  border: 1.11px solid;
  border-color: var(--primary-green600-primary);
}

.SP .mask-group-3 {
  position: relative;
  width: 108px;
  height: 108px;
}

.SP .num-wrapper {
  position: absolute;
  width: 36px;
  height: 36px;
  top: 0;
  left: 0;
  background-image: url(./img/vector-1-4.svg);
  background-size: 100% 100%;
}

.SP .num {
  position: absolute;
  width: 16px;
  top: 5px;
  left: 4px;
  font-family: "DIN 2014-Demi", Helvetica;
  font-weight: 400;
  color: var(--white);
  font-size: 20px;
  text-align: center;
  letter-spacing: 0;
  line-height: 18px;
}

.SP .frame-6 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 10px;
  position: relative;
  flex: 1;
  align-self: stretch;
  flex-grow: 1;
}

.SP .text-wrapper-10 {
  position: relative;
  align-self: stretch;
  height: 44px;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 700;
  color: var(--primary-green600-primary);
  font-size: 15px;
  letter-spacing: 0;
  line-height: 24px;
}

.SP .text-wrapper-11 {
  position: relative;
  align-self: stretch;
  height: 44px;
  font-family: var(--SP-notosansjp-medium-14-font-family);
  font-weight: var(--SP-notosansjp-medium-14-font-weight);
  color: #000000;
  font-size: var(--SP-notosansjp-medium-14-font-size);
  letter-spacing: var(--SP-notosansjp-medium-14-letter-spacing);
  line-height: var(--SP-notosansjp-medium-14-line-height);
  font-style: var(--SP-notosansjp-medium-14-font-style);
}

.SP .CTA {
  display: inline-flex;
  flex-direction: column;
  position: relative;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.SP .CTA-sp {
  display: inline-flex;
  flex-direction: column;
  position: relative;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  gap: 8px;
  top: 50px;
}

.SP .frame-wrapper {
  cursor: pointer !important;
  all: unset;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  width: 328px;
  position: relative;
  flex: 0 0 auto;
  margin-top: -4.00px;
  margin-left: -4.00px;
  margin-right: -4.00px;
  border-radius: 69px;
  border: 4px solid;
  border-color: #fda14b;
  box-shadow: 0px 0px 12px #fa834a40;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.SP .frame-7 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 0px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  margin-top: -1.25px;
  margin-left: -1.25px;
  border-radius: 92px;
  border: 2.5px solid;
  border-color: var(--white);
  background: linear-gradient(90deg,
      rgba(245, 62, 52, 1) 0%,
      rgba(247, 83, 74, 1) 36%,
      rgba(250, 131, 74, 1) 78%,
      rgba(254, 180, 74, 1) 100%);
}

.SP .frame-8 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  position: relative;
  flex: 0 0 auto;
}

.SP .text-wrapper-12 {
  position: relative;
  width: fit-content;
  margin-top: -1.00px;
  font-family: var(--SP-notosansjp-bold-24-font-family);
  font-weight: var(--SP-notosansjp-bold-24-font-weight);
  color: var(--white);
  font-size: var(--SP-notosansjp-bold-24-font-size);
  text-align: center;
  letter-spacing: var(--SP-notosansjp-bold-24-letter-spacing);
  line-height: var(--SP-notosansjp-bold-24-line-height);
  white-space: nowrap;
  font-style: var(--SP-notosansjp-bold-24-font-style);
}

.SP .img-4 {
  position: relative;
  width: 36px;
  height: 36px;
}

.SP .frame-wrapper-2 {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 4px 0px;
  position: relative;
  flex: 0 0 auto;
}

.SP .frame-9 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  position: relative;
  flex: 0 0 auto;
}

.SP .text-wrapper-13 {
  position: relative;
  width: fit-content;
  font-family: var(--SP-notosansjp-bold-12-font-family);
  font-weight: var(--SP-notosansjp-bold-12-font-weight);
  color: var(--secondary-orangered500-primary);
  font-size: var(--SP-notosansjp-bold-12-font-size);
  text-align: center;
  letter-spacing: var(--SP-notosansjp-bold-12-letter-spacing);
  line-height: var(--SP-notosansjp-bold-12-line-height);
  white-space: nowrap;
  font-style: var(--SP-notosansjp-bold-12-font-style);
}

.SP .div-8 {
  display: inline-flex;
  align-items: flex-start;
  position: relative;
  flex: 0 0 auto;
}

.SP .call {
  position: relative;
  width: 22px;
  height: 22px;
}

.SP .element-5 {
  position: relative;
  width: fit-content;
  margin-top: -1.00px;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 700;
  color: var(--secondary-orangered500-primary);
  font-size: 14px;
  text-align: center;
  letter-spacing: 0;
  line-height: 14px;
}

.SP .text-wrapper-14 {
  line-height: 22px;
}

.SP .text-wrapper-15 {
  font-size: var(--SP-notosansjp-bold-12-font-size);
  line-height: var(--SP-notosansjp-bold-12-line-height);
  font-family: var(--SP-notosansjp-bold-12-font-family);
  font-style: var(--SP-notosansjp-bold-12-font-style);
  font-weight: var(--SP-notosansjp-bold-12-font-weight);
  letter-spacing: var(--SP-notosansjp-bold-12-letter-spacing);
}

.SP .FV {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  position: absolute;
  top: 0;
  left: 0;
}

.SP .TOP {
  position: relative;
  width: 389px;
  height: 991px;
  margin-top: -50px;
}

.SP .overlap-3 {
  position: absolute;
  width: 390px;
  height: 341px;
  top: 650px;
  left: -1px;
}

.SP .mask-group-4 {
  position: absolute;
  width: 389px;
  height: 278px;
  top: 63px;
  left: 1px;
}

.SP .view-7 {
  display: flex;
  width: 390px;
  height: 110px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0px 36px;
  position: absolute;
  top: 177px;
  left: 0;
}

.SP .CTA-2 {
  display: inline-flex;
  flex-direction: column;
  position: absolute;
  top: 0;
  left: 35px;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.SP .overlap-4 {
  position: absolute;
  width: 393px;
  height: 446px;
  top: -2px;
  left: -3px;
}

.SP .rectangle-4 {
  width: 235px;
  height: 76px;
  top: 30px;
  left: 6px;
  border-radius: 288px;
  background: linear-gradient(90deg,
      rgba(166, 255, 81, 0.2) 33%,
      rgba(255, 254, 243, 0.2) 100%);
  position: absolute;
  transform: rotate(-15.36deg);
}

.SP .mask-group-5 {
  position: absolute;
  width: 389px;
  height: 444px;
  top: 2px;
  left: 4px;
}

.SP .TOP-2 {
  position: absolute;
  width: 116px;
  height: 331px;
  top: 52px;
  left: 38px;
}

.SP .frame-10 {
  display: flex;
  flex-direction: column;
  width: 58px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 4px;
  position: relative;
  top: 44px;
  left: 0;
  border-radius: 2px 0px 2px 2px;
  background: none;
  /* ← 元の背景消す */
  transform: translateX(-10px);
}

.SP .frame-10::before {
  content: "";
  position: absolute;
  top: 0;
  left: 10px;
  /* ← 逆に右にずらす！ */
  width: 100%;
  height: 100%;
  border-radius: 2px 0px 2px 2px;
  background: linear-gradient(163deg,
      rgba(141, 210, 96, 1) 0%,
      rgba(31, 167, 75, 1) 40%,
      rgba(25, 136, 61, 1) 100%);
  z-index: -1;
}

.SP .div-9 {
  position: relative;
  width: 17px;
  margin-top: -1.00px;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 700;
  color: var(--white);
  font-size: 40px;
  text-align: center;
  letter-spacing: 0;
  line-height: 40px;
}

.SP .text-wrapper-16 {
  line-height: 46px;
}

.SP .text-wrapper-17 {
  font-size: 28px;
  line-height: 37px;
  display: block;
  transform: translateX(6px);
  /* ←ここで調整！ */
}

.SP .overlap-group-4 {
  position: absolute;
  width: 58px;
  height: 244px;
  top: 0;
  left: 58px;
  border-radius: 2px 2px 2px 0px;
}

.SP .frame-11 {
  display: flex;
  flex-direction: column;
  width: 58px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 8px;
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 2px 2px 2px 0px;
  background: linear-gradient(163deg,
      rgba(141, 210, 96, 1) 0%,
      rgba(31, 167, 75, 1) 40%,
      rgba(25, 136, 61, 1) 100%);
}

.SP .text-wrapper-18 {
  position: relative;
  align-self: stretch;
  margin-top: -1.00px;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 700;
  color: var(--white);
  font-size: 28px;
  text-align: center;
  letter-spacing: 0;
  line-height: 32px;
}

.SP .text-wrapper-19 {
  position: absolute;
  height: 78px;
  top: 69px;
  left: 13px;
  -webkit-text-stroke: 2px #ffffff;
  background: linear-gradient(196deg,
      rgba(250, 131, 74, 1) 12%,
      rgba(254, 180, 74, 1) 39%,
      rgba(254, 233, 74, 1) 61%);
  -webkit-background-clip: text !important;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  font-family: "DM Sans", Helvetica;
  font-weight: 600;
  font-style: italic;
  color: transparent;
  font-size: 68px;
  letter-spacing: 0;
  line-height: 78px;
  white-space: nowrap;
}

@media (max-width: 380px) {
  .SP .text-wrapper-19 {
    top: 67px;
  }
}

.SP .TOP-3 {
  display: flex;
  flex-direction: column;
  width: 396px;
  align-items: center;
  gap: 16px;
  position: absolute;
  top: 472px;
  left: -4px;
}

.SP .frame-12 {
  display: flex;
  height: 64px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0px 36px;
  position: relative;
  align-self: stretch;
  width: 100%;
}

.SP .div-10 {
  position: relative;
  flex: 1;
  margin-top: -1.00px;
  font-family: var(--SP-notosansjp-bold-20-font-family);
  font-weight: var(--SP-notosansjp-bold-20-font-weight);
  color: transparent;
  font-size: var(--SP-notosansjp-bold-20-font-size);
  text-align: center;
  letter-spacing: var(--SP-notosansjp-bold-20-letter-spacing);
  line-height: var(--SP-notosansjp-bold-20-line-height);
  font-style: var(--SP-notosansjp-bold-20-font-style);
}

.SP .text-wrapper-20 {
  color: #1fa74b;
  font-family: var(--SP-notosansjp-bold-20-font-family);
  font-style: var(--SP-notosansjp-bold-20-font-style);
  font-weight: var(--SP-notosansjp-bold-20-font-weight);
  letter-spacing: var(--SP-notosansjp-bold-20-letter-spacing);
  line-height: var(--SP-notosansjp-bold-20-line-height);
  font-size: var(--SP-notosansjp-bold-20-font-size);
}

.SP .text-wrapper-21 {
  color: #000000;
  font-family: var(--SP-notosansjp-bold-20-font-family);
  font-style: var(--SP-notosansjp-bold-20-font-style);
  font-weight: var(--SP-notosansjp-bold-20-font-weight);
  letter-spacing: var(--SP-notosansjp-bold-20-letter-spacing);
  line-height: var(--SP-notosansjp-bold-20-line-height);
  font-size: var(--SP-notosansjp-bold-20-font-size);
}

.SP .logo-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8.12px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.SP .logo-2 {
  position: relative;
  width: 320.86px;
  height: 57.04px;
  background-image: url(./img/image-1-1.png);
  background-size: cover;
  background-position: 50% 50%;
}

.SP .overlap-5 {
  position: absolute;
  width: 390px;
  height: 2857px;
  top: 3646px;
  left: 0;
}

.SP .div-11 {
  display: flex;
  flex-direction: column;
  width: 390px;
  height: 1443px;
  align-items: center;
  gap: 60px;
  position: absolute;
  top: 0;
  left: 0;
  background-color: var(--green);
  border-radius: 40px 40px 0px 0px;
  box-shadow: 0px -4px 24px #41b24e1f;
}

.SP .handshake-wrapper {
  background-color: var(--white);
  border-color: var(--primary-green500)!important;
  display: flex;
  width: 64px;
  height: 64px;
  align-items: center;
  justify-content: center;
  gap: 6.4px;
  padding: 11.2px 12px;
  position: relative;
  border-radius: 31.6px;
  border: 1.6px solid;
}

.SP .HR-2 {
  position: relative;
  flex: 1;
  margin-top: -1.00px;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 400;
  color: transparent;
  font-size: 14px;
  letter-spacing: 0;
  line-height: 22px;
}

.SP .text-wrapper-22 {
  font-weight: 700;
  color: #1fa74b;
}

.SP .view-8 {
  display: flex;
  flex-direction: column;
  width: 390px;
  align-items: flex-start;
  gap: 16px;
  padding: 32px 0px;
  position: relative;
  flex: 0 0 auto;
  background-color: #ebffd9;
}

.SP .frame-13 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0px 36px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.SP .frame-14 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  position: relative;
  flex: 1;
  flex-grow: 1;
}

.SP .img-5 {
  position: relative;
  width: 32px;
  height: 32px;
}

.SP .div-12 {
  position: relative;
  flex: 1;
  margin-top: -1.00px;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 700;
  color: transparent;
  font-size: 14px;
  letter-spacing: 0;
  line-height: 22px;
}

.SP .text-wrapper-23 {
  color: #000000;
}

.SP .text-wrapper-24 {
  color: #1fa74b;
}

.SP .view-9 {
  display: flex;
  width: 318px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 32px 36px;
  position: relative;
  flex: 0 0 auto;
  background-color: #ffffff;
  border-radius: 16px;
  border: 1.5px solid;
  border-color: var(--primary-green600-primary);
}

.SP .frame-15 {
  display: flex;
  align-items: center;
  gap: 8px;
  position: relative;
  flex: 1;
  flex-grow: 1;
}

.SP .frame-16 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 17px;
  position: relative;
  flex: 1;
  flex-grow: 1;
}

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

.SP .text-wrapper-25 {
  position: relative;
  width: fit-content;
  margin-top: -1.00px;
  font-family: var(--SP-notosansjp-bold-12-font-family);
  font-weight: var(--SP-notosansjp-bold-12-font-weight);
  color: var(--primary-green600-primary);
  font-size: var(--SP-notosansjp-bold-12-font-size);
  text-align: center;
  letter-spacing: var(--SP-notosansjp-bold-12-letter-spacing);
  line-height: var(--SP-notosansjp-bold-12-line-height);
  white-space: nowrap;
  font-style: var(--SP-notosansjp-bold-12-font-style);
}

.SP .frame-18 {
  display: flex;
  width: 246px;
  height: 32px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  position: relative;
}

.SP .work {
  position: relative;
  width: 34px;
  height: 34px;
  margin-top: -1.00px;
  margin-bottom: -1.00px;
}

.SP .element-6 {
  position: relative;
  width: fit-content;
  margin-top: -3.00px;
  margin-bottom: -1.00px;
  font-family: var(--SP-notosansjp-bold-24-font-family);
  font-weight: var(--SP-notosansjp-bold-24-font-weight);
  color: #000000;
  font-size: var(--SP-notosansjp-bold-24-font-size);
  text-align: center;
  letter-spacing: var(--SP-notosansjp-bold-24-letter-spacing);
  line-height: var(--SP-notosansjp-bold-24-line-height);
  white-space: nowrap;
  font-style: var(--SP-notosansjp-bold-24-font-style);
}

.SP .div-13 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.SP .frame-19 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 4px 0px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  background-color: #f5ffeb;
  border-radius: 4px;
}

.SP .text-wrapper-26 {
  position: relative;
  width: fit-content;
  margin-top: -1.00px;
  font-family: var(--SP-notosansjp-bold-15-font-family);
  font-weight: var(--SP-notosansjp-bold-15-font-weight);
  color: #000000;
  font-size: var(--SP-notosansjp-bold-15-font-size);
  text-align: center;
  letter-spacing: var(--SP-notosansjp-bold-15-letter-spacing);
  line-height: var(--SP-notosansjp-bold-15-line-height);
  white-space: nowrap;
  font-style: var(--SP-notosansjp-bold-15-font-style);
}

.SP .frame-20 {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  position: absolute;
  top: 1160px;
  left: 0;
}

.SP .overlap-group-wrapper-2 {
  position: relative;
  width: 390px;
  height: 1697px;
}

.SP .overlap-group-5 {
  position: relative;
  width: 615px;
  height: 2024px;
  left: -156px;
}

.SP .div-14 {
  position: absolute;
  width: 390px;
  height: 2024px;
  top: 0;
  left: 156px;
  background-color: var(--white);
  border-radius: 40px 40px 0px 0px;
  box-shadow: 0px -4px 24px #41b24e1f;
}

.SP .rectangle-5 {
  width: 482px;
  height: 172px;
  top: 1299px;
  left: 14px;
  border-radius: 124.9px;
  background: linear-gradient(90deg,
      rgba(255, 255, 255, 0.2) 0%,
      rgba(255, 249, 208, 0.2) 18%,
      rgba(166, 255, 81, 0.2) 67%);
  position: absolute;
  transform: rotate(-15.36deg);
}

.SP .rectangle-6 {
  width: 482px;
  height: 172px;
  top: 327px;
  left: 14px;
  border-radius: 124.9px;
  background: linear-gradient(90deg,
      rgba(255, 255, 255, 0.2) 0%,
      rgba(166, 255, 81, 0.2) 67%,
      rgba(249, 255, 81, 0.2) 100%);
  position: absolute;
  transform: rotate(-15.36deg);
}

.SP .frame-21 {
  display: flex;
  width: 529px;
  height: 1459px;
  align-items: center;
  gap: 10px;
  padding: 19px 69px;
  position: absolute;
  top: 0;
  left: 86px;
}

.SP .mask-group-6 {
  position: absolute;
  width: 390px;
  height: 1550px;
  top: 0;
  left: 70px;
}

.SP .div-15 {
  display: flex;
  flex-direction: column;
  width: 390px;
  align-items: flex-start;
  gap: 48px;
  position: relative;
}

.SP .div-16 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 32px;
  padding: 36px 0px 0px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.SP .campaign-wrapper {
  background-color: var(--paleorange-50);
  border-color: var(--paleorange-400)!important;
  display: flex;
  width: 64px;
  height: 64px;
  align-items: center;
  justify-content: center;
  gap: 6.4px;
  padding: 11.2px 12px;
  position: relative;
  border-radius: 31.6px;
  border: 1.6px solid;
}

.SP .text-wrapper-27 {
  color: #f87508;
  font-family: var(--SP-notosansjp-bold-24-font-family);
  font-style: var(--SP-notosansjp-bold-24-font-style);
  font-weight: var(--SP-notosansjp-bold-24-font-weight);
  letter-spacing: var(--SP-notosansjp-bold-24-letter-spacing);
  line-height: var(--SP-notosansjp-bold-24-line-height);
  font-size: var(--SP-notosansjp-bold-24-font-size);
}

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

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

.SP .div-17 {
  position: relative;
  width: 140px;
  height: 140px;
  background-image: url(./img/2x-2.png);
  background-size: cover;
  background-position: 50% 50%;
}

.SP .frame-23 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.SP .frame-24 {
  display: flex;
  width: 390px;
  align-items: center;
  justify-content: center;
  gap: 12px;
  position: relative;
}

.SP .div-18 {
  position: relative;
  width: 111px;
  margin-top: -1.00px;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 700;
  color: #000000;
  font-size: 28px;
  text-align: right;
  letter-spacing: 0;
  line-height: 28px;
}

.SP .text-wrapper-28 {
  line-height: var(--SP-notosansjp-bold-28-line-height);
  font-family: var(--SP-notosansjp-bold-28-font-family);
  font-style: var(--SP-notosansjp-bold-28-font-style);
  font-weight: var(--SP-notosansjp-bold-28-font-weight);
  letter-spacing: var(--SP-notosansjp-bold-28-letter-spacing);
  font-size: var(--SP-notosansjp-bold-28-font-size);
}

.SP .text-wrapper-29 {
  font-size: var(--SP-notosansjp-bold-20-font-size);
  line-height: var(--SP-notosansjp-bold-20-line-height);
  font-family: var(--SP-notosansjp-bold-20-font-family);
  font-style: var(--SP-notosansjp-bold-20-font-style);
  font-weight: var(--SP-notosansjp-bold-20-font-weight);
  letter-spacing: var(--SP-notosansjp-bold-20-letter-spacing);
}

.SP .text-wrapper-30 {
  position: relative;
  width: 147px;
  height: 34px;
  font-family: var(--SP-notosansjp-bold-15-font-family);
  font-weight: var(--SP-notosansjp-bold-15-font-weight);
  color: var(--primary-green600-primary);
  font-size: var(--SP-notosansjp-bold-15-font-size);
  letter-spacing: var(--SP-notosansjp-bold-15-letter-spacing);
  line-height: var(--SP-notosansjp-bold-15-line-height);
  font-style: var(--SP-notosansjp-bold-15-font-style);
  display: flex;
  align-items: flex-end;
}

.SP .text-wrapper-31 {
  width: 330px;
  font-weight: var(--SP-notosansjp-medium-15-font-weight);
  color: #000000;
  font-size: var(--SP-notosansjp-medium-15-font-size);
  line-height: var(--SP-notosansjp-medium-15-line-height);
  position: relative;
  font-family: var(--SP-notosansjp-medium-15-font-family);
  letter-spacing: var(--SP-notosansjp-medium-15-letter-spacing);
  font-style: var(--SP-notosansjp-medium-15-font-style);
}

.SP .IT {
  position: relative;
  width: 140px;
  height: 140px;
  background-image: url(./img/it.png);
  background-size: cover;
  background-position: 50% 50%;
}

.SP .div-19 {
  position: relative;
  width: 140px;
  height: 140px;
  background-image: url(./img/2x.png);
  background-size: cover;
  background-position: 50% 50%;
}

.SP .CTA-3 {
  display: inline-flex;
  flex-direction: column;
  position: absolute;
  top: 1530px;
  left: 191px;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.SP .element-7 {
  display: flex;
  flex-direction: column;
  width: 390px;
  align-items: flex-start;
  gap: 55px;
  padding: 60px 0px;
  position: absolute;
  top: 6521px;
  left: 0;
  background-color: var(--gray-10);
}

.SP .line {
  position: absolute;
  width: 4px;
  height: 246px;
  top: 176px;
  left: 52px;
}

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

.SP .frame-wrapper-3 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  padding: 0px 36px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.SP .frame-26 {
  display: flex;
  align-items: flex-start;
  gap: 21px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.SP .STEP-wrapper {
  display: flex;
  flex-direction: column;
  width: 36px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  position: relative;
  background-color: var(--gray-10);
}

.SP .STEP {
  position: relative;
  align-self: stretch;
  margin-top: -1.00px;
  font-family: "DIN 2014-Regular", Helvetica;
  font-weight: 400;
  color: var(--primary-green600-primary);
  font-size: 16px;
  text-align: center;
  letter-spacing: 0;
  line-height: 32px;
}

.SP .text-wrapper-32 {
  font-family: "DIN 2014-Regular", Helvetica;
  font-weight: 400;
  color: #1fa74b;
  font-size: 16px;
  letter-spacing: 0;
  line-height: 32px;
}

.SP .text-wrapper-33 {
  font-size: 34px;
}

.SP .frame-27 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  position: relative;
  flex: 1;
  flex-grow: 1;
}

.SP .text-wrapper-34 {
  position: relative;
  align-self: stretch;
  margin-top: -1.00px;
  font-family: var(--SP-notosansjp-bold-20-font-family);
  font-weight: var(--SP-notosansjp-bold-20-font-weight);
  color: #000000;
  font-size: var(--SP-notosansjp-bold-20-font-size);
  letter-spacing: var(--SP-notosansjp-bold-20-letter-spacing);
  line-height: var(--SP-notosansjp-bold-20-line-height);
  font-style: var(--SP-notosansjp-bold-20-font-style);
}

.SP .text-wrapper-35 {
  position: relative;
  align-self: stretch;
  font-family: var(--SP-notosansjp-medium-14-font-family);
  font-weight: var(--SP-notosansjp-medium-14-font-weight);
  color: #000000;
  font-size: var(--SP-notosansjp-medium-14-font-size);
  letter-spacing: var(--SP-notosansjp-medium-14-letter-spacing);
  line-height: var(--SP-notosansjp-medium-14-line-height);
  font-style: var(--SP-notosansjp-medium-14-font-style);
}

.SP .div-wrapper-2 {
  display: flex;
  flex-direction: column;
  width: 390px;
  height: 1360px;
  align-items: center;
  gap: 72px;
  position: absolute;
  top: 7119px;
  left: 0;
}

.SP .div-20 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 45px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.SP .view-11 {
  display: flex;
  width: 390px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  position: relative;
  flex: 0 0 auto;
  margin-top: 15px;
}

.SP .FAQ {
  flex-direction: column;
  width: 323px;
  align-items: flex-start;
  gap: 11px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.SP .FAQ-2 {
  align-items: center;
  justify-content: space-around;
  gap: 136px;
  padding: 8px;
  align-self: stretch;
  width: 100%;
  background-color: #f9fff4;
  border-radius: 8px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.SP .div-21 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  position: relative;
  flex: 1;
  flex-grow: 1;
}

.SP .frame-28 {
  position: relative;
  align-self: stretch;
  width: 100%;
  height: 24px;
}

.SP .q {
  position: absolute;
  top: 0;
  left: 0;
  font-family: var(--SP-notosansjp-bold-14-font-family);
  font-weight: var(--SP-notosansjp-bold-14-font-weight);
  color: #333333;
  font-size: var(--SP-notosansjp-bold-14-font-size);
  letter-spacing: var(--SP-notosansjp-bold-14-letter-spacing);
  line-height: var(--SP-notosansjp-bold-14-line-height);
  white-space: nowrap;
  font-style: var(--SP-notosansjp-bold-14-font-style);
}

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

.SP .frame-30 {
  display: inline-flex;
  align-items: flex-start;
  gap: 4px;
  position: relative;
  flex: 0 0 auto;
}

.SP .text-wrapper-36 {
  position: relative;
  width: fit-content;
  margin-top: -1.00px;
  font-family: var(--SP-notosansjp-bold-14-font-family);
  font-weight: var(--SP-notosansjp-bold-14-font-weight);
  color: var(--primary-green700);
  font-size: var(--SP-notosansjp-bold-14-font-size);
  letter-spacing: var(--SP-notosansjp-bold-14-letter-spacing);
  line-height: var(--SP-notosansjp-bold-14-line-height);
  white-space: nowrap;
  font-style: var(--SP-notosansjp-bold-14-font-style);
}

.SP .text-wrapper-37 {
  width: 289px;
  margin-top: -1.00px;
  font-weight: var(--SP-notosansjp-bold-14-font-weight);
  color: var(--primary-green700);
  font-size: var(--SP-notosansjp-bold-14-font-size);
  line-height: var(--SP-notosansjp-bold-14-line-height);
  position: relative;
  font-family: var(--SP-notosansjp-bold-14-font-family);
  letter-spacing: var(--SP-notosansjp-bold-14-letter-spacing);
  font-style: var(--SP-notosansjp-bold-14-font-style);
}

.SP .overlap-group-6 {
  position: relative;
  width: 307px;
  height: 24px;
}

.SP .div-22 {
  display: flex;
  flex-direction: column;
  width: 395px;
  height: 1779px;
  align-items: center;
  gap: 36px;
  padding: 10px 0px;
  position: absolute;
  top: 8512px;
  left: -3px;
  background-color: #f5ffeb;
}

.SP .frame-31 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 36px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  margin-bottom: 0px;
}

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

.SP .form-address-city-wrapper {
  display: flex;
  flex-direction: column;
  width: 390px;
  align-items: flex-start;
  gap: 8px;
  padding: 0px 16px;
  position: relative;
  flex: 0 0 auto;
}

.SP .div-23 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.SP .text {
  position: relative;
  width: fit-content;
  margin-top: -1.00px;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 700;
  color: var(--gray900-primary);
  font-size: 14px;
  letter-spacing: 0;
  line-height: 22px;
  white-space: nowrap;
}

.SP .text-field {
  display: flex;
  height: 44px;
  align-items: center;
  padding: 0px 16px;
  position: relative;
  align-self: stretch;
  width: 100%;
  background-color: var(--white);
  border-radius: 6px;
  border: 1px solid;
  border-color: var(--primary-green400);
}

.SP .text-wrapper-38 {
  position: relative;
  width: fit-content;
  font-family: var(--callout-regular-font-family);
  font-weight: var(--callout-regular-font-weight);
  color: var(--textplaceholder-or-disabled);
  font-size: var(--callout-regular-font-size);
  letter-spacing: var(--callout-regular-letter-spacing);
  line-height: var(--callout-regular-line-height);
  white-space: nowrap;
  font-style: var(--callout-regular-font-style);
  border: none;
  /* デフォルトの黒枠を消す */
  outline: none;
  /* フォーカス時の青線も消す（好みで） */
  width: 100%;
  /* 横幅を親要素いっぱいに */
  box-sizing: border-box;
  /* padding含めて幅計算 */
  background: transparent;
  /* 背景色が要らなければ */
  padding: 10px 12px;
  /* お好みで内側の余白 */
  font-size: 1rem;
  /* 好きなサイズ */
  color: #333;
  /* 文字色 */
}

.SP .element-8 {
  font-family: var(--caption2-regular-font-family);
  letter-spacing: var(--caption2-regular-letter-spacing);
  line-height: var(--caption2-regular-line-height);
  position: relative;
  width: fit-content;
  margin-top: -1.00px;
  font-weight: var(--caption2-regular-font-weight);
  color: var(--textplaceholder-or-disabled);
  font-size: var(--caption2-regular-font-size);
  white-space: nowrap;
  font-style: var(--caption2-regular-font-style);
}

.SP .frame-33 {
  position: relative;
  width: 358px;
  height: 236px;
}

.SP .form-name {
  display: flex;
  flex-direction: column;
  width: 358px;
  align-items: flex-start;
  gap: 8px;
  position: absolute;
  top: 0;
  left: 0;
}

.SP .layout {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.SP .element-9 {
  display: block;
  font-family: var(--JP-w4-hiragino-sans-font-family);
  letter-spacing: var(--JP-w4-hiragino-sans-letter-spacing);
  line-height: var(--JP-w4-hiragino-sans-line-height);
  position: relative;
  width: fit-content;
  margin-top: -1.00px;
  font-weight: var(--JP-w4-hiragino-sans-font-weight);
  color: var(--textplaceholder-or-disabled);
  font-size: var(--JP-w4-hiragino-sans-font-size);
  white-space: nowrap;
  font-style: var(--JP-w4-hiragino-sans-font-style);
}

.SP .form-kana {
  display: flex;
  flex-direction: column;
  width: 358px;
  align-items: flex-start;
  gap: 8px;
  position: absolute;
  top: 121px;
  left: 0;
}

.SP .frame-34 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  padding: 0px 16px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.SP .frame-35 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  padding: 8px 16px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.SP .w {
  height: 474px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
}

.SP .div-24 {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  position: relative;
  flex: 0 0 auto;
}

.SP .text-wrapper-39 {
  position: relative;
  width: 356px;
  height: 18px;
  margin-top: -1.00px;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 700;
  color: var(--gray900-primary);
  font-size: 14px;
  letter-spacing: 0;
  line-height: 22px;
  white-space: nowrap;
}

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

.SP .button {
  all: unset;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 17px 70px;
  flex: 0 0 auto;
  position: relative;
  background-color: var(--colors-color-white);
  border-radius: 6px;
  border: 1px solid;
  border-color: var(--primary-green400);
}

.SP .text-wrapper-40 {
  position: relative;
  width: fit-content;
  margin-top: -1.00px;
  font-family: var(--headline-regular-font-family);
  font-weight: var(--headline-regular-font-weight);
  color: var(--primary-green600-primary);
  font-size: var(--headline-regular-font-size);
  text-align: center;
  letter-spacing: var(--headline-regular-letter-spacing);
  line-height: var(--headline-regular-line-height);
  white-space: nowrap;
  font-style: var(--headline-regular-font-style);
}

.SP .button-2 {
  all: unset;
  box-sizing: border-box;
  display: flex;
  width: 355px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 17px 70px;
  flex: 0 0 auto;
  position: relative;
  background-color: var(--colors-color-white);
  border-radius: 6px;
  border: 1px solid;
  border-color: var(--primary-green400);
}

.SP .w-2 {
  height: 218px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
}

.SP .div-25 {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  padding: 0px 1px;
  position: relative;
  flex: 0 0 auto;
}

.SP .frame-37 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0px 16px;
  position: relative;
  flex: 0 0 auto;
}

.SP .frame-38 {
  display: flex;
  width: 390px;
  align-items: flex-start;
  gap: 8px;
  padding: 0px 18px;
  position: relative;
  flex: 0 0 auto;
}

.SP .button-3 {
  all: unset;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 17px 70px;
  flex: 1;
  flex-grow: 1;
  position: relative;
  background-color: var(--colors-color-white);
  border-radius: 6px;
  border: 1px solid;
  border-color: var(--primary-green400);
}

.SP .text-wrapper-41 {
  position: relative;
  width: fit-content;
  margin-top: -1.00px;
  margin-left: -9.00px;
  margin-right: -9.00px;
  font-family: var(--headline-regular-font-family);
  font-weight: var(--headline-regular-font-weight);
  color: var(--primary-green600-primary);
  font-size: var(--headline-regular-font-size);
  text-align: center;
  letter-spacing: var(--headline-regular-letter-spacing);
  line-height: var(--headline-regular-line-height);
  white-space: nowrap;
  font-style: var(--headline-regular-font-style);
}

.SP .text-wrapper-42 {
  margin-left: -22.50px;
  margin-right: -22.50px;
  font-family: var(--headline-regular-font-family);
  font-weight: var(--headline-regular-font-weight);
  color: var(--primary-green600-primary);
  font-size: var(--headline-regular-font-size);
  letter-spacing: var(--headline-regular-letter-spacing);
  line-height: var(--headline-regular-line-height);
  white-space: nowrap;
  position: relative;
  width: fit-content;
  margin-top: -1.00px;
  text-align: center;
  font-style: var(--headline-regular-font-style);
}

.SP .text-wrapper-43 {
  position: relative;
  width: fit-content;
  margin-top: -1.00px;
  margin-left: -13.00px;
  margin-right: -13.00px;
  font-family: var(--headline-regular-font-family);
  font-weight: var(--headline-regular-font-weight);
  color: var(--primary-green600-primary);
  font-size: var(--headline-regular-font-size);
  text-align: center;
  letter-spacing: var(--headline-regular-letter-spacing);
  line-height: var(--headline-regular-line-height);
  white-space: nowrap;
  font-style: var(--headline-regular-font-style);
}

.SP .frame-39 {
  display: flex;
  flex-direction: column;
  width: 354px;
  align-items: center;
  gap: 25px;
  position: relative;
  flex: 0 0 auto;
}

.SP .text-wrapper-44 {
  position: relative;
  align-self: stretch;
  margin-top: -1.00px;
  font-family: var(--SP-notosansjp-bold-12-font-family);
  font-weight: var(--SP-notosansjp-bold-12-font-weight);
  color: var(--gray900-primary);
  font-size: var(--SP-notosansjp-bold-12-font-size);
  letter-spacing: var(--SP-notosansjp-bold-12-letter-spacing);
  line-height: var(--SP-notosansjp-bold-12-line-height);
  font-style: var(--SP-notosansjp-bold-12-font-style);
}

.SP .text-wrapper-45 {
  position: relative;
  align-self: stretch;
  font-family: var(--SP-notosansjp-bold-15-font-family);
  font-weight: var(--SP-notosansjp-bold-15-font-weight);
  color: var(--primary-green600-primary);
  font-size: var(--SP-notosansjp-bold-15-font-size);
  text-align: center;
  letter-spacing: var(--SP-notosansjp-bold-15-letter-spacing);
  line-height: var(--SP-notosansjp-bold-15-line-height);
  text-decoration: underline;
  font-style: var(--SP-notosansjp-bold-15-font-style);
}

.SP .frame-40 {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 15px;
  position: relative;
  flex: 0 0 auto;
}

.SP .button-4 {
  display: flex;
  align-items: center;
  gap: 12px;
  width: auto;
  min-width: 0;
  border: none;
  background: none;
  margin: 0;
  padding: 0;
  position: relative;
}

.SP .button-4 input[type="checkbox"] {
  width: 28px;
  height: 28px;
  margin: 0;
  position: static;
  cursor: pointer;
  opacity: 1;
  flex-shrink: 0;
}

.SP .text-wrapper-46 {
  font-size: var(--SP-notosansjp-bold-15-font-size);
  line-height: var(--SP-notosansjp-bold-15-line-height);
  font-family: var(--SP-notosansjp-bold-15-font-family);
  font-weight: var(--SP-notosansjp-bold-15-font-weight);
  letter-spacing: var(--SP-notosansjp-bold-15-letter-spacing);
  color: var(--gray900-primary);
  font-style: var(--SP-notosansjp-bold-15-font-style);
  width: auto;
  min-width: 0;
  display: inline-block;
  vertical-align: middle;
  word-break: break-all;
  white-space: normal;
}

.SP .CTA-4 {
  all: unset;
  box-sizing: border-box;
  display: flex;
  width: 320px;
  height: 60px;
  padding: 12px 0px;
  position: relative;
  background-color: var(--gray-200);
  border-radius: 92px;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

button.CTA-4.active {
  box-shadow: 0px 0px 16px #8cdc3e40;
  background: linear-gradient(90deg,
      rgba(25, 136, 61, 1) 0%,
      rgba(31, 167, 75, 1) 60%,
      rgba(141, 210, 96, 1) 100%);
  color: #fff;
  /* 例：白字、お好みで */
  transition: background 0.2s;
  border: none;
}

.SP .frame-41 {
  position: absolute;
  width: 390px;
  height: 462px;
  top: 10369px;
  left: 0;
}

.SP .div-26 {
  display: flex;
  flex-direction: column;
  width: 390px;
  height: 312px;
  align-items: flex-start;
  gap: 30px;
  position: absolute;
  top: -40px;
  left: 0;
}

.SP .div-27 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.SP .view-12 {
  display: flex;
  flex-direction: column;
  width: 390px;
  align-items: flex-start;
  gap: 8px;
  padding: 0px 36px;
  position: relative;
  flex: 0 0 auto;
}

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

.SP .text-wrapper-47 {
  position: relative;
  align-self: stretch;
  margin-top: -1.00px;
  font-family: var(--SP-notosansjp-bold-12-font-family);
  font-weight: var(--SP-notosansjp-bold-12-font-weight);
  color: var(--gray-500);
  font-size: var(--SP-notosansjp-bold-12-font-size);
  letter-spacing: var(--SP-notosansjp-bold-12-letter-spacing);
  line-height: var(--SP-notosansjp-bold-12-line-height);
  font-style: var(--SP-notosansjp-bold-12-font-style);
}

.SP .text-wrapper-48 {
  position: relative;
  align-self: stretch;
  font-family: var(--SP-notosansjp-bold-12-font-family);
  font-weight: var(--SP-notosansjp-bold-12-font-weight);
  color: #000000;
  font-size: var(--SP-notosansjp-bold-12-font-size);
  letter-spacing: var(--SP-notosansjp-bold-12-letter-spacing);
  line-height: var(--SP-notosansjp-bold-12-line-height);
  font-style: var(--SP-notosansjp-bold-12-font-style);
}

.SP .CTA-5 {
  display: inline-flex;
  flex-direction: column;
  position: absolute;
  top: 364px;
  left: 35px;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.SP .HR-3 {
  position: absolute;
  width: 119px;
  height: 18px;
  top: 10878px;
  left: 135px;
}

.SP .text-wrapper-49 {
  position: absolute;
  top: -1px;
  left: 0;
  font-family: var(--SP-notosansjp-bold-12-font-family);
  font-weight: var(--SP-notosansjp-bold-12-font-weight);
  color: var(--gray-600);
  font-size: var(--SP-notosansjp-bold-12-font-size);
  text-align: center;
  letter-spacing: var(--SP-notosansjp-bold-12-letter-spacing);
  line-height: var(--SP-notosansjp-bold-12-line-height);
  white-space: nowrap;
  font-style: var(--SP-notosansjp-bold-12-font-style);
}

.SP .view-wrapper {
  display: flex;
  flex-direction: column;
  width: 390px;
  align-items: flex-start;
  gap: 10px;
  position: fixed;
  top: 0;
  margin: 0 auto;
}

.SP .view-13 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.SP .frame-43 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 4px 0px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  background-color: #fffffff2;
  backdrop-filter: blur(2px) brightness(100%);
  -webkit-backdrop-filter: blur(2px) brightness(100%);
}

.SP .menu {
  position: absolute;
  top: 0px;
  left: 16px;
  z-index: 10000;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0px;
  width: 40px;
  height: 40px;
  cursor: pointer;
}

.SP .menu-2 {
  position: relative;
  width: 24px;
  height: 24px;
}

.SP .logo-3 {
  display: flex;
  flex-direction: column;
  width: 390px;
  height: 32px;
  align-items: center;
  justify-content: center;
  padding: 0px 16px;
  position: relative;
  margin-left: 0px;
}

.SP .logo-4 {
  position: relative;
  width: 166px;
  height: 30.0px;
  background-image: url(./img/image-1-2.png);
  background-size: cover;
  background-position: 50% 50%;
}

.SP.pc {
  position: relative;
  width: 1280px;
  height: 11760px;
  background-color: #ffffff;
  overflow: hidden;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.3);
}

.SP .overlap-6 {
  position: absolute;
  width: 1523px;
  height: 11609px;
  top: 0;
  left: -104px;
}

.SP .PC {
  width: 1280px;
  /* ←常に1280px幅 */
  max-width: 100vw;
  /* ←ウィンドウ幅よりはみ出さない */
  margin: 0 auto;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  box-sizing: border-box;
  /* ここに背景やblurなどヘッダー用装飾 */
  background: #fffffff2;
  backdrop-filter: blur(12px) brightness(100%);
  -webkit-backdrop-filter: blur(12px) brightness(100%);
  padding: 0 32px;
}

.pc-header-wrapper {
  width: 100%;
  overflow: hidden;
  position: fixed;
  /* スクロールしても上部固定ならfixed、そうでなければrelative */
  left: 0;
  top: 0;
  z-index: 5000;
  background: transparent;
  /* 背景つけるならここで */
}





.pc-menu {
  z-index: 20000;
  /* ← 他の要素より前にする */
  cursor: pointer;
}





.SP .frame-44 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  flex: 1;
  align-self: stretch;
  width: 100%;
  max-width: 1280px;
  flex-grow: 1;
}

.SP .frame-45 {
  display: inline-flex;
  align-items: flex-start;
  justify-content: flex-end;
  position: relative;
  flex: 0 0 auto;
}

.SP .frame-46 {
  cursor: pointer !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 8px 16px;
  position: relative;
  align-self: stretch;
  flex: 0 0 auto;
  border-radius: 33px;
  background: linear-gradient(90deg,
      rgba(245, 62, 52, 1) 0%,
      rgba(247, 83, 74, 1) 36%,
      rgba(250, 131, 74, 1) 78%,
      rgba(254, 180, 74, 1) 100%);
}

.SP .frame-47 {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  padding: 0px 8px;
  position: relative;
  flex: 0 0 auto;
}

.SP .frame-48 {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.SP .text-wrapper-50 {
  position: relative;
  width: fit-content;
  margin-top: -1.00px;
  font-family: var(--PC-notosansjp-bold-24-font-family);
  font-weight: var(--PC-notosansjp-bold-24-font-weight);
  color: var(--colorsdarkbrownwhitebeige);
  font-size: var(--PC-notosansjp-bold-24-font-size);
  text-align: center;
  letter-spacing: var(--PC-notosansjp-bold-24-letter-spacing);
  line-height: var(--PC-notosansjp-bold-24-line-height);
  white-space: nowrap;
  font-style: var(--PC-notosansjp-bold-24-font-style);
}

.SP .frame-49 {
  display: inline-flex;
  flex-direction: column;
  height: 80px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

.SP .logo-5 {
  position: relative;
  width: 249px;
  height: 45px;
  background-image: url(./img/image-1-3.png);
  background-size: cover;
  background-position: 50% 50%;
}

.SP .component {
  position: absolute;
  width: 1523px;
  height: 11557px;
  top: 52px;
  left: 0;
}

.SP .frame-50 {
  display: flex;
  flex-direction: column;
  width: 1280px;
  height: 1425px;
  align-items: center;
  gap: 8px;
  position: absolute;
  top: 1181px;
  left: 104px;
}

.SP .frame-51 {
  display: inline-flex;
  align-items: center;
  position: relative;
  flex: 0 0 auto;
}

.SP .view-14 {
  position: absolute;
  width: 1280px;
  height: 1477px;
  top: 64px;
  left: -235px;
  background-color: #f4ffeb;
  border-radius: 40px 40px 0px 0px;
  box-shadow: 0px -4px 24px #41b24e1f;
}

.SP .frame-52 {
  display: flex;
  flex-direction: column;
  width: 809.11px;
  align-items: center;
  gap: 51px;
  position: relative;
}

.SP .view-15 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.SP .view-16 {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  position: relative;
  flex: 0 0 auto;
}

.SP .element-10 {
  position: relative;
  width: 124.8px;
  height: 124.8px;
  object-fit: cover;
}

.SP .text-wrapper-51 {
  position: relative;
  width: fit-content;
  font-family: var(--PC-notosansjp-bold-24-font-family);
  font-weight: var(--PC-notosansjp-bold-24-font-weight);
  color: #000000;
  font-size: var(--PC-notosansjp-bold-24-font-size);
  text-align: center;
  letter-spacing: var(--PC-notosansjp-bold-24-letter-spacing);
  line-height: var(--PC-notosansjp-bold-24-line-height);
  white-space: nowrap;
  font-style: var(--PC-notosansjp-bold-24-font-style);
}

.SP .frame-53 {
  display: inline-flex;
  align-items: center;
  position: relative;
  flex: 0 0 auto;
  margin-left: -14.94px;
  margin-right: -14.94px;
}

.SP .frame-54 {
  display: inline-flex;
  align-items: flex-start;
  gap: 8px;
  position: relative;
  flex: 0 0 auto;
}

.SP .view-17 {
  position: relative;
  width: 595px;
  height: 389px;
}

.SP .overlap-group-7 {
  position: absolute;
  width: 534px;
  height: 394px;
  top: 15px;
  left: 28px;
}

.SP .vector-2 {
  position: absolute;
  width: 515px;
  height: 394px;
  top: 0;
  left: 0;
}

.SP .view-18 {
  display: flex;
  flex-direction: column;
  width: 350px;
  align-items: center;
  gap: 12px;
  position: absolute;
  top: 71px;
  left: 79px;
}

.SP .div-28 {
  position: relative;
  width: fit-content;
  margin-top: -1.00px;
  margin-left: -1.50px;
  margin-right: -1.50px;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 700;
  color: transparent;
  font-size: 16px;
  text-align: center;
  letter-spacing: 0;
  line-height: 16px;
}

.SP .text-wrapper-52 {
  color: #fff349;
  font-size: 22px;
  line-height: 32px;
}

.SP .div-29 {
  position: relative;
  width: fit-content;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 700;
  color: transparent;
  font-size: 22px;
  text-align: center;
  letter-spacing: 0;
  line-height: 22px;
}

.SP .text-wrapper-53 {
  color: #fff349;
  line-height: 32px;
}

.SP .text-wrapper-54 {
  color: #ffffff;
  font-size: 16px;
}

.SP .IPO-2 {
  margin-left: -26.50px;
  margin-right: -26.50px;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 700;
  color: transparent;
  font-size: 16px;
  letter-spacing: 0;
  line-height: 16px;
  position: relative;
  width: fit-content;
  text-align: center;
}

.SP .vector-3 {
  position: absolute;
  width: 85px;
  height: 66px;
  top: 21px;
  left: 450px;
}

.SP .vector-4 {
  position: absolute;
  width: 36px;
  height: 29px;
  top: 86px;
  left: 570px;
}

.SP .mask-group-wrapper {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 24px 0px 0px;
  position: relative;
  flex: 0 0 auto;
  margin-left: -46px;
}

.SP .mask-group-7 {
  position: relative;
  width: 290px;
  height: 361px;
}

.SP .text-wrapper-55 {
  position: relative;
  width: 51.3px;
  height: 54px;
  background: linear-gradient(180deg,
      rgba(12, 65, 29, 1) 0%,
      rgba(31, 167, 75, 1) 100%);
  -webkit-background-clip: text !important;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 700;
  color: transparent;
  font-size: 21.6px;
  text-align: center;
  letter-spacing: 0;
  line-height: 16.2px;
}

.SP .view-19 {
  display: flex;
  flex-direction: column;
  width: 717px;
  align-items: center;
  gap: 49px;
  position: relative;
  flex: 0 0 auto;
}

.SP .image-2 {
  position: absolute;
  width: 1182px;
  height: 611px;
  top: 10px;
  left: -232px;
}

.SP .view-20 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.SP .img-wrapper {
  position: relative;
  width: 124.8px;
  height: 124.8px;
  background-image: url(./img/1-3.png);
  background-size: cover;
  background-position: 50% 50%;
}

.SP .lightbulb-2 {
  position: absolute;
  width: 62px;
  height: 62px;
  top: 27px;
  left: 31px;
}

.SP .frame-55 {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 49px;
  position: relative;
  flex: 0 0 auto;
}

.SP .logo-6 {
  position: relative;
  width: 540.0px;
  height: 96px;
  background-image: url(./img/image-1-4.png);
  background-size: cover;
  background-position: 50% 50%;
}

.SP .view-21 {
  display: inline-flex;
  align-items: center;
  gap: 6.05px;
  position: relative;
  flex: 0 0 auto;
}

.SP .mask-group-8 {
  position: relative;
  width: 218.73px;
  height: 276.18px;
  background-image: url(./img/1-2-2x.png);
  background-size: 100% 100%;
}

.SP .mask-group-9 {
  position: relative;
  width: 207.41px;
  height: 276.18px;
  transform: rotate(180deg);
}

.SP .element-11 {
  position: absolute;
  width: 207px;
  height: 276px;
  top: 0;
  left: 0;
  transform: rotate(-180deg);
}

.SP .frame-56 {
  display: flex;
  flex-direction: column;
  width: 1280px;
  height: 1500px;
  align-items: center;
  gap: 84px;
  position: absolute;
  top: 2606px;
  left: 104px;
}

.SP .view-22 {
  position: absolute;
  width: 1280px;
  height: 1586px;
  top: 0;
  left: 0;
  background-color: var(--white);
  border-radius: 40px 40px 0px 0px;
  box-shadow: 0px -4px 24px #40b24d1f;
}

.SP .div-30 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 64px;
  padding: 72px 0px 0px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.SP .frame-57 {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 24px;
  padding: 0px 32px;
  position: relative;
  flex: 0 0 auto;
}

.SP .frame-58 {
  display: inline-flex;
  align-items: center;
  gap: 12.8px;
  position: relative;
  flex: 0 0 auto;
}

.SP .frame-59 {
  background-color: var(--primary-green50);
  border-color: var(--primary-green500) !important;
  display: flex;
  width: 102.4px;
  height: 102.4px;
  align-items: center;
  justify-content: center;
  gap: 10.24px;
  padding: 17.92px 19.2px;
  position: relative;
  border-radius: 50.56px;
  border: 2.56px solid;
}


.SP .img-6 {
  position: relative;
  width: 64px;
  height: 64px;
}

.SP .div-31 {
  width: fit-content;
  font-weight: var(--PC-notosansjp-bold-30-font-weight);
  font-size: var(--PC-notosansjp-bold-30-font-size);
  line-height: var(--PC-notosansjp-bold-30-line-height);
  white-space: nowrap;
  position: relative;
  font-family: var(--PC-notosansjp-bold-30-font-family);
  color: transparent;
  text-align: center;
  letter-spacing: var(--PC-notosansjp-bold-30-letter-spacing);
  font-style: var(--PC-notosansjp-bold-30-font-style);
}

.SP .text-wrapper-56 {
  color: #000000;
  font-family: var(--PC-notosansjp-bold-30-font-family);
  font-style: var(--PC-notosansjp-bold-30-font-style);
  font-weight: var(--PC-notosansjp-bold-30-font-weight);
  letter-spacing: var(--PC-notosansjp-bold-30-letter-spacing);
  line-height: var(--PC-notosansjp-bold-30-line-height);
  font-size: var(--PC-notosansjp-bold-30-font-size);
}

.SP .text-wrapper-57 {
  color: #1fa74b;
  font-family: var(--PC-notosansjp-bold-30-font-family);
  font-style: var(--PC-notosansjp-bold-30-font-style);
  font-weight: var(--PC-notosansjp-bold-30-font-weight);
  letter-spacing: var(--PC-notosansjp-bold-30-letter-spacing);
  line-height: var(--PC-notosansjp-bold-30-line-height);
  font-size: var(--PC-notosansjp-bold-30-font-size);
}

.SP .frame-60 {
  display: flex;
  width: 1280px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0px 160px;
  position: relative;
  flex: 0 0 auto;
}

.SP .HR-4 {
  width: fit-content;
  margin-top: -1.00px;
  font-weight: var(--PC-notosansjp-medium-20-font-weight);
  color: transparent;
  font-size: var(--PC-notosansjp-medium-20-font-size);
  text-align: center;
  line-height: var(--PC-notosansjp-medium-20-line-height);
  position: relative;
  font-family: var(--PC-notosansjp-medium-20-font-family);
  letter-spacing: var(--PC-notosansjp-medium-20-letter-spacing);
  font-style: var(--PC-notosansjp-medium-20-font-style);
}

.SP .text-wrapper-58 {
  color: #000000;
  font-family: var(--PC-notosansjp-medium-20-font-family);
  font-style: var(--PC-notosansjp-medium-20-font-style);
  font-weight: var(--PC-notosansjp-medium-20-font-weight);
  letter-spacing: var(--PC-notosansjp-medium-20-letter-spacing);
  line-height: var(--PC-notosansjp-medium-20-line-height);
  font-size: var(--PC-notosansjp-medium-20-font-size);
}

.SP .text-wrapper-59 {
  color: #1fa74b;
  font-family: var(--PC-notosansjp-medium-20-font-family);
  font-style: var(--PC-notosansjp-medium-20-font-style);
  font-weight: var(--PC-notosansjp-medium-20-font-weight);
  letter-spacing: var(--PC-notosansjp-medium-20-letter-spacing);
  line-height: var(--PC-notosansjp-medium-20-line-height);
  font-size: var(--PC-notosansjp-medium-20-font-size);
}

.SP .frame-61 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 64px;
  padding: 64px 0px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  background-color: var(--green);
}

.SP .text-wrapper-60 {
  position: relative;
  width: fit-content;
  margin-top: -1.00px;
  font-family: var(--PC-notosansjp-bold-30-font-family);
  font-weight: var(--PC-notosansjp-bold-30-font-weight);
  color: #000000;
  font-size: var(--PC-notosansjp-bold-30-font-size);
  text-align: center;
  letter-spacing: var(--PC-notosansjp-bold-30-letter-spacing);
  line-height: var(--PC-notosansjp-bold-30-line-height);
  white-space: nowrap;
  font-style: var(--PC-notosansjp-bold-30-font-style);
}

.SP .frame-62 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 70px;
  padding: 0px 160px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.SP .frame-63 {
  display: flex;
  align-items: flex-start;
  gap: 40px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

@media (max-width: 970px) {
  .SP .frame-63 {
    gap: 10px;
    width: 90%;
    margin: 0 auto;
  }

  .SP .frame-62 {
    gap: 60px;
  }

  .max-970-none {
    display: none;
  }
}

.SP .frame-64 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  position: relative;
  flex: 1;
  flex-grow: 1;
}

.SP .frame-65 {
  display: flex;
  width: 180px;
  height: 180px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  position: relative;
  background-color: var(--white);
  border-radius: 8px;
  overflow: hidden;
  border: 1.85px solid;
  border-color: var(--primary-green600-primary);
}

.SP .mask-group-10 {
  position: relative;
  width: 180px;
  height: 180px;
}

.SP .frame-66 {
  background-image: url(./img/vector-1-8.svg);
  position: absolute;
  width: 59px;
  height: 59px;
  top: 0;
  left: 0;
  background-size: 100% 100%;
}

.SP .num-2 {
  position: absolute;
  width: 27px;
  top: 8px;
  left: 7px;
  font-family: "DIN 2014-Demi", Helvetica;
  font-weight: 400;
  color: var(--white);
  font-size: 36px;
  text-align: center;
  letter-spacing: 0;
  line-height: 30px;
}

.SP .frame-67 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  position: relative;
  flex: 1;
  flex-grow: 1;
}

.SP .text-wrapper-61 {
  position: relative;
  align-self: stretch;
  margin-top: -1.00px;
  font-family: var(--SP-notosansjp-bold-20-font-family);
  font-weight: var(--SP-notosansjp-bold-20-font-weight);
  color: var(--primary-green600-primary);
  font-size: var(--SP-notosansjp-bold-20-font-size);
  letter-spacing: var(--SP-notosansjp-bold-20-letter-spacing);
  line-height: var(--SP-notosansjp-bold-20-line-height);
  font-style: var(--SP-notosansjp-bold-20-font-style);
}

.SP .text-wrapper-62 {
  position: relative;
  align-self: stretch;
  font-family: var(--PC-notosansjp-medium-16-font-family);
  font-weight: var(--PC-notosansjp-medium-16-font-weight);
  color: #000000;
  font-size: var(--PC-notosansjp-medium-16-font-size);
  letter-spacing: var(--PC-notosansjp-medium-16-letter-spacing);
  line-height: var(--PC-notosansjp-medium-16-line-height);
  font-style: var(--PC-notosansjp-medium-16-font-style);
}

.SP .frame-68 {
  display: flex;
  flex-direction: column;
  width: 685px;
  align-items: center;
  gap: 16px;
  position: relative;
  flex: 0 0 auto;
}

.SP .PC-CTA {
  cursor: pointer !important;
  display: flex;
  align-self: stretch;
  width: 100%;
  margin-top: -6.00px;
  margin-left: -6.00px;
  margin-right: -6.00px;
  border-radius: 69px;
  border: 6px solid;
  border-color: #fda14b;
  box-shadow: 0px 0px 24px #fa834a4c;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  position: relative;
  flex: 0 0 auto;
}

.SP .frame-69 {
  display: inline-flex;
  padding: 12px 0px;
  flex: 0 0 auto;
  margin-top: -2.00px;
  border-radius: 92px;
  border: 4px solid;
  border-color: var(--white);
  background: linear-gradient(90deg,
      rgba(245, 62, 52, 1) 0%,
      rgba(247, 83, 74, 1) 36%,
      rgba(250, 131, 74, 1) 78%,
      rgba(254, 180, 74, 1) 100%);
  align-items: center;
  justify-content: center;
  gap: 8px;
  position: relative;
}

.SP .frame-70 {
  gap: 16px;
  padding: 0px 152px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  flex: 0 0 auto;
}

.SP .text-wrapper-63 {
  position: relative;
  width: fit-content;
  margin-top: -1.00px;
  font-family: var(--PC-notosansjp-bold-42-font-family);
  font-weight: var(--PC-notosansjp-bold-42-font-weight);
  color: var(--white);
  font-size: var(--PC-notosansjp-bold-42-font-size);
  text-align: center;
  letter-spacing: var(--PC-notosansjp-bold-42-letter-spacing);
  line-height: var(--PC-notosansjp-bold-42-line-height);
  white-space: nowrap;
  font-style: var(--PC-notosansjp-bold-42-font-style);
}

.SP .arrow-circle-right {
  position: relative;
  width: 52px;
  height: 52px;
}

.SP .text-wrapper-64 {
  position: relative;
  width: fit-content;
  font-family: var(--SP-notosansjp-bold-15-font-family);
  font-weight: var(--SP-notosansjp-bold-15-font-weight);
  color: var(--secondary-orangered500-primary);
  font-size: var(--SP-notosansjp-bold-15-font-size);
  text-align: center;
  letter-spacing: var(--SP-notosansjp-bold-15-letter-spacing);
  line-height: var(--SP-notosansjp-bold-15-line-height);
  white-space: nowrap;
  font-style: var(--SP-notosansjp-bold-15-font-style);
}

.SP .element-12 {
  position: relative;
  width: fit-content;
  margin-top: -1.00px;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 700;
  color: var(--secondary-orangered500-primary);
  font-size: 24px;
  text-align: center;
  letter-spacing: 0;
  line-height: 24px;
}

.SP .text-wrapper-65 {
  line-height: var(--SP-notosansjp-bold-24-line-height);
  font-family: var(--SP-notosansjp-bold-24-font-family);
  font-style: var(--SP-notosansjp-bold-24-font-style);
  font-weight: var(--SP-notosansjp-bold-24-font-weight);
  letter-spacing: var(--SP-notosansjp-bold-24-letter-spacing);
  font-size: var(--SP-notosansjp-bold-24-font-size);
}

.SP .text-wrapper-66 {
  font-size: var(--SP-notosansjp-bold-15-font-size);
  font-family: var(--SP-notosansjp-bold-15-font-family);
  font-style: var(--SP-notosansjp-bold-15-font-style);
  font-weight: var(--SP-notosansjp-bold-15-font-weight);
  letter-spacing: var(--SP-notosansjp-bold-15-letter-spacing);
  line-height: var(--SP-notosansjp-bold-15-line-height);
}

.SP .overlap-7 {
  position: absolute;
  width: 1280px;
  height: 7111px;
  top: 4192px;
  left: 104px;
}

.SP .frame-71 {
  display: flex;
  width: 1280px;
  height: 1710px;
  align-items: flex-start;
  justify-content: center;
  gap: 8px;
  position: absolute;
  top: 0;
  left: 0;
  background-color: var(--green);
  border-radius: 40px 40px 0px 0px;
  box-shadow: 0px -4px 24px #41b24e1f;
}

.SP .view-23 {
  position: absolute;
  width: 635px;
  height: 421px;
  top: 227px;
  left: 322px;
}

.SP .frame-72 {
  display: flex;
  flex-direction: column;
  width: 1280px;
  height: 1600px;
  align-items: center;
  gap: 100px;
  padding: 0px 0px 100px;
  position: relative;
}

.SP .frame-73 {
  background-color: var(--white);
  border-color: var(--primary-green500) !important;
  display: flex;
  width: 102.4px;
  height: 102.4px;
  align-items: center;
  justify-content: center;
  gap: 10.24px;
  padding: 17.92px 19.2px;
  position: relative;
  border-radius: 50.56px;
  border: 2.56px solid;
}

.SP .HR-5 {
  flex: 1;
  margin-top: -1.00px;
  font-weight: 400;
  font-size: 20px;
  line-height: 32px;
  position: relative;
  font-family: "Noto Sans JP", Helvetica;
  color: transparent;
  text-align: center;
  letter-spacing: 0;
}

.SP .text-wrapper-67 {
  font-weight: var(--PC-notosansjp-bold-20-font-weight);
  color: #1fa74b;
  font-family: var(--PC-notosansjp-bold-20-font-family);
  font-style: var(--PC-notosansjp-bold-20-font-style);
  letter-spacing: var(--PC-notosansjp-bold-20-letter-spacing);
  line-height: var(--PC-notosansjp-bold-20-line-height);
  font-size: var(--PC-notosansjp-bold-20-font-size);
}

.SP .view-24 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  padding: 64px 160px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  background-color: var(--green);
  mix-blend-mode: multiply;
}

.SP .frame-74 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 24px;
  padding: 0px 36px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

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

.SP .frame-76 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  position: relative;
  flex: 0 0 auto;
}

.SP .div-32 {
  position: relative;
  width: fit-content;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 700;
  color: transparent;
  font-size: 24px;
  line-height: 36px;
  white-space: nowrap;
}

.SP .text-wrapper-68 {
  color: #000000;
  letter-spacing: var(--PC-notosansjp-bold-24-letter-spacing);
  font-family: var(--PC-notosansjp-bold-24-font-family);
  font-style: var(--PC-notosansjp-bold-24-font-style);
  font-weight: var(--PC-notosansjp-bold-24-font-weight);
  line-height: var(--PC-notosansjp-bold-24-line-height);
  font-size: var(--PC-notosansjp-bold-24-font-size);
}

.SP .text-wrapper-69 {
  color: #1fa74b;
  letter-spacing: var(--PC-notosansjp-bold-24-letter-spacing);
  font-family: var(--PC-notosansjp-bold-24-font-family);
  font-style: var(--PC-notosansjp-bold-24-font-style);
  font-weight: var(--PC-notosansjp-bold-24-font-weight);
  line-height: var(--PC-notosansjp-bold-24-line-height);
  font-size: var(--PC-notosansjp-bold-24-font-size);
}

.SP .text-wrapper-70 {
  color: #000000;
  letter-spacing: 0;
}

.SP .div-33 {
  position: relative;
  width: fit-content;
  font-family: var(--PC-notosansjp-bold-24-font-family);
  font-weight: var(--PC-notosansjp-bold-24-font-weight);
  color: transparent;
  font-size: var(--PC-notosansjp-bold-24-font-size);
  line-height: var(--PC-notosansjp-bold-24-line-height);
  white-space: nowrap;
  font-style: var(--PC-notosansjp-bold-24-font-style);
  letter-spacing: var(--PC-notosansjp-bold-24-letter-spacing);
}

.SP .view-25 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 32px 36px;
  position: relative;
  flex: 0 0 auto;
  background-color: #ffffff;
  border-radius: 16px;
  border: 1.5px solid;
  border-color: var(--primary-green600-primary);
}

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

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

.SP .text-wrapper-71 {
  position: relative;
  width: fit-content;
  margin-top: -1.00px;
  font-family: var(--PC-notosansjp-bold-16-font-family);
  font-weight: var(--PC-notosansjp-bold-16-font-weight);
  color: var(--primary-green600-primary);
  font-size: var(--PC-notosansjp-bold-16-font-size);
  text-align: center;
  letter-spacing: var(--PC-notosansjp-bold-16-letter-spacing);
  line-height: var(--PC-notosansjp-bold-16-line-height);
  white-space: nowrap;
  font-style: var(--PC-notosansjp-bold-16-font-style);
}

.SP .frame-79 {
  display: inline-flex;
  height: 32px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  position: relative;
}

.SP .work-2 {
  position: relative;
  width: 40px;
  height: 40px;
  margin-top: -4.00px;
  margin-bottom: -4.00px;
}

.SP .text-wrapper-72 {
  position: relative;
  width: fit-content;
  margin-top: -6.00px;
  margin-bottom: -4.00px;
  font-family: var(--PC-notosansjp-bold-30-font-family);
  font-weight: var(--PC-notosansjp-bold-30-font-weight);
  color: #000000;
  font-size: var(--PC-notosansjp-bold-30-font-size);
  text-align: center;
  letter-spacing: var(--PC-notosansjp-bold-30-letter-spacing);
  line-height: var(--PC-notosansjp-bold-30-line-height);
  white-space: nowrap;
  font-style: var(--PC-notosansjp-bold-30-font-style);
}

.SP .frame-80 {
  display: flex;
  flex-wrap: wrap;
  width: 640px;
  align-items: flex-start;
  gap: 16px 16px;
  position: relative;
  flex: 0 0 auto;
}

.SP .frame-81 {
  display: flex;
  width: 312px;
  padding: 8px 16px;
  background-color: #f5ffeb;
  border-radius: 4px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  position: relative;
}

.SP .text-wrapper-73 {
  position: relative;
  width: fit-content;
  margin-top: -1.00px;
  font-family: var(--PC-notosansjp-bold-20-font-family);
  font-weight: var(--PC-notosansjp-bold-20-font-weight);
  color: #000000;
  font-size: var(--PC-notosansjp-bold-20-font-size);
  text-align: center;
  letter-spacing: var(--PC-notosansjp-bold-20-letter-spacing);
  line-height: var(--PC-notosansjp-bold-20-line-height);
  white-space: nowrap;
  font-style: var(--PC-notosansjp-bold-20-font-style);
}

.SP .frame-82 {
  display: flex;
  flex-direction: column;
  width: 1280px;
  height: 5575px;
  align-items: flex-start;
  position: absolute;
  top: 1536px;
  left: 0;
}

.SP .frame-83 {
  display: flex;
  height: 1415px;
  align-items: flex-start;
  justify-content: center;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  background-color: var(--white);
  border-radius: 40px 40px 0px 0px;
  box-shadow: 0px -4px 24px #41b24e1f;
}

.SP .view-26 {
  position: absolute;
  width: 914px;
  height: 1438px;
  top: 167px;
  left: 183px;
}

.SP .rectangle-7 {
  position: absolute;
  width: 548px;
  height: 195px;
  top: 860px;
  left: -166px;
  border-radius: 141.95px;
  transform: rotate(-15.36deg);
  background: linear-gradient(90deg,
      rgba(255, 255, 255, 0.2) 0%,
      rgba(255, 249, 208, 0.2) 18%,
      rgba(166, 255, 81, 0.2) 67%);
}

.SP .rectangle-8 {
  width: 548px;
  height: 195px;
  top: 465px;
  left: 414px;
  border-radius: 141.95px;
  background: linear-gradient(90deg,
      rgba(255, 255, 255, 0.2) 0%,
      rgba(166, 255, 81, 0.2) 67%);
  position: absolute;
  transform: rotate(-15.36deg);
}

.SP .rectangle-9 {
  position: absolute;
  width: 548px;
  height: 195px;
  top: 181px;
  left: -16px;
  border-radius: 141.95px;
  transform: rotate(-15.36deg);
  background: linear-gradient(90deg,
      rgba(255, 255, 255, 0.2) 0%,
      rgba(166, 255, 81, 0.2) 67%,
      rgba(249, 255, 81, 0.2) 100%);
}

.SP .div-34 {
  display: flex;
  flex-direction: column;
  width: 1280px;
  align-items: center;
  gap: 100px;
  padding: 0px 160px;
  position: relative;
  padding-bottom: 200px;
}

.SP .frame-84 {
  background-color: var(--paleorange-50);
  border-color: var(--paleorange-400) !important;
  display: flex;
  width: 102.4px;
  height: 102.4px;
  align-items: center;
  justify-content: center;
  gap: 10.24px;
  padding: 17.92px 19.2px;
  position: relative;
  border-radius: 50.56px;
  border: 2.56px solid;
}

.SP .text-wrapper-74 {
  color: #f87508;
  font-family: var(--PC-notosansjp-bold-30-font-family);
  font-style: var(--PC-notosansjp-bold-30-font-style);
  font-weight: var(--PC-notosansjp-bold-30-font-weight);
  letter-spacing: var(--PC-notosansjp-bold-30-letter-spacing);
  line-height: var(--PC-notosansjp-bold-30-line-height);
  font-size: var(--PC-notosansjp-bold-30-font-size);
}

.SP .frame-85 {
  display: flex;
  flex-direction: column;
  width: 1280px;
  align-items: center;
  gap: 64px;
  padding: 0px 160px;
  position: relative;
  flex: 0 0 auto;
  margin-left: -160.00px;
  margin-right: -160.00px;
}

.SP .view-27 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 32px;
  padding: 0px 64px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.SP .div-35 {
  position: relative;
  width: 200px;
  height: 200px;
  background-image: url(./img/2.png);
  background-size: cover;
  background-position: 50% 50%;
}

.SP .frame-86 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
  position: relative;
  flex: 1;
  flex-grow: 1;
}

.SP .frame-87 {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  position: relative;
  flex: 0 0 auto;
  align-items: flex-end;
}

.SP .div-36 {
  position: relative;
  width: fit-content;
  margin-top: -1.00px;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 700;
  color: #000000;
  font-size: 30px;
  text-align: right;
  letter-spacing: 0;
  line-height: 30px;
}

.SP .text-wrapper-75 {
  line-height: var(--PC-notosansjp-bold-30-line-height);
  font-family: var(--PC-notosansjp-bold-30-font-family);
  font-style: var(--PC-notosansjp-bold-30-font-style);
  font-weight: var(--PC-notosansjp-bold-30-font-weight);
  letter-spacing: var(--PC-notosansjp-bold-30-letter-spacing);
  font-size: var(--PC-notosansjp-bold-30-font-size);
}

.SP .text-wrapper-76 {
  font-size: var(--PC-notosansjp-bold-20-font-size);
  line-height: var(--PC-notosansjp-bold-20-line-height);
  font-family: var(--PC-notosansjp-bold-20-font-family);
  font-style: var(--PC-notosansjp-bold-20-font-style);
  font-weight: var(--PC-notosansjp-bold-20-font-weight);
  letter-spacing: var(--PC-notosansjp-bold-20-letter-spacing);
}

.SP .text-wrapper-77 {
  position: relative;
  width: 234px;
  font-family: var(--PC-notosansjp-bold-20-font-family);
  font-weight: var(--PC-notosansjp-bold-20-font-weight);
  color: var(--primary-green600-primary);
  font-size: var(--PC-notosansjp-bold-20-font-size);
  letter-spacing: var(--PC-notosansjp-bold-20-letter-spacing);
  line-height: var(--PC-notosansjp-bold-20-line-height);
  font-style: var(--PC-notosansjp-bold-20-font-style);
}

.SP .view-28 {
  display: flex;
  width: 960px;
  align-items: center;
  justify-content: center;
  gap: 32px;
  padding: 0px 64px;
  position: relative;
  flex: 0 0 auto;
}

.SP .element-13 {
  width: 176px;
  position: relative;
  font-family: var(--SP-notosansjp-bold-20-font-family);
  font-weight: var(--SP-notosansjp-bold-20-font-weight);
  color: var(--primary-green600-primary);
  font-size: var(--SP-notosansjp-bold-20-font-size);
  letter-spacing: var(--SP-notosansjp-bold-20-letter-spacing);
  line-height: var(--SP-notosansjp-bold-20-line-height);
  font-style: var(--SP-notosansjp-bold-20-font-style);
}

.SP .IT-2 {
  position: relative;
  width: 200px;
  height: 200px;
  background-image: url(./img/it-1.png);
  background-size: cover;
  background-position: 50% 50%;
}

.SP .div-37 {
  position: relative;
  width: 200px;
  height: 200px;
  background-image: url(./img/1.png);
  background-size: cover;
  background-position: 50% 50%;
}

.SP .element-14 {
  align-items: flex-start;
  padding: 80px 0px;
  background-color: var(--gray-10);
  display: flex;
  flex-direction: column;
  gap: 32px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.SP .line-2 {
  position: absolute;
  width: 664px;
  height: 4px;
  top: 230px;
  left: 308px;
}

.SP .frame-88 {
  display: flex;
  align-items: flex-start;
  gap: 52px;
  padding: 0px 160px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  margin: 0 auto;
}

@media (max-width: 985px) {
  .SP .frame-88 {
    gap: 25px;
    width: 90%;
  }
}

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

.SP .frame-90 {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0px 16px;
  position: relative;
  flex: 0 0 auto;
  background-color: var(--gray-10);
}

.SP .STEP-2 {
  position: relative;
  width: fit-content;
  margin-top: -1.00px;
  font-family: "DIN 2014-Regular", Helvetica;
  font-weight: 400;
  color: var(--primary-green600-primary);
  font-size: 24px;
  text-align: center;
  letter-spacing: 0;
  line-height: 60px;
}

.SP .text-wrapper-78 {
  font-family: "DIN 2014-Regular", Helvetica;
  font-weight: 400;
  color: #1fa74b;
  font-size: 24px;
  letter-spacing: 0;
  line-height: 60px;
}

.SP .text-wrapper-79 {
  font-size: 64px;
}

.SP .text-wrapper-80 {
  position: relative;
  align-self: stretch;
  margin-top: -1.00px;
  font-family: var(--PC-notosansjp-bold-20-font-family);
  font-weight: var(--PC-notosansjp-bold-20-font-weight);
  color: #000000;
  font-size: var(--PC-notosansjp-bold-20-font-size);
  text-align: center;
  letter-spacing: var(--PC-notosansjp-bold-20-letter-spacing);
  line-height: var(--PC-notosansjp-bold-20-line-height);
  font-style: var(--PC-notosansjp-bold-20-font-style);
}

.SP .element-15 {
  align-items: center;
  padding: 80px 160px;
  background-color: var(--white);
  display: flex;
  flex-direction: column;
  gap: 32px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.SP .FAQ-3 {
  display: flex;
  flex-direction: column;
  width: 640px;
  align-items: flex-start;
  gap: 11px;
  position: relative;
  flex: 0 0 auto;
}

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

.SP .frame-92 {
  display: flex;
  align-items: flex-start;
  gap: 4px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.SP .text-wrapper-81 {
  flex: 1;
  margin-top: -1.00px;
  font-weight: var(--SP-notosansjp-bold-14-font-weight);
  color: var(--primary-green700);
  font-size: var(--SP-notosansjp-bold-14-font-size);
  line-height: var(--SP-notosansjp-bold-14-line-height);
  position: relative;
  font-family: var(--SP-notosansjp-bold-14-font-family);
  letter-spacing: var(--SP-notosansjp-bold-14-letter-spacing);
  font-style: var(--SP-notosansjp-bold-14-font-style);
}

.SP .frame-93 {
  width: 666px;
  padding: 64px 0px 0px;
  position: relative;
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}

.SP .PC-CTA-2 {
  cursor: pointer !important;
  display: flex;
  width: 690px;
  margin-top: -6.00px;
  margin-left: -15.50px;
  margin-right: -15.50px;
  border-radius: 69px;
  border: 6px solid;
  border-color: #fda14b;
  box-shadow: 0px 0px 24px #fa834a4c;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  position: relative;
  flex: 0 0 auto;
}

.SP .div-38 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 36px;
  padding: 80px 0px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  background-color: #f5ffeb;
}

.SP .frame-94 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 36px;
  padding: 0px 320px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.SP .frame-95 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  padding: 8px 0px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.SP .button-5 {
  box-sizing: border-box;
  display: flex;
  width: 312px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 17px 70px;
  border-radius: 6px;
  border: 1px solid;
  position: relative;
  background-color: var(--colors-color-white);
  border-color: var(--primary-green400);
}

.SP .button-5 input[type="radio"] {
  display: none;
}

.SP .button-5:has(input[type="radio"]:checked) {
  background: #E1FFC3;
}

.SP .frame-96 {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}



.SP .text-wrapper-82 {
  position: relative;
  width: fit-content;
  margin-top: -1.00px;
  margin-left: -21.50px;
  margin-right: -21.50px;
  font-family: var(--headline-regular-font-family);
  font-weight: var(--headline-regular-font-weight);
  color: var(--primary-green600-primary);
  font-size: var(--headline-regular-font-size);
  text-align: center;
  letter-spacing: var(--headline-regular-letter-spacing);
  line-height: var(--headline-regular-line-height);
  white-space: nowrap;
  font-style: var(--headline-regular-font-style);
}

.SP .text-wrapper-83 {
  position: relative;
  width: fit-content;
  margin-top: -1.00px;
  margin-left: -5.50px;
  margin-right: -5.50px;
  font-family: var(--headline-regular-font-family);
  font-weight: var(--headline-regular-font-weight);
  color: var(--primary-green600-primary);
  font-size: var(--headline-regular-font-size);
  text-align: center;
  letter-spacing: var(--headline-regular-letter-spacing);
  line-height: var(--headline-regular-line-height);
  white-space: nowrap;
  font-style: var(--headline-regular-font-style);
}

.SP .frame-97 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
  padding: 32px 0px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

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

.SP .text-wrapper-84 {
  position: relative;
  align-self: stretch;
  margin-top: -1.00px;
  font-family: var(--PC-notosansjp-bold-14-font-family);
  font-weight: var(--PC-notosansjp-bold-14-font-weight);
  color: var(--gray900-primary);
  font-size: var(--PC-notosansjp-bold-14-font-size);
  text-align: center;
  letter-spacing: var(--PC-notosansjp-bold-14-letter-spacing);
  line-height: var(--PC-notosansjp-bold-14-line-height);
  font-style: var(--PC-notosansjp-bold-14-font-style);
}

.SP .text-wrapper-85 {
  position: relative;
  align-self: stretch;
  font-family: var(--PC-notosansjp-bold-20-font-family);
  font-weight: var(--PC-notosansjp-bold-20-font-weight);
  color: var(--primary-green600-primary);
  font-size: var(--PC-notosansjp-bold-20-font-size);
  text-align: center;
  letter-spacing: var(--PC-notosansjp-bold-20-letter-spacing);
  line-height: var(--PC-notosansjp-bold-20-line-height);
  text-decoration: underline;
  font-style: var(--PC-notosansjp-bold-20-font-style);
}

.SP .frame-99 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.SP .button-6 {
  display: flex;
  align-items: center;
  gap: 12px;
  border: none;
  background: none;
  width: auto;
  height: auto;
  padding: 0;
  margin: 0;
  position: relative;
}

.SP .button-6 input[type="checkbox"] {
  width: 28px;
  height: 28px;
  margin: 0;
  position: static;
  z-index: 1;
  cursor: pointer;
  opacity: 1;
  flex-shrink: 0;
  border-radius: 7.5px;
  border: 1.25px solid var(--primary-green400);
  background: #fff;
}

.SP .text-wrapper-86 {
  position: relative;
  width: fit-content;
  font-family: var(--PC-notosansjp-bold-20-font-family);
  font-weight: var(--PC-notosansjp-bold-20-font-weight);
  color: var(--gray900-primary);
  font-size: var(--PC-notosansjp-bold-20-font-size);
  letter-spacing: var(--PC-notosansjp-bold-20-letter-spacing);
  line-height: var(--PC-notosansjp-bold-20-line-height);
  white-space: nowrap;
  font-style: var(--PC-notosansjp-bold-20-font-style);
}

.SP .CTA-6 {
  all: unset;
  box-sizing: border-box;
  display: flex;
  width: 426.67px;
  height: 80px;
  align-items: center;
  justify-content: center;
  gap: 10.67px;
  padding: 16px 0px;
  position: relative;
  border-radius: 122.67px;
  background-color: var(--gray-200);
}


button.CTA-6.active {
  box-shadow: 0px 0px 16px #8cdc3e40;
  background: linear-gradient(90deg,
      rgba(25, 136, 61, 1) 0%,
      rgba(31, 167, 75, 1) 60%,
      rgba(141, 210, 96, 1) 100%);
  color: #fff;
  /* 例：白字、お好みで */
  transition: background 0.2s;
  border: none;
}

.SP .frame-100 {
  gap: 21.33px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  flex: 0 0 auto;
}

.SP .text-wrapper-87 {
  position: relative;
  width: fit-content;
  margin-top: -1.33px;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 700;
  color: var(--white);
  font-size: 32px;
  text-align: center;
  letter-spacing: 0;
  line-height: 48px;
  white-space: nowrap;
}

.SP .frame-101 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 37px;
  padding: 80px 0px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.SP .frame-102 {
  gap: 16px;
  padding: 0px 380px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.SP .text-wrapper-88 {
  position: relative;
  align-self: stretch;
  margin-top: -1.00px;
  font-family: var(--PC-notosansjp-bold-16-font-family);
  font-weight: var(--PC-notosansjp-bold-16-font-weight);
  color: var(--gray-500);
  font-size: var(--PC-notosansjp-bold-16-font-size);
  letter-spacing: var(--PC-notosansjp-bold-16-letter-spacing);
  line-height: var(--PC-notosansjp-bold-16-line-height);
  font-style: var(--PC-notosansjp-bold-16-font-style);
}

.SP .text-wrapper-89 {
  position: relative;
  align-self: stretch;
  font-family: var(--PC-notosansjp-bold-16-font-family);
  font-weight: var(--PC-notosansjp-bold-16-font-weight);
  color: #000000;
  font-size: var(--PC-notosansjp-bold-16-font-size);
  letter-spacing: var(--PC-notosansjp-bold-16-letter-spacing);
  line-height: var(--PC-notosansjp-bold-16-line-height);
  font-style: var(--PC-notosansjp-bold-16-font-style);
}

.SP .frame-103 {
  display: flex;
  flex-direction: column;
  width: 685px;
  height: 140px;
  align-items: center;
  gap: 16px;
  position: absolute;
  top: 11460px;
  left: 402px;
}

.SP .FV-2 {
  position: absolute;
  width: 1523px;
  height: 1148px;
  top: 0;
  left: 0;
}

.SP .overlap-8 {
  position: absolute;
  width: 1347px;
  height: 207px;
  top: 941px;
  left: 104px;
}

.SP .rectangle-10 {
  position: absolute;
  width: 483px;
  height: 24px;
  top: 120px;
  left: 870px;
  border-radius: 288px;
  transform: rotate(-15.36deg);
  background: linear-gradient(90deg,
      rgba(255, 255, 255, 0.2) 0%,
      rgba(166, 255, 81, 0.2) 67%);
  opacity: 0.2;
}

.SP .view-29 {
  display: flex;
  width: 1280px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0px 160px;
  position: absolute;
  top: 0;
  left: 0;
}

.SP .HR-6 {
  flex: 1;
  margin-top: -1.00px;
  font-weight: var(--PC-notosansjp-bold-20-font-weight);
  color: transparent;
  font-size: var(--PC-notosansjp-bold-20-font-size);
  text-align: center;
  line-height: var(--PC-notosansjp-bold-20-line-height);
  position: relative;
  font-family: var(--PC-notosansjp-bold-20-font-family);
  letter-spacing: var(--PC-notosansjp-bold-20-letter-spacing);
  font-style: var(--PC-notosansjp-bold-20-font-style);
}

.SP .text-wrapper-90 {
  color: #000000;
  font-family: var(--PC-notosansjp-bold-20-font-family);
  font-style: var(--PC-notosansjp-bold-20-font-style);
  font-weight: var(--PC-notosansjp-bold-20-font-weight);
  letter-spacing: var(--PC-notosansjp-bold-20-letter-spacing);
  line-height: var(--PC-notosansjp-bold-20-line-height);
  font-size: var(--PC-notosansjp-bold-20-font-size);
}

.SP .rectangle-11 {
  width: 462px;
  height: 149px;
  top: -20px;
  left: 408px;
  border-radius: 288px;
  background: linear-gradient(90deg,
      rgba(166, 255, 81, 0.2) 0%,
      rgba(255, 255, 255, 0.2) 100%);
  opacity: 0.6;
  position: absolute;
  transform: rotate(-15.36deg);
}

.SP .overlap-9 {
  position: absolute;
  width: 1366px;
  height: 829px;
  top: 0;
  left: 39px;
}

@media (max-width: 1020px) {
  .SP .overlap-9 {
    transform: translateX(20px);
  }
}


@media (max-width: 970px) {
  .SP .overlap-9 {
    transform: translateX(35px);
  }
}

@media (max-width: 900px) {
  .SP .overlap-9 {
    transform: translateX(50px);
  }
}

.SP .rectangle-12 {
  position: absolute;
  width: 177px;
  height: 31px;
  top: 567px;
  left: 129px;
  border-radius: 288px;
  transform: rotate(-15.36deg);
  background: linear-gradient(90deg,
      rgba(166, 255, 81, 0.1) 38%,
      rgba(217, 255, 181, 0.1) 100%);
}

.SP .rectangle-13 {
  position: absolute;
  width: 290px;
  height: 24px;
  top: 608px;
  left: 1078px;
  border-radius: 288px;
  transform: rotate(-15.36deg);
  background: linear-gradient(90deg,
      rgba(255, 255, 255, 0.6) 0%,
      rgba(166, 255, 81, 0.6) 67%,
      rgba(249, 255, 140, 0.6) 100%);
}

.SP .rectangle-14 {
  position: absolute;
  width: 511px;
  height: 76px;
  top: 66px;
  left: 1px;
  border-radius: 288px;
  transform: rotate(-15.36deg);
  background: linear-gradient(90deg,
      rgba(166, 255, 81, 0.1) 0%,
      rgba(238, 255, 152, 0.1) 55%,
      rgba(255, 255, 255, 0.1) 100%);
}

.SP .mask-group-11 {
  position: absolute;
  max-width: 1280px;
  height: 792px;
  top: 37px;
  left: 65px;
}

@media (max-width: 970px) {
  .SP .mask-group-11 {
    left: 20px;
  }
}

.SP .frame-104 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 16px;
  position: absolute;
  top: 99px;
  left: 225px;
  border-radius: 4px 4px 0px 4px;
  background: linear-gradient(90deg,
      rgba(141, 210, 96, 1) 0%,
      rgba(31, 167, 75, 1) 40%,
      rgba(25, 136, 61, 1) 100%);
}

.SP .text-wrapper-91 {
  position: relative;
  width: fit-content;
  margin-top: -1.00px;
  font-family: var(--PC-notosansjp-bold-74-font-family);
  font-weight: var(--PC-notosansjp-bold-74-font-weight);
  color: var(--white);
  font-size: var(--PC-notosansjp-bold-74-font-size);
  letter-spacing: var(--PC-notosansjp-bold-74-letter-spacing);
  line-height: var(--PC-notosansjp-bold-74-line-height);
  white-space: nowrap;
  font-style: var(--PC-notosansjp-bold-74-font-style);
}

.SP .text-wrapper-92 {
  position: absolute;
  width: 89px;
  height: 187px;
  top: 55px;
  left: 378px;
  -webkit-text-stroke: 4px #ffffff;
  background: linear-gradient(193deg,
      rgba(250, 131, 74, 1) 25%,
      rgba(254, 180, 74, 1) 100%);
  -webkit-background-clip: text !important;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  font-family: "DM Sans", Helvetica;
  font-weight: 600;
  font-style: italic;
  color: transparent;
  font-size: 172px;
  text-align: center;
  letter-spacing: 0;
  line-height: 1;
  border-color: var(--white);
}

.SP .frame-105 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  position: absolute;
  top: 221px;
  left: 281px;
  border-radius: 0px 4px 4px 4px;
  background: linear-gradient(90deg,
      rgba(135, 208, 95, 1) 0%,
      rgba(31, 167, 75, 1) 34%,
      rgba(25, 136, 61, 1) 74%,
      rgba(10, 115, 44, 1) 100%);
}

.SP .div-39 {
  position: relative;
  width: fit-content;
  margin-top: -1.00px;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 700;
  color: var(--white);
  font-size: 88px;
  letter-spacing: 0;
  line-height: 90px;
  white-space: nowrap;
}

.SP .text-wrapper-93 {
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 700;
  color: #ffffff;
  font-size: 88px;
  letter-spacing: 0;
  line-height: 90px;
}

.text-wrapper-94 {
  font-size: 74px;
}

.SP .div-40 {
  position: absolute;
  top: 395px;
  left: 334px;
  font-family: var(--PC-notosansjp-bold-30-font-family);
  font-weight: var(--PC-notosansjp-bold-30-font-weight);
  color: transparent;
  font-size: var(--PC-notosansjp-bold-30-font-size);
  text-align: center;
  letter-spacing: var(--PC-notosansjp-bold-30-letter-spacing);
  line-height: var(--PC-notosansjp-bold-30-line-height);
  font-style: var(--PC-notosansjp-bold-30-font-style);
}

.SP .logo-7 {
  position: absolute;
  width: 501px;
  height: 89px;
  top: 503px;
  left: 264px;
  background-image: url(./img/image-1-5.png);
  background-size: cover;
  background-position: 50% 50%;
}

.SP .frame-106 {
  width: 685px;
  position: absolute;
  top: 689px;
  left: 408px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}

.SP .frame-107 {
  display: flex;
  width: 1280px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 16px 0px;
  position: absolute;
  top: 11706px;
  left: 0;
}

.SP .text-wrapper-95 {
  position: relative;
  width: fit-content;
  margin-top: -1.00px;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 700;
  color: var(--gray-600);
  font-size: 14px;
  text-align: center;
  letter-spacing: 0;
  line-height: 22px;
  white-space: nowrap;
}

.tel-link {
  color: inherit;
  text-decoration: none;
}

.js-error {
  color: #f00;
  display: block;
  font-family: inherit;
}



/* ★ フェードインのJavaScript用 */

/* 初期状態（透明＋少し下に移動） */
.item {
  opacity: 0;
  transform: translateY(50px);
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

/* スクロールで表示されたら適用 */
.item.show {
  opacity: 1;
  transform: translateY(0);
}

/* 初期状態（透明＋少し下に移動） */
.item2 {
  opacity: 0;
  transform: translateY(50px);
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

/* スクロールで表示されたら適用 */
.item2.show {
  opacity: 1;
  transform: translateY(0);
}



@media (min-width: 540px) and (max-width: 700px) {
  .atoire-wrapper {
    height: 10912px;
    background: linear-gradient(to bottom,
        #ffffff 0px,
        #ffffff 1200px,
        #f4ffeb 1300px,
        #f4ffeb 100%);
    padding-left: 50px;
    padding-right: 50px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.3);
  }

  .SP.div {
    box-shadow: none;
  }

}

@media (min-width: 700px) and (max-width: 850px) {
  .atoire-wrapper {
    height: 10912px;
    background: linear-gradient(to bottom,
        #ffffff 0px,
        #ffffff 1200px,
        #f4ffeb 1300px,
        #f4ffeb 100%);
    padding-left: 80px;
    padding-right: 80px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.3);
  }

  .SP.div {
    box-shadow: none;
  }
}

@media (max-width: 850px) {
  .SP.pc {
    display: none !important;
  }
}

@media (min-width: 851px) {
  .SP.div {
    display: none !important;
  }
}