@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400&family=Noto+Sans+JP:wght@400;500;700;800&display=swap");
@import url(/common/css/reset.css);
@import url(/common/css/style.v3.css?20220510);
@import url(/common/css/header.v2.css?20230718);
@import url(/bs/lp/common/css/layout.css);
@import url(/common/css/footer.css?20221031);
@import url(/common/css/layout.v2.css?20221219);
@import url(/common/css/smph/layout.v2.css?20220106);
:root {
  --pi-color-primary: #0150e4;
  --pi-color-primary-end: #00cfff;
  --pi-color-accent: #016cf1;
  --pi-color-navy: #003e8e;
  --pi-color-blue600: #005cb8;
  --pi-color-text: #1e2430;
  --pi-color-text-secondary: #4a5568;
  --pi-color-text-disabled: #9ba3b0;
  --pi-color-text-hero: #34445a;
  --pi-color-strong-hero: #053394;
  --pi-color-border: #cdd2e0;
  --pi-color-tag-bg: #536b8d;
  --pi-color-bg: #f4f6fa;
  --pi-color-bg-accent: #e8f0fc;
  --pi-color-gray100: #eef1f8;
  --pi-color-fc-bg: #e8f8f5;
  --pi-color-mf-bg: #fff3ea;
  --pi-color-ff-bg: #fffce9;
  --pi-gradient: linear-gradient(to right, #0150e4, #00cfff);
  --pi-shadow-sm: 0 1px 3px rgba(0, 62, 142, 0.08);
}

body {
  overflow-x: hidden;
}

@media screen and (min-width: 769px) {
  #wrapper {
    padding-top: 114px;
  }
}

#contents {
  color: var(--pi-color-text);
  background: #fff;
}

#contents section.pi-sec:after,
#contents section.pi-hero:after {
  content: none;
}

#main {
  max-width: 1220px;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (min-width: 1010px) {
  #main {
    padding: 0 10px;
  }
}
#main {
  font-size: 16px;
  font-family: "Noto Sans JP", "メイリオ", Meiryo, sans-serif;
}
#main p, #main h1, #main h2, #main h3, #main h4, #main ul, #main ol, #main dl, #main dd, #main figure {
  margin: 0;
}
#main figure {
  display: block;
}

@media screen and (min-width: 0) and (max-width: 768px) {
  body img {
    width: auto;
  }
}
a {
  transition: 0.3s;
  word-wrap: break-word;
}

* {
  box-sizing: border-box;
  word-break: break-word;
}

.pi-header,
#main,
.pi-footer {
  text-spacing-trim: space-all;
}

.width-full {
  width: 100vw;
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
}

@media screen and (min-width: 769px) {
  .pi-sp {
    display: none !important;
  }
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-pc {
    display: none !important;
  }
}
.pi-arrow {
  transform: scaleX(-1);
}

@media screen and (min-width: 769px) {
  [id] {
    scroll-margin-top: 114px;
  }
}

.pi-header {
  background: #fff;
  font-family: "Noto Sans JP", sans-serif;
}
@media screen and (min-width: 769px) {
  .pi-header {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 90;
    width: 100%;
    border-bottom: 3px solid var(--pi-color-blue600);
  }
}

.pi-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 111px;
  padding: 16px 48px;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-header__inner {
    height: 72px;
    padding: 0 20px;
  }
}

.pi-header__logo {
  margin: 0;
  line-height: 0;
}
.pi-header__logo img {
  width: 200px;
  height: 50px;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-header__logo img {
    width: 120px;
    height: 30px;
  }
}

a.pi-header__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 148px;
  padding: 12px 16px;
  border-radius: 100px;
  background: var(--pi-gradient);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  text-decoration: none;
  text-shadow: 0 0 4px rgba(2, 109, 241, 0.3);
}
a.pi-header__btn:hover {
  opacity: 0.85;
  color: #fff;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  a.pi-header__btn {
    width: auto;
    padding: 12px;
    font-size: 10px;
  }
}

.pi-sec {
  padding: 64px 0;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-sec {
    padding: 48px 0;
  }
}

.pi-sec--white {
  background: #fff;
}

.pi-sec--gray {
  background: var(--pi-color-bg);
}

.pi-sec--grad {
  background: var(--pi-gradient);
}

@media screen and (min-width: 769px) {
  .pi-sec--wide {
    padding: 96px 0;
  }
}

@media screen and (min-width: 769px) {
  .pi-sec--faq {
    padding-bottom: 96px;
  }
}

.pi-inner {
  display: flex;
  flex-direction: column;
  gap: 48px;
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 20px;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-inner {
    gap: 24px;
  }
}

.pi-head {
  text-align: center;
}

.pi-head__en {
  color: var(--pi-color-accent);
  font-family: "Montserrat", "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: 20px;
  line-height: 33.6px;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-head__en {
    font-weight: 400;
    font-size: 14px;
    line-height: 1.4;
  }
}

.pi-head__title {
  margin-top: 8px !important;
  color: var(--pi-color-text);
  font-weight: 700;
  font-size: 34px;
  line-height: 1.4;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-head__title {
    font-size: 24px;
  }
}

.pi-head__desc {
  margin-top: 28.8px;
  color: var(--pi-color-text);
  font-size: 16px;
  line-height: 1.6;
  text-align: left;
}
.pi-head__desc strong {
  color: var(--pi-color-navy);
  font-weight: 700;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-head__desc {
    margin-top: 8px;
    color: var(--pi-color-text-secondary);
    font-size: 14px;
    line-height: 1.8;
  }
}

@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-head__desc--inline-sp p {
    display: inline;
  }
}

@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-head__desc--plain-sp strong {
    color: inherit;
    font-weight: 400;
  }
}

.pi-head--white .pi-head__en,
.pi-head--white .pi-head__title,
.pi-head--white .pi-head__desc {
  color: #fff;
}
.pi-head--white .pi-head__en {
  font-weight: 400;
  line-height: 1.4;
}
.pi-head--white .pi-head__desc {
  margin-top: 34.4px;
  text-align: center;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-head--white .pi-head__desc {
    margin-top: 8px;
  }
}

.pi-h3,
.pi-h3__title {
  color: var(--pi-color-text);
  font-weight: 700;
  font-size: 24px;
  line-height: 1.4;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-h3,
  .pi-h3__title {
    font-size: 16px;
  }
}

.pi-h3 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
}
.pi-h3::after {
  content: "";
  display: block;
  width: 32px;
  height: 4px;
  border-radius: 999px;
  background: var(--pi-gradient);
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-h3 {
    gap: 8px;
  }
  .pi-h3::after {
    width: 14px;
    height: 1px;
    background: var(--pi-color-accent);
  }
}

.pi-h3__sub {
  color: var(--pi-color-text);
  font-weight: 400;
  font-size: 16px;
  line-height: 1.4;
}

@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-h3--sub .pi-h3__title {
    order: 1;
  }
  .pi-h3--sub::after {
    order: 2;
  }
  .pi-h3--sub .pi-h3__sub {
    order: 3;
    color: var(--pi-color-text-secondary);
    font-size: 12px;
    line-height: 1.6;
  }
}

.pi-h3--desc .pi-h3__title {
  order: 1;
}
.pi-h3--desc::after {
  order: 2;
}
.pi-h3--desc .pi-h3__sub {
  order: 3;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-h3--desc .pi-h3__sub {
    margin-top: 4px !important;
    color: var(--pi-color-text-secondary);
    font-size: 14px;
    line-height: 1.6;
  }
}

.pi-note {
  display: flex;
  align-items: flex-start;
  gap: 4px;
  color: var(--pi-color-text-secondary);
  font-size: 12px;
  line-height: 1.6;
}
.pi-note span:first-child {
  flex-shrink: 0;
}

.pi-note--white {
  color: #fff;
}

a.pi-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  height: 76px;
  padding: 0 64px;
  border-radius: 100px;
  background: var(--pi-gradient);
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
}
a.pi-btn span {
  padding-left: 16px;
}
a.pi-btn img {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}
a.pi-btn:hover {
  opacity: 0.85;
  color: #fff;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  a.pi-btn {
    height: 56px;
    padding: 0 16px;
    font-size: 16px;
  }
  a.pi-btn span {
    padding-left: 12px;
  }
  a.pi-btn img {
    width: 20px;
    height: 20px;
  }
}

a.pi-btn--outline {
  border: 1px solid var(--pi-color-accent);
  background: #fff;
  color: var(--pi-color-accent);
}
a.pi-btn--outline:hover {
  color: var(--pi-color-accent);
}

.pi-center {
  display: flex;
  justify-content: center;
}

a.pi-btn--auto {
  display: inline-flex;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  a.pi-btn--auto {
    width: 300px;
  }
}

a.pi-anchor {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 80px;
  padding: 0 16px;
  white-space: nowrap;
  border: 1px solid var(--pi-color-accent);
  border-radius: 16px;
  color: var(--pi-color-accent);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  text-decoration: none;
}
a.pi-anchor img {
  position: absolute;
  top: 27px;
  right: 15px;
  width: 24px;
  height: 24px;
}
a.pi-anchor:hover {
  opacity: 0.7;
  color: var(--pi-color-accent);
}
@media screen and (min-width: 0) and (max-width: 768px) {
  a.pi-anchor {
    gap: 4px;
    height: auto;
    padding: 18px 24px;
    border-radius: 12px;
    font-size: 13px;
    white-space: normal;
  }
  a.pi-anchor span {
    flex: 1 1 0;
  }
  a.pi-anchor img {
    position: static;
    width: 16px;
    height: 16px;
    flex-shrink: 0;
  }
}

a.pi-anchor--wide {
  align-self: center;
  max-width: 588px;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  a.pi-anchor--wide {
    max-width: none;
  }
}

a.pi-link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: var(--pi-color-accent);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
  text-decoration: none;
}
a.pi-link img {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}
a.pi-link:hover {
  opacity: 0.7;
  color: var(--pi-color-accent);
}
@media screen and (min-width: 0) and (max-width: 768px) {
  a.pi-link {
    font-size: 14px;
  }
  a.pi-link img {
    width: 20px;
    height: 20px;
  }
}

.pi-links {
  display: flex;
  flex-wrap: wrap;
  -moz-column-gap: 64px;
       column-gap: 64px;
  row-gap: 8px;
  padding: 0 0 8px;
  list-style: none;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-links {
    flex-direction: column;
    gap: 16px;
    padding: 0;
  }
}

.pi-links--white a.pi-link {
  color: #fff;
}
.pi-links--white a.pi-link:hover {
  color: #fff;
}

.pi-tag {
  display: inline-block;
  align-self: flex-start;
  padding: 2px 12px 3px;
  border-radius: 4px;
  background: var(--pi-color-tag-bg);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-tag {
    padding: 2px 12px;
    font-size: 12px;
  }
}

.pi-logo {
  position: relative;
  flex-shrink: 0;
  line-height: 0;
}
.pi-logo img {
  position: absolute;
  display: block;
  max-width: none;
}

.pi-logo--fc {
  width: 276.685px;
  height: 37.62px;
}
.pi-logo--fc .pi-logo__main {
  top: 0;
  left: 0;
  width: 97.07%;
  height: 100%;
}
.pi-logo--fc .pi-logo__r {
  top: 82.67%;
  left: 97.94%;
  width: 2.06%;
  height: 15.17%;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-logo--fc {
    width: 207.514px;
    height: 28.215px;
  }
}

.pi-logo--mf {
  width: 211px;
  height: 35px;
}
.pi-logo--mf .pi-logo__main {
  top: 2.86%;
  left: 0;
  width: 96.02%;
  height: 97.03%;
}
.pi-logo--mf .pi-logo__r {
  top: 84.17%;
  left: 97.1%;
  width: 2.56%;
  height: 15.44%;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-logo--mf {
    width: 167.25px;
    height: 27.743px;
  }
}

.pi-logo--ff {
  width: 209.263px;
  height: 36.72px;
  margin: 0.54px 0 !important;
}
.pi-logo--ff .pi-logo__main {
  top: 0;
  left: 0;
  width: 96.12%;
  height: 100%;
}
.pi-logo--ff .pi-logo__r {
  top: 84.23%;
  left: 97.27%;
  width: 2.73%;
  height: 15.54%;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-logo--ff {
    width: 188.336px;
    height: 33.048px;
    margin: 0.49px 0 !important;
  }
}

.pi-hero {
  position: relative;
  overflow: hidden;
  background: #fff;
}

.pi-hero__inner {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  max-width: 1240px;
  min-height: 695px;
  margin: 0 auto;
  padding: 48px 20px 34px;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-hero__inner {
    gap: 8px;
    min-height: 0;
    padding: 24px 20px;
  }
}

.pi-hero__text {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 477px;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-hero__text {
    gap: 8px;
    width: 100%;
  }
}

.pi-hero__title {
  font-weight: 800;
  font-size: 56px;
  line-height: 1.4;
  letter-spacing: 0.56px;
  white-space: nowrap;
}
.pi-hero__title span {
  display: inline-block;
  background: var(--pi-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-hero__title {
    font-size: 36px;
    letter-spacing: 0.36px;
  }
}

.pi-hero__sub {
  color: var(--pi-color-text);
  font-weight: 500;
  font-size: 22px;
  line-height: 1.4;
  letter-spacing: 0.22px;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-hero__sub {
    font-size: 20px;
    letter-spacing: 0;
  }
}

.pi-hero__visual {
  position: absolute;
  top: 41px;
  left: calc(50% - 107px);
  width: 852px;
  height: 654px;
  overflow: hidden;
}
.pi-hero__visual img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 50% 100%;
     object-position: 50% 100%;
}
@media screen and (min-width: 769px) and (max-width: 1199px) {
  .pi-hero__visual {
    left: auto;
    right: -40px;
    width: 62vw;
    height: auto;
    aspect-ratio: 852/654;
  }
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-hero__visual {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    height: auto;
    aspect-ratio: 356/190;
  }
  .pi-hero__visual img {
    position: absolute;
    inset: 0;
    width: 100%;
    -o-object-position: 50% 19%;
       object-position: 50% 19%;
  }
}

.pi-hero__body {
  width: 505px;
  margin-top: 16px;
  color: var(--pi-color-text-hero);
  font-size: 14px;
  line-height: 1.6;
}
.pi-hero__body strong {
  color: var(--pi-color-strong-hero);
  font-weight: 700;
}
@media screen and (min-width: 769px) and (max-width: 1199px) {
  .pi-hero__body {
    width: 45vw;
  }
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-hero__body {
    width: 100%;
    margin-top: 0;
  }
}

.pi-hero__cta {
  display: flex;
  flex-direction: column;
  gap: 24px;
  width: 412px;
  margin-top: 32px;
}
.pi-hero__cta a.pi-btn {
  width: 100%;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-hero__cta {
    align-items: center;
    gap: 12px;
    width: 100%;
    margin-top: 16px;
  }
  .pi-hero__cta a.pi-btn {
    width: 300px;
  }
  .pi-hero__cta .pi-note {
    width: 100%;
  }
}

@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-overview .pi-inner {
    gap: 32px;
  }
}

.pi-overview__title {
  color: #fff;
  font-weight: 700;
  font-size: 34px;
  line-height: 1.4;
  text-align: center;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-overview__title {
    font-size: 24px;
  }
}

.pi-overview__list {
  display: flex;
  justify-content: center;
  gap: 32px;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-overview__list {
    flex-direction: column;
    gap: 16px;
  }
}

.pi-overview__card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  flex: 1 1 0;
  max-width: 378px;
  padding: 32px;
  border-radius: 24px;
  background: #fff;
  box-shadow: var(--pi-shadow-sm);
}
.pi-overview__card a.pi-anchor {
  margin-top: 8px;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-overview__card {
    gap: 12px;
    max-width: none;
    padding: 24px;
    border-radius: 16px;
  }
  .pi-overview__card a.pi-anchor {
    margin-top: 4px;
  }
}

.pi-overview__label {
  color: var(--pi-color-blue600);
  font-weight: 500;
  font-size: 14px;
  line-height: 1.4;
  text-align: center;
}

.pi-overview__text {
  color: var(--pi-color-text);
  font-weight: 500;
  font-size: 16px;
  line-height: 1.6;
  text-align: center;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-overview__text {
    font-size: 14px;
  }
}

.pi-te {
  display: grid;
  grid-template-columns: 20% 25% 13.417% 25% 1fr;
  grid-template-areas: "t t t t t" "d d d d d" ". b . a .";
  row-gap: 8px;
  padding: 32px 0 36px;
  border-radius: 24px;
  background: var(--pi-color-bg);
  box-shadow: var(--pi-shadow-sm);
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-te {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
    padding: 24px 24px 40px;
    border-radius: 16px;
  }
}

.pi-te__title {
  grid-area: t;
  color: var(--pi-color-text);
  font-weight: 500;
  font-size: 20px;
  line-height: 1.4;
  letter-spacing: 0.2px;
  text-align: center;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-te__title {
    padding: 16px 20px;
    font-size: 16px;
    letter-spacing: 0;
  }
}

.pi-te__diagram {
  grid-area: d;
  justify-self: center;
  line-height: 0;
}
.pi-te__diagram img {
  display: block;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-te__diagram {
    margin-top: 12px !important;
  }
  .pi-te__diagram img {
    width: 222px;
    height: 269px;
  }
}

.pi-te__step {
  color: var(--pi-color-text);
  font-size: 18px;
  line-height: 1.6;
  text-align: center;
  white-space: nowrap;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-te__step {
    font-size: 14px;
  }
}

.pi-te__step--before {
  grid-area: b;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-te__step--before {
    margin-top: 8px !important;
  }
}

.pi-te__step--after {
  grid-area: a;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-te__step--after {
    margin-top: 12px !important;
  }
}

.pi-compare {
  overflow: hidden;
  border-radius: 12px;
  background: #fff;
  box-shadow: var(--pi-shadow-sm);
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-compare {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 24px 24px 0;
    border-radius: 16px;
  }
}

.pi-compare__row {
  position: relative;
  display: flex;
  align-items: flex-start;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-compare__row {
    flex-direction: column;
    gap: 12px;
  }
}

.pi-compare__row--before {
  padding: 32px 32px 8px;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-compare__row--before {
    padding: 0;
  }
}

.pi-compare__row--after {
  padding: 8px 32px;
}
.pi-compare__row--after::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: calc(100% - 100px);
  height: 1px;
  background: var(--pi-color-border);
  transform: translateX(-50%);
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-compare__row--after {
    padding: 0;
  }
  .pi-compare__row--after::before {
    position: static;
    width: 100%;
    margin-bottom: 4px;
    transform: none;
  }
}

.pi-compare__label {
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 0 0 480px;
  padding: 20px;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-compare__label {
    flex: none;
    gap: 12px;
    width: 100%;
    padding: 0;
  }
}

.pi-compare__tag {
  display: flex;
  align-items: flex-end;
  gap: 8px;
  font-weight: 700;
}

.pi-compare__en {
  color: var(--pi-color-text-disabled);
  font-size: 30px;
  line-height: 1.4;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-compare__en {
    font-size: 28px;
  }
}
.pi-compare__row--after .pi-compare__en {
  color: var(--pi-color-accent);
}

.pi-compare__sub {
  color: var(--pi-color-text-secondary);
  font-size: 12px;
  line-height: 1.6;
}

.pi-compare__title {
  color: var(--pi-color-text);
  font-weight: 700;
  font-size: 20px;
  line-height: 1.6;
}
.pi-compare__row--after .pi-compare__title {
  color: var(--pi-color-accent);
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-compare__title {
    font-size: 16px;
  }
}

.pi-compare__text {
  color: var(--pi-color-text);
  font-size: 16px;
  line-height: 1.6;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-compare__text {
    color: var(--pi-color-text-secondary);
    font-weight: 500;
    font-size: 14px;
  }
}

.pi-compare__steps {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  flex: 1 1 0;
  height: 200px;
  padding: 0;
  list-style: none;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-compare__steps {
    flex-direction: column;
    flex: none;
    width: 100%;
    height: auto;
  }
}

.pi-compare__step {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  flex-shrink: 0;
  width: 160px;
  height: 160px;
  padding: 16px;
  border: 1px solid var(--pi-color-border);
  border-radius: 10px;
  background: #fff;
  text-align: center;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-compare__step {
    width: 100%;
    height: auto;
    padding: 11px 12px;
    border-radius: 8px;
  }
}

.pi-compare__step--green {
  border: 1.4px solid #00a08c;
}

.pi-compare__step--navy {
  border: 1.4px solid var(--pi-color-navy);
}

.pi-compare__step--yellow {
  border: 1.4px solid #f8b622;
}

.pi-compare__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 6px;
  background: var(--pi-color-gray100);
}
.pi-compare__icon img {
  width: 24px;
  height: 24px;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-compare__icon {
    width: 32px;
    height: 32px;
  }
}

.pi-compare__icon--orange {
  background: var(--pi-color-mf-bg);
}

.pi-compare__step-title {
  color: var(--pi-color-text);
  font-weight: 700;
  font-size: 14px;
  line-height: 1.6;
}

.pi-compare__step-sub {
  color: var(--pi-color-text-secondary);
  font-weight: 500;
  font-size: 12px;
  line-height: 1.6;
  white-space: nowrap;
}

.pi-compare__arrow {
  display: flex;
  align-items: center;
}
.pi-compare__arrow img {
  width: 20px;
  height: 20px;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-compare__arrow img {
    transform: rotate(90deg);
  }
}

.pi-compare__note {
  padding: 20px 20px 20px 52px;
}
.pi-compare__note span:last-child {
  font-size: 14px;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-compare__note {
    padding: 0;
    margin: 0 -12px !important;
  }
  .pi-compare__note span:last-child {
    font-size: 12px;
  }
}

.pi-compare__summary {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 32px 52px;
  background: var(--pi-gradient);
  color: #fff;
  line-height: 1.6;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-compare__summary {
    margin: 0 -24px;
    padding: 24px;
  }
}

.pi-compare__summary-title {
  font-weight: 700;
  font-size: 20px;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-compare__summary-title {
    font-size: 16px;
  }
}

.pi-compare__summary-text {
  font-weight: 500;
  font-size: 16px;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-compare__summary-text {
    font-size: 14px;
  }
}

.pi-block {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-block {
    gap: 12px;
  }
}

.pi-block__body {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-block__body {
    gap: 12px;
  }
}

.pi-block__body--gap8 {
  gap: 8px;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-block__body--gap8 {
    gap: 16px;
  }
}

.pi-block__title {
  color: var(--pi-color-text);
  font-weight: 700;
  font-size: 24px;
  line-height: 1.4;
  letter-spacing: 0.24px;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-block__title {
    font-size: 16px;
    letter-spacing: 0;
  }
}

.pi-block__text {
  color: var(--pi-color-text);
  font-size: 16px;
  line-height: 1.6;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-block__text {
    color: var(--pi-color-text-secondary);
    font-size: 14px;
    line-height: 1.8;
  }
}

.pi-block--white .pi-h3 {
  color: #fff;
}
.pi-block--white .pi-h3::after {
  background: #fff;
}
.pi-block--white .pi-note {
  color: #fff;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-block--white {
    gap: 24px;
  }
}

.pi-flow {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 68px 40px 41px;
  border-radius: 24px;
  background: var(--pi-color-bg);
  box-shadow: var(--pi-shadow-sm);
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-flow {
    gap: 20px;
    padding: 24px;
    border-radius: 16px;
    box-shadow: none;
  }
}

.pi-flow__list {
  padding: 0;
  list-style: none;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-flow__list {
    display: flex;
    flex-direction: column;
    gap: 20px;
  }
}

.pi-step {
  display: grid;
  grid-template-columns: 44px 1fr 1fr;
  grid-template-rows: auto 1fr;
  padding-bottom: 52px;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-step {
    grid-template-columns: 36px 1fr;
    grid-template-rows: none;
    -moz-column-gap: 12px;
         column-gap: 12px;
    row-gap: 12px;
    padding-bottom: 0;
  }
}

.pi-step--last {
  padding-bottom: 4px;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-step--last {
    padding-bottom: 0;
  }
}

.pi-step__num {
  grid-column: 1;
  grid-row: 1/3;
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: start;
  width: 44px;
  height: 44px;
  border-radius: 22px;
  background: var(--pi-color-navy);
  color: #fff;
  font-weight: 700;
  font-size: 22px;
  line-height: 1.4;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-step__num {
    grid-row: 1;
    width: 36px;
    height: 36px;
    border-radius: 18px;
    font-size: 18px;
  }
}

.pi-step__title {
  grid-column: 2;
  grid-row: 1;
  margin: 4px 0 0 28px !important;
  color: var(--pi-color-text);
  font-weight: 700;
  font-size: 20px;
  line-height: 1.6;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-step__title {
    align-self: center;
    margin: 0 !important;
    font-size: 16px;
  }
}

.pi-step__text {
  grid-column: 2;
  grid-row: 2;
  margin: 8px 0 0 28px !important;
  color: var(--pi-color-text);
  font-size: 16px;
  line-height: 1.6;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-step__text {
    grid-column: 1/-1;
    grid-row: auto;
    margin: 0 !important;
    font-size: 14px;
  }
}

.pi-step--noimg .pi-step__title,
.pi-step--noimg .pi-step__text {
  grid-column: 2/4;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-step--noimg .pi-step__title {
    grid-column: 2;
  }
  .pi-step--noimg .pi-step__text {
    grid-column: 1/-1;
  }
}

.pi-step__visual {
  grid-column: 3;
  grid-row: 1/3;
  margin: 4px 0 0 24px !important;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-step__visual {
    grid-column: 1/-1;
    grid-row: auto;
    margin: 0 !important;
  }
}

.pi-file {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  height: 149px;
  padding: 24px;
  border-radius: 12px;
  background: #fff;
}
.pi-file img {
  width: 53px;
  height: 50px;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-file {
    gap: 12px;
    height: auto;
    padding: 20px 12px;
    border-radius: 8px;
  }
}

.pi-file__label {
  color: var(--pi-color-text);
  font-weight: 700;
  font-size: 12px;
  line-height: 1.6;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-file__label {
    font-size: 14px;
    line-height: 1.4;
  }
}

.pi-mail {
  overflow: hidden;
  border: 1px solid var(--pi-color-border);
  border-radius: 10px;
  background: #fff;
}

.pi-mail__bar {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 16px;
  border-bottom: 1px solid var(--pi-color-border);
  background: var(--pi-color-bg-accent);
  color: var(--pi-color-text-secondary);
  font-weight: 500;
  font-size: 12px;
  line-height: 1.6;
}
.pi-mail__bar img {
  width: 9px;
  height: 9px;
}

.pi-mail__body {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 20px;
}

.pi-mail__text {
  color: var(--pi-color-text);
  font-size: 16px;
  line-height: 1.6;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-mail__text {
    font-size: 14px;
  }
}

.pi-mail__attach {
  display: flex;
  align-items: center;
  padding: 12px 16px;
  border-radius: 8px;
  background: var(--pi-color-bg-accent);
  line-height: 0;
}
.pi-mail__attach img {
  width: 53px;
  height: 50px;
}

.pi-mail__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  border-top: 1px solid #c8d0e0;
}

.pi-mail__send {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 20px;
  border-radius: 6px;
  background: var(--pi-color-navy);
  color: #fff;
  font-weight: 700;
  font-size: 12px;
  line-height: 1.4;
}
.pi-mail__send img {
  width: 15px;
  height: 15px;
}

.pi-mail__hint {
  color: var(--pi-color-text-disabled);
  font-weight: 500;
  font-size: 12px;
  line-height: 1.6;
}

.pi-mail__url {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 12px;
  border: 1px solid var(--pi-color-border);
  border-radius: 6px;
  background: #fff;
}

@media screen and (min-width: 769px) {
  .pi-mail__url-note {
    white-space: nowrap;
  }
}
.pi-mail__url-note {
  color: var(--pi-color-text-disabled);
  font-weight: 700;
  font-size: 12px;
  line-height: 1.4;
}

.pi-mail__url-link {
  color: var(--pi-color-accent);
  font-weight: 500;
  font-size: 16px;
  line-height: 1.6;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-mail__url-link {
    font-size: 14px;
  }
}

.pi-checks {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  padding: 0;
  list-style: none;
}
.pi-checks li {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px 8px 8px;
  border-radius: 4px;
  background: var(--pi-color-bg);
  color: var(--pi-color-text);
  font-size: 16px;
  line-height: 1.6;
}
.pi-checks img {
  width: 24px;
  height: 24px;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-checks {
    flex-direction: column;
    gap: 8px;
  }
  .pi-checks li {
    padding: 8px;
    border-radius: 8px;
    font-size: 14px;
  }
}

.pi-panel {
  display: flex;
  flex-direction: column;
  gap: 48px;
  padding: 48px;
  border-radius: 24px;
  background: #fff;
  box-shadow: var(--pi-shadow-sm);
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-panel {
    gap: 32px;
    padding: 24px;
    border-radius: 16px;
  }
}

.pi-rules {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.pi-rows {
  border-bottom: 1px solid var(--pi-color-border);
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-rows {
    border-bottom: 0;
  }
}

.pi-rows__item {
  display: flex;
  gap: 20px;
  padding: 24px 0 26px;
  border-top: 1px solid var(--pi-color-border);
}
.pi-rows__item dt {
  flex: 0 0 362px;
  color: var(--pi-color-text);
  font-weight: 700;
  font-size: 20px;
  line-height: 1.6;
}
.pi-rows__item dd {
  flex: 1 1 0;
  color: var(--pi-color-text);
  font-size: 16px;
  line-height: 1.6;
}
.pi-rows__item + .pi-rows__item {
  margin-top: 6px;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-rows__item {
    flex-direction: column;
    gap: 4px;
    padding: 0 0 16px;
    border-top: 0;
    border-bottom: 1px solid var(--pi-color-border);
  }
  .pi-rows__item dt {
    flex: none;
    font-size: 14px;
  }
  .pi-rows__item dd {
    flex: none;
    font-size: 14px;
  }
  .pi-rows__item + .pi-rows__item {
    margin-top: 16px;
  }
  .pi-rows__item:first-child {
    padding-top: 16px;
    border-top: 1px solid var(--pi-color-border);
  }
}

.pi-roles {
  display: flex;
  flex-direction: column;
  gap: 32px;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-roles {
    gap: 16px;
  }
}

.pi-roles__list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  margin: 0 -8px;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-roles__list {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin: 0;
  }
}

.pi-role {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  padding: 32px;
  border-radius: 24px;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-role {
    gap: 12px;
    padding: 24px;
    border-radius: 16px;
  }
}

@media screen and (min-width: 769px) {
  .pi-role--fc,
  .pi-role--mf {
    min-height: 560px;
  }
}

.pi-role--fc {
  background: var(--pi-color-fc-bg);
}
.pi-role--fc .pi-role__value-label {
  color: #00a08c;
}

.pi-role--mf {
  background: var(--pi-color-mf-bg);
}
.pi-role--mf .pi-role__value-label {
  color: #fa4619;
}
.pi-role--mf .pi-logo--mf {
  width: 223px;
  height: 37px;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-role--mf .pi-logo--mf {
    width: 167.25px;
    height: 27.743px;
  }
}

.pi-role--ff {
  grid-column: 1/-1;
}
@media screen and (min-width: 769px) {
  .pi-role--ff {
    min-height: 624px;
  }
}
.pi-role--ff {
  background: var(--pi-color-ff-bg);
}
.pi-role--ff .pi-role__value-label {
  color: #fbad1c;
}

.pi-role__label {
  color: var(--pi-color-blue600);
  font-weight: 500;
  font-size: 14px;
  line-height: 1.4;
  text-align: center;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-role__label {
    font-size: 12px;
  }
}

.pi-role__title {
  color: var(--pi-color-text);
  font-weight: 700;
  font-size: 20px;
  line-height: 1.6;
  text-align: center;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-role__title {
    font-size: 16px;
  }
}

.pi-role__callout {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 12px 16px;
  border-radius: 8px;
  background: #fff;
  color: var(--pi-color-text);
  font-weight: 700;
  font-size: 14px;
  line-height: 1.6;
}
.pi-role__callout img {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-role__callout {
    order: 5;
    gap: 8px;
    padding: 8px 12px;
    border-radius: 6px;
    line-height: 1.4;
  }
}

.pi-role__text {
  width: 100%;
  color: var(--pi-color-text);
  font-size: 16px;
  line-height: 1.6;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-role__text {
    order: 4;
    font-size: 14px;
  }
}

.pi-role__value {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
  padding: 32px;
  border-radius: 8px;
  background: #fff;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-role__value {
    order: 6;
    gap: 4px;
    padding: 24px;
  }
}

.pi-role__value-label {
  font-weight: 700;
  font-size: 12px;
  line-height: 1.4;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-role__value-label {
    font-size: 14px;
  }
}

.pi-role__value-title {
  color: var(--pi-color-text);
  font-weight: 700;
  font-size: 16px;
  line-height: 1.6;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-role__value-title {
    font-size: 14px;
  }
}

.pi-role__value-text {
  color: var(--pi-color-text);
  font-size: 14px;
  line-height: 1.6;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-role__value-text {
    font-size: 12px;
  }
}

.pi-role__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 32px;
  padding: 0;
  list-style: none;
}
.pi-role__chips li {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 0 1 310px;
  min-width: 0;
  padding: 12px 16px;
  border-radius: 8px;
  background: var(--pi-color-ff-bg);
  color: var(--pi-color-text);
  font-weight: 500;
  font-size: 12px;
  line-height: 1.6;
}
.pi-role__chips img {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}
.pi-role__chips b {
  display: block;
  font-weight: 700;
  font-size: 14px;
}
@media screen and (min-width: 769px) {
  .pi-role__chips {
    flex-wrap: nowrap;
  }
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-role__chips {
    flex-direction: column;
    gap: 8px;
    margin-top: 12px !important;
    align-self: stretch;
  }
  .pi-role__chips li {
    flex: none;
    width: 100%;
    padding: 8px;
  }
}

.pi-role__note {
  width: 100%;
  color: var(--pi-color-text);
  font-size: 12px;
  line-height: 1.6;
  text-align: center;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-role__note {
    order: 7;
    font-size: 14px;
    text-align: left;
  }
}

@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-role .pi-logo {
    order: 1;
  }
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-role .pi-role__label {
    order: 2;
  }
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-role .pi-role__title {
    order: 3;
  }
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-role a.pi-anchor {
    order: 8;
  }
}

.pi-reqs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: start;
  gap: 32px;
  padding: 0;
  list-style: none;
}
.pi-reqs li {
  padding: 32px;
  border-radius: 24px;
  background: #fff;
  color: var(--pi-color-text);
  font-size: 16px;
  line-height: 1.6;
}
.pi-reqs b {
  display: block;
  font-weight: 700;
  font-size: 20px;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-reqs {
    display: flex;
    flex-direction: column;
    gap: 12px;
  }
  .pi-reqs li {
    padding: 20px;
    border-radius: 16px;
    box-shadow: var(--pi-shadow-sm);
    font-size: 14px;
  }
  .pi-reqs b {
    margin-bottom: 8px;
    font-size: 16px;
  }
}

.pi-rows--users .pi-rows__item {
  padding: 24px 0 1px;
}
.pi-rows--users .pi-rows__item dt {
  flex: 0 0 250px;
  white-space: nowrap;
}
.pi-rows--users .pi-rows__item + .pi-rows__item {
  margin-top: 32px;
}
@media screen and (min-width: 769px) {
  .pi-rows--users {
    padding-bottom: 32px;
  }
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-rows--users {
    border-bottom: 1px solid var(--pi-color-border);
  }
  .pi-rows--users .pi-rows__item {
    gap: 8px;
    padding: 16px 0;
    border-top: 1px solid var(--pi-color-border);
    border-bottom: 0;
  }
  .pi-rows--users .pi-rows__item dt {
    flex: none;
    font-size: 16px;
    line-height: 1.4;
    white-space: normal;
  }
  .pi-rows--users .pi-rows__item + .pi-rows__item {
    margin-top: 0;
  }
}

.pi-features {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-features {
    display: flex;
    flex-direction: column;
    gap: 12px;
  }
}

.pi-feature {
  display: flex;
  flex-direction: column;
  padding: 32px;
  border-radius: 24px;
  background: #fff;
  box-shadow: var(--pi-shadow-sm);
}
.pi-feature .pi-tag {
  margin-bottom: 8px !important;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-feature {
    gap: 12px;
    padding: 20px;
    border-radius: 16px;
  }
  .pi-feature .pi-tag {
    margin-bottom: 0 !important;
  }
}

.pi-feature__title {
  margin-bottom: 8px !important;
  color: var(--pi-color-text);
  font-weight: 700;
  font-size: 20px;
  line-height: 1.6;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-feature__title {
    margin-bottom: 0 !important;
    font-size: 16px;
  }
}

.pi-feature__text {
  color: var(--pi-color-text);
  font-size: 16px;
  line-height: 1.6;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-feature__text {
    font-size: 14px;
  }
}

.pi-feature__link {
  margin-top: 24px !important;
  text-align: right;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-feature__link {
    margin-top: 0 !important;
    text-align: left;
  }
}

.pi-scope {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 20px;
  padding: 64px 40px;
}
@media screen and (min-width: 769px) {
  .pi-scope {
    min-height: 702px;
  }
}
.pi-scope {
  border-radius: 24px;
  background: #fff;
  box-shadow: var(--pi-shadow-sm);
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-scope {
    gap: 24px;
    padding: 24px;
    border-radius: 16px;
    box-shadow: none;
  }
}

.pi-scope__head {
  display: flex;
  flex-direction: column;
  gap: 8px;
  color: var(--pi-color-text);
  font-weight: 700;
  line-height: 1.6;
}

.pi-scope__en {
  font-size: 12px;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-scope__en {
    font-size: 14px;
  }
}

.pi-scope__title {
  font-size: 24px;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-scope__title {
    font-size: 20px;
    line-height: 1.4;
  }
}

.pi-rows--scope .pi-rows__item {
  position: relative;
  padding: 65px 0 27px;
}
.pi-rows--scope .pi-rows__item dt .pi-tag {
  position: absolute;
  top: 31px;
  left: 0;
  padding: 4px 12px;
}
.pi-rows--scope .pi-rows__item + .pi-rows__item {
  margin-top: 5px;
}
@media screen and (min-width: 769px) {
  .pi-rows--scope {
    margin-bottom: 13px !important;
  }
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-rows--scope .pi-rows__item {
    gap: 8px;
    padding: 0 0 16px;
  }
  .pi-rows--scope .pi-rows__item dt {
    display: flex;
    flex-direction: column;
    gap: 8px;
    font-size: 16px;
  }
  .pi-rows--scope .pi-rows__item dt .pi-tag {
    position: static;
    font-size: 14px;
  }
  .pi-rows--scope .pi-rows__item + .pi-rows__item {
    margin-top: 24px;
  }
  .pi-rows--scope .pi-rows__item:first-child {
    padding-top: 16px;
  }
}

.pi-scope__foot {
  padding-top: 4px;
  color: var(--pi-color-text);
  font-size: 12px;
  line-height: 1.6;
  text-align: center;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-scope__foot {
    padding-top: 0;
    font-size: 14px;
    text-align: left;
  }
}

@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-scope a.pi-anchor {
    margin-top: -16px;
  }
}

#related-products .pi-head__desc {
  margin-top: 8px;
  line-height: 1.8;
}

.pi-products {
  display: flex;
  justify-content: center;
  gap: 32px;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-products {
    flex-direction: column;
    gap: 16px;
  }
}

.pi-product {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  flex: 1 1 0;
  max-width: 378px;
  padding: 32px;
  border-radius: 24px;
  background: #fff;
  box-shadow: var(--pi-shadow-sm);
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-product {
    max-width: none;
    padding: 20px;
    border-radius: 16px;
  }
}

.pi-product__label {
  color: var(--pi-color-blue600);
  font-weight: 500;
  font-size: 14px;
  line-height: 1.4;
  text-align: center;
}

.pi-product__text {
  width: 100%;
  color: var(--pi-color-text);
  font-weight: 500;
  font-size: 16px;
  line-height: 1.6;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-product__text {
    font-weight: 400;
    font-size: 14px;
  }
}

.pi-product__list {
  width: 100%;
  margin-bottom: 8px !important;
  padding-left: 24px;
  color: var(--pi-color-text);
  font-size: 16px;
  line-height: 1.6;
}
.pi-product__list li {
  list-style: disc;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-product__list {
    margin-bottom: 0 !important;
    padding-left: 21px;
    font-size: 14px;
  }
}

a.pi-btn--product {
  width: 100%;
  margin-top: auto;
  padding: 0 16px;
}

@media screen and (min-width: 769px) {
  .pi-product:first-child a.pi-btn--product {
    width: calc(100% + 31px);
    margin-right: -16px;
    margin-left: -15px;
  }
}
.pi-products__foot {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-products__foot {
    gap: 12px;
  }
  .pi-products__foot .pi-links {
    gap: 8px;
  }
}

.pi-faq__item summary {
  list-style: none;
}
.pi-faq__item summary::-webkit-details-marker {
  display: none;
}

.pi-faq__q {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 0;
  border-bottom: 1px solid var(--pi-color-border);
  cursor: pointer;
}
.pi-faq__q::after {
  content: "";
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  background: url(/bs/lp/product-integration/common/images/icon-faq-open.svg) no-repeat center/32px 32px;
}
.pi-faq__item[open] > .pi-faq__q::after {
  background-image: url(/bs/lp/product-integration/common/images/icon-faq-close.svg);
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-faq__q {
    align-items: flex-start;
  }
}

.pi-faq__mark {
  flex-shrink: 0;
  color: var(--pi-color-accent);
  font-weight: 700;
  font-size: 32px;
  line-height: 1.4;
}

.pi-faq__text {
  flex: 1 1 0;
  color: var(--pi-color-text);
  font-weight: 700;
  font-size: 20px;
  line-height: 1.6;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-faq__text {
    font-size: 16px;
  }
}

.pi-faq__q > .pi-faq__mark,
.pi-faq__q > .pi-faq__text {
  align-self: flex-end;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-faq__q > .pi-faq__mark,
  .pi-faq__q > .pi-faq__text {
    align-self: flex-start;
  }
}
.pi-faq__q > .pi-faq__mark + .pi-faq__text {
  margin-left: 16px;
}

.pi-faq__a {
  padding: 16px 0 16px 50px;
  color: var(--pi-color-text);
  font-size: 16px;
  line-height: 1.8;
}
.pi-faq__a strong {
  font-weight: 700;
}
.pi-faq__a a {
  color: var(--pi-color-accent);
  text-decoration: underline;
}
.pi-faq__a > * + * {
  margin-top: 0 !important;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-faq__a {
    padding: 16px 0;
    font-size: 14px;
    line-height: 1.6;
  }
}

.pi-faq__dl {
  margin: 12px 0 !important;
}
.pi-faq__dl div + div {
  margin-top: 8px;
}
.pi-faq__dl dt {
  font-weight: 700;
}

.pi-faq__note {
  margin-bottom: 8px !important;
  color: var(--pi-color-text-secondary);
  font-size: 14px;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-faq__note {
    font-size: 12px;
  }
}

.pi-faq__links {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 24px;
  padding: 0;
  list-style: none;
}

.pi-cv {
  background: var(--pi-color-navy);
}
.pi-cv .pi-inner {
  gap: 88px;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-cv .pi-inner {
    gap: 24px;
  }
}

.pi-cv__box {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  padding: 36px;
  border-radius: 24px;
  background: #fff;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-cv__box {
    gap: 16px;
    padding: 24px;
    border-radius: 16px;
  }
}

.pi-cv__title {
  color: var(--pi-color-text);
  font-weight: 700;
  font-size: 22px;
  line-height: 1.6;
  text-align: center;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-cv__title {
    font-size: 18px;
  }
}

.pi-cv__text {
  color: var(--pi-color-text);
  font-size: 16px;
  line-height: 1.6;
  text-align: center;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-cv__text {
    font-size: 14px;
  }
}

.pi-cv__btns {
  display: flex;
  gap: 32px;
  width: 100%;
  margin-top: 24px;
}
.pi-cv__btns a.pi-btn {
  flex: 1 1 0;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-cv__btns {
    flex-direction: column;
    gap: 16px;
    margin-top: 0;
  }
  .pi-cv__btns a.pi-btn {
    flex: none;
  }
}

.pi-footer {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 32px;
  padding: 64px 20px;
  background: #fff;
  font-family: "Noto Sans JP", sans-serif;
}
.pi-footer ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.pi-footer p {
  margin: 0;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-footer {
    gap: 24px;
  }
}

.pi-footer__sns {
  display: flex;
  gap: 16px;
}
.pi-footer__sns li {
  position: relative;
  overflow: hidden;
  width: 32px;
  height: 32px;
}
.pi-footer__sns a {
  display: block;
  width: 100%;
  height: 100%;
}
.pi-footer__sns img {
  position: absolute;
  top: 50%;
  left: 50%;
  max-width: none;
  width: 32px;
  height: 32px;
  -o-object-fit: cover;
     object-fit: cover;
  transform: translate(-50%, -50%);
}
.pi-footer__sns .pi-footer__x {
  width: 27px;
  height: 28px;
  margin-left: 0.5px;
}
.pi-footer__sns .pi-footer__yt {
  width: 48px;
  height: 41px;
  margin-top: -0.5px;
}

.pi-footer__links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 32px;
  font-size: 12px;
  line-height: 16.8px;
}
.pi-footer__links a {
  color: var(--pi-color-text-secondary);
  text-decoration: none;
}
.pi-footer__links a:hover {
  text-decoration: underline;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-footer__links {
    gap: 12px 16px;
    line-height: 1.4;
  }
}

.pi-footer__logo {
  line-height: 0;
}
.pi-footer__logo img {
  width: 180px;
  height: 45px;
}

.pi-footer__copy {
  color: var(--pi-color-text-secondary);
  font-size: 12px;
  text-align: center;
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .pi-footer__copy {
    color: var(--pi-color-text);
    font-size: 10px;
    line-height: 1.6;
    letter-spacing: 0.5px;
  }
}

@media screen and (min-width: 769px) and (max-width: 1199px) {
  .pi-overview__list,
  .pi-products {
    flex-wrap: wrap;
  }
  .pi-overview__card,
  .pi-product {
    flex: 1 1 300px;
    min-width: 0;
  }
  .pi-compare__row {
    flex-direction: column;
    align-items: stretch;
  }
  .pi-compare__label {
    flex: none;
  }
  .pi-compare__steps {
    padding: 0 20px 20px;
    height: auto;
  }
  .pi-compare__step {
    flex: 1 1 0;
    width: auto;
    min-width: 0;
  }
  .pi-rows__item dt {
    flex-basis: 30%;
  }
  .pi-rows--users .pi-rows__item dt {
    white-space: normal;
  }
  .pi-role__chips {
    flex-wrap: nowrap;
    gap: 16px;
  }
  .pi-role__chips li {
    flex: 1 1 0;
  }
  .pi-checks {
    gap: 12px;
  }
  .pi-hero__title {
    font-size: 44px;
  }
}