/* 全ての要素において、線や余白を「幅」に含める設定 */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  touch-action: manipulation;
}

/* 横揺れを防止する鉄板設定 */
html,
body {
  overflow-x: hidden;
  /* 横スクロールを禁止 */
  width: 100%;
  margin: 0;
  padding: 0;
  touch-action: manipulation;
}

/* 念のため、文章や画像など全ての要素にも適用 */
p, span, div, img, a, button {
  touch-action: manipulation;
}

body {
  margin: 0;
  padding: 0;
  width: 100%;
  background-color: #f0f0f0;
  /* 背景を薄いグレーにしてLPを見やすくする */
  display: flex;
  /* 画面の中央に配置するための設定 */
  justify-content: center;
  /* 左右中央 */
  font-family: "Noto Sans JP", sans-serif;
}

.rakuraku-LP-SP {
  background-color: #ffffff;
  overflow-x: hidden;
  width: 100%;
  max-width: 431px;
  height: auto;
  margin: 0 auto;
  position: relative;
}

.font-inter {
  font-family: "Inter", sans-serif !important;
}

.rakuraku-LP-SP .kv-sp {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  background-color: #ffffff;
  width: 100%;
  height: 500px;
}

.rakuraku-LP-SP .img {
  width: 100%;
  height: 500px;
  object-fit: cover;

}

.rakuraku-LP-SP .sp-rectangle {
  position: absolute;
  top: 400px;
  left: 0;
  width: 100%;
  /* 100%に変更 */
  height: 100px;
  background: linear-gradient(180deg,
      rgba(255, 255, 255, 0) 0%,
      rgba(220, 239, 254, 0.85) 100%);
}

.rakuraku-LP-SP .sp-frame {
  position: absolute;
  top: 426px;
  left: calc(50.00% - 184px);
  width: 100%;
  /*368px; /*?*/
  height: 48px;
}

.rakuraku-LP-SP .sp-frame-2 {
  position: absolute;
  top: 76px;
  left: 16px;
  width: 100%;
  /*367px; /*?*/
  height: 278px;
}

.rakuraku-LP-SP .sp-group {
  position: absolute;
  top: 500px;
  left: 0;
  width: 100%;
  height: 553px;
}

.rakuraku-LP-SP .sp-div {
  position: absolute;
  top: 1053px;
  left: 0;
  width: 100%;
  /* ここを必ず 100% にしてください */
  height: 319px;
}

/* =========================================
   業務トラブル（悩み）セクション用CSS
   (クラス名の衝突を避けるため .trouble- を付与)
   ========================================= */

.trouble-section {
  display: flex;
  flex-direction: column;
  width: 100%;
  /* 元は390px固定でしたが、親に合わせる形に調整 */
  max-width: 100%;
  /* 100%に変更 */
  /* スマホ幅制限 */
  margin: 0 auto;
  /* 中央寄せ */
  align-items: center;
  gap: 30px;
  padding: 40px 0px;
  position: relative;
  box-sizing: border-box;
}

.trouble-section .trouble-background {
  position: absolute;
  top: 4px;
  height: 561px;
  width: 100%;
}

.trouble-section .trouble-header-wrapper {
  gap: 10px;
  position: relative;
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.trouble-section .trouble-header-group {
  position: relative;
  width: 173px;
  height: 64.98px;
}

.trouble-section .trouble-header-vector {
  position: absolute;
  width: 72.83%;
  height: 78.58%;
  top: 0;
  left: 25.43%;
}

.trouble-section .trouble-header-mask {
  position: absolute;
  top: 10px;
  left: 0;
  width: 173px;
  height: 55px;
}

.trouble-section .trouble-content-area {
  position: relative;
  width: 326px;
  height: 374.42px;
}

/* --- カード共通スタイル --- */
.trouble-section .trouble-card-box {
  flex-direction: column;
  gap: 8px;
  padding: 20px 12px;
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 20px;
  box-shadow: 0px 15px 50px #7f8a9e45;
  background: linear-gradient(0deg,
      rgba(255, 255, 255, 1) 0%,
      rgba(255, 255, 255, 1) 100%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 100%;
  /* 親要素にフィットさせる */
  height: 100%;
}

/* --- 下段カード（業務山積み） --- */
.trouble-section .trouble-card-bottom {
  position: absolute;
  top: 136px;
  left: 0;
  width: 326px;
  height: 100px;
}

.trouble-section .trouble-text-container-bottom {
  width: 302px;
  display: flex;
  flex-direction: column;
  height: auto;
  /* 高さは自動調整に変更 */
  align-items: flex-start;
  gap: 2px;
}

/* --- 上段カード（急に辞めた） --- */
.trouble-section .trouble-card-top {
  position: absolute;
  top: 0;
  left: 16px;
  width: 295px;
  height: 100px;
  z-index: 2;
  /* 重なり順を念のため指定 */
}

.trouble-section .trouble-text-container-top {
  width: 188px;
  display: flex;
  flex-direction: column;
  height: auto;
  align-items: flex-start;
  gap: 2px;
}

/* --- テキスト共通 --- */
.trouble-section .trouble-text-p {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  font-family: "Noto Sans JP", Helvetica, sans-serif;
  font-weight: 900;
  color: var(--c-main, #185fe1);
  /* 変数がなければ青色を指定 */
  font-size: 14px;
  text-align: center;
  letter-spacing: 0.42px;
  line-height: 1.4;
  /* 読みやすく調整 */
  margin: 0;
}

.trouble-section .trouble-text-span {
  letter-spacing: 0.06px;
}

.trouble-section .trouble-desc-text {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  font-family: "Noto Sans JP", Helvetica, sans-serif;
  font-weight: 500;
  color: #000000;
  font-size: 12px;
  letter-spacing: 0.36px;
  line-height: 1.4;
  white-space: nowrap;
}

/* --- 吹き出しの丸（下段用） --- */
.trouble-section .trouble-bubbles-bottom {
  position: absolute;
  top: 80px;
  left: 263px;
  width: 52px;
  height: 43px;
  display: flex;
  gap: 4px;
  transform: rotate(180deg);
}

.trouble-section .trouble-bubble-lg {
  margin-top: 11px;
  width: 32px;
  height: 32px;
  border-radius: 16px;
  background: #ffffff;
}

.trouble-section .trouble-bubble-sm {
  width: 16px;
  height: 16px;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0px 15px 20px #00379c24;
}

/* --- 吹き出しの丸（上段用） --- */
.trouble-section .trouble-bubbles-top {
  position: absolute;
  top: 83px;
  left: 60px;
  width: 52px;
  height: 43px;
  display: flex;
  gap: 4px;
}

.trouble-section .trouble-bubble-lg-top {
  width: 32px;
  height: 32px;
  border-radius: 16px;
  box-shadow: 0px 15px 20px #00379c24;
  background: #ffffff;
}

.trouble-section .trouble-bubble-sm-top {
  margin-top: 27px;
  width: 16px;
  height: 16px;
  border-radius: 8px;
  box-shadow: 0px 15px 20px #00379c24;
  background: #ffffff;
}

/* --- 画像 --- */
.trouble-section .trouble-main-img {
  position: absolute;
  width: 160px;
  height: 114px;
  top: 276px;
  left: 83px;
  object-fit: contain;
}

.rakuraku-LP-SP .polygon-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 352px;
  display: flex;
  justify-content: center;
  background-image: url(./sp_img/rectangle-373.svg);
  /* 変更点：ここを cover にする */
  background-size: cover;
  /* 念のため中央寄せにする */
  background-position: center;
  background-repeat: no-repeat;
}

.rakuraku-LP-SP .polygon {
  margin-top: 0;
  width: 32.36px;
  height: 12.14px;
  margin-left: 0;
  aspect-ratio: 2.67;
}

.rakuraku-LP-SP .sp-frame-3 {
  display: flex;
  /* inline-flex から flex に変更 */
  flex-direction: column;
  align-items: center;
  /* 子要素（テキストや3つの箱）を中央揃え */
  gap: 60px;
  /* ▼ここから変更・追加 */
  justify-content: center;
  /* 中身を上下中央揃えにする */
  height: 100%;
  /* 高さを親要素いっぱい(319px)に広げる */
  padding: 0;
  /* 余計なパディングを削除 */
  position: absolute;
  top: 0;
  left: 0;
  /* 左端を0に */
  width: 100%;
  /* 幅を画面いっぱい(100%)に */
}

.rakuraku-LP-SP .flexcontainer {
  width: 100%;
  /* 100%に変更 */
  height: auto;
  /* 高さは自動調整に */
  display: flex;
  flex-direction: column;
  align-items: center;
  /* 文字を中央揃えに変更 */
  gap: 7px;
}

.rakuraku-LP-SP .sp-text {
  position: relative;
  align-self: stretch;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 700;
  color: transparent;
  font-size: 18px;
  text-align: center;
  letter-spacing: 0.54px;
  line-height: normal;
}

.rakuraku-LP-SP .sp-text-wrapper {
  color: #ffffff;
  letter-spacing: 0.10px;
}

.rakuraku-LP-SP .p {
  position: relative;
  align-self: stretch;
  margin-bottom: -27.00px;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 700;
  color: transparent;
  font-size: 18px;
  text-align: center;
  letter-spacing: 0.54px;
  line-height: normal;
}

.rakuraku-LP-SP .span {
  color: #fff379;
  letter-spacing: 0.10px;
}

.rakuraku-LP-SP .sp-frame-4 {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  position: relative;
  flex: 0 0 auto;
}

.rakuraku-LP-SP .sp-frame-wrapper {
  display: flex;
  width: 114px;
  height: 114px;
  align-items: center;
  justify-content: center;
  gap: 16px;
  position: relative;
  margin-top: -2.00px;
  margin-bottom: -2.00px;
  margin-left: -2.00px;
  border-radius: 8px;
  overflow: hidden;
  border: 2px solid;
  border-color: #ffffff;
  box-shadow: 0px 10px 16px #185fe133;
}

.rakuraku-LP-SP .sp-frame-5 {
  display: flex;
  flex-direction: column;
  height: 206px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  position: relative;
  flex: 1;
  flex-grow: 1;
  margin-top: -48.00px;
  margin-bottom: -44.00px;
  margin-left: -3.00px;
  border-radius: 8px;
  box-shadow: inset 0px 3px 5px #ffffff73;
  background: linear-gradient(180deg,
      rgba(255, 255, 255, 1) 0%,
      rgba(219, 242, 255, 1) 100%);
}

.rakuraku-LP-SP .x {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6.67px;
  position: relative;
  flex: 0 0 auto;
}

.rakuraku-LP-SP .sp-div-wrapper {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  position: relative;
  flex: 0 0 auto;
}

.rakuraku-LP-SP .vector-wrapper {
  position: relative;
  width: 40px;
  height: 40px;
  aspect-ratio: 1;
  background-image: url(./sp_img/vector.svg);
  background-size: 100% 100%;
}

.rakuraku-LP-SP .vector {
  position: absolute;
  width: 86.67%;
  height: 96.67%;
  top: 0;
  left: 6.67%;
}

.rakuraku-LP-SP .sp-frame-6 {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  position: relative;
  flex: 0 0 auto;
}

.rakuraku-LP-SP .sp-frame-7 {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 2px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.rakuraku-LP-SP .sp-text-wrapper-2 {
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  width: fit-content;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 900;
  color: #000000;
  font-size: 16px;
  text-align: center;
  letter-spacing: 0;
  line-height: 19.2px;
  white-space: nowrap;
}

.rakuraku-LP-SP .sp-text-wrapper-3 {
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  width: fit-content;
  margin-top: -1.00px;
  font-family: "Inter", Helvetica;
  font-weight: 700;
  color: #000000;
  font-size: 30px;
  text-align: center;
  letter-spacing: 0;
  line-height: 30px;
  white-space: nowrap;
  top: 4px;
}

.rakuraku-LP-SP .sp-div-2 {
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  width: fit-content;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 400;
  color: #000000;
  font-size: 16px;
  text-align: center;
  line-height: 19.2px;
  white-space: nowrap;
}

.rakuraku-LP-SP .sp-text-wrapper-4 {
  font-weight: 900;
  letter-spacing: 0;
}

.rakuraku-LP-SP .sp-text-wrapper-5 {
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.05px;
  line-height: 15.6px;
}

.rakuraku-LP-SP .sp-text-wrapper-6 {
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  width: fit-content;
  margin-top: -1.00px;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 700;
  color: #000000;
  font-size: 13px;
  text-align: center;
  letter-spacing: 0.39px;
  line-height: 15.6px;
  white-space: nowrap;
}

.rakuraku-LP-SP .sp-group-2 {
  display: flex;
  width: 114px;
  height: 114px;
  align-items: center;
  justify-content: center;
  gap: 16px;
  position: relative;
  margin-top: -2.00px;
  margin-bottom: -2.00px;
  border-radius: 8px;
  overflow: hidden;
  border: 2px solid;
  border-color: #ffffff;
  box-shadow: 0px 10px 16px #185fe133;
}

.rakuraku-LP-SP .sp-frame-8 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  position: relative;
  flex: 1;
  align-self: stretch;
  flex-grow: 1;
  margin-top: -3.00px;
  margin-left: -3.00px;
  border-radius: 3px;
  box-shadow: inset 0px 3px 5px #ffffff73;
  background: linear-gradient(180deg,
      rgba(255, 255, 255, 1) 0%,
      rgba(219, 242, 255, 1) 100%);
}

.rakuraku-LP-SP .img-wrapper {
  position: relative;
  width: 40px;
  height: 40px;
  aspect-ratio: 1;
}

.rakuraku-LP-SP .vector-2 {
  position: absolute;
  width: 90.00%;
  height: 70.02%;
  top: 15.00%;
  left: 5.00%;
}

.rakuraku-LP-SP .flexcontainer-2 {
  width: 54px;
  height: 36px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 7px;
}

.rakuraku-LP-SP .span-wrapper {
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  align-self: stretch;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 400;
  color: #000000;
  font-size: 16px;
  text-align: center;
  line-height: 16px;
}

.rakuraku-LP-SP .sp-text-wrapper-7 {
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.05px;
  line-height: 13px;
}

.rakuraku-LP-SP .sp-group-3 {
  display: flex;
  width: 114px;
  height: 114px;
  align-items: center;
  justify-content: center;
  gap: 16px;
  position: relative;
  margin-top: -2.00px;
  margin-bottom: -2.00px;
  margin-right: -2.00px;
  border-radius: 8px;
  overflow: hidden;
  border: 2px solid;
  border-color: #ffffff;
  box-shadow: 0px 10px 16px #185fe133;
}

.rakuraku-LP-SP .sp-group-4 {
  position: relative;
  width: 40px;
  height: 40px;
}

.rakuraku-LP-SP .exclude-wrapper {
  width: 40px;
  height: 40px;
  display: flex;
}

.rakuraku-LP-SP .exclude {
  margin-top: 1.2px;
  width: 35.33px;
  height: 38px;
  margin-left: 2.3px;
}

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

.rakuraku-LP-SP .flexcontainer-3 {
  width: 48px;
  height: 35px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 7px;
}

.rakuraku-LP-SP .sp-text-2 {
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  align-self: stretch;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 400;
  color: #000000;
  font-size: 11px;
  text-align: center;
  line-height: 11px;
}

.rakuraku-LP-SP .sp-text-wrapper-8 {
  font-weight: 700;
  letter-spacing: 0.04px;
}

.rakuraku-LP-SP .sp-text-wrapper-9 {
  font-weight: 900;
  font-size: 16px;
  letter-spacing: 0;
  line-height: 16px;
}

.rakuraku-LP-SP .sp-group-5 {
  position: absolute;
  top: 1372px;
  left: 0px;
  width: 100%;
  height: 2571px;
}

.rakuraku-LP-SP .sp-rectangle-2 {
  position: absolute;
  top: 0;
  left: 0;
  width: 103%;
  /*?*/
  height: 2529px;
  background: linear-gradient(271deg,
      rgba(243, 247, 255, 1) 0%,
      rgba(255, 255, 255, 1) 50%,
      rgba(243, 247, 255, 1) 100%);
}

.rakuraku-LP-SP .sp-frame-9 {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
  padding: 80px 0px 60px;
  position: absolute;
  top: 0;
  left: calc(50.00% - 195px);
}

.rakuraku-LP-SP .title {
  position: relative;
  width: 273px;
  height: 90px;
}

.rakuraku-LP-SP .sp-text-wrapper-10 {
  position: absolute;
  top: -14px;
  left: calc(50.00% - 206px);
  height: 58px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  background: linear-gradient(90deg,
      rgba(24, 95, 225, 0.22) 0%,
      rgba(147, 105, 187, 0.77) 50%,
      rgba(255, 135, 90, 1) 100%);
  -webkit-background-clip: text !important;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  text-fill-color: transparent;
  opacity: 0.15;
  font-family: "Inter", Helvetica;
  font-weight: 700;
  color: transparent;
  font-size: 60px;
  text-align: center;
  letter-spacing: 0;
  line-height: normal;
  white-space: nowrap;
}

.rakuraku-LP-SP .mask-group {
  position: absolute;
  top: -1px;
  left: 11px;
  width: 251px;
  height: 87px;
}

.rakuraku-LP-SP .sp-group-wrapper {
  position: relative;
  width: 100%;
  height: 388px;
}

.rakuraku-LP-SP .sp-group-6 {
  position: absolute;
  top: 0;
  right: -2px;
  width: 368px;
  height: 360px;
}

.rakuraku-LP-SP .sp-rectangle-3 {
  position: absolute;
  top: 0;
  right: -6px;
  width: 340px;
  height: 350px;
  opacity: 0.7;
}

.rakuraku-LP-SP .adobestock-wrapper {
  display: flex;
  flex-direction: column;
  width: 300px;
  align-items: flex-start;
  gap: 16px;
  position: absolute;
  top: 57px;
  left: 47px;
  box-shadow: 0px 10px 20px #185ee133;
  background: linear-gradient(0deg,
      rgba(255, 255, 255, 0.9) 0%,
      rgba(255, 255, 255, 0.9) 100%),
    linear-gradient(225deg,
      rgba(255, 135, 90, 1) 0%,
      rgba(147, 105, 187, 1) 50%,
      rgba(24, 95, 225, 1) 100%);
}

.rakuraku-LP-SP .adobestock {
  position: relative;
  width: 300px;
  height: 162px;
  aspect-ratio: 1.85;
}

.rakuraku-LP-SP .sp-frame-10 {
  width: 326px;
  align-items: flex-start;
  gap: 16px;
  padding: 16px;
  position: absolute;
  top: 179px;
  left: -3px;
  border-radius: 8px;
  box-shadow: 0px 10px 20px #185ee133;
  background: linear-gradient(0deg,
      rgba(255, 255, 255, 1) 0%,
      rgba(255, 255, 255, 1) 100%);
  display: flex;
  flex-direction: column;
}

.rakuraku-LP-SP .sp-text-wrapper-11 {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 900;
  color: var(--c-main);
  font-size: 18px;
  letter-spacing: 0.54px;
  line-height: 25.2px;
}

.rakuraku-LP-SP .sp-text-wrapper-12 {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 400;
  color: #000000;
  font-size: 14px;
  letter-spacing: 0.42px;
  line-height: 21px;
}

.rakuraku-LP-SP .sp-text-wrapper-13 {
  position: absolute;
  top: 20px;
  left: 149px;
  height: 25px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  background: linear-gradient(90deg,
      rgba(24, 95, 225, 1) 0%,
      rgba(24, 148, 225, 1) 100%);
  -webkit-background-clip: text !important;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  text-fill-color: transparent;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 700;
  color: transparent;
  font-size: 24px;
  text-align: center;
  letter-spacing: 1.44px;
  line-height: 24px;
  white-space: nowrap;
}

.rakuraku-LP-SP .sp-frame-11 {
  position: relative;
  width: 390px;
  height: 407px;
}

.rakuraku-LP-SP .sp-rectangle-wrapper {
  position: absolute;
  top: 20px;
  left: -6px;
  width: 340px;
  height: 350px;
  display: flex;
  transform: rotate(180deg);
}

.rakuraku-LP-SP .sp-rectangle-4 {
  transform: rotate(-180deg);
  width: 340px;
  height: 350px;
  opacity: 0.7;
  top: 20px;
  position: absolute;
}

.rakuraku-LP-SP .sp-text-wrapper-14 {
  position: absolute;
  top: 20px;
  left: 110px;
  height: 25px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  background: linear-gradient(90deg,
      rgba(24, 95, 225, 1) 0%,
      rgba(24, 148, 225, 1) 100%);
  -webkit-background-clip: text !important;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  text-fill-color: transparent;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 700;
  color: transparent;
  font-size: 24px;
  text-align: center;
  letter-spacing: 1.44px;
  line-height: 24px;
  white-space: nowrap;
}

.rakuraku-LP-SP .sp-group-7 {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  position: absolute;
  top: 57px;
  left: 13px;
  box-shadow: 0px 10px 20px #185ee133;
  background: linear-gradient(0deg,
      rgba(255, 255, 255, 0.9) 0%,
      rgba(255, 255, 255, 0.9) 100%),
    linear-gradient(225deg,
      rgba(255, 135, 90, 1) 0%,
      rgba(147, 105, 187, 1) 50%,
      rgba(24, 95, 225, 1) 100%);
}

.rakuraku-LP-SP .adobestock-2 {
  position: relative;
  width: 300px;
  height: 162px;
  aspect-ratio: 1.85;
}

.rakuraku-LP-SP .sp-frame-12 {
  width: 326px;
  align-items: flex-start;
  gap: 16px;
  padding: 16px;
  position: absolute;
  top: 180px;
  left: 43px;
  border-radius: 8px;
  box-shadow: 0px 10px 20px #185ee133;
  background: linear-gradient(0deg,
      rgba(255, 255, 255, 1) 0%,
      rgba(255, 255, 255, 1) 100%);
  display: flex;
  flex-direction: column;
}

.rakuraku-LP-SP .sp-frame-13 {
  position: relative;
  width: 390px;
  height: 427px;
}

.rakuraku-LP-SP .sp-group-8 {
  position: absolute;
  right: -6px;
  width: 340px;
  height: 350px;
  display: flex;
  background-image: url(./sp_img/rectangle-372-2.svg);
  background-size: 100% 100%;
  top: 20px;
}

.rakuraku-LP-SP .sp-group-9 {
  display: inline-flex;
  margin-top: 57px;
  width: 300px;
  height: 162px;
  margin-left: 21px;
  position: relative;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
}

.rakuraku-LP-SP .adobestock-3 {
  position: relative;
  object-fit: cover;
  width: 300px;
  height: 162px;
  aspect-ratio: 1.85;
}

.rakuraku-LP-SP .sp-frame-14 {
  width: 326px;
  align-items: flex-start;
  gap: 16px;
  padding: 16px;
  position: absolute;
  top: 199px;
  left: 21px;
  border-radius: 8px;
  box-shadow: 0px 10px 20px #185ee133;
  background: linear-gradient(0deg,
      rgba(255, 255, 255, 1) 0%,
      rgba(255, 255, 255, 1) 100%);
  display: flex;
  flex-direction: column;
}

.rakuraku-LP-SP .sp-text-wrapper-15 {
  position: absolute;
  top: 40px;
  left: 160px;
  height: 25px;
  display: flex;
  justify-content: center;
  background: linear-gradient(90deg,
      rgba(24, 95, 225, 1) 0%,
      rgba(24, 148, 225, 1) 100%);
  -webkit-background-clip: text !important;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  text-fill-color: transparent;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 700;
  color: transparent;
  font-size: 24px;
  text-align: center;
  letter-spacing: 1.44px;
  line-height: 24px;
  white-space: nowrap;
}

.rakuraku-LP-SP .sp-frame-15 {
  position: relative;
  width: 390px;
  height: 469px;
}

.rakuraku-LP-SP .sp-group-10 {
  position: relative;
  width: 368px;
  height: 469px;
  transform: rotate(180deg);
  top: 20px;
}

.rakuraku-LP-SP .sp-rectangle-5 {
  position: absolute;
  top: 119px;
  right: -6px;
  transform: rotate(-180deg);
  width: 340px;
  height: 350px;
}

.rakuraku-LP-SP .sp-text-wrapper-16 {
  position: absolute;
  top: 425px;
  left: 122px;
  height: 25px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  transform: rotate(-180deg);
  background: linear-gradient(90deg,
      rgba(24, 95, 225, 1) 0%,
      rgba(24, 148, 225, 1) 100%);
  -webkit-background-clip: text !important;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  text-fill-color: transparent;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 700;
  color: transparent;
  font-size: 24px;
  text-align: center;
  letter-spacing: 1.44px;
  line-height: 24px;
  white-space: nowrap;
}

.rakuraku-LP-SP .sp-group-11 {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  position: absolute;
  top: 250px;
  left: 47px;
  width: 300px;
  height: 162px;
  /* ★この1行を追加して、回転を元に戻します */
  transform: rotate(-180deg);
  box-shadow: 0px 10px 20px #185ee133;
  background: #fff;
}

.rakuraku-LP-SP .sp-group-12 {
  position: relative;
  width: 300px;
  height: 162px;
  background-size: 100% 100%;
  top: 28px;
  left: 68px;
}

.sp-hinsitu-center-box {
  display: flex;
  flex-direction: column;
  /* 中身を縦に並べる（上が画像、下が文字） */
  align-items: center;
  /* 左右の中央揃え */
  justify-content: center;
  /* 上下の中央揃え（親に高さがある場合） */
  gap: 10px;
  /* 画像と文字の間の隙間 */
  left: 55px;
  position: relative;
}

.rakuraku-LP-SP .sp-hinsitu-img {
  max-width: 100%;
  height: auto;
  top: 13px;
  position: relative;
  width: 183px;
}

.rakuraku-LP-SP .sp-frame-16 {
  width: 326px;
  align-items: flex-start;
  gap: 16px;
  padding: 16px;
  position: absolute;
  top: 3px;
  left: -3px;
  border-radius: 8px;
  transform: rotate(-180deg);
  box-shadow: 0px 10px 20px #185ee133;
  background: linear-gradient(0deg,
      rgba(255, 255, 255, 1) 0%,
      rgba(255, 255, 255, 1) 100%);
  display: flex;
  flex-direction: column;
}

.rakuraku-LP-SP .sp-frame-17 {
  position: relative;
  width: 390px;
  height: 450px;
}

.rakuraku-LP-SP .sp-group-13 {
  position: relative;
  left: 24px;
  width: 368px;
  height: 450px;
  top: 20px;
}

.rakuraku-LP-SP .sp-rectangle-6 {
  position: absolute;
  top: 0;
  right: -6px;
  width: 340px;
  height: 350px;
}

.rakuraku-LP-SP .sp-text-wrapper-17 {
  position: absolute;
  top: 20px;
  left: 138px;
  height: 25px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  background: linear-gradient(90deg,
      rgba(24, 95, 225, 1) 0%,
      rgba(24, 148, 225, 1) 100%);
  -webkit-background-clip: text !important;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  text-fill-color: transparent;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 700;
  color: transparent;
  font-size: 24px;
  text-align: center;
  letter-spacing: 1.44px;
  line-height: 24px;
  white-space: nowrap;
}

.rakuraku-LP-SP .sp-group-14 {
  position: absolute;
  top: 58px;
  left: 48px;
  width: 300px;
  height: 162px;
  box-shadow: 0px 5px 10px #185ee133;
}

.rakuraku-LP-SP .adobestock-4 {
  position: absolute;
  top: 0;
  left: 0;
  background: linear-gradient(62deg,
      rgba(255, 255, 255, 1) 0%,
      rgba(242, 245, 255, 1) 100%);
  width: 300px;
  height: 162px;
  aspect-ratio: 1.85;
}

.rakuraku-LP-SP .sp-frame-18 {
  display: flex;
  flex-direction: column;
  width: 236px;
  height: 83px;
  align-items: center;
  gap: 9px;
  position: absolute;
  top: 20px;
  left: calc(50.00% - 120px);
}

.rakuraku-LP-SP .iso-ukas-isms {
  position: relative;
  width: 160px;
  height: 72px;
  aspect-ratio: 2.23;
}

.rakuraku-LP-SP .sp-text-wrapper-18 {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  margin-bottom: -9.00px;
  font-family: "Inter", Helvetica;
  font-weight: 400;
  color: #000000;
  font-size: 8px;
  text-align: center;
  letter-spacing: 0.24px;
  line-height: 12px;
  text-decoration: none !important;
  /* 下線を強制削除 */
  pointer-events: none;
  /* クリック（タップ）自体を無効化したい場合 */
  cursor: default;
  /* マウスカーソルを指マークにしない */
}

.rakuraku-LP-SP .sp-frame-19 {
  width: 326px;
  align-items: flex-start;
  gap: 16px;
  padding: 16px;
  position: absolute;
  top: calc(50.00% - 46px);
  left: -3px;
  border-radius: 8px;
  box-shadow: 0px 10px 20px #185ee133;
  background: linear-gradient(0deg,
      rgba(255, 255, 255, 1) 0%,
      rgba(255, 255, 255, 1) 100%);
  display: flex;
  flex-direction: column;
}

.rakuraku-LP-SP .flexcontainer-4 {
  height: 52px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 7px;
}

.rakuraku-LP-SP .sp-text-3 {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 400;
  color: var(--c-main);
  font-size: 18px;
  letter-spacing: 0.54px;
  line-height: 25.2px;
}

.rakuraku-LP-SP .sp-text-wrapper-19 {
  font-weight: 900;
  letter-spacing: 0.10px;
}

.rakuraku-LP-SP .sp-text-wrapper-20 {
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.06px;
  line-height: 19.6px;
}

.rakuraku-LP-SP .layer {
  position: absolute;
  top: 1332px;
  left: 10px;
  width: 110px;
  height: 78px;
}

.rakuraku-LP-SP .sp-group-15 {
  position: absolute;
  top: 3901px;
  left: 0;
  width: 100%;
  height: 2004px;
  display: flex;
  background: linear-gradient(0deg,
      rgba(238, 243, 253, 1) 0%,
      rgba(231, 239, 254, 1) 100%);
}

.rakuraku-LP-SP .sp-frame-20 {
  display: inline-flex;
  width: 340px;
  height: 2004px;
  margin: auto;
  position: relative;
  flex-direction: column;
  align-items: center;
  gap: 40px;
  padding: 80px 0px 60px;
}

.rakuraku-LP-SP .sp-frame-21 {
  display: flex;
  flex-direction: column;
  width: 358px;
  align-items: center;
  gap: 20px;
  position: relative;
  flex: 0 0 auto;
}

.rakuraku-LP-SP .title-2 {
  position: relative;
  align-self: stretch;
  width: 100%;
  height: 64px;
}

.rakuraku-LP-SP .sp-text-wrapper-21 {
  position: absolute;
  top: -14px;
  left: calc(50.00% - 211px);
  height: 60px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  background: linear-gradient(90deg,
      rgba(24, 95, 225, 0.22) 0%,
      rgba(147, 105, 187, 0.77) 50%,
      rgba(255, 135, 90, 1) 100%);
  -webkit-background-clip: text !important;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  text-fill-color: transparent;
  opacity: 0.15;
  font-family: "Inter", Helvetica;
  font-weight: 700;
  color: transparent;
  font-size: 60px;
  text-align: center;
  letter-spacing: 0;
  line-height: normal;
  white-space: nowrap;
}

.rakuraku-LP-SP .flexcontainer-5 {
  position: absolute;
  width: 340px;
  height: 59px;
  top: -2px;
  left: 9px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 7px;
}

.rakuraku-LP-SP .sp-text-4 {
  position: relative;
  align-self: stretch;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 700;
  color: #000000;
  font-size: 22px;
  text-align: center;
  letter-spacing: 0.66px;
  line-height: 26.4px;
}

.rakuraku-LP-SP .sp-text-wrapper-22 {
  letter-spacing: 0.15px;
}

.rakuraku-LP-SP .sp-text-wrapper-23 {
  align-items: center;
  align-self: stretch;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 500;
  font-size: 14px;
  letter-spacing: 0.42px;
  line-height: 22.4px;
  position: relative;
  display: flex;
  justify-content: center;
  color: #000000;
}

.rakuraku-LP-SP .sp-frame-22 {
  display: flex;
  flex-direction: column;
  width: 100%;
  align-items: flex-start;
  gap: 24px;
  position: relative;
  flex: 0 0 auto;
}

.rakuraku-LP-SP .sp-frame-23 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0px 15px 50px #808b9e45;
}

.rakuraku-LP-SP .sp-frame-24 {
  display: flex;
  flex-direction: column;
  height: 40px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  background: linear-gradient(90deg,
      rgba(24, 95, 225, 1) 0%,
      rgba(24, 148, 225, 1) 100%);
}

.rakuraku-LP-SP .sp-text-wrapper-24 {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 700;
  color: #ffffff;
  font-size: 16px;
  letter-spacing: 0.48px;
  line-height: 16px;
  white-space: nowrap;
}

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

.rakuraku-LP-SP .sp-frame-26 {
  display: flex;
  align-items: center;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  background-color: #ffffff;
}

.rakuraku-LP-SP .sp-frame-27 {
  display: flex;
  flex-direction: column;
  width: 140px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  position: relative;
  align-self: stretch;
  border: 3px solid;
  border-color: #ffffff;
  box-shadow: inset 0px 3px 5px #ffffff73;
  background: linear-gradient(0deg,
      rgba(232, 243, 250, 1) 0%,
      rgba(232, 243, 250, 1) 100%);
}

.rakuraku-LP-SP .flexcontainer-6 {
  width: 81px;
  height: 30px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 7px;
}

.rakuraku-LP-SP .sp-text-5 {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  background: linear-gradient(77deg,
      rgba(140, 83, 246, 1) 0%,
      rgba(9, 67, 173, 1) 50%,
      rgba(35, 171, 205, 1) 100%);
  -webkit-background-clip: text !important;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  text-fill-color: transparent;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 700;
  color: transparent;
  font-size: 13px;
  text-align: center;
  letter-spacing: 0.39px;
  line-height: 13px;
}

.rakuraku-LP-SP .sp-text-wrapper-25 {
  color: #000000;
  letter-spacing: 0.05px;
}

.rakuraku-LP-SP .sp-frame-28 {
  display: flex;
  flex-direction: column;
  min-height: 60px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 8px;
  position: relative;
  flex: 1;
  flex-grow: 1;
  background-color: #ffffff;
  width: 200px;
}

.rakuraku-LP-SP .img-2 {
  position: relative;
  width: 24px;
  height: 24px;
  aspect-ratio: 1;
}

.rakuraku-LP-SP .sp-text-wrapper-26 {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 500;
  color: #272727;
  font-size: 13px;
  text-align: center;
  letter-spacing: 0.39px;
  line-height: 13px;
  white-space: nowrap;
}

.rakuraku-LP-SP .flexcontainer-7 {
  display: flex;
  flex-direction: column;
  width: 107px;
  height: 30px;
  align-items: flex-start;
  gap: 7px;
}

.rakuraku-LP-SP .sp-text-6 {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 700;
  color: #000000;
  font-size: 13px;
  text-align: center;
  letter-spacing: 0.39px;
  line-height: 13px;
}

.rakuraku-LP-SP .sp-text-wrapper-27 {
  letter-spacing: 0.05px;
}

.rakuraku-LP-SP .flexcontainer-8 {
  width: 120px;
  height: 30px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 7px;
}

.rakuraku-LP-SP .sp-text-7 {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 500;
  color: #272727;
  font-size: 13px;
  text-align: center;
  letter-spacing: 0.39px;
  line-height: 13px;
}

.rakuraku-LP-SP .flexcontainer-9 {
  width: 160px;
  height: 30px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 7px;
}

.rakuraku-LP-SP .flexcontainer-10 {
  width: 134px;
  height: 30px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 7px;
}

.rakuraku-LP-SP .flexcontainer-11 {
  width: 161px;
  height: 30px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 7px;
}

.rakuraku-LP-SP .flexcontainer-12 {
  width: 106px;
  height: 30px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 7px;
}

.rakuraku-LP-SP .flexcontainer-13 {
  width: 148px;
  height: 30px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 7px;
}

.rakuraku-LP-SP .sp-frame-29 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 3px;
  position: relative;
  flex: 0 0 auto;
}

.rakuraku-LP-SP .sp-text-wrapper-28 {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 500;
  color: #272727;
  font-size: 10px;
  letter-spacing: 0.30px;
  line-height: 10px;
  white-space: nowrap;
}

.rakuraku-LP-SP .flexcontainer-14 {
  width: 121px;
  height: 30px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 7px;
}

.rakuraku-LP-SP .flexcontainer-15 {
  width: 194px;
  height: 30px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 7px;
}

.rakuraku-LP-SP .sp-group-16 {
  position: absolute;
  top: 5905px;
  left: 0;
  width: 100%;
  height: 597px;
}

.rakuraku-LP-SP .bk-cta {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 555px;
  background-image: url(./sp_img/rectangle-409.svg);
  /* 変更点：ここを cover にする */
  background-size: cover;
  /* 念のため中央寄せにする */
  background-position: center;
  background-repeat: no-repeat;
}

.rakuraku-LP-SP .sp-frame-30 {
  display: flex;
  flex-direction: column;
  width: 100%;
  /* 幅を画面いっぱいに */
  align-items: center;
  /* 中身（カード）を中央揃えに */
  gap: 10px;
  padding: 41px 24px;
  /* 左右に24pxずつの余白を追加してバランスを取る */
  position: absolute;
  top: 0;
  left: 0;
  /* 左端を0にリセット */
  box-sizing: border-box;
  /* パディングを幅に含める（念のため確認） */
}

.rakuraku-LP-SP .sp-frame-31 {
  flex-direction: column;
  align-items: center;
  gap: 16px;
  border-radius: 8px;
  box-shadow: 0px 10px 16px #185fe133;
  display: flex;
  justify-content: center;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.rakuraku-LP-SP .sp-frame-32 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: 24px 24px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  margin-top: -3.00px;
  margin-left: -3.00px;
  margin-right: -3.00px;
  border-radius: 8px;
  background: linear-gradient(0deg,
      rgba(255, 255, 255, 1) 0%,
      rgba(255, 255, 255, 1) 100%);
}

.rakuraku-LP-SP .sp-text-wrapper-29 {
  position: relative;
  width: fit-content;
  margin-left: -1.00px;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 900;
  color: var(--c-main);
  font-size: 18px;
  letter-spacing: 0.54px;
  line-height: 21.6px;
  white-space: nowrap;
}

.rakuraku-LP-SP .flexcontainer-16 {
  height: 105px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 7px;
}

.rakuraku-LP-SP .sp-div-3 {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 400;
  color: #000000;
  font-size: 14px;
  text-align: center;
  letter-spacing: 0.42px;
  line-height: 21px;
}

.rakuraku-LP-SP .sp-text-wrapper-30 {
  letter-spacing: 0.06px;
}

.rakuraku-LP-SP .btn-contact {
  display: flex;
  max-width: 280px;
  width: 284px;
  height: 52px;
  align-items: center;
  justify-content: center;
  gap: 2px;
  position: relative;
  border-radius: 80px;
  overflow: hidden;
  border: 2px solid;
  border-color: #ffffff;
  box-shadow: 0px 15px 20px #185fe133;
  background: linear-gradient(360deg,
      rgba(241, 94, 31, 1) 0%,
      rgba(230, 0, 18, 1) 50%,
      rgba(242, 50, 99, 1) 100%);
}

.rakuraku-LP-SP .sp-frame-33 {
  position: relative;
  width: 20px;
  height: 20px;
  box-shadow: 0px 3.08px 3.08px transparent;
  aspect-ratio: 1;
}

.rakuraku-LP-SP .sp-group-17 {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-image: url(./sp_img/vector-2.svg);
  background-size: 100% 100%;
}

.rakuraku-LP-SP .vector-3 {
  margin-top: -0.4px;
  height: 12.1px;
  margin-left: -0.3px;
  width: 15.13px;
  aspect-ratio: 1.25;
}

.rakuraku-LP-SP .sp-text-wrapper-31 {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  text-shadow: 0px 4px 4px #1430631a;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 700;
  color: #ffffff;
  font-size: 13px;
  letter-spacing: 0.39px;
  line-height: 13px;
  white-space: nowrap;
}

.rakuraku-LP-SP .sp-frame-34 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: 32px 24px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  margin-bottom: -3.00px;
  margin-left: -3.00px;
  margin-right: -3.00px;
  border-radius: 8px;
  background: linear-gradient(0deg,
      rgba(255, 255, 255, 1) 0%,
      rgba(255, 255, 255, 1) 100%);
}

.rakuraku-LP-SP .sp-text-wrapper-32 {
  position: relative;
  width: fit-content;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 900;
  color: var(--c-main);
  font-size: 18px;
  letter-spacing: 0.54px;
  line-height: 21.6px;
  white-space: nowrap;
}

.rakuraku-LP-SP .btn-price {
  display: flex;
  max-width: 280px;
  height: 52px;
  align-items: center;
  justify-content: center;
  gap: 2px;
  position: relative;
  width: 100%;
  border-radius: 80px;
  overflow: hidden;
  border: 2px solid;
  border-color: #ffffff;
  box-shadow: 0px 15px 20px #185fe133;
  background: linear-gradient(77deg,
      rgba(140, 83, 246, 1) 0%,
      rgba(9, 67, 173, 1) 50%,
      rgba(35, 171, 205, 1) 100%);
}

.rakuraku-LP-SP .sp-frame-35 {
  position: relative;
  width: 20px;
  height: 20px;
  aspect-ratio: 1;
}

.rakuraku-LP-SP .sp-group-18 {
  position: relative;
  height: 100%;
  background-image: url(./sp_img/vector-3.svg);
  background-size: 100% 100%;
}

.rakuraku-LP-SP .vector-4 {
  position: absolute;
  width: 75.00%;
  height: 83.33%;
  top: 8.33%;
  left: 12.50%;
}

.rakuraku-LP-SP .sp-group-19 {
  position: absolute;
  top: 6460px;
  left: 0;
  width: 100%;
  height: 990px;
  display: flex;
  background: linear-gradient(114deg,
      rgba(255, 255, 255, 1) 0%,
      rgba(223, 232, 250, 1) 100%);
}

.rakuraku-LP-SP .sp-frame-36 {
  display: flex;
  width: 100%;
  height: 990px;
  position: relative;
  flex-direction: column;
  align-items: center;
  gap: 30px;
  padding: 120px 0px 80px;
}

.rakuraku-LP-SP .title-3 {
  position: relative;
  align-self: stretch;
  width: 100%;
  height: 25px;
}

.rakuraku-LP-SP .sp-text-wrapper-33 {
  position: absolute;
  top: -20px;
  left: calc(50.00% - 201px);
  height: 70px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  background: linear-gradient(90deg,
      rgba(24, 95, 225, 0.22) 0%,
      rgba(147, 105, 187, 0.77) 50%,
      rgba(255, 135, 90, 1) 100%);
  -webkit-background-clip: text !important;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  text-fill-color: transparent;
  opacity: 0.15;
  font-family: "Inter", Helvetica;
  font-weight: 700;
  color: transparent;
  font-size: 69px;
  text-align: center;
  letter-spacing: 2.07px;
  line-height: normal;
  white-space: nowrap;
}

.rakuraku-LP-SP .sp-text-wrapper-34 {
  position: absolute;
  top: -1px;
  left: 66px;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 700;
  color: #000000;
  font-size: 22px;
  text-align: center;
  letter-spacing: 0.66px;
  line-height: 26.4px;
  white-space: nowrap;
}

.rakuraku-LP-SP .flexcontainer-17 {
  height: 39px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 7px;
}

.rakuraku-LP-SP .sp-div-4 {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 500;
  color: #000000;
  font-size: 14px;
  text-align: center;
  letter-spacing: 0.42px;
  line-height: 22.4px;
}

.rakuraku-LP-SP .sp-frame-37 {
  align-items: center;
  gap: 24px;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  /* box-shadow: 0px 6px 10px #185fe126;  ← ★この行を削除します */
  display: flex;
  flex-direction: column;
  position: relative;
}

.rakuraku-LP-SP .sp-frame-38 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(4, minmax(0, 1fr));
  width: 358px;
  height: 676px;
  gap: 12px;
  position: relative;
}

.rakuraku-LP-SP .sp-frame-39 {
  position: relative;
  grid-row: 1 / 2;
  grid-column: 1 / 2;
  width: 175px;
  height: 160px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 8px;
  background-color: #ffffff;
  border-radius: 8px;
  /* ★ここに影を追加します */
  box-shadow: 0px 6px 10px #185fe126;
}

.rakuraku-LP-SP .img-3 {
  position: relative;
  width: 80px;
  height: 80px;
  aspect-ratio: 1;
}

.rakuraku-LP-SP .flexcontainer-18 {
  width: 147px;
  height: 30px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 7px;
}

.rakuraku-LP-SP .sp-text-8 {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 700;
  color: var(--c-main);
  font-size: 13px;
  text-align: center;
  letter-spacing: 0.39px;
  line-height: 13px;
}

.rakuraku-LP-SP .sp-frame-40 {
  position: relative;
  grid-row: 1 / 2;
  grid-column: 2 / 3;
  width: 175px;
  height: 160px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 8px;
  background-color: #ffffff;
  border-radius: 8px;
  /* ★ここに影を追加します */
  box-shadow: 0px 6px 10px #185fe126;
}

.rakuraku-LP-SP .sp-text-wrapper-35 {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  margin-left: -1.00px;
  margin-right: -1.00px;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 700;
  color: var(--c-main);
  font-size: 13px;
  text-align: center;
  letter-spacing: 0.39px;
  line-height: 13px;
  white-space: nowrap;
}

.rakuraku-LP-SP .sp-frame-41 {
  position: relative;
  grid-row: 2 / 3;
  grid-column: 1 / 2;
  width: 175px;
  height: 160px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 8px;
  background-color: #ffffff;
  border-radius: 8px;
  /* ★ここに影を追加します */
  box-shadow: 0px 6px 10px #185fe126;
}

.rakuraku-LP-SP .sp-frame-42 {
  position: relative;
  grid-row: 2 / 3;
  grid-column: 2 / 3;
  width: 175px;
  height: 160px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 8px;
  background-color: #ffffff;
  border-radius: 8px;
  /* ★ここに影を追加します */
  box-shadow: 0px 6px 10px #185fe126;
}

.rakuraku-LP-SP .sp-frame-43 {
  grid-row: 3 / 4;
  grid-column: 1 / 2;
  width: 175px;
  height: 160px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 8px;
  background-color: #ffffff;
  border-radius: 8px;
  position: relative;
  justify-content: center;
  /* ★ここに影を追加します */
  box-shadow: 0px 6px 10px #185fe126;
}

.rakuraku-LP-SP .flexcontainer-19 {
  width: 147px;
  height: 50px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 7px;
}

.rakuraku-LP-SP .sp-frame-44 {
  position: relative;
  grid-row: 3 / 4;
  grid-column: 2 / 3;
  width: 175px;
  height: 160px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 8px;
  background-color: #ffffff;
  border-radius: 8px;
  /* ★ここに影を追加します */
  box-shadow: 0px 6px 10px #185fe126;
}

.rakuraku-LP-SP .sp-frame-45 {
  position: relative;
  grid-row: 4 / 5;
  grid-column: 1 / 2;
  width: 175px;
  height: 160px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 8px;
  background-color: #ffffff;
  border-radius: 8px;
  /* ★ここに影を追加します */
  box-shadow: 0px 6px 10px #185fe126;
}

.rakuraku-LP-SP .sp-group-20 {
  position: absolute;
  top: 7450px;
  left: 0;
  width: 100%;
  height: 718px;
  display: flex;
}

.rakuraku-LP-SP .sp-frame-46 {
  display: flex;
  width: 100%;
  height: 774.72px;
  position: relative;
  flex-direction: column;
  align-items: center;
  gap: 30px;
  padding: 80px 0px 60px;
  background-color: #ffffff;
}

.rakuraku-LP-SP .sp-text-wrapper-36 {
  position: absolute;
  top: -20px;
  left: calc(50.00% - 105px);
  height: 70px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  background: linear-gradient(90deg,
      rgba(24, 95, 225, 0.22) 0%,
      rgba(147, 105, 187, 0.77) 50%,
      rgba(255, 135, 90, 1) 100%);
  -webkit-background-clip: text !important;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  text-fill-color: transparent;
  opacity: 0.15;
  font-family: "Inter", Helvetica;
  font-weight: 700;
  color: transparent;
  font-size: 69px;
  text-align: center;
  letter-spacing: 2.07px;
  line-height: normal;
  white-space: nowrap;
}

.rakuraku-LP-SP .sp-text-wrapper-37 {
  position: absolute;
  top: -1px;
  left: 143px;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 700;
  color: #000000;
  font-size: 22px;
  text-align: center;
  letter-spacing: 0.66px;
  line-height: 26.4px;
  white-space: nowrap;
}

.rakuraku-LP-SP .sp-frame-47 {
  align-items: center;
  gap: 16px;
  display: flex;
  justify-content: center;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.rakuraku-LP-SP .sp-frame-48 {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  position: relative;
  align-self: stretch;
  flex: 0 0 auto;
  margin-left: -697.00px;
}

.rakuraku-LP-SP .sp-frame-49 {
  display: flex;
  flex-direction: column;
  width: 356px;
  align-items: flex-start;
  gap: 24px;
  padding: 24px;
  position: relative;
  align-self: stretch;
  margin-top: -3.00px;
  margin-bottom: -3.00px;
  margin-left: -3.00px;
  border-radius: 8px;
  box-shadow: 0px 10px 20px #185ee133;
  background: linear-gradient(180deg,
      rgba(234, 242, 255, 1) 0%,
      rgba(243, 247, 255, 1) 50%,
      rgba(254, 247, 255, 1) 100%);
}

.rakuraku-LP-SP .sp-frame-50 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.rakuraku-LP-SP .sp-text-wrapper-38 {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  margin-top: -1.00px;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 900;
  color: var(--c-main);
  font-size: 16px;
  text-align: center;
  letter-spacing: 0.48px;
  line-height: 19.2px;
}

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

.rakuraku-LP-SP .sp-frame-52 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  position: relative;
  flex: 0 0 auto;
}

.rakuraku-LP-SP .sp-text-wrapper-39 {
  position: relative;
  width: fit-content;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 700;
  color: #000000;
  font-size: 13px;
  letter-spacing: 0.39px;
  line-height: 19.5px;
  white-space: nowrap;
}

.rakuraku-LP-SP .sp-frame-53 {
  display: inline-flex;
  height: 20px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0px 8px;
  position: relative;
  flex: 0 0 auto;
  background-color: var(--c-main);
  border-radius: 3px;
}

.rakuraku-LP-SP .sp-text-wrapper-40 {
  position: relative;
  width: fit-content;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 500;
  color: #ffffff;
  font-size: 13px;
  letter-spacing: 0.39px;
  line-height: 19.5px;
  white-space: nowrap;
}

.rakuraku-LP-SP .sp-frame-54 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.rakuraku-LP-SP .https-www-pakutaso {
  position: relative;
  align-self: stretch;
  width: 100%;
  aspect-ratio: 1.5;
  object-fit: cover;
}

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

.rakuraku-LP-SP .sp-text-wrapper-41 {
  position: relative;
  align-self: stretch;
  margin-top: -1.00px;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 500;
  color: #000000;
  font-size: 12px;
  letter-spacing: 0.36px;
  line-height: 18px;
}

.rakuraku-LP-SP .sp-frame-56 {
  flex-direction: column;
  width: 356px;
  gap: 24px;
  padding: 24px;
  margin-top: -3.00px;
  margin-bottom: -3.00px;
  margin-right: -3.00px;
  border-radius: 8px;
  box-shadow: 0px 10px 20px #185ee133;
  background: linear-gradient(180deg,
      rgba(234, 242, 255, 1) 0%,
      rgba(243, 247, 255, 1) 50%,
      rgba(254, 247, 255, 1) 100%);
  display: flex;
  align-items: flex-start;
  position: relative;
  align-self: stretch;
}

.rakuraku-LP-SP .sp-text-wrapper-42 {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  height: 31px;
  margin-top: -1.00px;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 900;
  color: var(--c-main);
  font-size: 16px;
  text-align: center;
  letter-spacing: 0.48px;
  line-height: 19.2px;
}

.rakuraku-LP-SP .sp-frame-57 {
  width: 326px;
  align-items: flex-start;
  gap: 24px;
  padding: 24px;
  margin-top: -3.00px;
  margin-bottom: -3.00px;
  border-radius: 8px;
  box-shadow: 0px 10px 20px #185ee133;
  background: linear-gradient(180deg,
      rgba(234, 242, 255, 1) 0%,
      rgba(243, 247, 255, 1) 50%,
      rgba(254, 247, 255, 1) 100%);
  display: flex;
  flex-direction: column;
  position: relative;
}

.rakuraku-LP-SP .flexcontainer-20 {
  height: auto;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 7px;
}

.rakuraku-LP-SP .sp-text-9 {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 900;
  color: var(--c-main);
  font-size: 16px;
  text-align: center;
  letter-spacing: 0.48px;
  line-height: 19.2px;
}

.rakuraku-LP-SP .sp-text-wrapper-43 {
  letter-spacing: 0.08px;
}

.rakuraku-LP-SP .sp-group-21 {
  position: absolute;
  top: calc(50.00% - 23px);
  left: -20px;
  width: 360px;
  height: 40px;
}

.rakuraku-LP-SP .sp-frame-58 {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  position: relative;
  align-self: stretch;
  flex: 0 0 auto;
  margin-right: -697.00px;
}

.rakuraku-LP-SP .sp-frame-59 {
  display: inline-flex;
  height: 20px;
  align-items: center;
  justify-content: center;
  gap: 4px;
  position: relative;
}

.rakuraku-LP-SP .sp-text-wrapper-44 {
  position: relative;
  width: fit-content;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 700;
  color: #000000;
  font-size: 12px;
  letter-spacing: 0.36px;
  line-height: 18px;
  white-space: nowrap;
}

.rakuraku-LP-SP .sp-frame-60 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  position: relative;
  flex: 0 0 auto;
  top: -15px;
}

.rakuraku-LP-SP .ellipse {
  position: relative;
  width: 8px;
  height: 8px;
  background-color: var(--c-main);
  border-radius: 4px;
  aspect-ratio: 1;
}

.rakuraku-LP-SP .ellipse-2 {
  opacity: 0.5;
  position: relative;
  width: 8px;
  height: 8px;
  background-color: var(--c-main);
  border-radius: 4px;
  aspect-ratio: 1;
}

.rakuraku-LP-SP .sp-group-22 {
  position: absolute;
  top: 9627px;
  left: 0;
  width: 100%;
  /* 100%に変更 */
  height: 631px;
  display: flex;
  background-image: url(./sp_img/rectangle-378.svg);
  /* 変更点：ここを cover にする */
  background-size: cover;
  /* 念のため中央寄せにする */
  background-position: center;
  background-repeat: no-repeat;
  z-index: 1;

}

.rakuraku-LP-SP .sp-frame-61 {
  display: flex;
  width: 431px;
  height: 631px;
  position: relative;
  flex-direction: column;
  align-items: center;
  gap: 30px;
  padding: 60px 16px;
}

.rakuraku-LP-SP .flexcontainer-21 {
  width: 296px;
  height: 51px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 7px;
}

.rakuraku-LP-SP .sp-text-10 {
  position: relative;
  align-self: stretch;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 700;
  color: transparent;
  font-size: 18px;
  text-align: center;
  letter-spacing: 0.54px;
  line-height: 21.6px;
}

.rakuraku-LP-SP .sp-frame-62 {
  align-items: center;
  justify-content: center;
  gap: 30px;
  padding: 24px 16px;
  align-self: stretch;
  width: 350px;

  flex: 0 0 auto;
  margin: -3px auto;
  border-radius: 8px;
  box-shadow: inset 0px 3px 5px #ffffff73;
  background: linear-gradient(0deg,
      rgba(255, 255, 255, 1) 0%,
      rgba(255, 255, 255, 1) 100%);
  display: flex;
  flex-direction: column;
  position: relative;
}

.rakuraku-LP-SP .auto-flex {
  position: relative;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 30px;
}

.rakuraku-LP-SP .flexcontainer-22 {
  position: relative;
  height: 192px;
  width: 326px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 7px;
}

.rakuraku-LP-SP .sp-text-11 {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 500;
  color: #000000;
  font-size: 14px;
  text-align: center;
  letter-spacing: 0.42px;
  line-height: 21px;
}

.rakuraku-LP-SP .flexcontainer-23 {
  position: relative;
  height: 82px;
  width: 326px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 7px;
}

.rakuraku-LP-SP .sp-text-12 {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  background: linear-gradient(90deg,
      rgba(24, 95, 225, 1) 0%,
      rgba(24, 148, 225, 1) 100%);
  -webkit-background-clip: text !important;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  text-fill-color: transparent;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 700;
  color: transparent;
  font-size: 14px;
  text-align: center;
  letter-spacing: 0.42px;
  line-height: 16.8px;
}

.rakuraku-LP-SP .sp-text-wrapper-45 {
  color: #000000;
  letter-spacing: 0.06px;
}

.rakuraku-LP-SP .sp-group-23 {
  position: relative;
  height: 100%;
  background-image: url(./sp_img/vector-6.svg);
  background-size: 100% 100%;
}

.rakuraku-LP-SP .sp-group-24 {
  position: absolute;
  top: 8168px;
  left: 0;
  width: 100%;
  height: 1448px;
}

.rakuraku-LP-SP .sp-rectangle-7 {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1524px;
}

.rakuraku-LP-SP .sp-frame-63 {
  display: flex;
  flex-direction: column;
  width: 100%;
  align-items: center;
  gap: 40px;
  padding: 120px 0px 80px;
  position: absolute;
  top: 0;
  left: 0;
}

.rakuraku-LP-SP .title-4 {
  position: relative;
  align-self: stretch;
  width: 100%;
  height: 30px;
}

.rakuraku-LP-SP .sp-text-wrapper-46 {
  position: absolute;
  top: -20px;
  left: calc(50.00% - 106px);
  height: 70px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  background: linear-gradient(90deg,
      rgba(24, 95, 225, 0.22) 0%,
      rgba(147, 105, 187, 0.77) 50%,
      rgba(255, 135, 90, 1) 100%);
  -webkit-background-clip: text !important;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  text-fill-color: transparent;
  opacity: 0.15;
  font-family: "Inter", Helvetica;
  font-weight: 700;
  color: transparent;
  font-size: 69px;
  text-align: center;
  letter-spacing: 2.07px;
  line-height: normal;
  white-space: nowrap;
}

.rakuraku-LP-SP .sp-text-wrapper-47 {
  position: absolute;
  top: -1px;
  left: -2px;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 700;
  color: #000000;
  font-size: 22px;
  text-align: center;
  letter-spacing: 0.66px;
  line-height: 26.4px;
  white-space: nowrap;
}

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

.rakuraku-LP-SP .line-wrapper {
  display: flex;
  width: 60px;
  height: 823px;
  align-items: center;
  gap: 10px;
  padding: 80px 0px 80px 40px;
  position: absolute;
  top: -25px;
  left: 16px;
}

.rakuraku-LP-SP .line {
  position: relative;
  align-self: stretch;
  width: 1px;
  object-fit: cover;
}

.rakuraku-LP-SP .sp-frame-65 {
  gap: 16px;
  width: 100%;
  flex: 0 0 auto;
  display: flex;
  align-items: flex-start;
  position: relative;
  align-self: stretch;
}

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

.rakuraku-LP-SP .sp-text-wrapper-48 {
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  width: fit-content;
  margin-top: -1.00px;
  background: linear-gradient(90deg,
      rgba(24, 95, 225, 1) 0%,
      rgba(24, 148, 225, 1) 100%);
  -webkit-background-clip: text !important;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  text-fill-color: transparent;
  font-family: "Inter", Helvetica;
  font-weight: 500;
  color: transparent;
  font-size: 14px;
  text-align: center;
  letter-spacing: 0;
  white-space: nowrap;
  gap: 3px;
}

.rakuraku-LP-SP .sp-text-wrapper-49 {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 700;
  color: var(--c-main);
  font-size: 16px;
  letter-spacing: 0.48px;
  line-height: 16px;
  white-space: nowrap;
}

.rakuraku-LP-SP .flexcontainer-24 {
  height: 107px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 7px;
}

.rakuraku-LP-SP .sp-text-13 {
  position: relative;
  align-self: stretch;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 400;
  color: transparent;
  font-size: 13px;
  letter-spacing: 0.39px;
  line-height: 18.2px;
}

.rakuraku-LP-SP .sp-text-wrapper-50 {
  font-weight: 500;
  color: #000000;
  letter-spacing: 0.05px;
}

.rakuraku-LP-SP .sp-text-wrapper-51 {
  font-weight: 700;
  color: #185fe1;
  letter-spacing: 0.05px;
  text-decoration: underline;
}

.rakuraku-LP-SP .sp-text-14 {
  position: relative;
  display: flex;
  align-self: stretch;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 700;
  color: var(--c-main);
  font-size: 16px;
  letter-spacing: 0.48px;
  line-height: 16px;
}

.rakuraku-LP-SP .sp-div-5 {
  position: relative;
  align-self: stretch;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 500;
  color: #000000;
  font-size: 13px;
  letter-spacing: 0.39px;
  line-height: 18.2px;
}

.rakuraku-LP-SP .flexcontainer-25 {
  height: 71px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 7px;
}

.rakuraku-LP-SP .sp-frame-67 {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 0px 16px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  top: -10px;
}

.rakuraku-LP-SP .sp-frame-68 {
  align-items: center;
  gap: 16px;
  padding: 24px 16px;
  flex: 1;
  flex-grow: 1;
  margin-top: 10px;
  border-radius: 8px;
  border: 3px solid;
  border-color: #ffffff;
  box-shadow: 0px 10px 20px #185ee133;
  background: linear-gradient(0deg,
      rgba(255, 255, 255, 0.8) 0%,
      rgba(255, 255, 255, 0.8) 100%),
    linear-gradient(90deg,
      rgba(255, 135, 90, 1) 0%,
      rgba(147, 105, 187, 1) 50%,
      rgba(24, 95, 225, 1) 100%);
  display: flex;
  flex-direction: column;
  position: relative;
}

.rakuraku-LP-SP .vector-5 {
  position: absolute;
  width: 62.50%;
  height: 83.33%;
  top: 8.33%;
  left: 18.75%;
}

.rakuraku-LP-SP .sp-group-25 {
  position: relative;
  font-size: 18px;
  font-weight: 900;
  /* グラデーション設定 */
  background: linear-gradient(270deg, #2aa5ff 0%, #185fe1 100%);

  /* 文字の形で切り抜く */
  -webkit-background-clip: text;
  background-clip: text;

  /* 文字色を透明にする */
  -webkit-text-fill-color: transparent;
  text-fill-color: transparent;
  color: #185fe1;
}

.rakuraku-LP-SP .flexcontainer-26 {
  height: 91px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 7px;
}

.rakuraku-LP-SP .sp-text-15 {
  position: relative;
  align-self: stretch;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 400;
  color: transparent;
  font-size: 14px;
  text-align: center;
  letter-spacing: 0.42px;
  line-height: 19.6px;
}

.rakuraku-LP-SP .sp-text-wrapper-52 {
  font-weight: 500;
  color: #000000;
  letter-spacing: 0.06px;
}

.rakuraku-LP-SP .sp-text-wrapper-53 {
  font-weight: 700;
  color: #000000;
  letter-spacing: 0.06px;
}

.rakuraku-LP-SP .sp-text-wrapper-54 {
  font-weight: 700;
  color: #185fe1;
  font-size: 12px;
  letter-spacing: 0.04px;
  line-height: 16.8px;
  text-decoration: underline;
}

.rakuraku-LP-SP .layer-2 {
  position: absolute;
  left: 240px;
  bottom: -57px;
  width: 150px;
  height: 132px;
  z-index: 2;
}

.rakuraku-LP-SP .sp-group-26 {
  position: absolute;
  top: 10223px;
  left: 0;
  width: 100%;
  height: 872px;
  display: flex;
  background-color: #ffffff;
}

.rakuraku-LP-SP .sp-frame-69 {
  display: flex;
  width: 100%;
  height: 872px;
  margin-left: 1px;
  position: relative;
  flex-direction: column;
  align-items: center;
  gap: 30px;
  padding: 80px 0px 60px;
}

.rakuraku-LP-SP .q-a {
  position: absolute;
  top: -20px;
  left: calc(50.00% - 84px);
  height: 70px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  background: linear-gradient(90deg,
      rgba(24, 95, 225, 0.22) 0%,
      rgba(147, 105, 187, 0.77) 50%,
      rgba(255, 135, 90, 1) 100%);
  -webkit-background-clip: text !important;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  text-fill-color: transparent;
  opacity: 0.15;
  font-family: "Inter", Helvetica;
  font-weight: 700;
  color: transparent;
  font-size: 69px;
  text-align: center;
  letter-spacing: 2.07px;
  line-height: normal;
  white-space: nowrap;
}

.rakuraku-LP-SP .sp-text-wrapper-55 {
  position: absolute;
  top: -1px;
  left: 68px;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 700;
  color: #000000;
  font-size: 22px;
  text-align: center;
  letter-spacing: 0;
  line-height: 26.4px;
  white-space: nowrap;
}

.rakuraku-LP-SP .sp-frame-70 {
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  padding: 16px 16px;
  display: flex;
  justify-content: center;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.rakuraku-LP-SP .sp-frame-71 {
  align-items: flex-start;
  justify-content: center;
  gap: 8px;
  padding: 16px;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  margin-top: -3.00px;
  margin-left: -3.00px;
  margin-right: -3.00px;
  border-radius: 8px;
  box-shadow: 0px 10px 20px #185ee133;
  background: linear-gradient(278deg,
      rgba(234, 242, 255, 1) 0%,
      rgba(255, 255, 255, 1) 100%);
  display: flex;
  flex-direction: column;
  position: relative;
}

.rakuraku-LP-SP .sp-frame-72 {
  display: flex;
  align-items: center;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.rakuraku-LP-SP .sp-text-wrapper-56 {
  position: relative;
  width: fit-content;
  margin-top: -1.00px;
  background: linear-gradient(90deg,
      rgba(24, 95, 225, 1) 0%,
      rgba(24, 148, 225, 1) 100%);
  -webkit-background-clip: text !important;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  text-fill-color: transparent;
  font-family: "Inter", Helvetica;
  font-weight: 700;
  color: transparent;
  font-size: 27px;
  letter-spacing: 0.81px;
  line-height: 27px;
  white-space: nowrap;
}

.rakuraku-LP-SP .sp-text-wrapper-57 {
  position: relative;
  width: fit-content;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 900;
  color: var(--c-main);
  font-size: 14px;
  letter-spacing: 0.42px;
  line-height: 16.8px;
  white-space: nowrap;
}

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

.rakuraku-LP-SP .sp-text-wrapper-58 {
  position: relative;
  width: fit-content;
  margin-top: -1.00px;
  background: linear-gradient(90deg,
      rgba(248, 104, 0, 1) 0%,
      rgba(241, 190, 67, 1) 100%);
  -webkit-background-clip: text !important;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  text-fill-color: transparent;
  font-family: "Inter", Helvetica;
  font-weight: 700;
  color: transparent;
  font-size: 27px;
  letter-spacing: 0.81px;
  line-height: 27px;
  white-space: nowrap;
}

.rakuraku-LP-SP .sp-frame-74 {
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 8px 0px 0px;
  flex: 1;
  flex-grow: 1;
  display: flex;
  position: relative;
}

.rakuraku-LP-SP .sp-text-wrapper-59 {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 1;
  margin-top: -1.00px;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 500;
  color: #000000;
  font-size: 14px;
  letter-spacing: 0.42px;
  line-height: 19.6px;
  top: -5px;
}

.rakuraku-LP-SP .sp-frame-75 {
  flex-direction: column;
  justify-content: center;
  gap: 8px;
  padding: 16px;
  width: 100%;
  flex: 0 0 auto;
  margin-left: -3.00px;
  margin-right: -3.00px;
  border-radius: 8px;
  box-shadow: 0px 10px 20px #185ee133;
  background: linear-gradient(278deg,
      rgba(234, 242, 255, 1) 0%,
      rgba(255, 255, 255, 1) 100%);
  display: flex;
  align-items: flex-start;
  position: relative;
  align-self: stretch;
}

.rakuraku-LP-SP .sp-frame-76 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 8px;
  padding: 16px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  margin-bottom: -3.00px;
  margin-left: -3.00px;
  margin-right: -3.00px;
  border-radius: 8px;
  box-shadow: 0px 10px 20px #185ee133;
  background: linear-gradient(278deg,
      rgba(234, 242, 255, 1) 0%,
      rgba(255, 255, 255, 1) 100%);
}

.rakuraku-LP-SP .sp-group-27 {
  position: absolute;
  top: 12133px;
  left: 0;
  width: 100%;
  height: 1101px;
  display: flex;
  flex-direction: column;
  background-image: url(./sp_img/rectangle-382.svg);
  /* 変更点：ここを cover にする */
  background-size: cover;
  /* 念のため中央寄せにする */
  background-position: center;
  background-repeat: no-repeat;
}

.rakuraku-LP-SP .sp-frame-77 {
  display: flex;
  width: 100%;
  height: 1041px;
  position: relative;
  flex-direction: column;
  align-items: center;
  gap: 40px;
  padding: 60px 0px;
}

.rakuraku-LP-SP .pc-policy {
  color: #ffffff;
  bottom: 20px;
  position: relative;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 500;
  color: #ffffff;
  font-size: 12px;
}

.rakuraku-LP-SP .sp-text-wrapper-60 {
  position: relative;
  align-self: stretch;
  margin-top: -1.00px;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 700;
  color: #ffffff;
  font-size: 22px;
  text-align: center;
  letter-spacing: 0;
  line-height: 26.4px;
}

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

.rakuraku-LP-SP .sp-frame-79 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 4px;
  padding: 8px 8px 0px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  border-top-width: 1px;
  border-top-style: solid;
  border-color: #ffffff99;
}

.rakuraku-LP-SP .sp-text-wrapper-61 {
  position: relative;
  width: 60px;
  margin-top: -1.00px;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 700;
  color: #ffffff;
  font-size: 12px;
  letter-spacing: 0.36px;
  line-height: 28.8px;
}

.rakuraku-LP-SP .sp-text-wrapper-62 {
  position: relative;
  align-self: stretch;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 500;
  color: #ffffff;
  font-size: 12px;
  letter-spacing: 0.36px;
  line-height: 19.2px;
}

.rakuraku-LP-SP .sp-frame-80 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  padding: 8px 8px 0px;
  align-self: stretch;
  width: 100%;
  border-top-width: 1px;
  border-top-style: solid;
  border-color: #ffffff99;
  position: relative;
  flex: 0 0 auto;
}

.rakuraku-LP-SP .element {
  position: relative;
  width: fit-content;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 500;
  color: #ffffff;
  font-size: 12px;
  letter-spacing: 0.36px;
  line-height: 19.2px;
}

.rakuraku-LP-SP .sp-frame-81 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  padding: 8px 8px 16px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  border-top-width: 1px;
  border-top-style: solid;
  border-bottom-width: 1px;
  border-bottom-style: solid;
  border-color: #ffffff99;
}

.rakuraku-LP-SP .sp-group-28 {
  margin-left: 1px;
  width: 100%;
  display: flex;
  align-items: flex-end;
}

.rakuraku-LP-SP .sp-group-29 {
  width: 431px;
  height: 60px;
  position: relative;
}

.rakuraku-LP-SP .sp-rectangle-8 {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 60px;
  background-color: #00000033;
}

.rakuraku-LP-SP .sp-text-wrapper-63 {
  position: absolute;
  top: 21px;
  left: calc(50.00% - 138px);
  font-family: "Inter", Helvetica;
  font-weight: 500;
  color: #ffffff;
  font-size: 10px;
  text-align: center;
  letter-spacing: 0.60px;
  line-height: 17.0px;
  white-space: nowrap;
}

.rakuraku-LP-SP .sp-rectangle-9 {
  position: absolute;
  top: 11073px;
  left: 0;
  width: 100%;
  height: 1060px;
  object-fit: cover;
}

.rakuraku-LP-SP .sp-frame-82 {
  display: flex;
  flex-direction: column;
  width: 100%;
  align-items: center;
  gap: 30px;
  padding: 80px 0px 60px;
  position: absolute;
  top: 11073px;
  left: 1px;
}

.rakuraku-LP-SP .title-5 {
  position: relative;
  align-self: stretch;
  width: 100%;
  height: 26px;
}

.rakuraku-LP-SP .sp-text-wrapper-64 {
  position: absolute;
  left: calc(50.00% - 178px);
  bottom: 0;
  height: 70px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  background: linear-gradient(90deg,
      rgba(255, 255, 255, 0.1) 0%,
      rgba(255, 255, 255, 0.3) 50%,
      rgba(255, 255, 255, 0.1) 100%);
  -webkit-background-clip: text !important;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  text-fill-color: transparent;
  opacity: 1;
  font-family: "Inter", Helvetica;
  font-weight: 700;
  color: transparent;
  font-size: 69px;
  text-align: center;
  letter-spacing: 2.07px;
  line-height: normal;
  white-space: nowrap;
}

.rakuraku-LP-SP .sp-text-wrapper-65 {
  position: absolute;
  left: calc(50.00% - 176px);
  bottom: 0;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 700;
  color: #ffffff;
  font-size: 22px;
  text-align: center;
  letter-spacing: 0;
  line-height: 26.4px;
  white-space: nowrap;
}

.rakuraku-LP-SP .sp-frame-83 {
  display: flex;
  flex-direction: column;
  width: 349px;
  align-items: center;
  justify-content: center;
  gap: 30px;
  padding: 40px 16px;
  position: relative;
  flex: 0 0 auto;
  margin-bottom: -3.00px;
  border-radius: 8px;
  box-shadow: inset 0px 3px 5px #ffffff73;
  background: linear-gradient(0deg,
      rgba(255, 255, 255, 1) 0%,
      rgba(255, 255, 255, 1) 100%);
}

.rakuraku-LP-SP .sp-frame-84 {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 16px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.rakuraku-LP-SP .sp-frame-85 {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  position: relative;
  flex: 0 0 auto;
}

.rakuraku-LP-SP .sp-text-wrapper-66 {
  position: relative;
  width: fit-content;
  margin-top: -1.00px;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 700;
  color: #000000;
  font-size: 16px;
  letter-spacing: 0.48px;
  line-height: 28.8px;
  white-space: nowrap;
}

.rakuraku-LP-SP .sp-frame-86 {
  display: inline-flex;
  align-items: flex-start;
  gap: 8px;
  padding: 4px 8px;
  background-color: #ffffff;
  border-radius: 4px;
  border: 1px solid;
  border-color: var(--vivid-orange);
  position: relative;
  flex: 0 0 auto;
}

.rakuraku-LP-SP .sp-text-wrapper-67 {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  margin-top: -1.00px;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 700;
  color: var(--vivid-orange);
  font-size: 12px;
  letter-spacing: 0.36px;
  line-height: 12px;
  white-space: nowrap;
}

.rakuraku-LP-SP .sp-frame-87 {
  align-items: flex-start;
  gap: 24px;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  display: flex;
  position: relative;
}

.rakuraku-LP-SP .radiobutton-wrapper {
  position: relative;
  width: 111px;
  height: 29px;
}

.rakuraku-LP-SP .radiobutton {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 8px 16px;
  position: relative;
}

.rakuraku-LP-SP .sp-div-6 {
  display: inline-flex;
  align-items: flex-start;
  gap: 8px;
  position: relative;
  flex: 0 0 auto;
}

.rakuraku-LP-SP .sp-group-30 {
  display: inline-flex;
  align-items: center;
  position: relative;
  align-self: stretch;
  flex: 0 0 auto;
}

.rakuraku-LP-SP .radiobutton-assets {
  position: relative;
  width: 16px;
  height: 16px;
  background-color: var(--c-main);
  border-radius: 8px;
}

.rakuraku-LP-SP .circle {
  width: 37.50%;
  height: 37.50%;
  top: 31.25%;
  left: 31.25%;
  background-color: var(--color-semantic-WHITE);
  position: relative;
  border-radius: 8px;
}

.rakuraku-LP-SP .sp-text-16 {
  position: relative;
  width: fit-content;
  margin-top: -1.00px;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 500;
  color: #000000;
  font-size: 14px;
  letter-spacing: 0.42px;
  line-height: 28.8px;
  white-space: nowrap;
}

.rakuraku-LP-SP .sp-group-31 {
  position: relative;
  width: 154px;
  height: 29px;
}

.rakuraku-LP-SP .sp-group-32 {
  width: 154px;
  display: flex;
}

.rakuraku-LP-SP .radiobutton-2 {
  width: 154px;
  height: 29px;
  display: inline-flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 8px 16px;
  position: relative;
}

.rakuraku-LP-SP .circle-wrapper {
  position: relative;
  width: 16px;
  height: 16px;
}

.rakuraku-LP-SP .circle-2 {
  width: 112.50%;
  height: 112.50%;
  top: -6.25%;
  left: -6.25%;
  border: 1px solid;
  border-color: var(--cgray);
  position: relative;
  border-radius: 8px;
}

.rakuraku-LP-SP .sp-group-33 {
  position: relative;
  align-self: stretch;
  width: 100%;
  height: 40px;
}

.rakuraku-LP-SP .sp-group-34 {
  position: relative;
  width: 313px;
  height: 40px;
}

.rakuraku-LP-SP .sp-div-7 {
  position: absolute;
  top: 0;
  left: 0;
  width: 311px;
  height: 40px;
  background-color: var(--f-0f-4fc);
  border-radius: 4px;
}

.rakuraku-LP-SP .sp-text-wrapper-68 {
  position: absolute;
  width: 31.63%;
  height: 30.00%;
  top: 35.00%;
  left: 2.79%;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 400;
  color: var(--gray);
  font-size: 12px;
  letter-spacing: 0.36px;
  line-height: 12px;
  white-space: nowrap;
}

.rakuraku-LP-SP .sp-group-35 {
  position: relative;
  width: 100.64%;
  height: 100%;
}

.rakuraku-LP-SP .sp-text-wrapper-69 {
  position: absolute;
  width: 23.64%;
  height: 30.00%;
  top: 35.00%;
  left: 2.79%;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 400;
  color: var(--gray);
  font-size: 12px;
  letter-spacing: 0.36px;
  line-height: 12px;
  white-space: nowrap;
}

.rakuraku-LP-SP .sp-frame-88 {
  display: flex;
  width: 176px;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  position: relative;
  flex: 0 0 auto;
}

.rakuraku-LP-SP .sp-group-36 {
  position: relative;
  width: 313px;
  height: 40px;
  margin-right: -2.00px;
}

.rakuraku-LP-SP .sp-text-wrapper-70 {
  position: absolute;
  width: 53.04%;
  height: 30.00%;
  top: 35.00%;
  left: 2.79%;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 400;
  color: var(--gray);
  font-size: 12px;
  letter-spacing: 0.36px;
  line-height: 12px;
  white-space: nowrap;
}

.rakuraku-LP-SP .sp-text-wrapper-71 {
  position: absolute;
  width: 30.35%;
  height: 30.00%;
  top: 35.00%;
  left: 2.79%;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 400;
  color: var(--gray);
  font-size: 12px;
  letter-spacing: 0.36px;
  line-height: 12px;
  white-space: nowrap;
}

.rakuraku-LP-SP .sp-text-wrapper-72 {
  position: relative;
  width: fit-content;
  margin-top: -1.00px;
  font-family: "Noto Sans", Helvetica;
  font-weight: 700;
  color: #000000;
  font-size: 16px;
  letter-spacing: 0.48px;
  line-height: 28.8px;
  white-space: nowrap;
}

.rakuraku-LP-SP .sp-frame-89 {
  display: inline-flex;
  align-items: flex-start;
  gap: 8px;
  padding: 4px 8px;
  position: relative;
  flex: 0 0 auto;
  background-color: #ffffff;
  border-radius: 4px;
  border: 1px solid;
  border-color: var(--cgray);
}

.rakuraku-LP-SP .sp-text-wrapper-73 {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  margin-top: -1.00px;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 700;
  color: var(--cgray);
  font-size: 12px;
  letter-spacing: 0.36px;
  line-height: 12px;
  white-space: nowrap;
}

.rakuraku-LP-SP .sp-group-37 {
  position: relative;
  align-self: stretch;
  width: 100%;
  height: 195px;
}

.rakuraku-LP-SP .sp-group-38 {
  position: relative;
  width: 313px;
  height: 195px;
}

.rakuraku-LP-SP .sp-rectangle-10 {
  position: absolute;
  top: 0;
  left: 0;
  width: 311px;
  height: 195px;
  background-color: var(--f-0f-4fc);
  border-radius: 4px;
}

.rakuraku-LP-SP .sp-text-wrapper-74 {
  position: absolute;
  width: 94.13%;
  height: 8.72%;
  top: 8.21%;
  left: 2.79%;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 400;
  color: var(--gray);
  font-size: 12px;
  letter-spacing: 0.36px;
  line-height: 16.8px;
}

.rakuraku-LP-SP .checkbox {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.rakuraku-LP-SP .check-box-input {
  position: relative;
  width: 16px;
  height: 16px;
  border-radius: 4px;
}

.rakuraku-LP-SP .base {
  position: relative;
  width: 112.50%;
  height: 112.50%;
  top: -6.25%;
  left: -6.25%;
  border-radius: 4px;
  border: 1px solid;
  border-color: var(--cgray);
}

.rakuraku-LP-SP .layer-3 {
  position: absolute;
  top: 12058px;
  left: -20px;
  width: 154px;
  height: 122px;
}

.rakuraku-LP-SP .sp-frame-90 {
  display: flex;
  width: 101%;

  max-width: 430px;
  left: 50%;
  transform: translateX(-50%);

  height: 36px;
  align-items: center;
  justify-content: space-around;
  gap: 24px;
  padding: 12px 24px;
  position: fixed;
  z-index: 9999;
  top: 0;
  box-shadow: 0px 10px 10px #00379b0d;
  background: linear-gradient(0deg,
      rgba(255, 255, 255, 1) 0%,
      rgba(255, 255, 255, 1) 100%),
    linear-gradient(90deg,
      rgba(24, 95, 225, 1) 0%,
      rgba(147, 105, 187, 1) 50%,
      rgba(255, 135, 90, 1) 100%);
}

.rakuraku-LP-SP .sp-frame-91 {
  display: inline-flex;
  align-items: flex-end;
  gap: 6px;
  flex: 0 0 auto;
  position: relative;
  justify-content: center;
}

.rakuraku-LP-SP .sp-text-wrapper-75 {
  position: relative;
  width: fit-content;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 700;
  color: #000000;
  font-size: 10px;
  letter-spacing: 0;
  line-height: normal;
  white-space: nowrap;
}

.rakuraku-LP-SP .sp-frame-92 {
  display: inline-flex;
  align-items: flex-end;
  gap: 2px;
  position: relative;
  flex: 0 0 auto;
}

.rakuraku-LP-SP .sp-text-wrapper-76 {
  align-items: flex-end;
  width: fit-content;
  margin-top: -1.00px;
  font-family: "Avenir-Black", Helvetica;
  font-weight: 900;
  font-size: 15px;
  letter-spacing: 0;
  line-height: normal;
  white-space: nowrap;
  position: relative;
  display: flex;
  justify-content: center;
  color: #000000;
}

.rakuraku-LP-SP .sp-text-wrapper-77 {
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  width: fit-content;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 900;
  color: #000000;
  font-size: 12px;
  letter-spacing: 0;
  line-height: normal;
  white-space: nowrap;
}

.rakuraku-LP-SP .btn-contact-bottom-wrapper {
  position: fixed;
  /* right: 0; を削除または auto にし、左端を画面中央に合わせます */
  right: auto;
  left: 50%;
  /* 要素の幅の半分だけ左に戻すことで、完全に中央揃えにします */
  transform: translateX(-50%);
  bottom: 0;

  /* 幅を本体と同じ設定にします */
  width: 100%;
  max-width: 431px;

  height: 60px;
  display: flex;
  justify-content: flex-end;
  z-index: 9999;
}

.rakuraku-LP-SP .btn-contact-bottom {
  display: inline-flex;
  margin-top: 5px;
  width: 180px;
  height: 40px;
  margin-right: 16px;
  position: relative;
  align-items: flex-start;
  gap: 8px;
}

.rakuraku-LP-SP .sp-group-39 {
  display: flex;
  width: 184px;
  height: 44px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  position: relative;
  margin-top: -2.00px;
  margin-bottom: -2.00px;
  margin-left: -2.00px;
  margin-right: -2.00px;
  border-radius: 80px;
  overflow: hidden;
  border: 2px solid;
  border-color: #ffffff;
  background: linear-gradient(360deg,
      rgba(241, 94, 31, 1) 0%,
      rgba(230, 0, 18, 1) 50%,
      rgba(242, 50, 99, 1) 100%);
}

.rakuraku-LP-SP .sp-group-40 {
  position: relative;
  width: 18px;
  height: 18px;
  aspect-ratio: 1;
}

.rakuraku-LP-SP .sp-group-41 {
  position: absolute;
  top: -9px;
  left: 35px;
  width: 110px;
  height: 16px;
  box-shadow: 0px 6px 8px #ff450099;
}

.rakuraku-LP-SP .sp-frame-93 {
  display: flex;
  width: 110px;
  height: 16px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  position: relative;
  background-color: #ffffff;
  border-radius: 50px;
}

.rakuraku-LP-SP .sp-text-wrapper-78 {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  background: linear-gradient(77deg,
      rgba(140, 83, 246, 1) 0%,
      rgba(9, 67, 173, 1) 50%,
      rgba(35, 171, 205, 1) 100%);
  -webkit-background-clip: text !important;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  text-fill-color: transparent;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 700;
  color: transparent;
  font-size: 10px;
  letter-spacing: 0.30px;
  line-height: 10px;
  white-space: nowrap;
}


/* =========================================
   KVエリア再構築用 CSS (クラス名変更済み)
   ========================================= */

/* 全体の枠 */
.rakuraku-LP-SP .kv-rebuild-container {
  display: flex;
  flex-direction: column;
  width: 100%;
  /* 親要素に合わせる */
  max-width: 431px;
  align-items: center;
  /* 中央寄せ */
  gap: 30px;
  /* 要素間の隙間調整 */
  position: relative;
  margin: 0 auto;
  padding-top: 20px;
  /* 上部の余白 */
  padding-bottom: 20px;
  top: 30px;
}

/* --- ヘッダー画像エリア --- */
.rakuraku-LP-SP .kv-rebuild-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  /* 画像を中央配置 */
  gap: 8px;
  position: relative;
  width: 100%;
}

.rakuraku-LP-SP .kv-rebuild-title-img {
  position: relative;
  width: 100%;
  max-width: 365px;
  /* 元のデザインに合わせる */
  height: auto;
}

.rakuraku-LP-SP .kv-rebuild-sub-group {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  position: relative;
}

.rakuraku-LP-SP .kv-rebuild-sub-bg {
  position: relative;
  width: 139px;
  height: 35px;
  /* 画像パスは環境に合わせて調整してください */
  background-image: url(./sp_img/mask-group.png);
  background-size: 100% 100%;
  display: none;
  /* もし不要なら非表示、必要ならblockに */
}

.rakuraku-LP-SP .kv-rebuild-sub-content {
  position: relative;
  width: 353px;
  height: 35px;
  margin: 0 auto;
}

.rakuraku-LP-SP .kv-rebuild-mask-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 272px;
  height: 35px;
}

.rakuraku-LP-SP .kv-rebuild-decoration {
  position: absolute;
  width: 87px;
  height: 22px;
  top: 12px;
  left: 266px;
  background-image: url(./sp_img/mask-group-2.png);
  background-size: 100% 100%;
}

/* --- 白いボックスエリア --- */
.rakuraku-LP-SP .kv-rebuild-boxes-wrapper {
  display: flex;
  width: 100%;
  align-items: center;
  gap: 16px;
  position: relative;
  top: 33px;
  left: 15px;
}

.rakuraku-LP-SP .kv-rebuild-boxes-row {
  display: inline-flex;
  align-items: flex-start;
  justify-content: center;
  gap: 8px;
  position: relative;
}

/* 共通ボックススタイル */
.rakuraku-LP-SP .kv-rebuild-box-left,
.rakuraku-LP-SP .kv-rebuild-box-right {
  display: flex;
  flex-direction: column;
  width: 106px;
  height: 96px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  position: relative;
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0px 6px 10px #185fe126;
  background-color: #fff;
}

/* ボックスの内側（グラデーション枠など） */
.rakuraku-LP-SP .kv-rebuild-box-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  position: relative;
  width: 100%;
  height: 100%;
  border-radius: 4px;
  /* 内側の白い光沢表現 */
  box-shadow: inset 0px 3px 5px #ffffff73;
  background: linear-gradient(0deg,
      rgba(255, 255, 255, 1) 0%,
      rgba(255, 255, 255, 1) 100%);
}

/* アイコンエリア */
.rakuraku-LP-SP .kv-rebuild-icon-area {
  display: flex;
  flex-direction: column;
  width: 30px;
  height: 30px;
  align-items: center;
  justify-content: center;
  position: relative;
}

.rakuraku-LP-SP .kv-rebuild-vector-wrap {
  position: relative;
  width: 30px;
  height: 30px;
}

.rakuraku-LP-SP .kv-rebuild-vector {
  position: absolute;
  width: 26px;
  /* サイズ調整 */
  height: 29px;
  top: 0;
  left: 2px;
}

.rakuraku-LP-SP .kv-rebuild-exclude {
  position: absolute;
  top: 1px;
  left: 2px;
  width: 26px;
  height: 28px;
}

/* テキストエリア */
.rakuraku-LP-SP .kv-rebuild-text-group {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  position: relative;
}

.rakuraku-LP-SP .kv-rebuild-label {
  font-family: "Noto Sans JP", Helvetica, sans-serif;
  font-weight: 700;
  color: #000000;
  font-size: 10px;
  letter-spacing: 0.30px;
  line-height: 1.2;
  white-space: nowrap;
}

.rakuraku-LP-SP .kv-rebuild-number-row {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 2px;
  width: 100%;
}

.rakuraku-LP-SP .kv-rebuild-unit-small {
  font-family: "Noto Sans JP", Helvetica, sans-serif;
  font-weight: 700;
  color: #185fe1;
  /* 変数 var(--c-main) の代わり */
  font-size: 12px;
  letter-spacing: 0.36px;
  line-height: 1.2;
  white-space: nowrap;
  margin-bottom: 2px;
}

.rakuraku-LP-SP .kv-rebuild-number-big {
  font-family: "Inter", Helvetica, sans-serif;
  font-weight: 700;
  color: #185fe1;
  /* 変数 var(--c-main) の代わり */
  font-size: 20px;
  line-height: 1;
  white-space: nowrap;
  position: relative;
  top: 1px;
}

.rakuraku-LP-SP .kv-span-bold {
  font-size: 12px;
  letter-spacing: 0.04px;
}

.rakuraku-LP-SP .kv-span-tiny {
  font-size: 8px;
  letter-spacing: 0.02px;
}

/* =========================================
   メインテキスト（キャッチコピー）用CSS
   ========================================= */

.rakuraku-LP-SP .kv-rebuild-main-text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  /* 左揃え気味に配置 */
  justify-content: center;
  gap: 5px;
  width: 100%;
  padding: 15px 10px 0px 10px;
  box-sizing: border-box;
  font-family: "Noto Sans JP", sans-serif important !;
}

/* --- 1行目 --- */
.rakuraku-LP-SP .kv-text-line-1 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 900;
  font-size: 17.5px;
  line-height: 1.5;
  font-style: italic;
  white-space: nowrap;
  /* 折り返し禁止 */
}

.rakuraku-LP-SP .kv-text-black {
  color: #000;
}

.rakuraku-LP-SP .kv-text-blue-highlight {
  /* グラデーション設定 */
  background: linear-gradient(270deg, #2aa5ff 0%, #185fe1 100%);

  /* 文字の形で切り抜く */
  -webkit-background-clip: text;
  background-clip: text;
  font-weight: 900;
  /* 文字色を透明にする */
  -webkit-text-fill-color: transparent;
  text-fill-color: transparent;
  color: #185fe1;
  font-size: 24.51px;
  margin: 0 2px;
  display: inline-block;
  width: 89px;

}

/* --- 2行目 --- */
.rakuraku-LP-SP .kv-text-line-2 {
  display: flex;
  align-items: baseline;
  /* 下のラインを揃える */
  gap: 4px;
  font-weight: 900;
  margin-top: 5px;
  font-size: 21px;
  font-style: italic;
}

.rakuraku-LP-SP .kv-text-pro {
  font-weight: 900;
  /* 極太 */
  font-style: italic;
  /* 斜体 */
  font-size: 33px;
  /* かなり大きく */
  color: #000;
  line-height: 1;
  transform: skewX(-5deg);
  /* 少し斜めに歪ませて勢いを出す */
}

.rakuraku-LP-SP .kv-text-black-sm {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  color: #000;
}

/* --- 3行目 --- */
.rakuraku-LP-SP .kv-text-line-3 {
  display: flex;
  align-items: baseline;
  gap: 2px;
  font-style: italic;
  font-size: 21px;
  flex-wrap: nowrap;
  transform: scaleX(0.95);
  transform-origin: left;
  /* 左端を基準に縮める */
  padding-right: 5px;
  top: -7px;
  position: relative;
  font-weight: 900;
}

.rakuraku-LP-SP .kv-text-blue-large {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 900;
  font-style: italic;
  /* 斜体 */
  font-size: 32.5px;
  /* 大きく */
  letter-spacing: -0.080em;
  /* グラデーション設定 */
  background: linear-gradient(270deg, #2aa5ff 0%, #185fe1 100%);

  /* 文字の形で切り抜く */
  -webkit-background-clip: text;
  background-clip: text;

  /* 文字色を透明にする */
  -webkit-text-fill-color: transparent;
  text-fill-color: transparent;
  color: #185fe1;
  flex-wrap: nowrap;
  width: 275px;
}

.rakuraku-LP-SP .kv-text-black-md {
  font-family: "Noto Sans JP", sans-serif;
  color: #000;
  flex-wrap: nowrap;
  width: 123px;
}

/* =========================================
   導入事例（CASE）スライダー用CSS
   ========================================= */

/* スライダー全体の枠（横並び・スクロール設定） */
.rakuraku-LP-SP .case-slider {
  display: flex;
  overflow-x: auto;
  /* 横スクロールを許可 */
  scroll-snap-type: x mandatory;
  /* スクロールした時に要素に吸い付く設定 */
  gap: 16px;
  /* カード間の隙間 */
  width: 100%;
  /* ★ここを変更：上下にたっぷり余白（影用スペース）を確保します */
  /* 上:20px, 左右:24px, 下:40px */
  padding: 20px 24px 20px 24px;
  box-sizing: border-box;
  /* paddingを幅に含める */

  /* スクロールバーを隠す設定 */
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.rakuraku-LP-SP .case-slider::-webkit-scrollbar {
  display: none;
}

/* 各スライドカードの外枠 */
.rakuraku-LP-SP .case-card {
  flex: 0 0 auto;
  /* カード幅を固定し、縮まないようにする */
  width: 320px;
  /* ★カードの幅（画面より少し小さくする） */
  scroll-snap-align: center;
  /* 中央にスナップさせる */
  position: relative;
  display: flex;
  flex-direction: column;
}

/* カードの中身（白い背景と影） */
.rakuraku-LP-SP .case-content-box {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
  padding: 20px;
  width: 100%;
  box-sizing: border-box;
  border-radius: 8px;
  box-shadow: 0px 6px 20px #185ee133;

  /* ★これを追加：高さを親要素（一番背の高いカード）に合わせる */
  height: 100%;

  /* 背景グラデーション（元のデザインを維持） */
  background: linear-gradient(326deg,
      rgba(234, 242, 255, 1) 0%,
      rgba(243, 247, 255, 1) 50%,
      rgba(254, 247, 255, 1) 100%);
}

/* 画像サイズの調整 */
.rakuraku-LP-SP .https-www-pakutaso {
  width: 100%;
  height: auto;
  aspect-ratio: 1.5;
  object-fit: cover;
}

/* =========================================
   スライダーのドット（ページネーション）用
   ========================================= */

/* ドットの基本スタイル（OFFの状態） */
.rakuraku-LP-SP .pagination-dot {
  z-index: 5;
  width: 8px;
  height: 8px;
  background-color: #185fe1;
  /* メインカラー（必要なら var(--c-main) に変更） */
  border-radius: 50%;
  opacity: 0.3;
  /* 薄くする */
  transition: opacity 0.3s ease;
  /* ふわっと色が変わるアニメーション */
}

/* ドットが選択されている時（ONの状態） */
.rakuraku-LP-SP .pagination-dot.active {
  z-index: 5;
  opacity: 1.0;
  /* 濃くする */
}


/* =========================================
   スライダー左右ナビゲーションボタン
   ========================================= */

/* ボタンの共通スタイル */
.rakuraku-LP-SP .slider-nav-btn {
  position: absolute;
  top: 50%;
  /* スライダーの中央の高さ */
  transform: translateY(-50%);
  /* 完全に中央揃え */
  z-index: 10;
  /* スライダーより手前に表示 */
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  background-color: transparent;
}

/* 左ボタンの位置 */
.rakuraku-LP-SP .prev-btn {
  left: 10px;
  /* 画面左端からの距離 */
}

/* 右ボタンの位置 */
.rakuraku-LP-SP .next-btn {
  right: 10px;
  /* 画面右端からの距離 */
}

/* 中の矢印画像のサイズ調整 */
.rakuraku-LP-SP .nav-arrow-img {
  height: auto;
  pointer-events: none;
  /* 画像自体へのクリック判定を無効化 */
}

/* =========================================
   お問い合わせフォーム用CSS
   ========================================= */

/* フォーム全体のコンテナ */
.rakuraku-LP-SP .contact-form-container {
  width: 350px;
  /* 少し幅を調整 */
  padding: 40px 20px;
  background-color: #fff;
  border-radius: 8px;
  /* 影と背景グラデーション（元のデザインを維持） */
  box-shadow: 0px 10px 20px #185ee133;
}

.rakuraku-LP-SP .sp-contact-form {
  display: flex;
  flex-direction: column;
  gap: 24px;
  width: 100%;
}

/* 各項目のまとまり */
.rakuraku-LP-SP .form-group {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
}

/* ラベルと必須バッジの横並び */
.rakuraku-LP-SP .label-row {
  display: flex;
  align-items: center;
  gap: 8px;
}

/* 項目名ラベル */
.rakuraku-LP-SP .form-label {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 16px;
  color: #000;
}

/* 必須・任意バッジ */
.rakuraku-LP-SP .badge {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 12px;
  padding: 2px 6px;
  border-radius: 4px;
  line-height: 1.2;
}

.rakuraku-LP-SP .badge.required {
  color: #F15E1F;
  /* オレンジ */
  border: 1px solid #F15E1F;
  background: #fff;
}

.rakuraku-LP-SP .badge.optional {
  color: #888;
  /* グレー */
  border: 1px solid #888;
  background: #fff;
}

/* 入力フィールド（共通） */
.rakuraku-LP-SP .form-input,
.rakuraku-LP-SP .form-textarea {
  width: 100%;
  padding: 12px;
  border-radius: 4px;
  border: none;
  background-color: #EFF4FA;
  /* 薄い青グレー背景 */
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  color: #333;
  box-sizing: border-box;
  /* paddingを含めた幅にする */
}

.rakuraku-LP-SP .form-input::placeholder,
.rakuraku-LP-SP .form-textarea::placeholder {
  color: #9CA3AF;
}

.rakuraku-LP-SP .form-textarea {
  height: 120px;
  resize: vertical;
}

/* --- ラジオボタンのカスタマイズ --- */
.rakuraku-LP-SP .radio-group {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}

.rakuraku-LP-SP .radio-label {
  display: flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  font-weight: 500;
}

/* デフォルトのラジオボタンを隠す */
.rakuraku-LP-SP .radio-label input {
  display: none;
}

/* 自作のラジオボタンマーク */
.rakuraku-LP-SP .radio-mark {
  position: relative;
  display: inline-block;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 1px solid #ccc;
  background: #fff;
  box-sizing: border-box;
}

/* 選択時のスタイル */
.rakuraku-LP-SP .radio-label input:checked+.radio-mark {
  background-color: #185FE1;
  /* 青 */
  border-color: #185FE1;
}

/* 選択時の白い点 */
.rakuraku-LP-SP .radio-label input:checked+.radio-mark::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 6px;
  height: 6px;
  background: #fff;
  border-radius: 50%;
}

/* --- チェックボックスのカスタマイズ --- */
.rakuraku-LP-SP .checkbox-group {
  align-items: center;
  margin-top: 10px;
}

.rakuraku-LP-SP .checkbox-label {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  font-weight: 500;
}

.rakuraku-LP-SP .checkbox-label input {
  display: none;
}

.rakuraku-LP-SP .checkbox-mark {
  position: relative;
  display: inline-block;
  width: 18px;
  height: 18px;
  border-radius: 4px;
  border: 1px solid #ccc;
  background: #fff;
  box-sizing: border-box;
}

/* チェック時のスタイル */
.rakuraku-LP-SP .checkbox-label input:checked+.checkbox-mark {
  background-color: #185FE1;
  border-color: #185FE1;
}

/* チェックマーク（✓） */
.rakuraku-LP-SP .checkbox-label input:checked+.checkbox-mark::after {
  content: "";
  position: absolute;
  top: 45%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
  width: 4px;
  height: 8px;
  border-bottom: 2px solid #fff;
  border-right: 2px solid #fff;
}

/* --- 送信ボタン --- */
.rakuraku-LP-SP .sp-btn-submit {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 52px;
  margin-top: 10px;
  border: 2px solid #fff;
  border-radius: 80px;
  background: linear-gradient(360deg,
      rgba(241, 94, 31, 1) 0%,
      rgba(230, 0, 18, 1) 50%,
      rgba(242, 50, 99, 1) 100%);
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 16px;
  cursor: pointer;
  box-shadow: 0px 15px 20px #185fe133;
  transition: opacity 0.3s;
}

.rakuraku-LP-SP .sp-btn-submit:hover {
  opacity: 0.9;
}

/* =========================================
   KVエリアのボタン用CSS
   ========================================= */

/* ボタンを横並びにする枠 */
.rakuraku-LP-SP .kv-btn-container {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  /* ボタン同士の隙間 */
  width: 100%;
  margin-top: 75px;
  /* 上のボックスとの余白 */
  padding-bottom: 25px;
  top: -15px;
  position: relative;
}

/* ボタンの共通スタイル */
.rakuraku-LP-SP .kv-btn {
  /* 指定サイズ */
  width: 180px;
  height: 48px;

  display: flex;
  align-items: center;
  justify-content: center;

  /* テキスト設定 */
  color: #ffffff;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 13px;
  /* 横幅に収まるよう調整 */
  text-decoration: none;
  /* 下線を消す */

  /* 形と枠線 */
  border-radius: 24px;
  /* 丸み */
  border: 2px solid #ffffff;
  box-sizing: border-box;

  /* 影 */
  box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.2);

  /* アニメーション */
  transition: all 0.3s ease;
  position: relative;
}

/* 赤いボタン（相談）のグラデーション */
.rakuraku-LP-SP .kv-btn-red {
  background: linear-gradient(360deg,
      rgba(241, 94, 31, 1) 0%,
      rgba(230, 0, 18, 1) 50%,
      rgba(242, 50, 99, 1) 100%);
}

/* 青いボタン（DL）のグラデーション */
.rakuraku-LP-SP .kv-btn-blue {
  background: linear-gradient(77deg,
      rgba(140, 83, 246, 1) 0%,
      rgba(9, 67, 173, 1) 50%,
      rgba(35, 171, 205, 1) 100%);
}

.rakuraku-LP-SP .kv-btn-container

/* アイコンの位置調整 */
.rakuraku-LP-SP .kv-btn-icon {
  display: flex;
  align-items: center;
  margin-right: 6px;
  /* 文字との隙間 */
}

/* ボタンのカーソル設定 */
.rakuraku-LP-SP .btn-price,
.rakuraku-LP-SP .btn-contact-bottom .sp-group-39 {
  cursor: pointer;
}


/* 送信ボタンが無効（disabled）の時のスタイル */
.rakuraku-LP-SP .sp-btn-submit:disabled {
  background: #cccccc;
  /* グレーにする */
  border-color: #cccccc;
  color: #888888;
  cursor: not-allowed;
  /* 駐車禁止のようなカーソルにする */
  box-shadow: none;
  /* 影を消す */
  opacity: 1;
  /* 透明度は戻す */
}

/* =========================================
   iPhone（iOS）の電話番号自動リンクのスタイル修正
   ========================================= */

/* 電話番号リンク（tel:）と、iOSが自動付与する属性をターゲットにします */
.rakuraku-LP-SP a[href^="tel:"],
.rakuraku-LP-SP a[x-apple-data-detectors] {
  color: #ffffff !important;
  /* 強制的に白文字にする */
  text-decoration: none !important;
  /* 強制的に下線を消す */
}

.layer-3, 
.layer, 
.layer-2 {
  pointer-events: none;
}