/* ==============================================
   LP02
   ============================================== */

/* --- CTA 背景画像 --- */
.lp-cta--lp02 {
  background-image: url('../lp-img/lp02-cta.png');
}

/* --- CTA ボックス --- */
.lp02-cta__box {
  width: 1040px;
  height: 440px;
  margin: 0 auto;
  border-radius: 4px;
  border: 1px solid rgba(255, 255, 255, 0.5);
  padding: 64px 24px 44px;
  display: flex;
  flex-direction: column;
  align-items: center;
  background: rgba(255, 255, 255, 0.8);
  box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.45);
  box-sizing: border-box;
}

.lp02-cta__title {
  font-family: "Hiragino Sans", "ヒラギノ角ゴシック", sans-serif;
  font-weight: 600;
  font-size: 32px;
  line-height: 1.8;
  letter-spacing: 0.06em;
  text-align: center;
  background: linear-gradient(46.7deg, #1005B8 -2.66%, #0092D6 94.53%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin-bottom: 40px;
}

.lp02-cta__text {
  font-family: "Hiragino Sans", "ヒラギノ角ゴシック", sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 1.8;
  letter-spacing: 0.06em;
  text-align: center;
  color: #333333;
  margin-bottom: 56px;
}

/* --- セクションラベル uppercase 上書き --- */
.lp02-fv .lp-section-label,
.lp02-concept .lp-section-label,
.lp02-problem .lp-section-label,
.lp02-solution .lp-section-label,
.lp02-image .lp-section-label,
.lp02-voice .lp-section-label,
.lp02-flow .lp-section-label,
.lp02-price .lp-section-label,
.lp02-faq .lp-section-label {
  text-transform: none;
}

/* --- FV --- */
.lp02-fv {
  position: relative;
  min-height: 100vh;
  background-image: url('../lp-img/fv02.png');
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
}

.lp02-fv__inner {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  padding: 194px 40px 80px;
}

.lp02-fv__label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 38px;
  padding: 0 8px;
  font-family: "Hiragino Sans", "ヒラギノ角ゴシック", sans-serif;
  font-weight: 600;
  font-size: 32px;
  line-height: 1.2;
  letter-spacing: 0.02em;
  text-align: center;
  color: #333;
  background: #fff;
  margin-bottom: 24px;
  box-sizing: border-box;
}

.lp02-fv__title {
  font-family: "Hiragino Sans", "ヒラギノ角ゴシック", sans-serif;
  font-weight: 600;
  font-size: 72px;
  line-height: 1.2;
  letter-spacing: 0.02em;
  color: #fff;
  margin-bottom: 40px;
}

.lp02-fv__sub {
  font-family: "Hiragino Sans", "ヒラギノ角ゴシック", sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.06em;
  color: #fff;
  margin-bottom: 48px;
}

.lp02-fv__cta {
  display: flex;
  align-items: center;
  gap: 32px;
}

/* --- SOLUTION --- */
.lp02-solution {
  background: #E8E9EE;
  padding-bottom: 100px;
}

.lp02-solution__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 25px;
}

.lp02-solution__header {
  margin-bottom: 56px;
}

.lp02-solution__header::before {
  width: 706px;
  background: linear-gradient(46.7deg, #1005B8 -2.66%, #0092D6 94.53%);
}

.lp02-solution__label {
  background-image: linear-gradient(46.7deg, #1005B8 -2.66%, #0092D6 94.53%), linear-gradient(#E8E9EE, #E8E9EE);
}

.lp02-solution__h2 {
  font-family: "Hiragino Sans", "ヒラギノ角ゴシック", sans-serif;
  font-weight: 600;
  font-size: 40px;
  line-height: 1.6;
  letter-spacing: 0.06em;
  color: #050D29;
}

.lp02-solution__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 90px;
  margin-bottom: 79px;
}

.lp02-solution__num-row {
  display: flex;
  align-items: baseline;
  gap: 4px;
  margin-bottom: 56px;
}

.lp02-solution__num-label {
  font-family: "Fustat", sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 1;
  letter-spacing: 0;
  background: linear-gradient(46.7deg, #1005B8 -2.66%, #0092D6 94.53%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.lp02-solution__num-digit {
  font-family: "Fustat", sans-serif;
  font-weight: 400;
  font-size: 56px;
  line-height: 1;
  letter-spacing: 0;
  background: linear-gradient(46.7deg, #1005B8 -2.66%, #0092D6 94.53%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.lp02-solution__h3 {
  font-family: "Hiragino Sans", "ヒラギノ角ゴシック", sans-serif;
  font-weight: 700;
  font-size: 30px;
  line-height: 1.5;
  letter-spacing: 0.06em;
  background: linear-gradient(46.7deg, #1005B8 -2.66%, #0092D6 94.53%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin-bottom: 58px;
}

.lp02-solution__text {
  font-family: "Hiragino Sans", "ヒラギノ角ゴシック", sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.06em;
  color: #242424;
}

.lp02-solution__span {
  font-weight: 700;
  background: linear-gradient(46.7deg, #1005B8 -2.66%, #0092D6 94.53%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.lp02-solution__format {
  display: flex;
  width: 989px;
  height: 359px;
  padding: 36px 48px 60px 48px;
  flex-direction: column;
  align-items: center;
  gap: 36px;
  background: #fff;
  box-sizing: border-box;
  margin: 0 auto;
}

.lp02-solution__format-title {
  font-family: "Hiragino Sans", "ヒラギノ角ゴシック", sans-serif;
  font-weight: 600;
  font-size: 24px;
  font-style: normal;
  line-height: 1.8;
  letter-spacing: 1.44px;
  color: #040A20;
  text-align: center;
}

.lp02-solution__format-title::after {
  content: '';
  display: block;
  width: 60px;
  height: 4px;
  background: linear-gradient(86deg, #4258FF 1.28%, #29A9FF 95.07%);
  margin: 8px auto 0;
}

.lp02-solution__format-body {
  display: grid;
  grid-template-columns: 288px 1fr;
  column-gap: 68px;
  width: 100%;
}

.lp02-solution__format-group {
  display: contents;
}

.lp02-solution__format-icons {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  align-content: flex-start;
}

.lp02-solution__format-icons--figma {
  justify-content: flex-end;
  align-items: flex-start;
}

.lp02-solution__format-icons img {
  width: 80px;
  height: 80px;
  object-fit: contain;
}

.lp02-solution__format-text {
  font-family: "Hiragino Sans", "ヒラギノ角ゴシック", sans-serif;
  font-weight: 500;
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: 0.06em;
  color: #242424;
  padding-top: 20px;
  align-self: start;
}

.lp02-solution__format-label {
  font-weight: 700;
  background: linear-gradient(46.7deg, #1005B8 -2.66%, #0092D6 94.53%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* --- DATA --- */
.lp02-data__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 25px;
  display: flex;
  flex-direction: column;
  gap: 80px;
}

.lp02-data__row {
  display: flex;
  align-items: center;
  gap: 60px;
}

.lp02-data__left {
  flex: 1;
}

.lp02-data__headline {
  font-family: "Hiragino Sans", "ヒラギノ角ゴシック", sans-serif;
  font-weight: 700;
  font-size: 24px;
  font-style: normal;
  line-height: 32px;
  letter-spacing: 1.44px;
  color: #fff;
  padding-left: 20px;
  position: relative;
  margin-bottom: 24px;
}

.lp02-data__headline::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: linear-gradient(46.7deg, #1005B8 -2.66%, #0092D6 94.53%);
}

.lp02-data__box {
  background: #F0F4FF;
  border-radius: 4px;
  padding: 32px 28px;
}

.lp02-data__question {
  font-family: "Hiragino Sans", "ヒラギノ角ゴシック", sans-serif;
  font-weight: 600;
  font-size: 15px;
  line-height: 1.6;
  letter-spacing: 0.06em;
  color: #050D29;
  padding-left: 44px;
  position: relative;
  margin-bottom: 16px;
}

.lp02-data__question::before {
  content: 'Q';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  width: 32px;
  height: 32px;
  justify-content: center;
  align-items: center;
  border-radius: 32px;
  background: linear-gradient(47deg, #1005B8 -2.66%, #0092D6 94.53%);
  color: #fff;
  font-family: "Fustat", sans-serif;
  font-weight: 700;
  font-size: 14px;
  line-height: 1;
  box-sizing: border-box;
}

.lp02-data__question::after {
  content: '';
  display: block;
  width: calc(100% + 44px);
  height: 1px;
  background: rgba(0, 0, 0, 0.20);
  margin-top: 16px;
  margin-left: -44px;
}

.lp02-data__list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.lp02-data__item {
  font-family: "Hiragino Sans", "ヒラギノ角ゴシック", sans-serif;
  font-weight: 500;
  font-size: 14px;
  line-height: 1.6;
  letter-spacing: 0.06em;
  color: #242424;
  padding-left: 24px;
  position: relative;
}

.lp02-data__item::before {
  content: '';
  position: absolute;
  left: 0;
  top: 4px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: linear-gradient(46.7deg, #1005B8 -2.66%, #0092D6 94.53%);
}

.lp02-data__item::after {
  content: '';
  position: absolute;
  left: 3px;
  top: 7px;
  width: 10px;
  height: 6px;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(-45deg);
}

.lp02-data__right {
  flex-shrink: 0;
  width: 280px;
}

.lp02-data__chart {
  width: 100%;
  height: auto;
  display: block;
}

/* --- USER VOICE --- */
.lp02-voice {
  background: #050D29;
  padding-bottom: calc(13.4vw + 100px);
}
@media (max-width: 768px) {
  .lp02-voice {
    padding-bottom: calc(13.4vw + 40px);
  }
}
.lp02-voice__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 25px;
}

.lp02-voice__header {
  margin-bottom: 56px;
}

.lp02-voice__header::before {
  width: 706px;
  background: #fff;
  opacity: 0.3;
}

.lp02-voice__label {
  background-image: linear-gradient(46.7deg, #1005B8 -2.66%, #0092D6 94.53%), linear-gradient(#050D29, #050D29);
}

.lp02-voice__h2 {
  font-family: "Hiragino Sans", "ヒラギノ角ゴシック", sans-serif;
  font-weight: 600;
  font-size: 40px;
  line-height: 1.6;
  letter-spacing: 0.06em;
  color: #fff;
}

.lp02-voice__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  margin-bottom: 68px;
}

.lp02-voice__card {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 16px;
  background: #fff;
  border-radius: 4px;
  padding: 32px;
  overflow: hidden;
}

.lp02-voice__card::after {
  content: '';
  position: absolute;
  top: 0px;
  right: 16px;
  width: 48px;
  height: 48px;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0OCIgaGVpZ2h0PSI0OCIgdmlld0JveD0iMCAwIDQ4IDQ4IiBmaWxsPSJub25lIj48cGF0aCBkPSJNMzIgNkMzMC45MzkxIDYgMjkuOTIxNyA2LjQyMTQzIDI5LjE3MTYgNy4xNzE1N0MyOC40MjE0IDcuOTIxNzIgMjggOC45MzkxMyAyOCAxMFYyMkMyOCAyMy4wNjA5IDI4LjQyMTQgMjQuMDc4MyAyOS4xNzE2IDI0LjgyODRDMjkuOTIxNyAyNS41Nzg2IDMwLjkzOTEgMjYgMzIgMjZDMzIuNTMwNCAyNiAzMy4wMzkxIDI2LjIxMDcgMzMuNDE0MiAyNi41ODU4QzMzLjc4OTMgMjYuOTYwOSAzNCAyNy40Njk2IDM0IDI4VjMwQzM0IDMxLjA2MDkgMzMuNTc4NiAzMi4wNzgzIDMyLjgyODQgMzIuODI4NEMzMi4wNzgzIDMzLjU3ODYgMzEuMDYwOSAzNCAzMCAzNEMyOS40Njk2IDM0IDI4Ljk2MDkgMzQuMjEwNyAyOC41ODU4IDM0LjU4NThDMjguMjEwNyAzNC45NjA5IDI4IDM1LjQ2OTYgMjggMzZWNDBDMjggNDAuNTMwNCAyOC4yMTA3IDQxLjAzOTEgMjguNTg1OCA0MS40MTQyQzI4Ljk2MDkgNDEuNzg5MyAyOS40Njk2IDQyIDMwIDQyQzMzLjE4MjYgNDIgMzYuMjM0OCA0MC43MzU3IDM4LjQ4NTMgMzguNDg1M0M0MC43MzU3IDM2LjIzNDggNDIgMzMuMTgyNiA0MiAzMFYxMEM0MiA4LjkzOTEzIDQxLjU3ODYgNy45MjE3MiA0MC44Mjg0IDcuMTcxNTdDNDAuMDc4MyA2LjQyMTQzIDM5LjA2MDkgNiAzOCA2SDMyWiIgc3Ryb2tlPSIjRTJFOEYwIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjxwYXRoIGQ9Ik0xMCA2QzguOTM5MTMgNiA3LjkyMTcyIDYuNDIxNDMgNy4xNzE1NyA3LjE3MTU3QzYuNDIxNDMgNy45MjE3MiA2IDguOTM5MTMgNiAxMFYyMkM2IDIzLjA2MDkgNi40MjE0MyAyNC4wNzgzIDcuMTcxNTcgMjQuODI4NEM3LjkyMTcyIDI1LjU3ODYgOC45MzkxMyAyNiAxMCAyNkMxMC41MzA0IDI2IDExLjAzOTEgMjYuMjEwNyAxMS40MTQyIDI2LjU4NThDMTEuNzg5MyAyNi45NjA5IDEyIDI3LjQ2OTYgMTIgMjhWMzBDMTIgMzEuMDYwOSAxMS41Nzg2IDMyLjA3ODMgMTAuODI4NCAzMi44Mjg0QzEwLjA3ODMgMzMuNTc4NiA5LjA2MDg3IDM0IDggMzRDNy40Njk1NyAzNCA2Ljk2MDg2IDM0LjIxMDcgNi41ODU3OSAzNC41ODU4QzYuMjEwNzEgMzQuOTYwOSA2IDM1LjQ2OTYgNiAzNlY0MEM2IDQwLjUzMDQgNi4yMTA3MSA0MS4wMzkxIDYuNTg1NzkgNDEuNDE0MkM2Ljk2MDg2IDQxLjc4OTMgNy40Njk1NyA0MiA4IDQyQzExLjE4MjYgNDIgMTQuMjM0OCA0MC43MzU3IDE2LjQ4NTMgMzguNDg1M0MxOC43MzU3IDM2LjIzNDggMjAgMzMuMTgyNiAyMCAzMFYxMEMyMCA4LjkzOTEzIDE5LjU3ODYgNy45MjE3MiAxOC44Mjg0IDcuMTcxNTdDMTguMDc4MyA2LjQyMTQzIDE3LjA2MDkgNiAxNiA2SDEwWiIgc3Ryb2tlPSIjRTJFOEYwIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjwvc3ZnPg==");
  background-repeat: no-repeat;
  background-size: 48px 48px;
  pointer-events: none;
}

.lp02-voice__avatar {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}

.lp02-voice__text {
  font-family: "Hiragino Sans", "ヒラギノ角ゴシック", sans-serif;
  font-weight: 500;
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: 0.06em;
  color: #242424;
}


/* --- PRICE --- */
.lp02-price {
  background: #040A20;
  padding: 80px 0 100px;
}

.lp02-price__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 25px;
}

.lp02-price__header {
  text-align: center;
  margin-bottom: 48px;
}

.lp02-price__h2 {
  font-family: "Hiragino Sans", "ヒラギノ角ゴシック", sans-serif;
  font-weight: 600;
  font-size: 40px;
  line-height: 1.6;
  letter-spacing: 0.06em;
  color: #fff;
}

.lp02-price__card {
  max-width: 580px;
  margin: 0 auto;
  border-radius: 4px;
  overflow: hidden;
}

.lp02-price__tab {
  background: linear-gradient(47deg, #1005B8 -2.66%, #0092D6 94.53%);
  border-radius: 6px 6px 0 0;
  color: #fff;
  font-family: "Hiragino Sans", "ヒラギノ角ゴシック", sans-serif;
  font-weight: 600;
  font-size: 16px;
  line-height: 1.6;
  letter-spacing: 0.06em;
  text-align: center;
  padding: 10px 0;
}

.lp02-price__body {
  background: #fff;
  padding: 40px 48px;
}

.lp02-price__amount {
  font-family: "Hiragino Sans", "ヒラギノ角ゴシック", sans-serif;
  font-weight: 700;
  font-size: 56px;
  line-height: 1.2;
  letter-spacing: 0;
  color: #040A20;
  margin-bottom: 32px;
  text-align: center;
}

.lp02-price__unit {
  font-size: 24px;
  font-weight: 500;
}

.lp02-price__list {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 32px;
  border-radius: 4px;
  border: 1px solid #F1F5F9;
  background: #F8FAFC;
  padding: 25px;
}

.lp02-price__item {
  font-family: "Hiragino Sans", "ヒラギノ角ゴシック", sans-serif;
  font-weight: 500;
  font-size: 15px;
  line-height: 1.6;
  letter-spacing: 0.06em;
  color: #242424;
  padding-left: 32px;
  position: relative;
}

.lp02-price__item::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgdmlld0JveD0iMCAwIDIwIDIwIiBmaWxsPSJub25lIj48cGF0aCBkPSJNMTYuNjY2MyA1TDcuNDk5NjcgMTQuMTY2N0wzLjMzMzAxIDEwIiBzdHJva2U9InVybCgjcGFpbnQwX2xpbmVhcl81ODFfNTY2MCkiIHN0cm9rZS13aWR0aD0iMS42NjY2NyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJwYWludDBfbGluZWFyXzU4MV81NjYwIiB4MT0iMy4zMzMwMSIgeTE9IjE0LjY2OSIgeDI9IjEyLjMzNzciIHkyPSIyLjMyNjg5IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agc3RvcC1jb2xvcj0iIzEwMDVCOCIvPjxzdG9wIG9mZnNldD0iMC45NzA5NTkiIHN0b3AtY29sb3I9IiMwMDkyRDYiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48L3N2Zz4=");
  background-repeat: no-repeat;
  background-size: 20px 20px;
}

.lp02-price__note {
  font-family: "Hiragino Sans", "ヒラギノ角ゴシック", sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 1.8;
  letter-spacing: 0.04em;
  color: #888;
}

/* --- FAQ --- */
.lp02-faq {
  background: #F5F5F5;
  padding: 80px 0 100px;
}

.lp02-faq__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 25px;
}

.lp02-faq__header {
  text-align: center;
  margin-bottom: 56px;
}

.lp02-faq__h2 {
  font-family: "Hiragino Sans", "ヒラギノ角ゴシック", sans-serif;
  font-weight: 600;
  font-size: 40px;
  line-height: 1.6;
  letter-spacing: 0.06em;
  color: #050D29;
}

.lp02-faq__list {
  max-width: 800px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 0;
}

.lp02-faq__item {
  border: 1px solid #DAE2EC;
  border-bottom: none;
  background: #fff;
}

.lp02-faq__item:last-child {
  border-bottom: 1px solid #DAE2EC;
}

.lp02-faq__q {
  display: flex;
  align-items: center;
  gap: 16px;
  width: 100%;
  padding: 24px 28px;
  background: none;
  border: none;
  cursor: pointer;
  text-align: left;
}

.lp02-faq__q-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #050D29;
  color: #fff;
  font-family: "Fustat", sans-serif;
  font-weight: 700;
  font-size: 14px;
  flex-shrink: 0;
}

.lp02-faq__q-text {
  flex: 1;
  font-family: "Hiragino Sans", "ヒラギノ角ゴシック", sans-serif;
  font-weight: 600;
  font-size: 16px;
  line-height: 1.6;
  letter-spacing: 0.06em;
  color: #050D29;
}

.lp02-faq__toggle {
  font-size: 24px;
  line-height: 1;
  color: #2B7FFF;
  flex-shrink: 0;
  transition: transform 0.3s ease;
}

.lp02-faq__a {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease;
}

.lp02-faq__a-inner {
  padding: 0 28px 24px 76px;
  font-family: "Hiragino Sans", "ヒラギノ角ゴシック", sans-serif;
  font-weight: 500;
  font-size: 15px;
  line-height: 1.8;
  letter-spacing: 0.06em;
  color: #333;
}

/* --- FLOW --- */
.lp02-flow {
  background: #E8E9EE;
  padding-bottom: 100px;
}

.lp02-flow__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 25px;
}

.lp02-flow__header {
  margin-bottom: 56px;
}

.lp02-flow__header::before {
  width: 706px;
  background: linear-gradient(46.7deg, #1005B8 -2.66%, #0092D6 94.53%);
}

.lp02-flow__label {
  background-image: linear-gradient(46.7deg, #1005B8 -2.66%, #0092D6 94.53%), linear-gradient(#E8E9EE, #E8E9EE);
}

.lp02-flow__h2 {
  font-family: "Hiragino Sans", "ヒラギノ角ゴシック", sans-serif;
  font-weight: 600;
  font-size: 40px;
  line-height: 1.6;
  letter-spacing: 0.06em;
  color: #050D29;
}

.lp02-flow__list {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.lp02-flow__line {
  position: absolute;
  left: 9px;
  top: 7px;
  width: 2px;
  height: 614px;
  background: #7592B8;
  pointer-events: none;
}

.lp02-flow__item {
  display: flex;
  align-items: flex-start;
  gap: 32px;
}

.lp02-flow__num-col {
  position: relative;
  flex-shrink: 0;
  width: 140px;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 25px;
}

.lp02-flow__dot {
  display: block;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: linear-gradient(46.7deg, #1005B8 -2.66%, #0092D6 94.53%);
  flex-shrink: 0;
  margin-top: 5px;
}

.lp02-flow__num {
  font-family: "Fustat", sans-serif;
  font-weight: 400;
  font-size: 72px;
  line-height: 1;
  letter-spacing: 0;
  background: linear-gradient(46.7deg, #1005B8 -2.66%, #0092D6 94.53%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.lp02-flow__card {
  flex: 1;
  background: #fff;
  border-top: 1px solid #F1F5F9;
  padding: 22px 32px;
}

.lp02-flow__h3 {
  font-family: "Hiragino Sans", "ヒラギノ角ゴシック", sans-serif;
  font-weight: 600;
  font-size: 20px;
  line-height: 1.8;
  letter-spacing: 0.06em;
  background: linear-gradient(46.7deg, #1005B8 -2.66%, #0092D6 94.53%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin-bottom: 15px;
}

.lp02-flow__mtg {
  background: #fff;
  padding: 40px 48px;
  margin-top: 60px;
}

.lp02-flow__mtg-title {
  font-family: "Hiragino Sans", "ヒラギノ角ゴシック", sans-serif;
  font-weight: 600;
  font-size: 24px;
  line-height: 1.6;
  letter-spacing: 0.06em;
  color: #050D29;
  text-align: center;
  padding-bottom: 12px;
  border-bottom: 2px solid #1005B8;
  margin-bottom: 32px;
}

.lp02-flow__mtg-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px 24px;
}

.lp02-flow__mtg-item {
  display: flex;
  align-items: center;
  gap: 12px;
  background: #F5F7FF;
  border-radius: 4px;
  padding: 16px;
}

.lp02-flow__mtg-num {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: linear-gradient(46.7deg, #1005B8 -2.66%, #0092D6 94.53%);
  color: #fff;
  font-family: "Fustat", sans-serif;
  font-weight: 700;
  font-size: 14px;
  flex-shrink: 0;
}

.lp02-flow__mtg-text {
  font-family: "Hiragino Sans", "ヒラギノ角ゴシック", sans-serif;
  font-weight: 500;
  font-size: 13px;
  line-height: 1.6;
  letter-spacing: 0.04em;
  color: #242424;
}

.lp02-flow__text {
  font-family: "Hiragino Sans", "ヒラギノ角ゴシック", sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.06em;
  color: #333;
}

/* --- IMAGE --- */
.lp02-image {
  background: #fff;
  padding: 80px 0 calc(13.4vw + 100px);
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 13.4vw), 0 100%);
}
@media (max-width: 768px) {
  .lp02-image {
    padding: 80px 0 calc(13.4vw + 80px);
  }
}
.lp02-image__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 25px;
}

.lp02-image__header {
  text-align: center;
  margin-bottom: 32px;
}

.lp02-image__h2 {
  font-family: "Hiragino Sans", "ヒラギノ角ゴシック", sans-serif;
  font-weight: 600;
  font-size: 40px;
  line-height: 1.6;
  letter-spacing: 0.06em;
  color: #050D29;
}

.lp02-image__lead {
  font-family: "Hiragino Sans", "ヒラギノ角ゴシック", sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.06em;
  color: #242424;
  text-align: center;
  margin-bottom: 48px;
}

.lp02-image__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.lp02-image__item {
  width: 100%;
  height: auto;
  display: block;
}

/* --- PROBLEM --- */
.lp02-problem {
  background: #F5F5F5;
  padding: 80px 0 calc(13.4vw + 100px);
}
@media (max-width: 768px) {
  .lp02-problem {
    padding: 80px 0 calc(13.4vw + 80px);
  }
}
.lp02-problem__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 25px;
}

.lp02-problem__header {
  text-align: center;
  margin-bottom: 56px;
}

.lp02-problem__h2 {
  font-family: "Hiragino Sans", "ヒラギノ角ゴシック", sans-serif;
  font-weight: 600;
  font-size: 40px;
  line-height: 1.6;
  letter-spacing: 0.06em;
  color: #050D29;
}

.lp02-problem__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.lp02-problem__card {
  position: relative;
  background: #E6E6E6;
  padding: 23px 30px;
}

.lp02-problem__icon {
  position: absolute;
  top: 1px;
  right: 1px;
  width: 129px;
  height: 129px;
  object-fit: contain;
}

.lp02-problem__num-row {
  display: flex;
  align-items: baseline;
  gap: 4px;
  margin-bottom: 48px;
}

.lp02-problem__num-label {
  font-family: "Fustat", sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 1;
  letter-spacing: 0;
  background: linear-gradient(46.7deg, #1005B8 -2.66%, #0092D6 94.53%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.lp02-problem__num-digit {
  font-family: "Fustat", sans-serif;
  font-weight: 400;
  font-size: 56px;
  line-height: 1;
  letter-spacing: 0;
  background: linear-gradient(46.7deg, #1005B8 -2.66%, #0092D6 94.53%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.lp02-problem__h3 {
  font-family: "Hiragino Sans", "ヒラギノ角ゴシック", sans-serif;
  font-weight: 700;
  font-size: 30px;
  line-height: 1.2;
  letter-spacing: 0.06em;
  background: linear-gradient(46.7deg, #1005B8 -2.66%, #0092D6 94.53%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin-bottom: 32px;
}

.lp02-problem__text {
  font-family: "Hiragino Sans", "ヒラギノ角ゴシック", sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 2.0;
  letter-spacing: 0.96px;
  color: #333;
}

.lp02-problem__text-inner {
  display: inline;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  padding-bottom: 3px;
  background-image: linear-gradient(47deg, #1005B8 -2.66%, #0092D6 94.53%);
  background-size: 100% 2px;
  background-position: 0 100%;
  background-repeat: no-repeat;
}

/* --- CONCEPT --- */
.lp02-concept {
  background: #fff;
  padding: 100px 0;
}

.lp02-concept__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 40px;
  display: flex;
  gap: 60px;
  align-items: flex-start;
}

.lp02-concept__left {
  flex-shrink: 0;
  width: 414px;
}

.lp02-concept__header {
  margin-bottom: 10px;
}

.lp02-concept__header::before {
  width: 706px;
  background: linear-gradient(85.77deg, #4258FF 1.28%, #29A9FF 95.07%);
}

.lp02-concept__label {
  font-family: "Fustat", sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 1.3;
  letter-spacing: 0.08em;
  background-image: linear-gradient(85.77deg, #4258FF 1.28%, #29A9FF 95.07%), linear-gradient(#fff, #fff);
  margin-bottom: 10px;
}

.lp02-concept__h2 {
  font-family: "Hiragino Sans", "ヒラギノ角ゴシック", sans-serif;
  font-weight: 600;
  font-size: 36px;
  line-height: 1.6;
  letter-spacing: 0.06em;
  color: #040A20;
  margin-bottom: 262px;
}

.lp02-concept__img {
  width: 100%;
  height: auto;
  display: block;
}

.lp02-concept__right {
  flex: 1;
  /* ラベル高さ分下げてH2と水平位置を合わせる */
  padding-top: 36px;
}

.lp02-concept__lead {
  font-family: "Hiragino Sans", "ヒラギノ角ゴシック", sans-serif;
  font-weight: 700;
  font-size: 24px;
  line-height: 1.8;
  letter-spacing: 0.06em;
  margin-bottom: 46px;
}

.lp02-concept__lead-inner {
  display: inline;
  background: linear-gradient(46.7deg, #1005B8 -2.66%, #0092D6 94.53%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  text-decoration: underline;
  text-decoration-color: #1005B8;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}

.lp02-concept__body {
  font-family: "Hiragino Sans", "ヒラギノ角ゴシック", sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 1.9;
  letter-spacing: 0.06em;
  color: #040A20;
  margin-bottom: 14px;
}

.lp02-concept__span {
  font-weight: 700;
  background: linear-gradient(90deg, #4258FF 0%, #29A9FF 50%, #4258FF 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.lp02-concept__box-wrap {
}

.lp02-concept__box {
  background: #F0F1F4;
  padding: 26px 38px;
}

.lp02-concept__box-title {
  font-family: "Hiragino Sans", "ヒラギノ角ゴシック", sans-serif;
  font-weight: 700;
  font-size: 22px;
  line-height: 1.6;
  letter-spacing: 0.06em;
  text-align: center;
  margin-bottom: 30px;
}

.lp02-concept__box-title-inner {
  display: inline;
  background: linear-gradient(46.7deg, #1005B8 -2.66%, #0092D6 94.53%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  border-bottom: 2px solid #0092D6;
  padding-bottom: 8px;
}

.lp02-concept__box-text {
  font-family: "Hiragino Sans", "ヒラギノ角ゴシック", sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.06em;
  color: #040A20;
}

.lp02-concept__box-span {
  font-weight: 700;
  background: linear-gradient(46.7deg, #1005B8 -2.66%, #0092D6 94.53%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.lp02-concept__arrows {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 43px;
  margin-bottom: 10px;
}

.lp02-concept__arrow {
  display: block;
  width: 32px;
  height: 32px;
  background: linear-gradient(46.7deg, #1005B8 -2.66%, #0092D6 94.53%);
  clip-path: polygon(50% 100%, 0% 0%, 100% 0%);
  flex-shrink: 0;
}

/* ==============================================
   SP ( ~ 768px )
   ============================================== */
@media screen and (max-width: 768px) {

  /* 斜め装飾線 SP */
  .lp02-solution__header::before,
  .lp02-voice__header::before,
  .lp02-flow__header::before,
  .lp02-concept__header::before {
    width: calc(100% + 138px) !important;
    left: -24px;
    top: 40px;
  }

  /* --- FV --- */
  .lp02-fv__inner {
    padding: 120px 24px 60px;
  }

  .lp02-fv__label {
    font-size: 16px;
    height: auto;
    padding: 4px 8px;
    margin-bottom: 16px;
  }

  .lp02-fv__title {
    font-size: 32px;
    white-space: nowrap;
    margin-bottom: 24px;
  }

  .lp02-fv__sub {
    font-size: 14px;
    margin-bottom: 32px;
  }

  .lp02-fv__cta {
    flex-direction: column;
    gap: 16px;
    align-items: stretch;
  }

  .lp02-fv .lp-fv__btn {
    width: 100%;
  }

  /* --- CONCEPT --- */
  .lp02-concept {
    padding: 60px 0;
  }

  .lp02-concept__inner {
    flex-direction: column;
    padding: 0 24px;
    gap: 32px;
  }

  .lp02-concept__left {
    width: 100%;
  }

  .lp02-concept__h2 {
    font-size: 24px;
    margin-bottom: 32px;
  }

  .lp02-concept__right {
    padding-top: 0;
  }

  .lp02-concept__lead {
    font-size: 18px;
    margin-bottom: 32px;
  }

  .lp02-concept__body {
    font-size: 14px;
  }

  .lp02-concept__box {
    padding: 24px 20px;
  }

  /* --- PROBLEM --- */
  .lp02-problem__header {
    margin-bottom: 32px;
  }

  .lp02-problem__h2 {
    font-size: 24px;
  }

  .lp02-problem__num-digit {
    font-size: 40px;
  }

  .lp02-problem__h3 {
    font-size: 20px;
  }

  .lp02-problem__grid {
    grid-template-columns: 1fr;
  }

  /* --- SOLUTION --- */
  .lp02-solution__h2 {
    font-size: 24px;
  }

  .lp02-solution__num-digit {
    font-size: 45px;
  }

  .lp02-solution__h3 {
    font-size: 23px;
    margin-bottom: 29px;
  }

  .lp02-solution__grid {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .lp02-solution__format {
    width: 100%;
    height: auto;
    padding: 24px 20px;
  }

  .lp02-solution__format-title {
    font-size: 22px;
  }

  .lp02-solution__format-body {
    display: flex;
    flex-direction: column;
    gap: 24px;
  }

  .lp02-solution__format-group {
    display: flex;
    flex-direction: column;
    gap: 25px;
  }

  .lp02-solution__format-icons--slides {
    justify-content: center;
    flex-wrap: nowrap;
  }

  .lp02-solution__format-icons--figma {
    justify-content: center;
  }

  .lp02-solution__format-text {
    padding-top: 0;
  }

  .lp02-solution__num-row {
    margin-bottom: 28px;
  }

  /* --- DATA --- */
  .lp02-data__row {
    flex-direction: column;
    gap: 32px;
  }

  .lp02-data__box {
    margin-bottom: 50px;
  }

  .lp02-data__right {
    width: 100%;
    max-width: 240px;
    margin: 0 auto;
    order: -1;
  }

  .lp02-data__headline {
    font-size: 20px;
  }

  .lp02-data__headline::before {
    top: 10px;
    transform: none;
  }

  .lp02-data__question::before {
    top: calc(50% - 9px);
    transform: translateY(-50%);
  }

  /* --- VOICE --- */
  .lp02-voice__h2 {
    font-size: 24px;
  }

  .lp02-voice__grid {
    grid-template-columns: 1fr;
  }

  .lp02-voice__card {
    padding: 24px;
  }

  /* --- PRICE --- */
  .lp02-price__h2 {
    font-size: 24px;
  }

  .lp02-price__body {
    padding: 24px 20px;
  }

  .lp02-price__list {
    padding: 25px 17px;
  }

  .lp02-price__amount {
    font-size: 40px;
    margin-bottom: 24px;
  }

  /* --- CTA BOX --- */
  .lp02-cta__box {
    width: 100%;
    height: auto;
    padding: 40px 24px;
    align-items: stretch;
  }

  .lp-cta__btns {
    width: 100%;
  }

  .lp02-cta__title {
    font-size: 18px;
    margin-bottom: 24px;
  }

  .lp02-cta__text {
    font-size: 15px;
    margin-bottom: 32px;
  }

  .lp-cta__btns {
    flex-direction: column;
    gap: 16px;
    align-items: stretch;
  }

  .lp-cta__btns .lp-fv__btn {
    width: 100%;
  }

  /* --- FAQ --- */
  .lp02-faq__h2 {
    font-size: 24px;
  }

  .lp02-faq__q {
    padding: 20px 16px;
    gap: 12px;
  }

  .lp02-faq__a-inner {
    padding: 0 16px 20px 60px;
  }

  /* --- FLOW --- */
  .lp02-flow__h2 {
    font-size: 24px;
  }

  .lp02-flow__line {
    display: none;
  }

  .lp02-flow__dot {
    display: none;
  }

  .lp02-flow__item {
    flex-direction: column;
    gap: 8px;
  }

  .lp02-flow__num-col {
    width: auto;
    gap: 12px;
  }

  .lp02-flow__num {
    font-size: 48px;
  }

  .lp02-flow__card {
    width: 100%;
    padding: 16px 20px;
  }

  .lp02-flow__mtg {
    padding: 24px 20px;
    margin-top: 40px;
  }

  .lp02-flow__mtg-grid {
    grid-template-columns: 1fr;
  }

  /* --- IMAGE --- */
  .lp02-image__h2 {
    font-size: 24px;
  }

  .lp02-image__grid {
    grid-template-columns: 1fr;
  }

}
