@charset "utf-8";

:lang(ja)[data-webfont-loaded="true"] body,
:lang(ja)[data-webfont-loaded="true"] button,
:lang(ja)[data-webfont-loaded="true"] input,
:lang(ja)[data-webfont-loaded="true"] optgroup,
:lang(ja)[data-webfont-loaded="true"] select,
:lang(ja)[data-webfont-loaded="true"] textarea {
  font-family: "Noto Sans JP", "源ノ角ゴシック Regular", "源ノ角ゴシック",
    Roboto, "ヒラギノ丸ゴ Pro W4", "ヒラギノ丸ゴ Pro",
    "Hiragino Maru Gothic Pro", "ヒラギノ角ゴ Pro W3",
    "Hiragino Kaku Gothic Pro", "HG丸ｺﾞｼｯｸM-PRO", HGMaruGothicMPRO, sans-serif;
}

html {
  scroll-behavior: smooth;
}

body {
  position: relative;
  background: linear-gradient(90deg, #fdf4f5 0%, #e7fbff 100%);
}

:root {
  --sofybe-color-black-01: #000;
  --sofybe-color-black-02: #0c2a30;
  --sofybe-color-black-03: #242828;
  --sofybe-color-pink-01: #e85ba0;
  --sofybe-color-pink-02: #fdf4f5;
  --sofybe-color-pink-03: #ff9a99;
  --sofybe-color-blue-01: #e7fbff;
  --root-font-size: 10;
  --rem: 1rem / var(--root-font-size);
}

.fc-sofybe-modifier-curning-palt {
  font-feature-settings: "palt";
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin-bottom: 0;
}

.uc-mod-media-01 {
  margin-bottom: 0;
}

/* header */

.uc-page-header .uc-header-site {
  max-width: 1420px;
  padding: 10px;
}

.uc-page-header .uc-header-site .uc-lyt-row {
  padding: 15px 0;
}

.uc-header-site .uc-header-logo .uc-mod-media-01 {
  width: 80px;
}

.uc-lyt-container.uc-header-site .uc-lyt-row .uc-header-logo {
  padding: 10px 11px 5.75px 1px;
}

.sofyintegration-header-block .uc-mod-nav-breadcrumb-01 {
  font-size: 12px;
  line-height: 2;
  letter-spacing: 0.04em;
}

.sofyintegration-header-block .uc-mod-nav-breadcrumb-01 ol {
  margin: 0;
}

.sofyintegration-header-block .uc-mod-nav-breadcrumb-01 a::after {
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
}

@media screen and (max-width: 768px) {
  .uc-page-header .uc-header-site {
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 19.5px;
  }

  .uc-header-site .uc-header-logo .uc-mod-media-01 {
    width: 62px;
  }

  .uc-list.uc-mod-nav-breadcrumb-01 {
    margin-bottom: 7.5px;
  }

  .uc-page-header .uc-header-site .uc-lyt-row {
    padding-top: 0;
  }

  .uc-lyt-container.uc-header-site .uc-lyt-row .uc-header-logo {
    padding: 0 11px 4.25px 1px;
  }
}

/* body */

body {
  overflow-x: clip;
}

.uc-page-root:has(.sofyintegration-main) {
  background: url("/content/dam/sites/www_sofy_jp/app/sofyintegration/kv-bg-pc.png");
  background-repeat: no-repeat;
  background-position: center top;
  background-position-x: calc(50%);
  background-position-y: 83px;
  background-size: min(104.58vw, 1440px);
}

@media screen and (max-width: 768px) {
  .uc-page-root:has(.sofyintegration-main) {
    width: 100%;
    background: url("/content/dam/sites/www_sofy_jp/app/sofyintegration/kv-bg-sp.png");
    background-repeat: no-repeat;
    background-position: center 95px;
    background-position-y: 39vw;
    background-size: contain;
  }
}

/* main */

.kv-section .CMP-CM09-heading {
  height: 0;
}

.sofyintegration-heading>* {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.sofyintegration-kv .uc-mod-media-01 {
  position: relative;
  top: 11px;
  left: 0px;
  width: 100%;
  max-width: 1156px;
  padding-inline: 40px;
}

.CMP-CM05-block:has(> .kv-store-link-block) {
  position: relative;
}

.kv-store-link-block {
  position: absolute;
  top: -158px;
  left: calc(50% - 13px);
  display: flex;
  gap: 40px;
  justify-content: center;
  transform: translateX(-100%);
}

.kv-store-link {
  display: flex;
  gap: 16px;
  align-items: center;
  justify-content: center;
}

.kv-app-button01 {
  width: 100%;
  max-width: 130px;
}

.kv-app-button02 {
  width: 100%;
  max-width: 161.22px;
}

/* .app-store-links.kv-app-button01, .app-store-links.kv-app-button02 {
  gap:16px;
}

.kv-app-button01 .app01 {
  width: 130px;
}

.kv-app-button02 .app02 {
  width: 161.22px;
} */

.uc-list.anchor-link {
  max-width: 980px;
  padding: 106px 40px 48px;
  margin-inline: auto;
}

.uc-list.anchor-link ul {
  display: flex;
  flex-wrap: wrap;
  gap: 16px 4%;
  justify-content: center;

  /* align-items: flex-start; */
  margin-bottom: 0;
}

.uc-list.anchor-link ul li {
  display: flex;
  align-items: center;
  width: 30.666%;
  margin: 0;
  font-size: calc(16 * var(--rem));
  font-weight: 400;
  line-height: 2;
  color: var(--sofybe-color-black-03);
  text-underline-offset: 8px;
  letter-spacing: 0.04em;
  list-style: none;
}

.uc-list.anchor-link ul li a {
  display: flex;
  flex-grow: 1;
  align-items: center;
  justify-content: normal;
  width: 100%;
  height: 100%;
  padding: 14px 14px 13px 0;
  color: var(--sofybe-color-black-03);
  text-decoration: none;
  background: url("/content/dam/sites/www_sofy_jp/app/sofyintegration/icon-arrow-link.svg");
  background-repeat: no-repeat;
  background-position: 100%;
  background-size: 14px;
  border-bottom: #0c2a30 1px solid;
}

.sofyintegration-secondary>* {
  font-size: calc(32 * var(--rem));
  font-weight: bold;
  line-height: 1.7;
  color: var(--sofybe-color-black-03);
  letter-spacing: 0.1em;
}

.sofyintegration-tertiary>* {
  font-size: calc(20 * var(--rem));
  font-weight: bold;
  line-height: 1.7;
  color: var(--sofybe-color-black-03);
  letter-spacing: 0.04em;
}

.sofyintegration-quaternary>* {
  font-size: calc(16 * var(--rem));
  font-weight: bold;
  line-height: 2;
  color: var(--sofybe-color-black-03);
  letter-spacing: 0.04em;
}

.sofyintegration-text>* {
  font-size: calc(16 * var(--rem));
  font-weight: 400;
  line-height: 2;
  color: var(--sofybe-color-black-03);
  letter-spacing: 0.04em;
}

.sofyintegration-section01 {
  position: relative;
  background-color: #fceef0;
}

.sofyintegration-section02 {
  padding-block: 96px;
}

.block-decoration {
  margin-block: 140px;
}

.block-decoration::before {
  position: absolute;
  top: -140px;
  z-index: 3;
  display: block;
  width: 100%;
  height: 140px;
  content: "";
  background-color: transparent;
  background-image: url("/content/dam/sites/www_sofy_jp/app/sofyintegration/contents-between-wave01-pc.png");
  background-size: 100% 140px;
}

.block-decoration::after {
  position: absolute;
  bottom: -140px;
  z-index: 3;
  display: block;
  width: 100%;
  height: 140px;
  content: "";
  background-color: transparent;
  background-image: url("/content/dam/sites/www_sofy_jp/app/sofyintegration/contents-between-wave02-pc.png");
  background-repeat: no-repeat;
  background-size: 100% 140px;

  /* transform: rotateX(180deg); */
}

.sofyintegration-lead>* {
  width: fit-content;
  margin-inline: auto;
  font-size: calc(20 * var(--rem));
  font-weight: 400;
  line-height: 2;
  color: var(--sofybe-color-black-03);
  text-align: center;
  letter-spacing: 0.04em;
}

.sofyintegration-annotation ul {
  margin: 0;
  text-indent: -0.35em;
  padding-left: 0.75em;
}

.sofyintegration-annotation li {
  font-size: calc(12 * var(--rem));
  font-weight: 400;
  line-height: 1.7;
  color: var(--sofybe-color-black-03);
  letter-spacing: 0.04em;
  list-style: none;
  margin: 0;
}

.sofyintegration-annotation li::before {
  display: inline-block;
  content: "※";
}

.sofyintegration-about .anchor-link-text {
  margin-right: 20px;
}

.anchor-link-text a {
  position: relative;
  font-size: calc(16 * var(--rem));
  font-weight: 400;
  line-height: 2;
  color: var(--sofybe-color-black-03);
  letter-spacing: 0.04em;
}

.anchor-link-text a::before {
  position: absolute;
  top: 50%;
  right: calc(-22 * var(--rem));
  width: 14px;
  height: 14px;
  font-size: 0;
  content: "";
  background-image: url("/content/dam/sites/www_sofy_jp/app/sofyintegration/icon-arrow-link.svg");
  background-repeat: no-repeat;
  transform: translateY(-50%);
}

.info-detail-block {
  display: flex;
  gap: 48px;
  width: 100%;
  max-width: 980px;
  padding-inline: 40px;
  margin-inline: auto;
}

.CMP-CM05-block:has(> .info-detail01) {
  width: 100%;
  max-width: 335px;
}

.CMP-CM05-block:has(> .info-detail02) {
  width: calc(100% - 335px);
  max-width: 517px;
  padding: 32px;
  background-color: #fff;
  border-radius: 16px;
}

.info-detail01 {
  margin-top: -5px;
}

.info-detail02-text>* {
  font-size: calc(16 * var(--rem));
  font-weight: 400;
  line-height: 2;
  color: var(--sofybe-color-black-03);
  letter-spacing: 0.04em;
}

.info-detail02 .sofyintegration-annotation ul {
  max-width: 453px;
}

.info-detail02 .sofyintegration-annotation li::marker {
  padding-left: 2px;
}

.sofyintegration-about {
  padding-bottom: 90px;
}

.about-detail-block {
  display: flex;
  gap: 48px;
  align-items: center;
  justify-content: center;
  padding-inline: 40px;
}

.about-detail-block01 {
  flex-direction: row-reverse;
  padding-bottom: 50px;
  margin: -21px 0 0 -51px;
}

.about-detail-block02 {
  padding-bottom: 70px;
  margin: -2px 0 0 50px;
}

.about-detail-image {
  position: relative;
  top: -6px;
}

.about-detail-text {
  width: 100%;
  max-width: 600px;
  padding-top: 34px;
}

.about-detail-text .sofyintegration-tertiary>* {
  display: flex;
  align-items: center;
  text-align: left;
}

.about-detail-text .sofyintegration-tertiary>* span:first-child {
  margin-right: 21px;
  font-size: calc(40 * var(--rem));
  line-height: 1.26;
  letter-spacing: 0.1em;
}

.difference-table {
  width: 100%;
  max-width: 880px;
  margin-inline: auto;
}

.difference-table table {
  margin-bottom: 0;
  table-layout: fixed;
}

.difference-table th,
.difference-table td {
  padding: 0;
}

.difference-table tr {
  height: 59px;
}

.difference-table th {
  font-size: calc(16 * var(--rem));
  font-weight: bold;
  line-height: 2;
  color: #000;
  text-align: center;
  letter-spacing: 0.04em;
}

.difference-table .head th {
  background-color: #fddd;
}

.difference-table tbody tr:nth-child(2n-1) th,
.difference-table tbody tr:nth-child(2n-1) td {
  background-color: #fff;
}

.difference-table tbody tr:nth-child(4n + 2) th,
.difference-table tbody tr:nth-child(4n + 2) td {
  background-color: #eefbfd;
}

.difference-table tbody tr:nth-child(4n + 4) th,
.difference-table tbody tr:nth-child(4n + 4) td {
  background-color: #fdf4f5;
}

.difference-table td {
  font-size: calc(24 * var(--rem));
  font-weight: 400;
  line-height: 1.2;
  color: #000;
  text-align: center;
  letter-spacing: 0.04em;
}

.difference-table .min {
  font-size: calc(16 * var(--rem));
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: 0.04em;
}

.difference-table td .annotation {
  font-size: calc(12 * var(--rem));
  font-style: normal;
  font-weight: 400;
}

.difference-table td .annotation::before {
  font-size: 1em;
  content: "※";
}

.transition-list-image .uc-mod-media-01 {
  width: 100%;
  max-width: 880px;
  padding-inline: 40px;
}

.transition-list-text {
  width: 100%;
  max-width: 880px;
  padding-inline: 40px;
  margin-inline: auto;
}

.transition-list {
  margin-bottom: 0;
}

.transition-list li {
  margin-left: 1em;
  text-indent: -1em;
  list-style: none;
}

.transition-list>li {
  margin-bottom: 8px;
  font-size: calc(14 * var(--rem));
  font-weight: 400;
  line-height: 2;
  color: var(--sofybe-color-black-03);
  letter-spacing: 0.04em;
}

.transition-list>li::before {
  margin-right: 2px;
  font-size: 1em;
  content: "●";
}

.transition-item>li,
.transition-annotation-text {
  font-size: calc(12 * var(--rem));
}

.transition-item>li {
  margin-bottom: 2px;
}

.transition-item>li::before {
  font-size: 1em;
  content: "・";
}

.transition-annotation-text::before {
  font-size: 1em;
  content: "※";
}

.transition-list-annotation::after {
  font-size: 1em;
  content: "※";
}

.transition-annotation {
  margin-bottom: -8px;
}

.sofyintegration-transition-procedure {
  width: 100%;
  max-width: 880px;
  margin-inline: auto;
}

.sofyintegration-transition-procedure .sofyintegration-quaternary>* {
  text-align: left;
}

.app-block {
  gap: 16px;
  justify-content: center;
}

.app-block .uc-lyt-grid-col-flex {
  flex: none;
  max-width: fit-content;
}

.app-block .uc-lyt-box-advance {
  width: fit-content;
}

.app-block .app01 {
  width: 130px;
}

.app-block .app02 {
  width: 161.22px;
}

.mypage-icon {
  position: relative;
  top: 3px;
  display: inline-block;
  width: 16px;
  height: 17px;
  background-image: url("/content/dam/sites/www_sofy_jp/app/sofyintegration/icon-mypage.svg");
  background-repeat: no-repeat;
  background-size: contain;
}

.sofyintegration-faq-block {
  width: 100%;
  max-width: 880px;
  padding: 0 40px 40px;
  margin-inline: auto;
}

.sofyintegration-faq-block .CMP-CM39-accordion {
  border-top: 1px solid var(--sofybe-color-black-03);
}

.sofyintegration-faq-block .CMP-CM39-accordion:last-child {
  border-bottom: 1px solid var(--sofybe-color-black-03);
}

.sofyintegration-faq-block .uc-accordion-title {
  position: relative;
  padding: 19px 30px 18px 0;
  margin-bottom: 0;
  background-color: transparent;
}

.sofyintegration-faq-block .uc-accordion-text {
  width: 100%;
  padding-left: 1.2em;
  font-size: calc(16 * var(--rem));
  font-weight: bold;
  line-height: 2;
  color: var(--sofybe-color-black-03);
  letter-spacing: 0.04em;
}

.sofyintegration-faq-block .uc-accordion-text::before {
  position: absolute;
  left: 0;
  content: "Q.";
}

.answer-block {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  font-size: calc(16 * var(--rem));
  font-weight: 400;
  line-height: 2;
  color: var(--sofybe-color-black-03);
  letter-spacing: 0.04em;
}

.answer-block::before {
  display: inline-block;
  width: 1.1em;
  content: "A.";
}

.CMP-CM10-text:has(.answer-text) {
  flex-basis: calc(100% - 1.1em);
  margin-left: auto;
}

.answer-text {
  margin-bottom: 16px;
}

.answer-text a {
  color: #007cff;
  text-decoration: underline;
}

.faq-list {
  margin: 1em 0 0;
}

.faq-list li {
  list-style: none;
}

.faq-list dt::before {
  content: "・";
}

.faq-list dl {
  margin-bottom: 2em;
}

.faq-list dt {
  font-weight: 400;
}

.faq-list dd {
  margin-left: 0;
}

.faq-list dd::before {
  content: "→";
}

.sofyintegration-faq-block .uc-accordion-btn {
  position: relative;
  right: -30px;
  cursor: pointer;
}

.sofyintegration-faq-block .uc-accordion-btn .uc-mod-state-open {
  all: unset;
  width: 24px;
  height: 24px;
  background-image: url("/content/dam/sites/www_sofy_jp/app/sofyintegration/icon-arrow.svg");
  background-repeat: no-repeat;
  background-size: contain;
  transition-duration: 0.5s;
  transition-property: rotate;
  rotate: 0deg;
}

.sofyintegration-faq-block .uc-is-open .uc-accordion-btn .uc-mod-state-open {
  rotate: 180deg;
}

html[data-script-enabled="true"] .sofyintegration-faq-block .uc-js-tgl-01.uc-is-open .uc-state-open,
html[data-script-enabled="true"] .sofyintegration-faq-block .uc-js-tgl-01 .uc-state-open {
  display: block;
}

html[data-script-enabled="true"] .sofyintegration-faq-block .uc-js-tgl-01.uc-is-open .uc-state-close,
html[data-script-enabled="true"] .sofyintegration-faq-block .uc-js-tgl-01 .uc-state-close {
  display: none;
}

.sofyintegration-faq-block .uc-accordion-btn-close {
  display: none;
}

.sofyintegration-trademark-text {
  width: fit-content;
  padding-inline: 20px;
  margin-inline: auto;
}

.sofyintegration-trademark-text ul {
  margin-bottom: 0;
}

.sofyintegration-trademark-text li {
  width: fit-content;
  margin-inline: auto;
  font-size: calc(12 * var(--rem));
  font-weight: 400;
  line-height: 2;
  color: var(--sofybe-color-black-03);
  text-align: center;
  letter-spacing: 0.04em;
  list-style-type: "※";
}

@media screen and (min-width: 769px) and (max-width: 1439px) {
  .sofyintegration-kv .uc-mod-media-01 {
    left: calc(15vw / 14.4);
  }
}

@media screen and (min-width: 769px) and (max-width: 1439px) {
  .kv-store-link-block {
    left: calc(50% - 10px);
    gap: calc(19vw / 7.69);
  }
}

@media screen and (min-width: 769px) and (max-width: 1149px) {
  .kv-store-link-block {
    top: calc(-155vw / 11.5);
    left: calc(50%);
    padding-left: 48px;
  }
}

@media screen and (min-width: 769px) and (max-width: 1080px) {
  .about-detail-block {
    padding-inline: 40px;
  }

  .about-detail-block01 {
    margin: 0;
  }

  .about-detail-block02 {
    margin: 0;
  }
}

@media screen and (min-width: 769px) and (max-width: 950px) {
  .uc-list.anchor-link ul li {
    column-gap: 2%;
    font-size: calc(14 * var(--rem));
  }

  .uc-list.anchor-link ul li {
    width: 100%;
    max-width: 335px;
  }
}

@media screen and (max-width: 768px) {
  .kv-section {
    padding-top: 15px;
    margin-top: -15px;
  }

  .sofyintegration-kv .uc-mod-media-01 {
    top: -15px;
    left: 0;
    max-width: 100%;
    padding-inline: 16px;
  }

  .block-decoration::before {
    top: -61px;
    left: 0;
    height: 62px;
    background-image: url("/content/dam/sites/www_sofy_jp/app/sofyintegration/contents-between-wave01-sp.png");
    background-size: 100% 62px;
  }

  .block-decoration::after {
    bottom: -61px;
    left: 0;
    height: 62px;
    background-image: url("/content/dam/sites/www_sofy_jp/app/sofyintegration/contents-between-wave02-sp.png");
    background-size: 100% 62px;
  }

  .uc-list.anchor-link {
    max-width: 375px;
    padding: 12px 20px 40px;
  }

  .uc-list.anchor-link ul {
    flex-flow: column;
    flex-wrap: unset;
    row-gap: unset;
  }

  .uc-list.anchor-link ul li {
    width: 100%;
    font-size: calc(14 * var(--rem));
    line-height: 1.2;
  }

  .uc-list.anchor-link ul li a {
    padding: 17.5px 14px 16.5px 0;
  }

  .sofyintegration-secondary>* {
    font-size: calc(20 * var(--rem));
  }

  .sofyintegration-tertiary>* {
    font-size: calc(16 * var(--rem));
    line-height: 1.6;
  }

  .sofyintegration-quaternary>* {
    font-size: calc(14 * var(--rem));
  }

  .sofyintegration-lead {
    margin-inline: auto;
  }

  .sofyintegration-lead>* {
    width: 100%;
    font-size: calc(14 * var(--rem));
    text-align: left;
  }

  .sofyintegration-section02 {
    padding-block: 40px;
  }

  .block-decoration {
    margin-block: 45.15px;
  }

  .anchor-link-text a {
    font-size: calc(14 * var(--rem));
  }

  .anchor-link-text a::before {
    right: calc(-18 * var(--rem));
    width: 12px;
    height: 12px;
    background-size: contain;
  }

  .info-detail-block {
    flex-flow: column;
    gap: 20px;
    padding-inline: 27.5px;
  }

  .CMP-CM05-block:has(> .info-detail01) {
    max-width: fit-content;
    margin-inline: auto;
  }

  .CMP-CM05-block:has(> .info-detail02) {
    width: 100%;
    max-width: fit-content;
    padding: 20px;
    margin-inline: auto;
  }

  .info-detail02-text>* {
    font-size: calc(14 * var(--rem));
  }

  .info-detail02 .sofyintegration-annotation>* {
    max-width: fit-content;
  }

  .about-detail-block {
    flex-flow: column;
    padding: 0;
  }

  .about-detail-block01 {
    flex-direction: column;
  }

  .about-detail-block01,
  .about-detail-block02 {
    margin: -14px 0 0;
  }

  .about-detail-block-top {
    margin-top: 0;
  }

  .about-detail-block-last {
    margin-bottom: -50px;
  }

  .about-detail-text .sofyintegration-tertiary>* {
    flex-flow: column;
    text-align: center;
  }

  .about-detail-text .sofyintegration-tertiary>* span:first-child {
    margin: 0 0 16px;
    font-size: calc(30 * var(--rem));
  }

  .sofyintegration-text>* {
    font-size: calc(14 * var(--rem));
  }

  .about-detail-heading {
    padding-inline: 27.5px;
  }

  .about-detail-lead {
    padding-inline: 27.5px;
    margin-inline: auto;
  }

  .about-detail-lead>* {
    text-align: center;
  }

  .about-detail-text {
    padding-top: 0;
  }

  .about-detail-image {
    top: -53px;
    left: calc(-8vw / 3.9);
    max-width: 360px;
    padding-inline: 3px;
  }

  .about-detail-block02 .about-detail-image {
    left: calc(9vw / 3.9);
  }

  .difference-table tr {
    height: 49px;
  }

  .difference-table th {
    font-size: calc(12 * var(--rem));
    line-height: 1.3;
  }

  .difference-table .head th {
    font-size: calc(14 * var(--rem));
  }

  .difference-table td {
    font-size: calc(20 * var(--rem));
  }

  .difference-table td .annotation {
    font-size: calc(10 * var(--rem));
  }

  .difference-table .min {
    font-size: calc(12 * var(--rem));
    line-height: 1.2;
  }

  .transition-list-image .uc-mod-media-01 {
    max-width: 500px;
    padding-inline: 27.5px;
  }

  .transition-list-text {
    padding-inline: 27.5px;
  }

  .transition-annotation-text {
    line-height: 1.3;
  }

  .sofyintegration-transition {
    padding-bottom: 40px;
  }

  .transition-list .transition-last-list[class] {
    margin-bottom: 0;
  }

  .sofyintegration-faq-block {
    padding-inline: 27.5px;
  }

  .sofyintegration-faq-block .uc-mod-accordion-01 .uc-accordion-title {
    align-items: start;
  }

  .sofyintegration-faq-block .uc-accordion-title {
    padding: 8px 17px 7px 0;
  }

  .sofyintegration-faq-block .uc-accordion-btn {
    top: 3px;
    right: -17px;
  }

  .sofyintegration-faq-block .uc-accordion-text {
    font-size: calc(14 * var(--rem));
  }

  .answer-block {
    margin-top: 10px;
    font-size: calc(14 * var(--rem));
  }

  .sofyintegration-trademark-text {
    max-width: fit-content;
    margin: 0 11.5px;
  }

  .sofyintegration-trademark-text li {
    margin-inline: 0;
    margin-bottom: 8px;
    line-height: 1.7;
    text-align: left;
  }

  .sofyintegration-trademark-text li:last-child {
    margin-bottom: 0;
  }
}

/* footer */

.sofyintegration-pagetop {
  position: fixed;
  bottom: 226.5px;
  left: min(calc(100vw - 120px), 1440px);
  z-index: 5;
  width: 80px;
  transform: translate(0, 0);
}

.sofyintegration-pagetop.is-hidden {
  opacity: 0 !important;
}

.float-area {
  position: fixed;
  bottom: 0;
  left: 50%;
  z-index: 10;
  width: 100%;
  max-width: 1240px;
  padding: 0 20px;
  transition: 1s all;
  transform: translate(-50%, 0);
}

.float-button-block {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  max-width: 1200px;
  padding: 12px 40px;
  margin-inline: auto;
  background-color: #fff;
  border-radius: 24px;
  box-shadow: 0 5px 10px 0 rgb(0 0 0 / 12%);
}

.float-button-block .appInfo-block .appInfo-heading {
  margin-bottom: 0;
}

.appInfo-heading>* {
  font-size: calc(20 * var(--rem));
  font-weight: 400;
  line-height: 2;
  color: var(--sofybe-color-black-03);
  text-align: left;
  letter-spacing: 0.04em;
}

.float-button-block .appInfo-block .appInfo-heading>* span {
  display: block;
}

.float-button-block .appInfo-block .appInfo-heading>* span:last-child {
  margin-top: -15px;
  font-size: calc(32 * var(--rem));
  font-weight: bold;
}

.float-store-link-block {
  display: flex;
  column-gap: 1.5em;
  max-width: 450.73px;
}

.app-store-links {
  display: flex;
}

.app-store-links .app-button01 {
  max-width: 190.49px;
}

.app-store-links .app-button02 {
  max-width: 236.24px;
}

.sofybe-btn-link.uc-mod-btn-01 {
  margin-bottom: 0;
  line-height: 1;
}

.sofybe-btn-link.uc-mod-btn-01 a {
  position: relative;
  min-width: 239px;
  padding: 18px 57.49px 18px 21.83px;
  font-size: 2rem;
  font-weight: bold;
  color: #fff;
  background-color: var(--sofybe-color-black-02);
  border-radius: 16px;
  box-shadow: none;
}

.uc-page-footer {
  background-color: #fff;
}

@media screen and (min-width: 769px) {
  .float-area {
    /* padding-inline: 40px; */
    opacity: 0;
  }

  body:hover .float-area {
    bottom: 40px;
    opacity: 1;
  }

  .float-store-link-block>.section:has(.sofybe-btn-link) {
    display: none;
  }
}

@media screen and (min-width: 981px) and (max-width: 1125px) {
  .float-button-block .appInfo-block .appInfo-heading>* span:last-child {
    font-size: calc(25 * var(--rem));
  }

  .appInfo-heading>* {
    font-size: calc(18 * var(--rem));
  }
}

@media screen and (min-width: 769px) and (max-width: 980px) {
  .float-button-block {
    padding-inline: 20px;
  }

  .appInfo-heading>* {
    font-size: calc(16 * var(--rem));
  }

  .float-button-block .appInfo-block .appInfo-heading>* span:last-child {
    font-size: calc(22 * var(--rem));
  }

  .float-store-link-block {
    column-gap: 0.8em;
    max-width: 360px;
  }
}

@media screen and (max-width: 768px) {
  .float-area {
    bottom: 0;
    width: 100vw;
    padding: 16px;
    background-color: rgb(255 255 255 / 90%);
  }

  .sofyintegration-pagetop {
    bottom: 105px;
    left: min(calc(100vw - 67.5px), 1440px);
    width: 40px;
  }

  .float-button-block {
    justify-content: center;
    padding: 0;
    box-shadow: none;
  }

  .float-button-block .appInfo-block .appInfo-heading {
    display: none;
  }

  .float-store-link-block>.section:has(.sofybe-btn-link) {
    display: block;
  }

  .float-area .appInfo-block {
    display: none;
  }

  .float-store-link-block>.section {
    display: none;
  }

  .sofybe-btn-link.uc-mod-btn-01 a {
    width: 100%;
    min-width: 221px;

    /* filter: drop-shadow(0 5px 10px rgba(0, 0, 0, 0.12)); */
    max-width: 358px;
    padding: 13.6px 65px 13.6px 38.21px;
    margin: 0;
    font-size: 1.4rem;
    line-height: 2;
    border-radius: 13px;
    box-shadow: 0 5px 10px rgb(0 0 0 / 12%);
  }
}

/* 汎用 */

._mb-08 {
  margin-bottom: 8px;
}

._mb-20 {
  margin-bottom: 20px;
}

._mb-24 {
  margin-bottom: 24px;
}

._mb-30 {
  margin-bottom: 30px;
}

._mb-40 {
  margin-bottom: 40px;
}

._mb-48 {
  margin-bottom: 48px;
}

._pt-20 {
  padding-top: 20px;
}

._pt-96 {
  padding-top: 96px;
}

._pb-00 {
  padding-bottom: 0;
}

._pb-40 {
  padding-bottom: 40px;
}

._pb-96 {
  padding-bottom: 96px;
}

._pb-224 {
  padding-bottom: 224px;
}

._inner {
  padding-inline: 40px;
}

._text-center>* {
  text-align: center;
}

._text-right>* {
  text-align: right;
}

._text-left>* {
  text-align: left;
}

@media screen and (min-width: 768px) {
  ._pc-none {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  ._sp-none {
    display: none;
  }

  ._mb-04-sp {
    margin-bottom: 4px;
  }

  ._mb-16-sp {
    margin-bottom: 16px;
  }

  ._mb-20-sp {
    margin-bottom: 20px;
  }

  ._mb-30-sp {
    margin-bottom: 40px;
  }

  ._mb-40-sp {
    margin-bottom: 40px;
  }

  ._mb-50-sp {
    margin-bottom: 50px;
  }

  ._pt-35-sp {
    padding-top: 35px;
  }

  ._pt-40-sp {
    padding-top: 40px;
  }

  ._pb-20-sp {
    padding-bottom: 20px;
  }

  ._pb-40-sp {
    padding-bottom: 40px;
  }

  ._pb-80-sp {
    padding-bottom: 80px;
  }

  ._pb-120-sp {
    padding-bottom: 120px;
  }

  ._text-left-sp>* {
    text-align: left;
  }

  ._text-center-sp>* {
    text-align: center;
  }

  ._inner {
    padding-inline: 27.5px;
  }

  ._text-center-sp>* {
    text-align: center;
  }

  ._text-right-sp>* {
    text-align: right;
  }

  ._text-left-sp>* {
    text-align: left;
  }
}