/*! destyle.css v3.0.2 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model and set borders */
/* ============================================ */
*,
::before,
::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}

/* Document */
/* ============================================ */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  -webkit-tap-highlight-color: transparent;
  /* 3*/
}

/* Sections */
/* ============================================ */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/* Vertical rhythm */
/* ============================================ */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

/* Headings */
/* ============================================ */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
  margin: 0;
}

/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Lists (definition) */
/* ============================================ */
dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}

/* Grouping content */
/* ============================================ */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: inherit;
  /* 2 */
}

address {
  font-style: inherit;
}

/* Text-level semantics */
/* ============================================ */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
  /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: inherit;
  /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Replaced content */
/* ============================================ */
/**
 * Prevent vertical alignment issues.
 */
svg,
img,
embed,
object,
iframe {
  vertical-align: bottom;
}

/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable.
 * 1. Make form elements stylable across systems iOS especially.
 * 2. Inherit text-transform from parent.
 */
button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none;
  /* 1 */
  -moz-appearance: none;
       appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit;
  /* 2 */
}

/**
 * Reset radio and checkbox appearance to preserve their look in iOS.
 */
[type=checkbox] {
  -webkit-appearance: checkbox;
  -moz-appearance: checkbox;
       appearance: checkbox;
}

[type=radio] {
  -webkit-appearance: radio;
  -moz-appearance: radio;
       appearance: radio;
}

/**
 * Correct cursors for clickable elements.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  cursor: pointer;
}

button:disabled,
[type=button]:disabled,
[type=reset]:disabled,
[type=submit]:disabled {
  cursor: default;
}

/**
 * Improve outlines for Firefox and unify style with input elements & buttons.
 */
:-moz-focusring {
  outline: auto;
}

select:disabled {
  opacity: inherit;
}

/**
 * Remove padding
 */
option {
  padding: 0;
}

/**
 * Reset to invisible
 */
fieldset {
  margin: 0;
  padding: 0;
  min-width: 0;
}

legend {
  padding: 0;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the outline style in Safari.
 */
[type=search] {
  outline-offset: -2px;
  /* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Fix font inheritance.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/**
 * Clickable labels
 */
label[for] {
  cursor: pointer;
}

/* Interactive */
/* ============================================ */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/*
 * Remove outline for editable content.
 */
[contenteditable]:focus {
  outline: auto;
}

/* Tables */
/* ============================================ */
/**
1. Correct table border color inheritance in all Chrome and Safari.
*/
table {
  border-color: inherit;
  /* 1 */
  border-collapse: collapse;
}

caption {
  text-align: left;
}

td,
th {
  vertical-align: top;
  padding: 0;
}

th {
  text-align: left;
  font-weight: bold;
}

img {
  max-width: 100%;
}
@media screen and (max-width: 767px) {
  img {
    width: 100%;
  }
}

.l-container {
  font-size: 1px;
  font-family: "Noto Sans JP", sans-serif;
  color: #333;
  overflow: hidden;
}
@media screen and (max-width: 1366px) {
  .l-container {
    font-size: 0.0732064422vw;
  }
}
@media screen and (max-width: 767px) {
  .l-container {
    font-size: 0.1333333333vw;
  }
}

.l-content {
  position: relative;
}
@media screen and (min-width: 768px) {
  .l-content {
    border-bottom: 2px solid #d8d8d8;
  }
}

.l-inner {
  max-width: 1366px;
  margin-inline: auto;
}

.p-kv {
  font-size: 0.05vw;
  position: relative;
  background: #fbf9fe;
  padding-top: 32em;
  height: 855em;
}
@media screen and (max-width: 767px) {
  .p-kv {
    font-size: 0.1333333333vw;
    padding-top: 41em;
    height: auto;
  }
}
.p-kv_canvas-wrapper {
  opacity: 0;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: 3s;
}
.p-kv_canvas-wrapper.is-on {
  opacity: 1;
}
.p-kv_header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
}
.p-kv_logo {
  width: 147em;
  margin-left: 27em;
}
@media screen and (max-width: 1366px) {
  .p-kv_logo {
    font-size: 0.0732064422vw;
  }
}
@media screen and (max-width: 767px) {
  .p-kv_logo {
    font-size: 0.1333333333vw;
    margin-left: 20em;
  }
}
.p-kv_btn-area {
  display: flex;
  border-radius: 22em 0 0 22em;
  overflow: hidden;
}
@media screen and (max-width: 1366px) {
  .p-kv_btn-area {
    font-size: 0.0732064422vw;
  }
}
@media screen and (max-width: 767px) {
  .p-kv_btn-area {
    font-size: 0.1333333333vw;
    border-radius: 27em 0 0 27em;
  }
}
.p-kv_btn {
  display: flex;
  align-items: center;
  font-size: 15.06em;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .p-kv_btn {
    font-size: 23.32em;
    font-weight: 700;
  }
}
.p-kv_btn:first-child {
  position: relative;
  padding: 0.6640106242em 3.5856573705em 0.6640106242em 3.0544488712em;
  background-color: #923db5;
}
.p-kv_btn:first-child::before {
  position: absolute;
  content: "";
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  height: 100%;
  width: 1px;
  background-color: #fff;
}
.p-kv_btn:first-child img {
  width: 1.1288180611em;
  margin-right: 0.5em;
}
@media screen and (max-width: 767px) {
  .p-kv_btn:first-child {
    padding: 0.3859348199em 1.7152658662em 0.3859348199em 1.2006861063em;
  }
  .p-kv_btn:first-child img {
    width: 1.2006861063em;
    margin-right: 0.3430531732em;
  }
}
.p-kv_btn:last-child {
  padding: 0.6640106242em 3.4528552457em 0.6640106242em 3.1208499336em;
  background-color: #314fab;
}
.p-kv_btn:last-child img {
  width: 1.7264276228em;
  margin-right: 0.5em;
}
@media screen and (max-width: 767px) {
  .p-kv_btn:last-child {
    font-size: 21.97em;
    padding: 0.4096495221em 1.4110150205em 0.4096495221em 1.775147929em;
  }
  .p-kv_btn:last-child img {
    width: 1.6385980883em;
    margin-right: 0.5461993628em;
  }
}
.p-kv_lead {
  position: absolute;
  top: 3.5309695454em;
  left: 1.2358393409em;
  font-size: 67.97em;
  font-weight: 700;
  letter-spacing: 0.075em;
  line-height: 1.397675445;
  color: #000;
  z-index: 1;
}
.p-kv_lead span {
  display: inline-block;
  font-size: 0.4541709578em;
  font-weight: 400;
  letter-spacing: 0;
  margin: 0.9394233884em 0 0 0.2915451895em;
}
@media screen and (max-width: 767px) {
  .p-kv_lead {
    position: relative;
    top: auto;
    left: auto;
    text-align: center;
    margin-top: 0.7356186553em;
  }
  .p-kv_lead span {
    margin: 0.6478781989em 0 0;
  }
}
.p-kv_txt {
  position: absolute;
  bottom: 2.1772151899em;
  left: 4.4556962025em;
  font-size: 19.75em;
  letter-spacing: 0.1em;
  line-height: 1;
  color: #000;
  border: 1px solid #000;
  background-color: #fff;
  padding: 0.3037974684em 0.3544303797em;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-kv_txt {
    bottom: 1.0126582278em;
    left: 1.0126582278em;
  }
}
.p-kv_img {
  position: absolute;
  left: calc(50% + 15em);
  bottom: 0;
  transform: translateX(-50%);
  width: 703.5em;
}
@media screen and (max-width: 767px) {
  .p-kv_img {
    position: static;
    transform: translateX(0);
    width: 702.5em;
    margin-inline: auto;
    margin-top: 18em;
    padding-left: 10em;
    box-sizing: content-box;
  }
}

.p-trial-btn {
  position: absolute;
  right: 60em;
  bottom: 71em;
  width: 240em;
  max-width: 205px;
  z-index: 100;
}
@media screen and (max-width: 2000px) {
  .p-trial-btn {
    font-size: 0.05vw;
  }
}
@media screen and (max-width: 767px) {
  .p-trial-btn {
    font-size: 0.1333333333vw;
    right: 10em;
    bottom: 165em;
    width: 236em;
  }
}
.p-trial-btn .is-on {
  display: none;
}
.p-trial-btn:hover .is-on {
  display: block;
}
.p-trial-btn:hover .is-off {
  display: none;
}
.p-trial-btn.is-fadeIn {
  animation: fadeIn 0.5s forwards;
}
.p-trial-btn.is-fadeOut {
  animation: fadeOut 0.5s forwards;
}
.p-trial-btn.js-trial-btn {
  display: none;
  position: fixed;
  opacity: 0;
}
@media screen and (max-width: 767px) {
  .p-trial-btn.js-trial-btn {
    display: none !important;
  }
}

.p-about {
  background: linear-gradient(90deg, rgb(245, 238, 248) 0%, rgb(249, 248, 250) 77%, rgb(250, 247, 254) 100%);
  padding-bottom: 160em;
}
@media screen and (max-width: 767px) {
  .p-about {
    padding-bottom: 68em;
  }
}
.p-about_heading {
  background: transparent url(../../img/about_heading_bg.png) no-repeat center center/cover;
  text-align: center;
  padding: 85em 0 162em;
}
@media screen and (max-width: 767px) {
  .p-about_heading {
    background: transparent url(../../img/about_heading_bg_sp.png) no-repeat center center/cover;
    padding: 55em 0 118em;
  }
}
.p-about_heading_ttl {
  position: relative;
  display: inline-block;
  font-size: 56em;
  font-weight: 700;
  letter-spacing: 0.075em;
  line-height: 1.4930357143;
  color: #fff;
}
.p-about_heading_ttl span {
  font-size: 1.0389285714em;
}
@media screen and (max-width: 767px) {
  .p-about_heading_ttl {
    font-size: 45.64em;
    line-height: 1.4929886065;
  }
  .p-about_heading_ttl span {
    font-size: 1.0955302366em;
    letter-spacing: 0;
  }
}
.p-about_heading_ttl::before {
  position: absolute;
  content: "";
  left: -1.125em;
  bottom: 0.6607142857em;
  width: 1.0714285714em;
  height: 1px;
  transform: rotate(56deg);
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .p-about_heading_ttl::before {
    left: 0.7230499562em;
    bottom: 1.3584574934em;
    width: 2.9579316389em;
  }
}
.p-about_heading_ttl::after {
  position: absolute;
  content: "";
  right: -1.125em;
  bottom: 0.6607142857em;
  width: 1.0714285714em;
  height: 1px;
  transform: rotate(-56deg);
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .p-about_heading_ttl::after {
    right: 0.7230499562em;
    bottom: 1.3584574934em;
    width: 2.9579316389em;
  }
}
.p-about_heading_lead {
  font-size: 21.56em;
  letter-spacing: 0.075em;
  line-height: 2.0004638219;
  color: #fff;
  margin-top: 2.1799628942em;
}
@media screen and (max-width: 767px) {
  .p-about_heading_lead {
    font-size: 30em;
    line-height: 1.4376666667;
    margin-top: 1.5666666667em;
  }
}
.p-about_contents {
  margin-top: 45em;
}
@media screen and (max-width: 767px) {
  .p-about_contents {
    margin-top: 45em;
  }
}
.p-about_content {
  position: relative;
}
.p-about_content::before {
  position: absolute;
  content: "";
  height: 8em;
}
.p-about_content:first-child::before {
  right: 0;
  bottom: 55em;
  width: calc((100% - 1366em) / 2 + 1000em);
  background: linear-gradient(90deg, rgb(135, 16, 185) 0%, rgb(21, 102, 163) 100%);
}
.p-about_content:first-child .p-about_content_ttl_bg {
  height: 182em;
}
.p-about_content:first-child .p-about_content_ttl {
  width: 315.5em;
  left: calc(50% - 504em);
  top: 27em;
  transform: translateX(-50%);
}
.p-about_content:first-child .p-about_img {
  grid-column: 1/2;
  grid-row: 1/3;
}
.p-about_content:first-child .p-about_list_head {
  grid-column: 2/3;
  grid-row: 1/2;
}
.p-about_content:first-child .p-about_list {
  grid-column: 2/3;
  grid-row: 2/3;
}
.p-about_content:first-child .p-about_list li::before {
  background: transparent url(../../img/check_icon01.png) no-repeat center center/contain;
}
.p-about_content:first-child .p-about_box {
  grid-template-columns: 300em auto;
  grid-template-rows: 50em auto;
  -moz-column-gap: 46em;
       column-gap: 46em;
}
@media screen and (max-width: 767px) {
  .p-about_content:first-child::before {
    right: 0;
    bottom: -71em;
    width: 94%;
  }
  .p-about_content:first-child .p-about_content_ttl_bg {
    height: 182em;
  }
  .p-about_content:first-child .p-about_content_ttl {
    left: calc(50% - 156em);
    top: 24em;
  }
  .p-about_content:first-child .p-about_img {
    grid-column: 1/2;
    grid-row: 1/2;
  }
  .p-about_content:first-child .p-about_list_head {
    grid-column: 2/3;
    grid-row: 1/2;
    padding: 2.825em 0 0 0.675em;
  }
  .p-about_content:first-child .p-about_list {
    grid-column: 1/3;
    grid-row: 2/3;
  }
  .p-about_content:first-child .p-about_box {
    grid-template-rows: auto;
    padding-left: 57em;
    -moz-column-gap: 0;
         column-gap: 0;
  }
}
.p-about_content:last-child {
  margin-top: 57em;
}
.p-about_content:last-child::before {
  left: 0;
  bottom: -92em;
  width: 57%;
  background: linear-gradient(-90deg, rgb(135, 16, 185) 0%, rgb(21, 102, 163) 100%);
}
.p-about_content:last-child .p-about_content_ttl_bg {
  height: 188em;
}
.p-about_content:last-child .p-about_content_ttl_bg img {
  animation: loop 60s linear reverse infinite;
}
.p-about_content:last-child .p-about_content_ttl {
  width: 330em;
  left: calc(50% - 494em);
  top: 40em;
  transform: translateX(-50%);
}
.p-about_content:last-child .p-about_img {
  grid-column: 2/3;
  grid-row: 1/3;
}
.p-about_content:last-child .p-about_list_head {
  grid-column: 1/2;
  grid-row: 1/2;
}
.p-about_content:last-child .p-about_list {
  grid-column: 1/2;
  grid-row: 2/3;
  padding-left: 2.3566378633em;
  margin-top: 1.1783189317em;
}
.p-about_content:last-child .p-about_list li::before {
  background: transparent url(../../img/check_icon02.png) no-repeat center center/contain;
}
.p-about_content:last-child .p-about_box {
  justify-content: center;
  -moz-column-gap: 130em;
       column-gap: 130em;
  margin-top: 20em;
}
@media screen and (max-width: 767px) {
  .p-about_content:last-child {
    margin-top: 77em;
  }
  .p-about_content:last-child::before {
    bottom: -99em;
    width: 94%;
  }
  .p-about_content:last-child .p-about_content_ttl_bg {
    height: 188em;
  }
  .p-about_content:last-child .p-about_content_ttl {
    width: 321.5em;
    left: calc(50% - 163em);
    top: 60em;
    transform: translateX(-50%);
  }
  .p-about_content:last-child .p-about_img {
    grid-column: 2/3;
    grid-row: 1/2;
    padding-left: 38em;
    box-sizing: content-box;
  }
  .p-about_content:last-child .p-about_list_head {
    grid-column: 1/2;
    grid-row: 1/2;
    padding-top: 3.125em;
  }
  .p-about_content:last-child .p-about_list {
    grid-column: 1/3;
    grid-row: 2/3;
    padding-left: 2.5137470542em;
    margin-top: 2.3566378633em;
  }
  .p-about_content:last-child .p-about_box {
    justify-content: flex-start;
    -moz-column-gap: 0;
         column-gap: 0;
    margin-top: -34em;
    padding-left: 44em;
  }
}
.p-about_content_ttl_wrapper {
  position: relative;
}
.p-about_content_ttl_bg {
  display: flex;
  width: 100%;
  overflow: hidden;
}
.p-about_content_ttl_bg img {
  max-width: none;
  width: auto;
  height: 100%;
  animation: loop 60s linear infinite;
}
@keyframes loop {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(-100%);
  }
}
.p-about_content_ttl {
  position: absolute;
}
.p-about_box {
  max-width: 1366px;
  margin-inline: auto;
  display: grid;
  padding: 0 17em;
}
@media screen and (max-width: 767px) {
  .p-about_box {
    display: grid;
  }
}
.p-about_img {
  width: 300em;
  height: 425em;
  border-radius: 15em;
  overflow: hidden;
}
.p-about_list_head {
  font-size: 39.46em;
  font-weight: 700;
  letter-spacing: 0.025em;
  color: #000;
}
@media screen and (max-width: 767px) {
  .p-about_list_head {
    font-size: 40em;
    line-height: 1.5415;
  }
}
.p-about_list {
  font-size: 25.46em;
  letter-spacing: 0.025em;
  padding-left: 2.7494108405em;
  margin-top: 2.3566378633em;
}
@media screen and (max-width: 767px) {
  .p-about_list {
    padding-left: 2.0816967793em;
    margin-top: 1.7282010998em;
  }
}
.p-about_list li {
  position: relative;
}
.p-about_list li::before {
  position: absolute;
  content: "";
  left: -2.3566378633em;
  top: calc(50% + 0.1571091909em);
  transform: translateY(-50%);
  width: 1.7674783975em;
  aspect-ratio: 45/40;
}
.p-about_list li:not(:first-child) {
  margin-top: 1.3747054203em;
}
.p-about_trial {
  text-align: center;
  margin-top: 182em;
}
@media screen and (max-width: 767px) {
  .p-about_trial {
    margin-top: 174em;
  }
}
.p-about_trial_ttl {
  font-size: 52em;
  font-weight: 700;
  line-height: 1.3461538462;
  letter-spacing: 0.075em;
}
.p-about_trial_ttl span {
  font-size: 0.7475em;
}
.p-about_trial_txt {
  font-size: 38.87em;
  letter-spacing: 0.075em;
  margin-top: 1.4921533316em;
}
.p-about_trial_txt span {
  position: relative;
}
.p-about_trial_txt span::before {
  position: absolute;
  content: "";
  top: 50%;
  left: -1.1062516079em;
  transform: rotate(-122deg);
  width: 1.1319783895em;
  height: 1px;
  background-color: #8b1bba;
}
.p-about_trial_txt span::after {
  position: absolute;
  content: "";
  top: 50%;
  right: -1.1062516079em;
  transform: rotate(122deg);
  width: 1.1319783895em;
  height: 1px;
  background-color: #8b1bba;
}
@media screen and (max-width: 767px) {
  .p-about_trial_txt {
    font-size: 35.96em;
    margin-top: 0.723025584em;
  }
}
.p-about_btn-area {
  display: flex;
  justify-content: center;
  -moz-column-gap: 14em;
       column-gap: 14em;
  margin-top: 47em;
}
@media screen and (max-width: 767px) {
  .p-about_btn-area {
    flex-direction: column;
    margin-top: 53em;
    align-items: center;
    row-gap: 32em;
  }
}
.p-about_btn {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 32em;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.025em;
  color: #fff;
  width: 13.96875em;
  height: 2.4375em;
  border-radius: 1.21875em;
  transition: 0.5s;
}
@media screen and (max-width: 767px) {
  .p-about_btn {
    font-size: 41.68em;
    width: 13.9635316699em;
    height: 2.4472168906em;
    border-radius: 1.1996161228em;
    justify-content: flex-start;
    padding-bottom: 0.2399232246em;
  }
}
.p-about_btn:first-child {
  background: linear-gradient(90deg, rgb(131, 20, 178) 0%, rgb(155, 32, 207) 100%);
}
.p-about_btn:first-child svg {
  width: 0.84375em;
  fill: #fff;
  margin-right: 0.35em;
}
@media screen and (max-width: 767px) {
  .p-about_btn:first-child svg {
    width: 0.6477927063em;
    margin: 0.1199616123em 0.2879078695em 0 1.7274472169em;
  }
}
.p-about_btn:first-child:hover {
  background: linear-gradient(90deg, rgb(172, 68, 216) 0%, rgb(176, 89, 213) 100%);
}
.p-about_btn:last-child {
  background: linear-gradient(90deg, rgb(21, 91, 155) 0%, rgb(59, 84, 176) 100%);
}
.p-about_btn:last-child svg {
  width: 0.90625em;
  fill: #fff;
  margin-right: 0.46875em;
}
@media screen and (max-width: 767px) {
  .p-about_btn:last-child svg {
    width: 0.7437619962em;
    margin: 0.2399232246em 0.5518234165em 0 1.8474088292em;
  }
}
.p-about_btn:last-child:hover {
  background: linear-gradient(90deg, rgb(83, 107, 196) 0%, rgb(66, 92, 189) 100%);
}

.p-function {
  position: relative;
  background-color: #fff;
  padding: 114em 0 160em;
}
@media screen and (max-width: 767px) {
  .p-function {
    padding: 66em 0 64em;
  }
}
.p-function::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: transparent url(../../img/function_bg.png) no-repeat left top/100% auto;
}
@media screen and (max-width: 767px) {
  .p-function::before {
    background: transparent url(../../img/function_bg_sp.png) no-repeat left top/contain;
  }
}
.p-function .l-inner {
  position: relative;
  z-index: 5;
  padding: 0 17em;
}
.p-function_ttl {
  width: 255.5em;
}
@media screen and (max-width: 767px) {
  .p-function_ttl {
    width: 270em;
    padding-left: 36em;
    box-sizing: content-box;
  }
}
.p-function_lead {
  font-size: 52em;
  font-weight: 700;
  line-height: 1.3057692308;
  letter-spacing: 0.075em;
  text-align: center;
  margin-top: 0.1346153846em;
}
@media screen and (max-width: 767px) {
  .p-function_lead {
    letter-spacing: 0;
    line-height: 1.2307692308;
    margin-top: 0.9230769231em;
  }
}
.p-function_img-01 {
  width: 1350.5em;
  margin-inline: auto;
  margin-top: 67em;
}
@media screen and (max-width: 767px) {
  .p-function_img-01 {
    width: 676em;
    margin-top: 90em;
  }
}
.p-function_img-02 {
  box-sizing: content-box;
  width: 1266em;
  margin-inline: auto;
  margin-top: 43em;
  padding-left: 47em;
}
@media screen and (max-width: 767px) {
  .p-function_img-02 {
    width: 640em;
    margin-top: 56em;
    padding-left: 0;
  }
}
.p-function_txt {
  font-size: 52em;
  font-weight: 700;
  line-height: 1.3057692308;
  letter-spacing: 0.075em;
  text-align: center;
  margin-top: 1.9230769231em;
}
.p-function_txt span {
  position: relative;
}
.p-function_txt span::before {
  position: absolute;
  content: "";
  bottom: 0.3846153846em;
  left: 3.5576923077em;
  transform: rotate(-132deg);
  width: 1.25em;
  height: 1px;
  background-color: #8b1bba;
}
.p-function_txt span::after {
  position: absolute;
  content: "";
  bottom: 0.3846153846em;
  right: 3.8461538462em;
  transform: rotate(132deg);
  width: 1.25em;
  height: 1px;
  background-color: #8b1bba;
}
@media screen and (max-width: 767px) {
  .p-function_txt {
    letter-spacing: 0;
    margin-top: 1.1346153846em;
  }
  .p-function_txt span::before {
    bottom: 0.5384615385em;
    left: -0.0384615385em;
  }
  .p-function_txt span::after {
    bottom: 0.5384615385em;
    right: 0.0769230769em;
  }
}
.p-function_swiper {
  padding: 0 16em;
  margin-top: 124em;
}
@media screen and (max-width: 767px) {
  .p-function_swiper {
    margin-top: 57em;
  }
}
.p-function_swiper_heading {
  font-size: 52em;
  font-weight: 700;
  line-height: 1.3057692308;
  letter-spacing: 0.075em;
  text-align: center;
}
.p-function_swiper_heading span {
  font-size: 0.8076923077em;
}
@media screen and (max-width: 767px) {
  .p-function_swiper_heading {
    line-height: 1.0192307692;
  }
}
.p-function_swiper_img {
  width: 475em;
  aspect-ratio: 475/325;
  border-radius: 17em;
  overflow: hidden;
}
.p-function_swiper .swiper-wrapper {
  transition-timing-function: linear !important;
}
.p-function_swiper .swiper-slide {
  position: relative;
}
.p-function_swiper_txt {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  left: 50%;
  bottom: 50%;
  transform: translate(-50%, 50%);
  width: 100%;
  height: 100%;
  background: rgba(51, 51, 51, 0.55);
  border-radius: 0.6060606061em;
  font-size: 33em;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.075em;
  color: #fff;
}
.p-function_swiper .swiper {
  margin-top: 64em;
  max-width: calc(950em + 24px);
  overflow: visible;
}
@media screen and (max-width: 767px) {
  .p-function_swiper .swiper {
    max-width: 475em;
  }
}
.p-function_swiper .swiper-pagination {
  display: flex;
  justify-content: center;
  -moz-column-gap: 33em;
       column-gap: 33em;
  margin-top: 75em;
}
@media screen and (max-width: 767px) {
  .p-function_swiper .swiper-pagination {
    margin-top: 50em;
  }
}
.p-function_swiper .swiper-pagination-bullet {
  display: block;
  width: 17em;
  aspect-ratio: 1/1;
  border-radius: 50%;
  border: 1px solid #8b1bba;
  cursor: pointer;
  transition: 0.5s;
}
.p-function_swiper .swiper-pagination-bullet:hover {
  opacity: 0.6;
}
@media screen and (max-width: 767px) {
  .p-function_swiper .swiper-pagination-bullet {
    width: 17em;
    height: 17em;
  }
}
.p-function_swiper .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background-color: #8b1bba;
  cursor: auto;
}
.p-function_swiper .swiper-pagination-bullet.swiper-pagination-bullet-active:hover {
  opacity: 1;
}

.p-free-trial {
  background: linear-gradient(90deg, rgb(200, 200, 239) 0%, rgb(237, 236, 249) 45%, rgb(198, 183, 243) 100%);
  padding: 110em 0 150em;
}
@media screen and (max-width: 767px) {
  .p-free-trial {
    padding: 90em 0 105em;
  }
}
.p-free-trial_ttl {
  font-size: 60.5em;
  font-weight: 700;
  line-height: 1;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-free-trial_ttl {
    font-size: 55em;
  }
}
.p-free-trial_txt {
  font-size: 24em;
  line-height: 1.4970833333;
  letter-spacing: 0.025em;
  text-align: center;
  margin-top: 1.6666666667em;
}
@media screen and (max-width: 767px) {
  .p-free-trial_txt {
    font-size: 30em;
    line-height: 1.4333333333;
    margin-top: 1.5333333333em;
  }
}
.p-free-trial_img {
  width: 1061.5em;
  margin-inline: auto;
  margin-top: 70em;
}
@media screen and (max-width: 767px) {
  .p-free-trial_img {
    width: 601em;
    margin-top: 48em;
  }
}

.p-contact {
  background: linear-gradient(90deg, rgb(135, 16, 185) 0%, rgb(21, 102, 163) 100%);
  padding: 124em 40em 130em;
}
@media screen and (max-width: 767px) {
  .p-contact {
    padding: 88em 50em 110em;
  }
}
.p-contact_ttl {
  font-size: 48.38em;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.075em;
  text-align: center;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .p-contact_ttl {
    line-height: 1.1575031005;
  }
}
.p-contact_txt {
  font-size: 22em;
  line-height: 1.5909090909;
  letter-spacing: 0.075em;
  text-align: center;
  color: #fff;
  margin-top: 2.7272727273em;
}
@media screen and (max-width: 767px) {
  .p-contact_txt {
    font-size: 30em;
    line-height: 1.4333333333;
    margin-top: 2.2em;
  }
}
.p-contact_form {
  overflow: hidden;
  width: 100%;
  text-align: center;
  background-color: #fff;
  border-radius: 36em;
  margin-top: 75em;
}
.p-contact_form iframe {
  width: 100%;
  height: 1210px;
  max-width: 960px;
}
@media screen and (max-width: 815px) {
  .p-contact_form iframe {
    height: 1450px;
  }
}
@media screen and (max-width: 767px) {
  .p-contact_form {
    margin-top: 50em;
  }
}

.p-footer {
  background-color: #053967;
  padding-bottom: 40em;
}
.p-footer_links {
  max-width: 1366px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-inline: auto;
  padding: 82em 3em 60em;
}
@media screen and (max-width: 767px) {
  .p-footer_links {
    flex-direction: column;
    row-gap: 27em;
    padding: 47em 3em 55em;
  }
}
.p-footer_logo {
  width: 436em;
}
@media screen and (max-width: 767px) {
  .p-footer_logo {
    width: 340em;
  }
}
.p-footer_btn-area {
  display: flex;
  width: 776em;
  height: 176em;
  border: 1px solid #fff;
  border-radius: 22em;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-footer_btn-area {
    width: 645em;
    height: 145em;
  }
}
.p-footer_btn {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  row-gap: 0.5em;
  font-size: 30em;
  line-height: 1;
  letter-spacing: 0.075em;
  color: #fff;
  width: 50%;
  padding-bottom: 0.3333333333em;
  transition: 0.5s;
}
.p-footer_btn:first-child {
  border-right: 1px dashed #fff;
}
.p-footer_btn:first-child svg {
  width: 1.0333333333em;
  fill: #fff;
}
.p-footer_btn:last-child svg {
  width: 1.1em;
  fill: #fff;
}
.p-footer_btn:hover {
  color: #053967;
  background-color: #fff;
}
.p-footer_btn:hover svg {
  fill: #053967;
}
.p-footer_icons {
  width: 100%;
  height: 216em;
  background-color: #f3f3f3;
}
@media screen and (max-width: 1520px) {
  .p-footer_icons {
    font-size: 0.0657894737vw;
  }
}
@media screen and (max-width: 767px) {
  .p-footer_icons {
    font-size: 0.1333333333vw;
    height: auto;
    padding-bottom: 48em;
  }
}
.p-footer .p-icons_inner {
  display: flex;
  align-items: center;
  -moz-column-gap: 50em;
       column-gap: 50em;
  max-width: 1520px;
  height: 100%;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-footer .p-icons_inner {
    flex-direction: column;
    align-items: flex-start;
    padding: 0 30em;
  }
}
.p-footer .p-icon {
  display: flex;
  align-items: center;
  -moz-column-gap: 15em;
       column-gap: 15em;
}
@media screen and (max-width: 767px) {
  .p-footer .p-icon {
    width: 100%;
    -moz-column-gap: 24em;
         column-gap: 24em;
    padding: 70em 0 40em 20em;
  }
  .p-footer .p-icon:not(:last-child) {
    border-bottom: 2px solid #dedede;
  }
}
.p-footer .p-icon_txt {
  font-size: 14em;
  font-weight: 500;
  line-height: 1.7142857143;
  letter-spacing: -0.025em;
}
@media screen and (max-width: 767px) {
  .p-footer .p-icon_txt {
    font-size: 26.9em;
    line-height: 1.7141263941;
  }
}
.p-footer .p-icon:nth-child(1) .p-icon_img {
  width: 72em;
}
@media screen and (max-width: 767px) {
  .p-footer .p-icon:nth-child(1) .p-icon_img {
    width: 138em;
  }
}
.p-footer .p-icon:nth-child(2) .p-icon_img {
  width: 124em;
}
@media screen and (max-width: 767px) {
  .p-footer .p-icon:nth-child(2) .p-icon_img {
    width: 238em;
  }
}
.p-footer .p-icon:nth-child(3) .p-icon_img {
  width: 71em;
}
@media screen and (max-width: 767px) {
  .p-footer .p-icon:nth-child(3) .p-icon_img {
    width: 136em;
  }
}
.p-footer .p-icon:nth-child(4) .p-icon_img {
  width: 251em;
}
@media screen and (max-width: 767px) {
  .p-footer .p-icon:nth-child(4) .p-icon_img {
    width: 335em;
  }
}
.p-footer .p-icon:nth-child(5) .p-icon_img {
  width: 241em;
}
@media screen and (max-width: 767px) {
  .p-footer .p-icon:nth-child(5) .p-icon_img {
    width: 342em;
  }
}
.p-footer_nav {
  display: flex;
  justify-content: center;
  align-items: center;
  -moz-column-gap: 35em;
       column-gap: 35em;
  padding: 60em 0 55em;
}
@media screen and (max-width: 767px) {
  .p-footer_nav {
    flex-wrap: wrap;
    row-gap: 16em;
    padding: 48em 0 78em;
  }
}
.p-footer_nav a {
  font-size: 20em;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.075em;
  color: #fff;
}
.p-footer_copy {
  font-size: 20em;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.075em;
  text-align: center;
  color: #fff;
}

.p-bnr {
  display: flex;
  align-items: center;
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%;
  z-index: 100;
  transform: translateY(105%);
  transition: transform 0.5s;
}
@media screen and (min-width: 768px) {
  .p-bnr {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .u-for--pc {
    display: none !important;
  }
}
@media screen and (min-width: 768px) {
  .u-for--sp {
    display: none !important;
  }
}

.u-txt-01 {
  display: inline-block;
  background: linear-gradient(90deg, rgb(135, 16, 185) 0%, rgb(21, 102, 163) 100%);
  color: transparent;
  -webkit-background-clip: text;
}
.u-txt-02 {
  display: inline-block;
  background: linear-gradient(-90deg, rgb(135, 16, 185) 0%, rgb(21, 102, 163) 100%);
  color: transparent;
  -webkit-background-clip: text;
}

.u-btn-hover {
  transition: 0.5s;
}
.u-btn-hover:hover {
  opacity: 0.6;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    display: none;
  }
}/*# sourceMappingURL=style.css.map */