*, *::before, *::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  padding: 0;
  background: #fff;

  font-family: "Noto Sans JP", sans-serif;
}
svg text {
  font-family: "Noto Sans JP", sans-serif !important;
}
.section-wrapper {
  position: relative;
  margin: 0 auto;
  background: white;
  overflow: hidden;
}

.section-wrapper > svg {
  display: block;
  margin: 0 auto;
  max-width: 100%;
  height: auto;
}

/* Section 01 CSS */
#section-01 {
  margin: 0;
  padding: 0;
  
}
#section-01 .container {
  position: relative;
  width: 1442px;
  max-width: 100%;
  min-height: 72px;
  background-color: #fff;
  margin: 0 auto;
  overflow: hidden;
}
#section-01 header {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  padding: 0px 32px;
  height: 100%;
}
#section-01 .logo-wrapper {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px;
}
#section-01 .logo-wrapper nav {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 8px;
}
#section-01 .logo {
  position: relative;
  left: 0px;
  top: 0px;
  display: flex;
  align-items: center;
  justify-content: center;
}
#section-01 .logo img {
  width: 119px;
  height: 44px;
  object-fit: contain;
}
#section-01 nav > ul {
  display: flex;
  flex-direction: row;
  align-items: center;
  list-style: none;
  padding: 0;
  margin: 0;
  gap: 4.8px;
}
#section-01 nav > ul > li {
  margin: 0;
}
#section-01 nav > ul > li > button {
  box-sizing: border-box;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 3px 6px;
  border: 0.8px solid rgba(1, 0, 54, 0.2);
  border-radius: 3.6px;
  background-color: white;
  cursor: pointer;
  border-radius: 3.6px;
}
#section-01 nav > ul > li > button:hover {
  background-color: #f0f0f0;
}
#section-01 nav > ul > li > button > .label {
  
  font-style: normal;
  font-size: 10px;
  line-height: 100%;
  color: #010036;
}
#section-01 .secondary-nav {
  min-height: 32px;
  display: flex;
  justify-content: center;
  align-items: center;
  min-width: 488px;
}
#section-01 .secondary-nav ul {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 0;
  margin: 0;
  list-style: none;
  gap: 32px;
}
#section-01 .secondary-nav ul li a {
  font-style: normal;
  font-size: 16px;
  line-height: 150%;
  color: #010036;
  text-decoration: none;
}
#section-01 .secondary-nav ul li a:hover {
  text-decoration: underline;
  text-underline-offset: 8px;
  text-decoration-thickness: 2px;
}
#section-01 .tagline {
  font-style: normal;
  font-weight: bold;
  font-size: 13px;
  line-height: 17px;
  color: #010036;
  margin: 0;
}

/* Section 02 CSS */
#section-02 {
  margin: 0;
  padding: 0;  
}
#section-02 svg {
  display: block;
  margin: 0 auto;
}

/* Section 03 CSS */
#section-03 {
  margin: 0;
  padding: 0;
  
}
#section-03 .container {
  position: relative;
  max-width: 100%;
  background-color: #fff;
  margin: 0 auto;
  overflow: hidden;
  margin-top: 24px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 36px;
}

#section-03 img {
  width: auto;
  max-width: 100%;
}
#section-03 .rect-0 {
  position: absolute;
  left: 53px;
  top: 23px;
  width: 843px;
  height: 42px;
  background-image: url("./img/section03/image0_542_953.png");
  background-position: center;
  background-size: cover;
}
#section-03 .rect-1 {
  position: absolute;
  left: 899px;
  top: 23px;
  width: 490px;
  height: 42px;
  background-image: url("./img/section03/image1_542_953.png");
  background-position: left;
}

/* Section 04 CSS */
#section-04 {
  margin: 0;
  padding: 0;
  
}
#section-04 svg {
  display: block;
  margin: 0 auto;
}

/* Section 05 CSS */
#section-05 {
  margin: 0;
  padding: 0;
}

.section-05-of {
  position: relative;
  z-index: 999;
}
.section-05-of img {
  text-align: center;
  position: absolute;
  top: -300px;
  left: calc(50% - 600px);
}
/* Section 06 CSS */
#section-06 {
  margin: 0;
  padding: 0;
  background: linear-gradient(to right, #10007B 0%, #7926AA 100%);
}

.section-06-of {
  position: relative;
  z-index: 999;
}
.section-06-of img {
  text-align: center;
  position: absolute;
  top: -300px;
  left: 65%
}


/* Section 07 CSS */
#section-07 {
  margin: 0;
  padding: 0;
  
}
#section-07 .container {
  position: relative;
  background-color: #fff;
  margin: 0 auto;
  overflow: hidden;
}
#section-07 .frame-3344 {
  margin-top: 100px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 64px;
}
#section-07 .frame-3385 {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0px;
  gap: 32px;
}
#section-07 .frame-3345 {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  padding: 0px;
  gap: 8px;
}
#section-07 .cvr-reason {
  margin: 0;
  font-style: normal;
  font-weight: 700;
  font-size: 20px;
  line-height: 150%;
  text-align: center;
  color: #7926aa;
}
#section-07 .cvr-reason svg {
  display: inline-block;
}
#section-07 .catch-phrase {
  max-width: 95%;
  font-style: normal;
  font-weight: 700;
  font-size: 40px;
  line-height: 100%;
  background: linear-gradient(90deg, #7926aa 0%, #da00a4 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
  text-align: center;
}
#section-07 .description {
  font-style: normal;
  font-weight: 400;
  font-size: 16px;
  line-height: 150%;
  text-align: center;
  color: rgba(1, 0, 54, 0.8);
}
#section-07 svg {
  display: block;
  max-width: 95%;
}
/* Section 08 CSS */
#section-08 {
  margin: 0;
  padding: 0;
  padding-top: 100px;
  
}
#section-08 .container {
  position: relative;
  width: 1440px;
  height: 860px;
  background-color: #fff;
  margin: 0 auto;
  overflow: hidden;
}
#section-08 .header {
  width: 100%;
  height: 338px;
}
#section-08 .table-section {
  box-sizing: border-box;
}
#section-08 .table-header {
  display: flex;
  width: 100%;
}
#section-08 .table-header__cell {
  display: flex;
  justify-content: center;
  align-items: center;
  flex: 1;
  border: 1px solid rgba(1, 0, 54, 0.1);
}
#section-08 .table-row {
  display: flex;
  width: 100%;
}
#section-08 .table-cell {
  display: flex;
  justify-content: center;
  align-items: center;
  flex: 1;
  border: 1px solid rgba(1, 0, 54, 0.1);
}

/* Section 09 CSS */
#section-09 {
  margin: 0;
  padding: 0;
  background: linear-gradient(90deg, #10007b 0%, #7926aa 100%);
  
}
#section-09 .container {
  position: relative;
  padding: 48px 0px 100px;
}
#section-09 .section-title {
  text-align: center;
  color: #ffffff;
  font-weight: bold;
  font-size: 38px;
}
#section-09 .section-description {
  text-align: center;
  color: #ffffff;
  font-weight: normal;
}

#section-09 .splide {
  padding-bottom: 40px;
}
#section-09 .splide svg {
  width: 100%;
  max-width: 940px;
}
#section-09 .case-item__fig {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 8px;
}
#section-09 .case-item__texts {
  flex: 1;
  color: #010036;
} 
#section-09 .probrem-title {
  font-size: 20px;
  text-align: center;
  font-weight: normal;
  line-height: 2;
  border-radius: 8px;
  background-color: rgb(1, 0, 54);
  color: #fff;
}
#section-09 .probrem-list {
  padding-left: 100px;
  list-style-type: square;
}

/* Section 10 CSS */
#section-10 {
  margin: 0;
  padding: 0;
  background: #7926aa;
  background: rgba(121, 38, 170, 0.1);
  
}
#section-10 .container {
  position: relative;
  margin: 0 auto;
  padding: 0 0px 100px;
}
#section-10 .splide {
  padding-bottom: 40px;
}
#section-10 .hero {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 0px 0px 60px;
  gap: 64px;
}
#section-10 .hero-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0px;
}
#section-10 .hero-title {
  font-style: normal;
  font-weight: 700;
  font-size: 40px;
  text-align: center;
  background: linear-gradient(90deg, #7926aa 0%, #da00a4 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
}
#section-10 .hero-subtitle {
  font-style: normal;
  font-weight: 400;
  font-size: 16px;
  line-height: 150%;
  text-align: center;
  color: rgba(1, 0, 54, 0.8);
}
#section-10 .features-link {
  font-style: normal;
  font-weight: 500;
  font-size: 16px;
  line-height: 19px;
  text-align: center;
  text-decoration-line: underline;
  color: #7926aa;
  text-decoration: none;
}
#section-10 .feature-item {
  display: flex;
  margin: 0 auto;
  justify-content: center;
}

#section-10 .features {
  position: absolute;
  top: 311px;
  left: 236px;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  width: 969.61px;
  height: 348px;
  background: #ffffff;
  border-radius: 32px;
  padding: 32px;
  gap: 16px;
}
#section-10 .features-list {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 480px;
  height: 284px;
  gap: 32px;
}
#section-10 .feature-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 480px;
  height: 137px;
}
#section-10 .feature-button {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 8px 16px;
  gap: 10px;
  width: 300px;
  height: 40px;
  background: linear-gradient(90deg, #10007b 0%, #7926aa 100%);
  border-radius: 8px;
  
  font-style: normal;
  font-weight: 700;
  font-size: 22.392px;
  line-height: 100%;
  color: #ffffff;
  text-align: center;
}
#section-10 .feature-body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 480px;
  height: auto;
}
#section-10 .feature-description {
  width: 480px;
  height: auto;
  
  font-style: normal;
  font-weight: 400;
  font-size: 18px;
  line-height: 150%;
  color: rgba(1, 0, 54, 0.8);
}
#section-10 .feature-footer {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  width: 480px;
  height: 115px;
}
#section-10 .example-title {
  width: 480px;
  height: 29px;
  
  font-style: normal;
  font-weight: 700;
  font-size: 18px;
  line-height: 160%;
  text-align: center;
  background: linear-gradient(90deg, #7926aa 0%, #da00a4 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
}
#section-10 .example-content {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  width: 480px;
  height: 78px;
  background: linear-gradient(
    90deg,
    rgba(125, 0, 156, 0.2) 0%,
    rgba(218, 0, 164, 0.2) 100%
  );
  border-radius: 8px;
  
  font-style: normal;
  font-weight: 500;
  font-size: 18px;
  line-height: 160%;
  text-align: center;
  background: linear-gradient(90deg, #7926aa 0%, #da00a4 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
}
#section-10 .feature-images {
  position: absolute;
  left: 607px;
  top: 32px;
}
#section-10 .feature-image1 {
  position: absolute;
  width: 205.87px;
  height: 162.17px;
  left: 0px;
  top: 5.61px;
  box-shadow: 2px 2px 16px 6px rgba(0, 0, 221, 0.1);
  border-radius: 6.72832px;
  transform: rotate(-6.1deg);
}
#section-10 .feature-image2-container {
  position: absolute;
  width: 140.82px;
  height: 79.25px;
  left: 133.61px;
  top: 0px;
  transform: rotate(5.88deg);
}
#section-10 .feature-image2 {
  width: 140.82px;
  height: 79.25px;
  box-shadow: 2px 2px 16px 6px rgba(0, 0, 221, 0.1);
  border-radius: 6.35756px;
}
#section-10 .feature-image3 {
  position: absolute;
  width: 75.79px;
  height: 17.28px;
  left: 14.14px;
  top: 24.87px;
  border-radius: 6.35756px;
}
#section-10 .image-description {
  position: absolute;
  width: 54.39px;
  height: 7.9px;
  left: 16.7px;
  top: 47.88px;
  
  font-style: normal;
  font-weight: 700;
  font-size: 6.35756px;
  line-height: 8px;
  color: #ffffff;
}
#section-10 .feature-icons {
  position: absolute;
  display: flex;
  flex-direction: row;
  align-items: center;
  width: 252.44px;
  height: 80px;
  left: -6px;
  top: 204px;
  box-shadow: 2px 2px 16px 6px rgba(0, 0, 221, 0.1);
}
#section-10 .icon-container {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  width: 80px;
  height: 80px;
  background: #ffffff;
  border-radius: 5.85294px;
  margin-left: 6.22px;
}
#section-10 .feature-icon {
  width: 48px;
  height: 48px;
}
#section-10 .features-mask-left {
  position: absolute;
  left: -54px;
  top: 44px;
  width: 210px;
  height: 260px;
  opacity: 0.6;
}
#section-10 .features-mask-left-rect {
  position: absolute;
  width: 210px;
  height: 260px;
  background: #d9d9d9;
  border: 1px solid rgba(151, 24, 255, 0.4);
}
#section-10 .features-mask-right {
  position: absolute;
  left: 1048px;
  top: 44px;
  width: 210px;
  height: 260px;
  opacity: 0.6;
}
#section-10 .features-mask-right-rect {
  position: absolute;
  width: 210px;
  height: 260px;
  background: #d9d9d9;
  border: 1px solid rgba(151, 24, 255, 0.4);
}
#section-10 .dots {
  position: absolute;
  display: flex;
  flex-direction: row;
  align-items: center;
  left: 0;
  top: 0;
  width: 176px;
  height: 16px;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
}
#section-10 .dot {
  width: 16px;
  height: 16px;
  background: rgba(1, 0, 54, 0.4);
  border-radius: 50%;
  margin: 0 8px;
  transform: matrix(1, 0, 0, -1, 0, 0);
}
#section-10 .dot.active {
  background: #010036;
}

/* Section 11 CSS */
#section-11 {
  margin: 0;
  padding: 0;
  margin-top: -50px;
  background-color: transparent;
  padding-bottom: 50px;
}
#section-11 .container {
  position: relative;
  width: 1440px;
  height: 1066px;
  background-color: #fff;
  margin: 0 auto;
  overflow: hidden;
}
#section-11 .frame-3382 {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 24px;
  gap: 24px;
  isolation: isolate;
  background: #ffffff;
  border: 1px solid rgba(1, 0, 54, 0.2);
  border-radius: 16px;
}
#section-11 .frame-146 {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 24px;
  gap: 24px;
  isolation: isolate;
  flex: none;
  order: 0;
  align-self: stretch;
  flex-grow: 1;
}
#section-11 .frame-3273 {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 24px 24px 40px;
  gap: 24px;
  isolation: isolate;
  flex: none;
  order: 2;
  align-self: stretch;
  flex-grow: 1;
}
#section-11 .frame-3274 {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 24px;
  gap: 24px;
  isolation: isolate;
  flex: none;
  order: 4;
  align-self: stretch;
  flex-grow: 1;
}
#section-11 .frame-3275 {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 24px 24px 40px;
  gap: 24px;
  isolation: isolate;
  flex: none;
  order: 6;
  align-self: stretch;
  flex-grow: 1;
}
#section-11 .frame-3345 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0px;
  gap: 8px;

  width: 219px;
  height: 30px;
}
#section-11 .text-24 {
  width: 312px;
  height: 36px;
  
  font-style: normal;
  font-weight: 700;
  font-size: 24px;
  line-height: 150%;
  text-align: center;
  color: #7926aa;
}
#section-11 .text-37 {
  width: 1123px;
  height: 58px;
  
  font-style: normal;
  font-weight: 700;
  font-size: 39px;
  line-height: 150%;
  color: #010036;
}
#section-11 .text-40 {
  width: 438px;
  height: 73px;
  
  font-style: normal;
  font-weight: 700;
  font-size: 49px;
  line-height: 150%;
  color: #010036;
}
#section-11 .text-43 {
  width: 80px;
  height: 72px;
  
  font-style: normal;
  font-weight: 400;
  font-size: 72px;
  line-height: 100%;
  color: #7926aa;
  opacity: 0.1;
}

/* Section 12 CSS */
#section-12 {
  margin: 0;
  padding: 0;
  
}
#section-12 .container {
  position: relative;
  padding: 50px 24px 100px;
  background: rgba(121, 38, 170, 0.1);
  margin: 0 auto;
}
#section-12 .faq-section {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
#section-12 .faq-title {
  font-size: 38px;
  font-weight: bold;
  text-align: center;
  background: linear-gradient(90deg, #7926aa 0%, #da00a4 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
  margin-bottom: 48px;
}
#section-12 .faq-list {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 32px;
}
#section-12 .faq-item {
  background: rgba(255, 255, 255, 0.8);
  box-shadow: 2px 2px 16px 6px rgba(0, 0, 221, 0.1);
  border-radius: 16px;
  padding: 32px;

  width: 1040px;
  max-width: 100%;
}
#section-12 .question-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 12px;
  margin-bottom: 24px;
}
#section-12 .question-icon {
  width: 40px;
  height: 40px;
  background: rgba(1, 0, 54, 0.6);
  border-radius: 4px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #ffffff;
  font-size: 24px;
  font-weight: bold;
}
#section-12 .question-text {
  color: #010036;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.5;
  flex: 1;
}
#section-12 .answer-row {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 12px;
}
#section-12 .answer-icon {
  width: 40px;
  height: 40px;
  background: rgba(121, 38, 170, 0.6);
  border-radius: 4px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #ffffff;
  font-size: 24px;
  font-weight: bold;
}
#section-12 .answer-text {
  color: #010036;
  font-size: 16px;
  line-height: 1.5;
  flex: 1;
  margin-top: 0;
}

/* Section 13 CSS */
#section-13 {
  margin: 0;
  padding: 0;
  background: linear-gradient(to right, #10007B 0%, #7926AA 100%);

  min-height: 100px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #ffffff;
}
#section-13 .container {
  position: relative;
  width: 1442px;
  height: 100px;
  background-color: #fff;
  margin: 0 auto;
  overflow: hidden;
}
#section-13 header {
  width: 100%;
  height: 100%;
  position: relative;
}




#section-09 .splide__arrow--prev svg,
#section-09 .splide__arrow--next svg,
#section-10 .splide__arrow--prev svg,
#section-10 .splide__arrow--next svg {
  fill: #fff;
}

#section-09 .splide__arrow--prev,
#section-10 .splide__arrow--prev {
  left: calc(50% - 520px);
  width: 48px;
  height: 48px;
  font-size: 24px;
  background: #010036;
}

#section-09 .splide__arrow--next,
#section-10 .splide__arrow--next {
  right: calc(50% - 520px);
  width: 48px;
  height: 48px;
  font-size: 24px;
  color: #fff;
  background: #010036;
}
#section-10 .splide__arrow--prev {
  left: calc(50% - 550px);
}
#section-10 .splide__arrow--next {
  right: calc(50% - 550px);
}
#section-09 .splide__slide,
#section-10 .splide__slide {
  transform-origin: center center;
  transition: transform 0.3s ease;
  transform: scale(0.8);
  opacity: 0.8;
}
#section-10 .splide__slide {
  opacity: 0.6;
}

#section-09 .splide__slide.is-active,
#section-10 .splide__slide.is-active {
  transform: scale(1);
  opacity: 1;
}

#section-10 .splide__pagination {
  bottom: -24px;
}

#section-09 .splide__pagination__page,
#section-10 .splide__pagination__page {
  width: 16px;
  height: 16px;
  margin: 8px;

  background: rgba(255, 255, 255, 0.6);
  border-radius: 50%;
}

#section-09 .splide__pagination__page.is-active,
#section-10 .splide__pagination__page.is-active {
  background: #fff;
}


#download-form {
  background: #fff;
  padding: 32px 0 64px;
}

.is-safari svg foreignObject * {
  /* ぼかしを完全に無効化 */
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}