@charset "UTF-8";

.top-link-wrapper .top-link-container {
  margin: 80px auto 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

@media screen and (max-width: 768px) {
  .top-link-wrapper .top-link-container {
    margin: 64px auto 0;
  }
}

.top-link-wrapper .top-link-container a {
  font-size: 1.25rem;
  color: #fff;
  padding: 15px 22px 15px 33.6px;
  background-color: #1b5fab;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 11px;
  line-height: calc(0.25rem + 1em + 0.25rem) !important;
  box-sizing: border-box;
}

.top-link-wrapper .top-link-container a svg {
  transition: transform 300ms cubic-bezier(0.05, 0.935, 0.905, 0.875);
}

.top-link-wrapper .top-link-container a:hover {
  opacity: 0.75;
}

.top-link-wrapper .top-link-container a:hover svg {
  transform: translateX(5px);
}

main {
  /*
  「使い方概要」についてはcomponent.css
  */
}

main h2 {
  margin: 0;
}

main .bg-title {
  text-align: center;
  font-size: 2.441rem;
  margin: 80px 0 120px;
  color: #1D4977;
  position: relative;
  z-index: 0;
}

@media screen and (max-width: 768px) {
  main .bg-title {
    font-size: 1.953rem;
  }
}

@media screen and (max-width: 414px) {
  main .bg-title {
    font-size: 1.563rem;
    margin: 64px 0 80px;
  }
}

main .bg-title::before {
  z-index: -1;
  content: attr(title);
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -116%);
  color: #9cc8f2;
  opacity: 0.25;
  font-size: 5.96rem;
}

@media screen and (max-width: 768px) {
  main .bg-title::before {
    font-size: 4.769rem;
  }
}

@media screen and (max-width: 414px) {
  main .bg-title::before {
    font-size: 3.815rem;
  }
}

main .bg-title::after {
  z-index: -1;
  content: "";
  position: absolute;
  left: 50%;
  bottom: 50%;
  transform: translate(-50%, 56px);
  width: 40px;
  height: 3px;
  background-color: #20354D;
}

@media screen and (max-width: 414px) {
  main .bg-title::after {
    transform: translate(-50%, 40px);
  }
}

main .is-cta-section {
  /*
  小要素のスタイルは共通の為、component.cssに記述
  */
  position: relative;
  z-index: 0;
  padding-top: 40px;
}

main .is-cta-section::before {
  z-index: -1;
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  bottom: 0;
  left: 0;
  background: url(/img/isCTAbg.webp) no-repeat center/cover;
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 768px) {
  main .is-cta-section::before {
    background: url(/img/isCTAbg.webp) no-repeat center/250%;
  }
}

main .is-kv-section {
  overflow: hidden;
  position: relative;
  z-index: 0;
  padding: 0 16px;
  background-image: radial-gradient(circle at 40% 57%, #fff 0px, transparent 50%), radial-gradient(circle at 29% 44%, #f5f9ff 0px, transparent 50%), radial-gradient(circle at 50% 25%, #fff 0px, transparent 50%), radial-gradient(circle at 63% 13%, #c5dcf2 0px, transparent 50%), radial-gradient(circle at 71% 53%, #f5f9ff 0px, transparent 50%);
}

@media screen and (max-width: 768px) {
  main .is-kv-section {
    background-image: radial-gradient(circle at 33% 67%, #f5f9ff 0px, transparent 50%), radial-gradient(circle at 96% 63%, #fff 0px, transparent 50%), radial-gradient(circle at 62% 45%, #fff 0px, transparent 50%), radial-gradient(circle at 4% 14%, #fff 0px, transparent 50%), radial-gradient(circle at 19% 22%, #c5dcf2 0px, transparent 50%);
  }
}

main .is-kv-section .aura-container {
  position: absolute;
  right: 0;
  width: 50%;
  height: 400px;
}

@media screen and (max-width: 414px) {
  main .is-kv-section .aura-container {
    display: none;
  }
}

main .is-kv-section .aura-container .aura {
  height: 100%;
  background-image: repeating-linear-gradient(110deg, #fff 0%, #fff 6%, transparent 10%, transparent 12%, #fff 15%), repeating-linear-gradient(110deg, #f5f9ff 10%, #ffeeff 15%, #c5dcf2 20%, #ffeeff 25%, #f5f9ff 30%);
  background-size: 300%, 200%;
  background-position: 50% 50%;
  filter: blur(10px) invert(100%);
  -webkit-mask-image: radial-gradient(ellipse at 100% 25%, black 40%, transparent 70%);
  mask-image: radial-gradient(ellipse at 100% 25%, black 40%, transparent 70%);
}

main .is-kv-section .aura-container .aura::after {
  height: 100%;
  content: "";
  position: absolute;
  inset: 0;
  background-image: repeating-linear-gradient(110deg, #fff 0%, #fff 6%, transparent 10%, transparent 12%, #fff 15%), repeating-linear-gradient(110deg, #c5dcf2 10%, #ffeeff 15%, #c5dcf2 20%, #ffeeff 25%);
  background-size: 200%, 100%;
  animation: aura 50s linear infinite;
  mix-blend-mode: difference;
}

@keyframes aura {
  from {
    background-position: 50% 50%;
  }

  to {
    background-position: 350% 50%;
  }
}

main .is-kv-section .is-kv-wrapper {
  position: relative;
  z-index: 0;
}

main .is-kv-section .is-kv-wrapper::before {
  z-index: -1;
  position: absolute;
  content: url(/img/isBGpc.webp);
  top: 0;
  right: 0;
  transform: translate(45%, -44%) scale(0.25);
}

@media screen and (max-width: 1440px) {
  main .is-kv-section .is-kv-wrapper::before {
    transform: translate(47.5%, -44%) scale(0.25);
  }
}

@media screen and (max-width: 1124px) {
  main .is-kv-section .is-kv-wrapper::before {
    transform: translate(50%, -44%) scale(0.25);
  }
}

@media screen and (max-width: 768px) {
  main .is-kv-section .is-kv-wrapper::before {
    transform: translate(50%, -32%) scale(0.5);
    content: url(/img/isBGsp.webp);
  }
}

@media screen and (max-width: 414px) {
  main .is-kv-section .is-kv-wrapper::before {
    transform: translate(50%, -36%) scale(0.4);
    content: url(/img/isBGsp.webp);
  }
}

main .is-kv-section .is-kv-wrapper .is-kv-container {
  max-width: 1440px;
  margin: 80px auto 40px;
  display: flex;
  flex-direction: row;
}

@media screen and (max-width: 768px) {
  main .is-kv-section .is-kv-wrapper .is-kv-container {
    flex-direction: column;
    gap: 40px;
    margin: 40px auto 16px;
  }
}

main .is-kv-section .is-kv-wrapper .is-kv-container .is-kv-containerL {
  width: 50%;
  display: flex;
  justify-content: right;
}

@media screen and (max-width: 768px) {
  main .is-kv-section .is-kv-wrapper .is-kv-container .is-kv-containerL {
    justify-content: center;
    width: 100%;
  }
}

main .is-kv-section .is-kv-wrapper .is-kv-container .is-kv-containerL .is-typo-container {
  display: flex;
  flex-direction: column;
  gap: 40px;
  margin-right: 24px;
}

@media screen and (max-width: 1124px) {
  main .is-kv-section .is-kv-wrapper .is-kv-container .is-kv-containerL .is-typo-container {
    margin-right: 16px;
  }
}

@media screen and (max-width: 768px) {
  main .is-kv-section .is-kv-wrapper .is-kv-container .is-kv-containerL .is-typo-container {
    margin-right: 0;
  }
}

main .is-kv-section .is-kv-wrapper .is-kv-container .is-kv-containerL .is-typo-container h1 {
  display: flex;
  flex-direction: column;
  font-size: clamp(1.563rem, 0.568rem + 2.07vw, 3.052rem);
  color: #20354D;
}

@media screen and (max-width: 768px) {
  main .is-kv-section .is-kv-wrapper .is-kv-container .is-kv-containerL .is-typo-container h1 {
    font-size: 1.563rem;
  }
}

@media screen and (max-width: 414px) {
  main .is-kv-section .is-kv-wrapper .is-kv-container .is-kv-containerL .is-typo-container h1 {
    font-size: clamp(1.25rem, 0.184rem + 5.33vw, 1.563rem);
  }
}

main .is-kv-section .is-kv-wrapper .is-kv-container .is-kv-containerL .is-typo-container h1 span:first-child {
  line-height: 1.6 !important;
}

main .is-kv-section .is-kv-wrapper .is-kv-container .is-kv-containerL .is-typo-container h1 span:first-child b {
  position: relative;
  font-weight: 700;
}

main .is-kv-section .is-kv-wrapper .is-kv-container .is-kv-containerL .is-typo-container h1 span:first-child b::before {
  position: absolute;
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 100%;
  top: 0;
  left: 50%;
  transform: translate(-50%, -200%);
  background-color: #06284d;
}

@media screen and (max-width: 960px) {
  main .is-kv-section .is-kv-wrapper .is-kv-container .is-kv-containerL .is-typo-container h1 span:first-child b::before {
    width: 4px;
    height: 4px;
  }
}

main .is-kv-section .is-kv-wrapper .is-kv-container .is-kv-containerL .is-typo-container h1 span:last-child {
  margin-top: 20px;
  position: relative;
  /* background-color: #FF7621; */
}

main .is-kv-section .is-kv-wrapper .is-kv-container .is-kv-containerL .is-typo-container h1 span:last-child:before {
  position: absolute;
  content: "アイビスストレージ";
  top: 0;
  left: 158px;
  transform: translate(0%, -55%);
  font-size: 1.2rem;
}

main .is-kv-section .is-kv-wrapper .is-kv-container .is-kv-containerL .is-typo-container h1 span:last-child img {
  width: 480px;
}

@media screen and (max-width: 1440px) {
  main .is-kv-section .is-kv-wrapper .is-kv-container .is-kv-containerL .is-typo-container h1 span:last-child:before {
    left: 146px;
  }

  main .is-kv-section .is-kv-wrapper .is-kv-container .is-kv-containerL .is-typo-container h1 span:last-child img {
    max-width: 440px;
  }
}

@media screen and (max-width: 1280px) {
  main .is-kv-section .is-kv-wrapper .is-kv-container .is-kv-containerL .is-typo-container h1 span:last-child:before {
    left: 132px;
  }

  main .is-kv-section .is-kv-wrapper .is-kv-container .is-kv-containerL .is-typo-container h1 span:last-child img {
    max-width: 400px;
  }
}

@media screen and (max-width: 1124px) {
  main .is-kv-section .is-kv-wrapper .is-kv-container .is-kv-containerL .is-typo-container h1 span:last-child:before {
    left: 110px;
    transform: translate(0%, -58%);
    font-size: 1.0rem;
  }

  main .is-kv-section .is-kv-wrapper .is-kv-container .is-kv-containerL .is-typo-container h1 span:last-child img {
    max-width: 333px;
  }
}

@media screen and (max-width: 768px) {
  main .is-kv-section .is-kv-wrapper .is-kv-container .is-kv-containerL .is-typo-container h1 span:last-child:before {
    left: 99px;
    transform: translate(0%, -58%);
    font-size: 0.8rem;
  }

  main .is-kv-section .is-kv-wrapper .is-kv-container .is-kv-containerL .is-typo-container h1 span:last-child img {
    max-width: 305px;
  }
}

@media screen and (max-width: 414px) {
  main .is-kv-section .is-kv-wrapper .is-kv-container .is-kv-containerL .is-typo-container h1 span:last-child img {
    max-width: 305px;
  }
}

main .is-kv-section .is-kv-wrapper .is-kv-container .is-kv-containerL .kv-acanthus-container {
  display: flex;
  gap: 24px;
  margin-top: 24px;
}

@media screen and (max-width: 1124px) {
  main .is-kv-section .is-kv-wrapper .is-kv-container .is-kv-containerL .kv-acanthus-container {
    gap: 16px;
    margin-top: 8px;
  }
}

@media screen and (max-width: 768px) {
  main .is-kv-section .is-kv-wrapper .is-kv-container .is-kv-containerL .kv-acanthus-container {
    justify-content: center;
  }
}

main .is-kv-section .is-kv-wrapper .is-kv-container .is-kv-containerL .kv-acanthus-container .kv-acanthus-detail {
  text-align: center;
  position: relative;
  width: 192px;
}

@media screen and (max-width: 1124px) {
  main .is-kv-section .is-kv-wrapper .is-kv-container .is-kv-containerL .kv-acanthus-container .kv-acanthus-detail {
    width: 160px;
  }
}

@media screen and (max-width: 768px) {
  main .is-kv-section .is-kv-wrapper .is-kv-container .is-kv-containerL .kv-acanthus-container .kv-acanthus-detail {
    width: 144px;
  }
}

main .is-kv-section .is-kv-wrapper .is-kv-container .is-kv-containerL .kv-acanthus-container .kv-acanthus-detail img {
  width: inherit;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

main .is-kv-section .is-kv-wrapper .is-kv-container .is-kv-containerL .kv-acanthus-container .kv-acanthus-detail span {
  width: inherit;
  font-size: 1.563rem;
  font-weight: 700;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -56%);
  line-height: 1.25;
}

@media screen and (max-width: 1124px) {
  main .is-kv-section .is-kv-wrapper .is-kv-container .is-kv-containerL .kv-acanthus-container .kv-acanthus-detail span {
    font-size: 1.25rem;
  }
}

main .is-kv-section .is-kv-wrapper .is-kv-container .is-kv-containerR {
  width: 50%;
}

@media screen and (max-width: 768px) {
  main .is-kv-section .is-kv-wrapper .is-kv-container .is-kv-containerR {
    width: 100%;
    display: flex;
  }
}

main .is-kv-section .is-kv-wrapper .is-kv-container .is-kv-containerR img {
  width: 100%;
}

@media screen and (max-width: 768px) {
  main .is-kv-section .is-kv-wrapper .is-kv-container .is-kv-containerR img {
    max-width: 400px;
    margin: auto;
  }
}

@media screen and (max-width: 768px) {
  main .is-kv-section .is-kv-wrapper .is-cta-wrapper {
    padding: 0 !important;
  }
}

@media screen and (max-width: 768px) {
  main .is-kv-section .is-kv-wrapper .is-cta-wrapper .is-cta-container {
    padding: 16px 0 40px !important;
  }
}

main .is-kv-section .is-hw-wrapper {
  padding: 0 40px 40px;
}

@media screen and (max-width: 768px) {
  main .is-kv-section .is-hw-wrapper {
    padding: 0 0 16px;
  }
}

main .is-kv-section .is-hw-wrapper .is-hw-container {
  display: flex;
  gap: 16px;
  max-width: 880px;
  margin: 80px auto;
  padding: 64px 40px 40px;
  background-image: linear-gradient(to bottom, #fff 49.9%, #f2f1f8 50%);
  box-shadow: rgba(60, 64, 67, 0.3) 1px 1px 2px 0px, rgba(60, 64, 67, 0.15) 1px 1px 3px 1px;
  position: relative;
}

@media screen and (max-width: 1124px) {
  main .is-kv-section .is-hw-wrapper .is-hw-container {
    padding: 56px 40px 40px;
  }
}

@media screen and (max-width: 768px) {
  main .is-kv-section .is-hw-wrapper .is-hw-container {
    gap: 8px;
    padding: 16px 40px 40px;
    flex-direction: column;
    background-image: linear-gradient(to bottom, #fff 39.9%, #f9f8fc 40%);
  }
}

@media screen and (max-width: 414px) {
  main .is-kv-section .is-hw-wrapper .is-hw-container {
    padding: 16px 16px 32px;
    margin: 40px auto;
  }
}

main .is-kv-section .is-hw-wrapper .is-hw-container h2 {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 3.052rem;
  width: 100%;
  text-align: center;
  color: #20354D;
}

@media screen and (max-width: 1124px) {
  main .is-kv-section .is-hw-wrapper .is-hw-container h2 {
    font-size: 2.441rem;
  }
}

@media screen and (max-width: 414px) {
  main .is-kv-section .is-hw-wrapper .is-hw-container h2 {
    font-size: 1.953rem;
  }
}

main .is-kv-section .is-hw-wrapper .is-hw-container .is-hw-containerL {
  width: 50%;
}

@media screen and (max-width: 768px) {
  main .is-kv-section .is-hw-wrapper .is-hw-container .is-hw-containerL {
    width: 100%;
  }
}

main .is-kv-section .is-hw-wrapper .is-hw-container .is-hw-containerL .is-hw-image {
  display: flex;
  align-items: center;
  justify-content: center;
}

main .is-kv-section .is-hw-wrapper .is-hw-container .is-hw-containerL img {
  width: 80%;
  transform: translateY(24px);
}

@media screen and (max-width: 1124px) {
  main .is-kv-section .is-hw-wrapper .is-hw-container .is-hw-containerL img {
    max-width: 320px;
    transform: translateY(16px);
  }
}

@media screen and (max-width: 768px) {
  main .is-kv-section .is-hw-wrapper .is-hw-container .is-hw-containerL img {
    transform: translateY(32px);
  }
}

main .is-kv-section .is-hw-wrapper .is-hw-container .is-hw-containerR {
  width: 50%;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

@media screen and (max-width: 768px) {
  main .is-kv-section .is-hw-wrapper .is-hw-container .is-hw-containerR {
    width: 100%;
  }
}

main .is-kv-section .is-hw-wrapper .is-hw-container .is-hw-containerR h3 {
  font-size: 1.563rem;
  color: #20354D;
}

@media screen and (max-width: 1124px) {
  main .is-kv-section .is-hw-wrapper .is-hw-container .is-hw-containerR h3 {
    font-size: 1.25rem;
  }
}

main .is-kv-section .is-hw-wrapper .is-hw-container .is-hw-containerR h3 span {
  word-break: keep-all;
}

main .is-kv-section .is-hw-wrapper .is-hw-container .is-hw-containerR p {
  font-size: 1.25rem;
  color: #06284d;
}

@media screen and (max-width: 1124px) {
  main .is-kv-section .is-hw-wrapper .is-hw-container .is-hw-containerR p {
    font-size: 1rem;
  }
}

@media screen and (max-width: 414px) {
  main .is-kv-section .is-hw-wrapper .is-hw-container .is-hw-containerR p {
    font-size: 0.8rem;
  }
}

main .is-reason-section {
  padding: 0 40px 40px;
}

@media screen and (max-width: 768px) {
  main .is-reason-section {
    padding: 0 16px 40px;
  }
}

main .is-reason-section .is-reason-wrapper .is-reason-container {
  max-width: 1124px;
  margin: 40px auto 0;
  display: flex;
  flex-direction: column;
  gap: 160px;
}

@media screen and (max-width: 1440px) {
  main .is-reason-section .is-reason-wrapper .is-reason-container {
    max-width: 1124px;
  }
}

@media screen and (max-width: 960px) {
  main .is-reason-section .is-reason-wrapper .is-reason-container {
    gap: 120px;
  }
}

@media screen and (max-width: 768px) {
  main .is-reason-section .is-reason-wrapper .is-reason-container {
    gap: 160px;
    padding-bottom: 40px;
  }
}

@media screen and (max-width: 414px) {
  main .is-reason-section .is-reason-wrapper .is-reason-container {
    gap: 120px;
  }
}

main .is-reason-section .is-reason-wrapper .is-reason-container .reason-flex-wrapper {
  position: relative;
  z-index: 0;
}

main .is-reason-section .is-reason-wrapper .is-reason-container .reason-flex-wrapper .reason-point {
  z-index: -1;
  position: absolute;
  top: 0;
  font-size: 5.96rem;
  font-weight: 700;
  color: #9cc8f2;
  opacity: 0.25;
}

@media screen and (max-width: 1124px) {
  main .is-reason-section .is-reason-wrapper .is-reason-container .reason-flex-wrapper .reason-point {
    font-size: 4.769rem;
  }
}

@media screen and (max-width: 768px) {
  main .is-reason-section .is-reason-wrapper .is-reason-container .reason-flex-wrapper .reason-point {
    z-index: 1;
  }
}

@media screen and (max-width: 414px) {
  main .is-reason-section .is-reason-wrapper .is-reason-container .reason-flex-wrapper .reason-point {
    font-size: 3.815rem;
  }
}

main .is-reason-section .is-reason-wrapper .is-reason-container .reason-flex-wrapper .reason-point span {
  font-size: 7.45rem;
}

@media screen and (max-width: 1124px) {
  main .is-reason-section .is-reason-wrapper .is-reason-container .reason-flex-wrapper .reason-point span {
    font-size: 5.96rem;
  }
}

@media screen and (max-width: 414px) {
  main .is-reason-section .is-reason-wrapper .is-reason-container .reason-flex-wrapper .reason-point span {
    font-size: 4.769rem;
  }
}

main .is-reason-section .is-reason-wrapper .is-reason-container .reason-flex-wrapper .Point1,
main .is-reason-section .is-reason-wrapper .is-reason-container .reason-flex-wrapper .Point3 {
  left: 0;
  transform: translate(0px, -62.5%);
}

@media screen and (max-width: 1280px) {

  main .is-reason-section .is-reason-wrapper .is-reason-container .reason-flex-wrapper .Point1,
  main .is-reason-section .is-reason-wrapper .is-reason-container .reason-flex-wrapper .Point3 {
    transform: translate(-24px, -62.5%);
  }
}

@media screen and (max-width: 768px) {

  main .is-reason-section .is-reason-wrapper .is-reason-container .reason-flex-wrapper .Point1,
  main .is-reason-section .is-reason-wrapper .is-reason-container .reason-flex-wrapper .Point3 {
    transform: translate(-20px, -62.5%);
  }
}

main .is-reason-section .is-reason-wrapper .is-reason-container .reason-flex-wrapper .Point2,
main .is-reason-section .is-reason-wrapper .is-reason-container .reason-flex-wrapper .Point4 {
  left: 50%;
  transform: translate(16px, -62.5%);
}

@media screen and (max-width: 1280px) {

  main .is-reason-section .is-reason-wrapper .is-reason-container .reason-flex-wrapper .Point2,
  main .is-reason-section .is-reason-wrapper .is-reason-container .reason-flex-wrapper .Point4 {
    transform: translate(-8px, -62.5%);
  }
}

@media screen and (max-width: 768px) {

  main .is-reason-section .is-reason-wrapper .is-reason-container .reason-flex-wrapper .Point2,
  main .is-reason-section .is-reason-wrapper .is-reason-container .reason-flex-wrapper .Point4 {
    left: 0;
    transform: translate(-20px, -62.5%);
  }
}

main .is-reason-section .is-reason-wrapper .is-reason-container .reason-flex-wrapper .reason-flex-container {
  display: flex;
  flex-direction: row;
  gap: 40px;
  align-items: flex-start;
}

@media screen and (max-width: 1280px) {
  main .is-reason-section .is-reason-wrapper .is-reason-container .reason-flex-wrapper .reason-flex-container {
    gap: 40px;
  }
}

@media screen and (max-width: 768px) {
  main .is-reason-section .is-reason-wrapper .is-reason-container .reason-flex-wrapper .reason-flex-container {
    flex-direction: column;
    gap: 16px;
  }
}

main .is-reason-section .is-reason-wrapper .is-reason-container .reason-flex-wrapper .reason-flex-container .is-reason-img {
  width: 50%;
  display: flex;
  margin-top: 0;
}

@media screen and (max-width: 768px) {
  main .is-reason-section .is-reason-wrapper .is-reason-container .reason-flex-wrapper .reason-flex-container .is-reason-img {
    width: 100%;
  }
}

main .is-reason-section .is-reason-wrapper .is-reason-container .reason-flex-wrapper .reason-flex-container .is-reason-img img {
  width: 100%;
}

main .is-reason-section .is-reason-wrapper .is-reason-container .reason-flex-wrapper .reason-flex-container .is-reason-detail {
  width: calc(50% - 80px);
  display: flex;
  flex-direction: column;
  gap: 32px;
  margin: 0 40px;
  position: relative;
}

@media screen and (max-width: 1280px) {
  main .is-reason-section .is-reason-wrapper .is-reason-container .reason-flex-wrapper .reason-flex-container .is-reason-detail {
    width: 50%;
    margin: 0;
  }
}

@media screen and (max-width: 768px) {
  main .is-reason-section .is-reason-wrapper .is-reason-container .reason-flex-wrapper .reason-flex-container .is-reason-detail {
    width: 100%;
    gap: 16px;
  }
}

main .is-reason-section .is-reason-wrapper .is-reason-container .reason-flex-wrapper .reason-flex-container .is-reason-detail::after {
  display: none;
}

@media screen and (max-width: 768px) {
  main .is-reason-section .is-reason-wrapper .is-reason-container .reason-flex-wrapper .reason-flex-container .is-reason-detail::after {
    display: block;
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    transform: translate(0, 32px);
    width: calc(100% + 16px);
    height: 2px;
    background-color: #9cc8f2;
  }
}

main .is-reason-section .is-reason-wrapper .is-reason-container .reason-flex-wrapper .reason-flex-container .is-reason-detail h3 {
  font-size: 1.563rem;
  position: relative;
  color: #20354D;
  line-height: 1.6 !important;
}

@media screen and (max-width: 1124px) {
  main .is-reason-section .is-reason-wrapper .is-reason-container .reason-flex-wrapper .reason-flex-container .is-reason-detail h3 {
    font-size: 1.563rem;
  }
}

@media screen and (max-width: 960px) {
  main .is-reason-section .is-reason-wrapper .is-reason-container .reason-flex-wrapper .reason-flex-container .is-reason-detail h3 {
    font-size: 1.25rem;
  }
}

@media screen and (max-width: 768px) {
  main .is-reason-section .is-reason-wrapper .is-reason-container .reason-flex-wrapper .reason-flex-container .is-reason-detail h3 {
    font-size: 1.563rem;
  }
}

@media screen and (max-width: 414px) {
  main .is-reason-section .is-reason-wrapper .is-reason-container .reason-flex-wrapper .reason-flex-container .is-reason-detail h3 {
    font-size: 1rem;
  }
}

main .is-reason-section .is-reason-wrapper .is-reason-container .reason-flex-wrapper .reason-flex-container .is-reason-detail h3::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  transform: translate(0, 16px);
  width: 133.33%;
  height: 2px;
  background-color: #74b5f1;
}

@media screen and (max-width: 768px) {
  main .is-reason-section .is-reason-wrapper .is-reason-container .reason-flex-wrapper .reason-flex-container .is-reason-detail h3::after {
    display: none;
  }
}

main .is-reason-section .is-reason-wrapper .is-reason-container .reason-flex-wrapper .reason-flex-container .is-reason-detail p,
main .is-reason-section .is-reason-wrapper .is-reason-container .reason-flex-wrapper .reason-flex-container .is-reason-detail ul {
  font-size: 1.25rem;
}

@media screen and (max-width: 1124px) {

  main .is-reason-section .is-reason-wrapper .is-reason-container .reason-flex-wrapper .reason-flex-container .is-reason-detail p,
  main .is-reason-section .is-reason-wrapper .is-reason-container .reason-flex-wrapper .reason-flex-container .is-reason-detail ul {
    font-size: 1rem;
  }
}

@media screen and (max-width: 960px) {

  main .is-reason-section .is-reason-wrapper .is-reason-container .reason-flex-wrapper .reason-flex-container .is-reason-detail p,
  main .is-reason-section .is-reason-wrapper .is-reason-container .reason-flex-wrapper .reason-flex-container .is-reason-detail ul {
    font-size: 0.8rem;
  }
}

@media screen and (max-width: 768px) {

  main .is-reason-section .is-reason-wrapper .is-reason-container .reason-flex-wrapper .reason-flex-container .is-reason-detail p,
  main .is-reason-section .is-reason-wrapper .is-reason-container .reason-flex-wrapper .reason-flex-container .is-reason-detail ul {
    font-size: 1rem;
  }
}

@media screen and (max-width: 414px) {

  main .is-reason-section .is-reason-wrapper .is-reason-container .reason-flex-wrapper .reason-flex-container .is-reason-detail p,
  main .is-reason-section .is-reason-wrapper .is-reason-container .reason-flex-wrapper .reason-flex-container .is-reason-detail ul {
    font-size: 0.8rem;
  }
}

main .is-reason-section .is-reason-wrapper .is-reason-container .reason-flex-wrapper .reason-flex-container .is-reason-detail ul li {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 4px;
}

main .is-reason-section .is-reason-wrapper .is-reason-container .reason-flex-wrapper .reason-flex-container .is-reason-detail ul li img {
  width: 24px;
}

@media screen and (max-width: 414px) {
  main .is-reason-section .is-reason-wrapper .is-reason-container .reason-flex-wrapper .reason-flex-container .is-reason-detail ul li img {
    width: 16px;
  }
}

main .is-reason-section .is-reason-wrapper .is-reason-container .reason-flex-wrapper .reverse {
  flex-direction: row-reverse;
}

@media screen and (max-width: 768px) {
  main .is-reason-section .is-reason-wrapper .is-reason-container .reason-flex-wrapper .reverse {
    flex-direction: column;
  }
}

main .is-reason-section .is-reason-wrapper .is-reason-container .reason-flex-wrapper .reverse .is-reason-detail::after {
  display: none;
}

@media screen and (max-width: 768px) {
  main .is-reason-section .is-reason-wrapper .is-reason-container .reason-flex-wrapper .reverse .is-reason-detail::after {
    display: block;
    left: -16px;
  }
}

main .is-reason-section .is-reason-wrapper .is-reason-container .reason-flex-wrapper .reverse .is-reason-detail h3::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  transform: translate(0, 16px);
  width: 133.33%;
  height: 2px;
  background-color: #74b5f1;
}

@media screen and (max-width: 768px) {
  main .is-reason-section .is-reason-wrapper .is-reason-container .reason-flex-wrapper .reverse .is-reason-detail h3::after {
    display: none;
  }
}

main .is-top-function {
  padding: 80px 40px 120px;
}

@media screen and (max-width: 768px) {
  main .is-top-function {
    padding: 80px 16px 120px;
  }
}

@media screen and (max-width: 414px) {
  main .is-top-function {
    padding: 40px 16px 80px;
  }
}

main .is-top-function .top-function-wrapper {
  max-width: 1124px;
  margin: auto;
}

main .is-top-function .top-function-wrapper .top-function-container ul {
  margin-block-start: 0em;
  margin-block-end: 0em;
  padding-inline-start: 0px;
  list-style-type: none;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 80px;
}

@media screen and (max-width: 1440px) {
  main .is-top-function .top-function-wrapper .top-function-container ul {
    gap: 40px;
  }
}

@media screen and (max-width: 960px) {
  main .is-top-function .top-function-wrapper .top-function-container ul {
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  }
}

@media screen and (max-width: 414px) {
  main .is-top-function .top-function-wrapper .top-function-container ul {
    grid-template-columns: 1fr;
  }
}

main .is-top-function .top-function-wrapper .top-function-container ul li {
  display: flex;
  flex-direction: column;
  gap: 8px;
  background-color: #fff;
  padding: 16px 32px 40px;
  box-shadow: rgba(60, 64, 67, 0.3) 1px 1px 2px 0px, rgba(60, 64, 67, 0.15) 1px 1px 3px 1px;
}

@media screen and (max-width: 414px) {
  main .is-top-function .top-function-wrapper .top-function-container ul li {
    padding: 16px 40px 40px;
  }
}

main .is-top-function .top-function-wrapper .top-function-container ul li .top-function-img {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 176px;
}

main .is-top-function .top-function-wrapper .top-function-container ul li .top-function-img img {
  width: 128px;
}

main .is-top-function .top-function-wrapper .top-function-container ul li .top-function-detail {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

main .is-top-function .top-function-wrapper .top-function-container ul li .top-function-detail h3 {
  text-align: center;
  font-size: 1.25rem;
  color: #1b5fab;
}

main .is-top-function .top-function-wrapper .top-function-container ul li .top-function-detail p {
  font-size: 1rem;
}

@media screen and (max-width: 414px) {
  main .is-top-function .top-function-wrapper .top-function-container ul li .top-function-detail p {
    font-size: 0.8rem;
  }
}

/* ---------- 料金プラン表 ---------- */
main .is-top-price {
  margin-top: 160px;
  margin-bottom: 40px;
}

@media screen and (max-width: 414px) {
  main .is-top-price {
    margin-top: 80px;
  }
}

main .is-top-price .is-price-wrapper {
  margin-top: -40px;
}

@media screen and (max-width: 768px) {
  main .is-top-price .is-price-wrapper {
    margin-top: 0;
  }
}

@media screen and (max-width: 414px) {
  main .is-top-price .is-price-wrapper {
    margin-top: -24px;
    margin-left: 16px;
    margin-right: 16px;
  }
}

main .is-top-price .is-price-wrapper .is-price-container {
  padding: 0 40px;
  overflow-x: auto;
}

@media screen and (max-width: 768px) {
  main .is-top-price .is-price-wrapper .is-price-container {
    padding: 0 16px;
  }
}

@media screen and (max-width: 414px) {
  main .is-top-price .is-price-wrapper .is-price-container {
    width: auto;
    overflow: initial;
    padding: 0;
  }
}

main .is-top-price .is-price-wrapper .is-price-container .price-table-wrapper {
  max-width: 1280px;
  width: 100%;
  margin: auto;
}

@media screen and (max-width: 414px) {
  main .is-top-price .is-price-wrapper .is-price-container .price-table-wrapper {
    width: auto;
  }
}

main .is-top-price .is-price-wrapper .is-price-container .price-table-wrapper .price-table-container {
  display: flex;
}

@media screen and (max-width: 768px) {
  main .is-top-price .is-price-wrapper .is-price-container .price-table-wrapper .price-table-container {
    flex-direction: column;
    gap: 40px;
  }
}

main .is-top-price .is-price-wrapper .is-price-container .price-table-wrapper .price-table-container table {
  width: auto;
  padding: 16px;
  border: solid 1px #74b5f1;
  background-color: #fff;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  overflow: hidden;
}

main .is-top-price .price-table-wrapper .price-table-container table,
main .is-top-price .price-table-wrapper .price-table-container table thead,
main .is-top-price .price-table-wrapper .price-table-container table tbody {
  box-sizing: border-box;
  min-width: 0;
}

/* 個人向け：3列表示 */
main .is-top-price.individual .is-price-wrapper .is-price-container .price-table-wrapper .price-table-container table {
  flex: 1 1 calc(100%/3);
}

/* 法人向け：2列表示（ユーザー数無制限プランのみ） */
main .is-top-price.business .is-price-wrapper .is-price-container .price-table-wrapper .price-table-container table {
  flex: 1 1 calc(100%/2);
}

/* 左端カードの丸め（個人向け1枚目=free-plan、法人向け1枚目=unlimited-standard-plan） */
main .is-top-price.individual .price-table-wrapper .price-table-container table:nth-child(1),
main .is-top-price.business .price-table-wrapper .price-table-container table:nth-child(2) {
  border-top-left-radius: 16px;
  border-bottom-left-radius: 16px;
}

/* 右端カードの丸め（個人向け=5枚目のenterprise-plan、法人向け=3枚目のunlimited-enterprise-plan） */
main .is-top-price.individual .price-table-wrapper .price-table-container table:nth-child(5),
main .is-top-price.business .price-table-wrapper .price-table-container table:nth-child(3) {
  border-top-right-radius: 16px;
  border-bottom-right-radius: 16px;
}

/* 右端以外のカードは右ボーダーを消し、隣接カードとの二重線を防ぐ */
main .is-top-price.individual .price-table-wrapper .price-table-container table:nth-child(1),
main .is-top-price.individual .price-table-wrapper .price-table-container table:nth-child(4),
main .is-top-price.business .price-table-wrapper .price-table-container table:nth-child(2) {
  border-left: 1px solid #74b5f1;
  border-right: none;
}

/* 法人向け：「フリープラン」「ユーザー数ライセンス・スタンダード/エンタープライズプラン」を非表示、ユーザー数無制限プランのみ表示 */
main .is-top-price.business .is-price-wrapper .is-price-container .price-table-wrapper .price-table-container .free-plan,
main .is-top-price.business .is-price-wrapper .is-price-container .price-table-wrapper .price-table-container .standard-plan,
main .is-top-price.business .is-price-wrapper .is-price-container .price-table-wrapper .price-table-container .enterprise-plan {
  display: none;
}

main .is-top-price.business .is-price-wrapper .is-price-container .price-table-wrapper .price-table-container .unlimited-standard-plan,
main .is-top-price.business .is-price-wrapper .is-price-container .price-table-wrapper .price-table-container .unlimited-enterprise-plan {
  display: block;
}

main .is-top-price.business .is-price-wrapper .is-price-container .price-table-wrapper .price-table-container table thead tr {
  height: 214px;
}

/* 個人向け：「フリープラン」「スタンダードプラン」「エンタープライズプラン」表示、「ユーザー数無制限：(スタンダードプラン)」「ユーザー数無制限：(エンタープライズプラン)」非表示 */
main .is-top-price .is-price-wrapper .is-price-container .price-table-wrapper .price-table-container .free-plan,
main .is-top-price .is-price-wrapper .is-price-container .price-table-wrapper .price-table-container .standard-plan,
main .is-top-price .is-price-wrapper .is-price-container .price-table-wrapper .price-table-container .enterprise-plan {
  display: block;
}

main .is-top-price .is-price-wrapper .is-price-container .price-table-wrapper .price-table-container .unlimited-standard-plan,
main .is-top-price .is-price-wrapper .is-price-container .price-table-wrapper .price-table-container .unlimited-enterprise-plan {
  display: none;
}

main .is-top-price .is-price-wrapper .is-price-container .price-table-wrapper .price-table-container table thead tr {
  height: 186px;
}

/* 個人向け3列が狭くなる範囲：価格が折り返して固定高さを超えるため、この範囲だけヘッダー高さを広げる（全カード同じ高さで揃える） */
@media screen and (min-width: 769px) and (max-width: 880px) {
  main .is-top-price.individual .is-price-wrapper .is-price-container .price-table-wrapper .price-table-container table thead tr {
    height: 216px;
  }
}

@media screen and (max-width: 768px) {
  main .is-top-price .is-price-wrapper .is-price-container .price-table-wrapper .price-table-container table {
    width: 100%;
    height: auto;
    border-radius: 16px;
    border-right: 1px solid #74b5f1;
    flex: 0 0 auto;
  }
}

main .is-top-price .is-price-wrapper .is-price-container .price-table-wrapper .price-table-container table thead {
  color: #06284d;
  width: 100%;
  display: block;
}

main .is-top-price .is-price-wrapper .is-price-container .price-table-wrapper .price-table-container table thead tr {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  margin-top: 16px;
  border-bottom: 2px solid #74b5f1;
}

main .is-top-price .is-price-wrapper .is-price-container .price-table-wrapper .price-table-container table thead tr th {
  font-size: 1.25rem;
  line-height: 1.85rem;
  color: #20354D;
}

main .is-top-price .is-price-wrapper .is-price-container .price-table-wrapper .price-table-container table thead tr th span {
  font-size: 1.0rem;
  font-weight: normal;
}

main .is-top-price .is-price-wrapper .is-price-container .price-table-wrapper .price-table-container table thead tr td ul {
  list-style-type: none;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

main .is-top-price .is-price-wrapper .is-price-container .price-table-wrapper .price-table-container table thead tr td ul li:first-child {
  font-size: 1rem;
}

main .is-top-price .is-price-wrapper .is-price-container .price-table-wrapper .price-table-container table thead tr td ul li:first-child span {
  font-size: 2.441rem;
  font-weight: 700;
  color: #74b5f1;
}

main .is-top-price .is-price-wrapper .is-price-container .price-table-wrapper .price-table-container table thead tr td ul li:last-child {
  font-size: 1rem;
}

main .is-top-price .is-price-wrapper .is-price-container .price-table-wrapper .price-table-container table thead tr td ul li:last-child span {
  font-size: 2.441rem;
  font-weight: 700;
  color: #FF7621;
}

main .is-top-price .is-price-wrapper .is-price-container .price-table-wrapper .price-table-container table thead tr td ul li:last-child span.taxType {
  font-size: 0.8rem;
  font-weight: 400;
  color: #20354D;
}

main .is-top-price .is-price-wrapper .is-price-container .price-table-wrapper .price-table-container table tbody {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-top: 16px;
}

main .is-top-price .is-price-wrapper .is-price-container .price-table-wrapper .price-table-container table tbody tr:not(:last-child) {
  display: grid;
  grid-template-columns: 108px 1fr;
  align-items: center;
  height: 56px;
  padding: 0 8px;
}

main .is-top-price.business .is-price-wrapper .is-price-container .price-table-wrapper .price-table-container table tbody tr:not(:last-child) {
  grid-template-columns: 40% 1fr;
}

@media screen and (max-width: 414px) {
  main .is-top-price.business .is-price-wrapper .is-price-container .price-table-wrapper .price-table-container table tbody tr:not(:last-child) {
    grid-template-columns: 108px 1fr;
  }
}

main .is-top-price .is-price-wrapper .is-price-container .price-table-wrapper .price-table-container table tbody tr:not(:last-child) td {
  font-size: 0.8rem;
  text-align: center;
  display: flex;
  justify-content: center;
}

@media screen and (max-width: 414px) {
  main .is-top-price .is-price-wrapper .is-price-container .price-table-wrapper .price-table-container table tbody tr:not(:last-child) td {
    flex-direction: column;
  }
}

main .is-top-price .is-price-wrapper .is-price-container .price-table-wrapper .price-table-container table tbody tr:not(:last-child) td span b {
  font-size: 1.25rem;
  font-weight: 700;
  color: #1b5fab;
}

main .is-top-price .is-price-wrapper .is-price-container .price-table-wrapper .price-table-container table tbody tr:not(:last-child) td .emphasis {
  font-size: 1rem;
  -webkit-text-stroke: 1px #06284d;
}

main .is-top-price .is-price-wrapper .is-price-container .price-table-wrapper .price-table-container table tbody tr:not(:last-child) .entp-option {
  display: flex;
  justify-content: center;
}

main .is-top-price .is-price-wrapper .is-price-container .price-table-wrapper .price-table-container table tbody tr:not(:last-child) .entp-option b {
  font-size: 0.8rem;
  font-weight: 700;
  color: #20354D;
}

main .is-top-price .is-price-wrapper .is-price-container .price-table-wrapper .price-table-container table tbody tr:not(:last-child) .entp-option b::before {
  content: "※";
}

main .is-top-price .is-price-wrapper .is-price-container .price-table-wrapper .price-table-container table tbody tr:not(:last-child) .xmark {
  font-size: 1.563rem;
}

main .is-top-price .is-price-wrapper .is-price-container .price-table-wrapper .price-table-container table tbody tr:first-child br {
  display: none;
}

@media screen and (max-width: 414px) {
  main .is-top-price .is-price-wrapper .is-price-container .price-table-wrapper .price-table-container table tbody tr:first-child br {
    display: block;
  }
}

main .is-top-price .is-price-wrapper .is-price-container .price-table-wrapper .price-table-container table tbody tr:last-child {
  display: flex;
  align-items: start;
  font-size: 1rem;
  text-align: left;
  padding: 24px 0px;
  border-top: 2px solid #74b5f1;
}

main .is-top-price .is-price-wrapper .is-price-container .price-table-wrapper .price-table-container table tbody tr:last-child td {
  line-height: 1.7em;
}

@media screen and (max-width: 414px) {
  main .is-top-price .is-price-wrapper .is-price-container .price-table-wrapper .price-table-container table tbody tr:last-child,
  main .is-top-price .is-price-wrapper .is-price-container .price-table-wrapper .price-table-container table tbody tr:last-child td span,
  main .is-top-price .is-price-wrapper .is-price-container .price-table-wrapper .price-table-container table tbody tr:last-child td a {
    font-size: 0.8rem;
  }
}

main .is-top-price .is-price-wrapper .is-price-container .price-table-wrapper .price-table-container table tbody tr:last-child td span {
  font-weight: 700;
  color: #20354D;
}

main .is-top-price .is-price-wrapper .is-price-container .price-table-wrapper .price-table-container table tbody tr:last-child td a {
  color: #1d90fc;
}

main .is-top-price .is-price-wrapper .is-price-container .price-table-wrapper .price-table-container table tbody tr:last-child td a:hover {
  opacity: 0.75;
}

main .is-top-price .is-price-wrapper .is-price-container .price-table-wrapper .price-table-container table tbody tr:nth-child(even):not(:last-child) {
  background-color: #f5f9ff;
}

main .is-top-price .is-price-wrapper .is-price-container .price-table-wrapper .price-table-container table tbody tr th {
  font-size: 1rem;
  text-align: left;
  font-weight: 400;
  color: #1D4977;
}

@media screen and (max-width: 414px) {
  main .is-top-price .is-price-wrapper .is-price-container .price-table-wrapper .price-table-container table tbody tr th {
    font-size: 0.8rem;
  }
}

main .is-top-price .is-price-wrapper .is-price-container .price-table-wrapper .price-table-container table tbody tr td {
  color: #20354D;
}

main .is-top-price .is-price-wrapper .is-price-container .price-table-wrapper .price-table-container table tbody tr td span {
  font-size: 1rem;
}

main .is-top-price .is-price-wrapper .is-price-container .price-table-wrapper .price-table-container table tbody tr td .tooltip {
  /*
  電子帳簿保存データ算出用ツールチップ
  */
  position: relative;
  display: flex;
  justify-content: center;
}

main .is-top-price .is-price-wrapper .is-price-container .price-table-wrapper .price-table-container table tbody tr td .tooltip img {
  width: 12px;
}

main .is-top-price .is-price-wrapper .is-price-container .price-table-wrapper .price-table-container table tbody tr td .tooltip .tooltiptext {
  visibility: hidden;
  width: 325px;
  background-color: #06284d;
  color: #fff;
  text-align: left;
  border-radius: 6px;
  padding: 8px 16px;
  position: absolute;
  z-index: 1;
  bottom: 100%;
  right: 50%;
  margin-right: -60px;
  font-size: 1rem;
}

@media screen and (max-width: 414px) {
  main .is-top-price .is-price-wrapper .is-price-container .price-table-wrapper .price-table-container table tbody tr td .tooltip .tooltiptext {
    margin-right: -106px;
  }
}

main .is-top-price .is-price-wrapper .is-price-container .price-table-wrapper .price-table-container table tbody tr td .tooltip .tooltiptext::after {
  position: absolute;
  content: "";
  bottom: 0;
  right: 12.5%;
  transform: translate(0%, 75%);
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 21.5px solid transparent;
  border-left: 21.5px solid transparent;
  border-top: 12.5px solid #06284d;
  border-bottom: 0;
}

@media screen and (max-width: 414px) {
  main .is-top-price .is-price-wrapper .is-price-container .price-table-wrapper .price-table-container table tbody tr td .tooltip .tooltiptext::after {
    right: 27%;
  }
}

main .is-top-price .is-price-wrapper .is-price-container .price-table-wrapper .price-table-container table tbody tr td .tooltip:hover .tooltiptext {
  visibility: visible;
}

/* 30日間無料トライアルボタン */
main .is-top-price .price-table-wrapper .price-table-container table tbody tr:last-child td {
  width: 100%;
  padding-bottom: 72px;
  position: relative;
}

p.free-trial-btn {
  text-align: center;
  bottom: -4px;
  left: 0;
  width: 100%;
  position: absolute;
}

p.free-trial-btn a {
  color: #ffffff !important;
  font-size: 1.2rem !important;
  font-weight: bold;
  text-decoration: none;
  line-height: 52px;
  height: 52px;
  padding: 0 16px;
  width: 100%;
  max-width: 240px;
  box-sizing: border-box;
  margin: 0 auto;
  display: inline-block;
  white-space: nowrap;
  background-color: #1b5fab;
  border-radius: 26px;
}

@media screen and (max-width: 414px) {
  p.free-trial-btn a {
    width: 100%;
    max-width: none;
  }
}
/* --------- 料金プラン表ここまで --------- */

main .is-flow-section .is-flow-wrapper {
  padding: 40px 40px 80px;
}

@media screen and (max-width: 768px) {
  main .is-flow-section .is-flow-wrapper {
    padding: 40px 16px;
  }
}

@media screen and (max-width: 414px) {
  main .is-flow-section .is-flow-wrapper {
    padding: 24px 16px 40px;
  }
}

main .is-flow-section .is-flow-wrapper .is-flow-container {
  max-width: 1124px;
  margin: auto;
  display: flex;
  gap: 80px;
}

@media screen and (max-width: 1280px) {
  main .is-flow-section .is-flow-wrapper .is-flow-container {
    gap: 40px;
  }
}

@media screen and (max-width: 768px) {
  main .is-flow-section .is-flow-wrapper .is-flow-container {
    flex-direction: column;
  }
}

main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container {
  width: 50%;
  padding: 40px;
  background-color: #f9f8fc;
  border: 1px solid #f2f1f8;
}

@media screen and (max-width: 960px) {
  main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container {
    padding: 40px 16px;
  }
}

@media screen and (max-width: 768px) {
  main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container {
    width: 100%;
  }
}

main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container h3 {
  display: flex;
  justify-content: center;
  margin-bottom: 24px;
  color: #1D4977;
}

main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container h3 span {
  display: flex;
  font-size: 1.563rem;
  position: relative;
}

@media screen and (max-width: 960px) {
  main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container h3 span {
    font-size: 1.25rem;
  }
}

@media screen and (max-width: 768px) {
  main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container h3 span {
    font-size: 1.563rem;
  }
}

@media screen and (max-width: 414px) {
  main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container h3 span {
    font-size: 1.25rem;
  }
}

main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container h3 span::before,
main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container h3 span::after {
  position: absolute;
  content: "";
  top: 50%;
  width: 32px;
  height: 2px;
  background-color: #1D4977;
}

@media screen and (max-width: 960px) {

  main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container h3 span::before,
  main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container h3 span::after {
    width: 24px;
  }
}

@media screen and (max-width: 768px) {

  main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container h3 span::before,
  main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container h3 span::after {
    width: 32px;
  }
}

@media screen and (max-width: 414px) {

  main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container h3 span::before,
  main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container h3 span::after {
    width: 24px;
  }
}

main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container h3 span::before {
  left: 0;
  transform: translate(-40px, -50%) rotate(60deg);
}

@media screen and (max-width: 960px) {
  main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container h3 span::before {
    transform: translate(-32px, -50%) rotate(60deg);
  }
}

@media screen and (max-width: 768px) {
  main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container h3 span::before {
    transform: translate(-40px, -50%) rotate(60deg);
  }
}

@media screen and (max-width: 414px) {
  main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container h3 span::before {
    transform: translate(-32px, -50%) rotate(60deg);
  }
}

main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container h3 span::after {
  right: 0;
  transform: translate(40px, -50%) rotate(-60deg);
}

@media screen and (max-width: 960px) {
  main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container h3 span::after {
    transform: translate(32px, -50%) rotate(-60deg);
  }
}

@media screen and (max-width: 768px) {
  main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container h3 span::after {
    transform: translate(40px, -50%) rotate(-60deg);
  }
}

@media screen and (max-width: 414px) {
  main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container h3 span::after {
    transform: translate(32px, -50%) rotate(-60deg);
  }
}

main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container .flow-detail {
  margin-top: 16px;
  height: 80px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

@media screen and (max-width: 960px) {
  main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container .flow-detail {
    height: 64px;
  }
}

@media screen and (max-width: 768px) {
  main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container .flow-detail {
    height: 80px;
  }
}

@media screen and (max-width: 414px) {
  main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container .flow-detail {
    height: 64px;
  }
}

main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container .flow-detail p {
  font-size: 1.25rem;
  font-weight: 700;
  color: #20354D;
}

@media screen and (max-width: 960px) {
  main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container .flow-detail p {
    font-size: 1rem;
  }
}

@media screen and (max-width: 768px) {
  main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container .flow-detail p {
    font-size: 1.25rem;
  }
}

@media screen and (max-width: 414px) {
  main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container .flow-detail p {
    font-size: 1rem;
  }
}

main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container .flow-detail small {
  font-size: 1rem;
}

@media screen and (max-width: 414px) {
  main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container .flow-detail small {
    font-size: 0.64rem;
  }
}

main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container .flow-step-L {
  position: relative;
  z-index: 0;
}

main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container .flow-step-L li:first-child {
  grid-row: 1;
}

main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container .flow-step-L li:first-child div {
  position: relative;
}

main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container .flow-step-L li:first-child div::before {
  position: absolute;
  bottom: -8px;
  left: 50%;
  transform: translate(-50%, 100%);
  content: "";
  width: 1px;
  height: 234px;
  border-left: 4px dotted #1b5fab;
}

@media screen and (max-width: 960px) {
  main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container .flow-step-L li:first-child div::before {
    height: 200px;
    border-left: 4px dotted #1b5fab;
    bottom: -4px;
  }
}

@media screen and (max-width: 768px) {
  main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container .flow-step-L li:first-child div::before {
    border-left: 5px dotted #1b5fab;
    bottom: -16px;
  }
}

@media screen and (max-width: 414px) {
  main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container .flow-step-L li:first-child div::before {
    border-left: 4px dotted #1b5fab;
    bottom: -4px;
  }
}

main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container .flow-step-L li:first-child span {
  position: relative;
}

main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container .flow-step-L li:first-child span::after {
  position: absolute;
  content: "";
  bottom: 0;
  right: 0;
  width: 100%;
  height: 2px;
  background-color: #1b5fab;
}

main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container .flow-step-L .signup-container {
  grid-row: 2/4;
  justify-content: right;
  align-items: center;
}

main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container .flow-step-L .signup-container div {
  margin-left: 40px;
  margin-right: 40px;
  width: calc(100% - 80px);
  height: 100%;
  position: relative;
  z-index: 0;
}

main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container .flow-step-L .signup-container div span {
  z-index: 0;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -25px);
  display: flex;
  flex-direction: column;
  white-space: nowrap;
}

main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container .flow-step-L .signup-container div span b {
  display: flex;
  color: #74b5f1;
  font-size: 2.441rem;
  text-shadow: 1px 1px 0px #1b5fab;
  line-height: 1.25 !important;
  font-weight: 700;
  position: relative;
}

@media screen and (max-width: 960px) {
  main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container .flow-step-L .signup-container div span b {
    font-size: 1.953rem;
  }
}

@media screen and (max-width: 768px) {
  main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container .flow-step-L .signup-container div span b {
    font-size: 2.441rem;
  }
}

@media screen and (max-width: 414px) {
  main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container .flow-step-L .signup-container div span b {
    font-size: 1.953rem;
  }
}

main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container .flow-step-L .signup-container div span b::after {
  z-index: -1;
  position: absolute;
  content: "";
  bottom: 0;
  left: 0;
  height: 12px;
  background-color: #c5dcf2;
}

main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container .flow-step-L .signup-container div span b:first-child::after {
  width: 75%;
}

main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container .flow-step-L .signup-container div span b:last-child::after {
  width: 100%;
}

main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container .flow-step-L .signup-container div img {
  z-index: -1;
  position: absolute;
  bottom: 0;
  right: 0;
  transform: translate(25px, 25px);
  width: 136px;
}

@media screen and (max-width: 960px) {
  main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container .flow-step-L .signup-container div img {
    width: 120px;
  }
}

@media screen and (max-width: 768px) {
  main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container .flow-step-L .signup-container div img {
    width: 136px;
  }
}

@media screen and (max-width: 414px) {
  main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container .flow-step-L .signup-container div img {
    width: 108px;
  }
}

main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container .flow-step-L li:last-child {
  grid-row: 4;
}

main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container .flow-step-L li:last-child span {
  position: relative;
}

main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container .flow-step-L li:last-child span::after {
  position: absolute;
  content: "";
  bottom: -2px;
  right: 0;
  width: 100%;
  height: 4px;
  border-top: 1px solid #1b5fab;
  border-bottom: 1px solid #1b5fab;
}

main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container .flow-step-R li:not(:last-child) div {
  position: relative;
}

main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container .flow-step-R li:not(:last-child) div::before {
  position: absolute;
  bottom: -8px;
  left: 50%;
  transform: translate(-50%, 100%);
  content: "";
  width: 1px;
  height: 32px;
  border-left: 4px dotted #1b5fab;
}

@media screen and (max-width: 960px) {
  main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container .flow-step-R li:not(:last-child) div::before {
    border-left: 4px dotted #1b5fab;
    bottom: -4px;
    height: 24px;
  }
}

@media screen and (max-width: 768px) {
  main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container .flow-step-R li:not(:last-child) div::before {
    bottom: -8px;
  }
}

@media screen and (max-width: 414px) {
  main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container .flow-step-R li:not(:last-child) div::before {
    border-left: 4px dotted #1b5fab;
    bottom: -4px;
  }
}

main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container .flow-step-R li:not(:last-child) span {
  position: relative;
}

main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container .flow-step-R li:not(:last-child) span::after {
  position: absolute;
  content: "";
  bottom: 0;
  right: 0;
  width: 100%;
  height: 2px;
  background-color: #1b5fab;
}

main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container .flow-step-R li:last-child span {
  position: relative;
}

main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container .flow-step-R li:last-child span::after {
  position: absolute;
  content: "";
  bottom: -2px;
  right: 0;
  width: 100%;
  height: 4px;
  border-top: 1px solid #1b5fab;
  border-bottom: 1px solid #1b5fab;
}

main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container .flow-step {
  background-image: url("data:image/svg+xml;base64,PHN2ZyBpZD0iX+ODrOOCpOODpOODvF8xNSIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMTUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHZpZXdCb3g9IjAgMCAxMDAwIDEwMDAiPgogIDxkZWZzPgogICAgPHN0eWxlPgogICAgICAuY2xzLTEgewogICAgICAgIGZpbGw6IG5vbmU7CiAgICAgIH0KCiAgICAgIC5jbHMtNiB7CiAgICAgICAgY2xpcC1wYXRoOiB1cmwoI2NsaXBwYXRoLTEpOwogICAgICB9CgogICAgICAuY2xzLTcgewogICAgICAgIGNsaXAtcGF0aDogdXJsKCNjbGlwcGF0aC0yKTsKICAgICAgfQoKICAgICAgLmNscy04IHsKICAgICAgICBmaWxsOiB1cmwoI1/lkI3np7DmnKroqK3lrprjgrDjg6njg4fjg7zjgrfjg6fjg7NfMTM1KTsKICAgICAgfQoKICAgICAgLmNscy05IHsKICAgICAgICBjbGlwLXBhdGg6IHVybCgjY2xpcHBhdGgpOwogICAgICB9CgogICAgICAuY2xzLTEwIHsKICAgICAgICBmaWxsOiB1cmwoI1/lkI3np7DmnKroqK3lrprjgrDjg6njg4fjg7zjgrfjg6fjg7NfMzIpOwogICAgICB9CgogICAgICAuY2xzLTExIHsKICAgICAgICBmaWxsOiB1cmwoI1/lkI3np7DmnKroqK3lrprjgrDjg6njg4fjg7zjgrfjg6fjg7NfMjcpOwogICAgICB9CgogICAgICAuY2xzLTEyIHsKICAgICAgICBmaWxsOiB1cmwoI1/lkI3np7DmnKroqK3lrprjgrDjg6njg4fjg7zjgrfjg6fjg7NfMjgpOwogICAgICB9CiAgICA8L3N0eWxlPgogICAgPGZpbHRlciBpZD0iZHJvcC1zaGFkb3ctMSIgeD0iMCIgeT0iMCIgd2lkdGg9IjEwMDAiIGhlaWdodD0iMTAwMCIgZmlsdGVyVW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KICAgICAgPGZlT2Zmc2V0IGR4PSIwIiBkeT0iMSIvPgogICAgICA8ZmVHYXVzc2lhbkJsdXIgcmVzdWx0PSJibHVyIiBzdGREZXZpYXRpb249IjIiLz4KICAgICAgPGZlRmxvb2QgZmxvb2QtY29sb3I9IiMwNjI4NGQiIGZsb29kLW9wYWNpdHk9Ii4zIi8+CiAgICAgIDxmZUNvbXBvc2l0ZSBpbjI9ImJsdXIiIG9wZXJhdG9yPSJpbiIvPgogICAgICA8ZmVDb21wb3NpdGUgaW49IlNvdXJjZUdyYXBoaWMiLz4KICAgIDwvZmlsdGVyPgogICAgPGxpbmVhckdyYWRpZW50IGlkPSJf5ZCN56ew5pyq6Kit5a6a44Kw44Op44OH44O844K344On44OzXzMyIiBkYXRhLW5hbWU9IuWQjeensOacquioreWumuOCsOODqeODh+ODvOOCt+ODp+ODsyAzMiIgeDE9IjQ3LjIxIiB5MT0iLTM5LjYxIiB4Mj0iOTUyLjc5IiB5Mj0iMTAzOS42MSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPgogICAgICA8c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiNmNWY5ZmYiLz4KICAgICAgPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjZmZmIi8+CiAgICA8L2xpbmVhckdyYWRpZW50PgogICAgPGZpbHRlciBpZD0iZHJvcC1zaGFkb3ctMiIgeD0iLS4zOCIgeT0iLTEuMTIiIHdpZHRoPSIxMDAwLjM4IiBoZWlnaHQ9IjEwMDEuMTIiIGZpbHRlclVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CiAgICAgIDxmZU9mZnNldCBkeD0iMCIgZHk9IjEiLz4KICAgICAgPGZlR2F1c3NpYW5CbHVyIHJlc3VsdD0iYmx1ci0yIiBzdGREZXZpYXRpb249IjIiLz4KICAgICAgPGZlRmxvb2QgZmxvb2QtY29sb3I9IiMwNjI4NGQiIGZsb29kLW9wYWNpdHk9Ii4zIi8+CiAgICAgIDxmZUNvbXBvc2l0ZSBpbjI9ImJsdXItMiIgb3BlcmF0b3I9ImluIi8+CiAgICAgIDxmZUNvbXBvc2l0ZSBpbj0iU291cmNlR3JhcGhpYyIvPgogICAgPC9maWx0ZXI+CiAgICA8Y2xpcFBhdGggaWQ9ImNsaXBwYXRoIj4KICAgICAgPHBhdGggaWQ9ImhleFMyIiBjbGFzcz0iY2xzLTEiIGQ9Ik0wLTFjLTEuMzMsMjA3LjQ2LDEuMzMsNDE0LjkyLDAsNjIyLjM4LDE2Ni42Nyw0OC4wOCwzMzMuMzMsOTYuMTUsNTAwLDE0NC4yM2w1MDAtMTQ0LjIzYzAtMjA4LjEzLDAtNDEzLjI1LDAtNjIxLjM4QzY2OCwuNjcsMzMyLTEuNjcsMC0xWiIvPgogICAgPC9jbGlwUGF0aD4KICAgIDxsaW5lYXJHcmFkaWVudCBpZD0iX+WQjeensOacquioreWumuOCsOODqeODh+ODvOOCt+ODp+ODs18yOCIgZGF0YS1uYW1lPSLlkI3np7DmnKroqK3lrprjgrDjg6njg4fjg7zjgrfjg6fjg7MgMjgiIHgxPSI0Ny4yMSIgeTE9Ii0zOS42MSIgeDI9Ijk1Mi43OSIgeTI9IjEwMzkuNjEiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KICAgICAgPHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjZTVlZWZiIi8+CiAgICAgIDxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI2ZmZiIvPgogICAgPC9saW5lYXJHcmFkaWVudD4KICAgIDxmaWx0ZXIgaWQ9ImRyb3Atc2hhZG93LTMiIHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAwIiBoZWlnaHQ9IjEwMDAiIGZpbHRlclVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CiAgICAgIDxmZU9mZnNldCBkeD0iMCIgZHk9IjEiLz4KICAgICAgPGZlR2F1c3NpYW5CbHVyIHJlc3VsdD0iYmx1ci0zIiBzdGREZXZpYXRpb249IjIiLz4KICAgICAgPGZlRmxvb2QgZmxvb2QtY29sb3I9IiMwNjI4NGQiIGZsb29kLW9wYWNpdHk9Ii4zIi8+CiAgICAgIDxmZUNvbXBvc2l0ZSBpbjI9ImJsdXItMyIgb3BlcmF0b3I9ImluIi8+CiAgICAgIDxmZUNvbXBvc2l0ZSBpbj0iU291cmNlR3JhcGhpYyIvPgogICAgPC9maWx0ZXI+CiAgICA8Y2xpcFBhdGggaWQ9ImNsaXBwYXRoLTEiPgogICAgICA8cGF0aCBpZD0iaGV4UzItMiIgZGF0YS1uYW1lPSJoZXhTMiIgY2xhc3M9ImNscy0xIiBkPSJNMCwwdjM4Ny4zOGMxNjYuNjcsNDguMDgsMzMzLjMzLDk2LjE1LDUwMCwxNDQuMjNsNTAwLTE0NC4yM2MwLTEyOC43OSwwLTI1OC41OSwwLTM4Ny4zOEgwWiIvPgogICAgPC9jbGlwUGF0aD4KICAgIDxsaW5lYXJHcmFkaWVudCBpZD0iX+WQjeensOacquioreWumuOCsOODqeODh+ODvOOCt+ODp+ODs18yNyIgZGF0YS1uYW1lPSLlkI3np7DmnKroqK3lrprjgrDjg6njg4fjg7zjgrfjg6fjg7MgMjciIHgxPSI0Ny4yMSIgeTE9Ii0zOS42MSIgeDI9Ijk1Mi43OSIgeTI9IjEwMzkuNjEiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KICAgICAgPHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjZDVlNWY2Ii8+CiAgICAgIDxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI2ZmZiIvPgogICAgPC9saW5lYXJHcmFkaWVudD4KICAgIDxmaWx0ZXIgaWQ9ImRyb3Atc2hhZG93LTQiIHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAwIiBoZWlnaHQ9IjEwMDAiIGZpbHRlclVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CiAgICAgIDxmZU9mZnNldCBkeD0iMCIgZHk9IjEiLz4KICAgICAgPGZlR2F1c3NpYW5CbHVyIHJlc3VsdD0iYmx1ci00IiBzdGREZXZpYXRpb249IjIiLz4KICAgICAgPGZlRmxvb2QgZmxvb2QtY29sb3I9IiMwNjI4NGQiIGZsb29kLW9wYWNpdHk9Ii4zIi8+CiAgICAgIDxmZUNvbXBvc2l0ZSBpbjI9ImJsdXItNCIgb3BlcmF0b3I9ImluIi8+CiAgICAgIDxmZUNvbXBvc2l0ZSBpbj0iU291cmNlR3JhcGhpYyIvPgogICAgPC9maWx0ZXI+CiAgICA8Y2xpcFBhdGggaWQ9ImNsaXBwYXRoLTIiPgogICAgICA8cGF0aCBpZD0iaGV4UzItMyIgZGF0YS1uYW1lPSJoZXhTMiIgY2xhc3M9ImNscy0xIiBkPSJNMCwuODF2MTU0Ljk2YzE2Ni42Nyw0OC4wOCwzMzMuMzMsOTYuMTUsNTAwLDE0NC4yM2w1MDAtMTQ0LjIzYzAtNTEuMzYsMC0xMDMuNiwwLTE1NC45NkM2NjYuNjcsMy42MiwzMzMuMzMtMiwwLC44MVoiLz4KICAgIDwvY2xpcFBhdGg+CiAgICA8bGluZWFyR3JhZGllbnQgaWQ9Il/lkI3np7DmnKroqK3lrprjgrDjg6njg4fjg7zjgrfjg6fjg7NfMTM1IiBkYXRhLW5hbWU9IuWQjeensOacquioreWumuOCsOODqeODh+ODvOOCt+ODp+ODsyAxMzUiIHgxPSI0Ny4yMSIgeTE9Ii0zOS42MSIgeDI9Ijk1Mi43OSIgeTI9IjEwMzkuNjEiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KICAgICAgPHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjYzVkY2YyIi8+CiAgICAgIDxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI2ZmZiIvPgogICAgPC9saW5lYXJHcmFkaWVudD4KICA8L2RlZnM+CiAgPGcgY2xhc3M9ImNscy0yIj4KICAgIDxyZWN0IGNsYXNzPSJjbHMtMTAiIHdpZHRoPSIxMDAwIiBoZWlnaHQ9IjEwMDAiLz4KICA8L2c+CiAgPGcgY2xhc3M9ImNscy00Ij4KICAgIDxnIGNsYXNzPSJjbHMtOSI+CiAgICAgIDxyZWN0IGNsYXNzPSJjbHMtMTIiIHdpZHRoPSIxMDAwIiBoZWlnaHQ9IjEwMDAiLz4KICAgIDwvZz4KICA8L2c+CiAgPGcgY2xhc3M9ImNscy0zIj4KICAgIDxnIGNsYXNzPSJjbHMtNiI+CiAgICAgIDxyZWN0IGNsYXNzPSJjbHMtMTEiIHdpZHRoPSIxMDAwIiBoZWlnaHQ9IjEwMDAiLz4KICAgIDwvZz4KICA8L2c+CiAgPGcgY2xhc3M9ImNscy01Ij4KICAgIDxnIGNsYXNzPSJjbHMtNyI+CiAgICAgIDxyZWN0IGNsYXNzPSJjbHMtOCIgd2lkdGg9IjEwMDAiIGhlaWdodD0iMTAwMCIvPgogICAgPC9nPgogIDwvZz4KPC9zdmc+");
  background-size: cover;
  background-position: center;
}

main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container .flow-step ul {
  display: grid;
  grid-template-rows: repeat(4, 44px);
  gap: 56px;
  padding: 40px;
}

@media screen and (max-width: 960px) {
  main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container .flow-step ul {
    padding: 40px 24px;
    grid-template-rows: repeat(4, 32px);
  }
}

@media screen and (max-width: 768px) {
  main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container .flow-step ul {
    max-width: 416px;
    margin: auto;
    padding: 40px;
    grid-template-rows: repeat(4, 40px);
  }
}

@media screen and (max-width: 414px) {
  main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container .flow-step ul {
    max-width: initial;
    padding: 40px 16px;
    grid-template-rows: repeat(4, 32px);
  }
}

main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container .flow-step ul li {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 1.25rem;
}

@media screen and (max-width: 960px) {
  main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container .flow-step ul li {
    font-size: 1rem;
  }
}

@media screen and (max-width: 768px) {
  main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container .flow-step ul li {
    font-size: 1.25rem;
  }
}

@media screen and (max-width: 414px) {
  main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container .flow-step ul li {
    font-size: 1rem;
  }
}

main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container .flow-step ul li div {
  width: 52px;
  height: 52px;
}

main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container .flow-step ul li div img {
  max-width: 100%;
  height: auto;
}

main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container .is-flow-cta {
  margin: auto;
  width: 100%;
  height: 50px;
  border-radius: 50px;
}

@media screen and (max-width: 414px) {
  main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container .is-flow-cta {
    width: 100%;
  }
}

main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container .is-flow-cta a {
  display: flex;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  font-size: 1.25rem;
  font-weight: 700;
  width: auto;
  height: 100%;
  border-radius: 50px;
  padding: 0 30px;
}

main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container .is-signup-cta:hover a {
  background: rgb(247.2, 94.6486486486, 0);
}

main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container .is-signup-cta a {
  background-color: #FF7621;
  color: #fff;
}

main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container .is-demo-cta {
  position: relative;
  z-index: 0;
}

main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container .is-demo-cta::before {
  z-index: -1;
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border: 3px solid #FF7621;
  border-radius: 50px;
}

@media screen and (max-width: 960px) {
  main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container .is-demo-cta::before {
    border-radius: 50px;
  }
}

@media screen and (max-width: 768px) {
  main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container .is-demo-cta::before {
    border-radius: 62px;
  }
}

@media screen and (max-width: 414px) {
  main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container .is-demo-cta::before {
    border-radius: 40px;
  }
}

main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container .is-demo-cta a {
  color: #FF7621;
}

main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container .is-demo-cta .tooltip .tooltiptext {
  /*
  デモ用ツールチップ
  */
  visibility: hidden;
  width: 300px;
  background-color: #06284d;
  color: #fff;
  text-align: left;
  border-radius: 6px;
  padding: 16px 24px;
  position: absolute;
  z-index: 1;
  top: 0;
  left: 50%;
  transform: translate(-50%, -100%);
  font-size: 1rem;
  font-weight: 400;
}

main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container .is-demo-cta .tooltip .tooltiptext::after {
  position: absolute;
  content: "";
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 75%);
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 21.5px solid transparent;
  border-left: 21.5px solid transparent;
  border-top: 12.5px solid #06284d;
  border-bottom: 0;
}

main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container .is-demo-cta:hover {
  background-color: rgba(255, 118, 33, 0.08);
}

main .is-flow-section .is-flow-wrapper .is-flow-container .flow-detail-container .is-demo-cta:hover .tooltiptext {
  visibility: visible;
}

main .is-top-casestudy {
  padding: 80px 0 40px;
}

@media screen and (max-width: 768px) {
  main .is-top-casestudy {
    padding: 40px 0 0;
  }
}

main .is-top-casestudy .top-casestudy-wrapper {
  display: flex;
  flex-direction: column;
  gap: 80px;
  padding: 0 40px 64px;
}

@media screen and (max-width: 768px) {
  main .is-top-casestudy .top-casestudy-wrapper {
    padding: 0 16px 40px;
  }
}

main .is-top-casestudy .top-casestudy-wrapper .top-casestudy-container {
  max-width: 1124px;
  margin: auto;
  list-style: none;
}

main .is-top-casestudy .top-casestudy-wrapper .top-casestudy-container:hover a {
  opacity: 0.75;
}

main .is-top-casestudy .top-casestudy-wrapper .top-casestudy-container:hover .top-casestudy-image img {
  transform: scale(1.1);
}

main .is-top-casestudy .top-casestudy-wrapper .top-casestudy-container a {
  background-color: #fff;
  box-shadow: rgba(60, 64, 67, 0.3) 1px 1px 2px 0px, rgba(60, 64, 67, 0.15) 1px 1px 3px 1px;
  text-decoration: none;
  color: #20354D;
  height: 280px;
  display: grid;
  grid-template-columns: repeat(3, 1fr) 0.5fr 0.5fr repeat(3, 1fr);
  position: relative;
  z-index: 0;
  overflow: hidden;
  transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

@media screen and (max-width: 1124px) {
  main .is-top-casestudy .top-casestudy-wrapper .top-casestudy-container a {
    height: 240px;
  }
}

@media screen and (max-width: 768px) {
  main .is-top-casestudy .top-casestudy-wrapper .top-casestudy-container a {
    height: auto;
    grid-template-columns: 1fr;
    grid-template-rows: 176px 64px 1fr;
  }
}

main .is-top-casestudy .top-casestudy-wrapper .top-casestudy-container a .top-casestudy-image {
  z-index: 0;
  grid-column: 1/5;
  grid-row: 1;
  position: relative;
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  main .is-top-casestudy .top-casestudy-wrapper .top-casestudy-container a .top-casestudy-image {
    grid-column: 1;
    grid-row: 1/3;
  }
}

main .is-top-casestudy .top-casestudy-wrapper .top-casestudy-container a .top-casestudy-image::after {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: linear-gradient(to right, transparent 50%, #fff);
}

@media screen and (max-width: 768px) {
  main .is-top-casestudy .top-casestudy-wrapper .top-casestudy-container a .top-casestudy-image::after {
    background-image: linear-gradient(to bottom, transparent 50%, #fff);
  }
}

main .is-top-casestudy .top-casestudy-wrapper .top-casestudy-container a .top-casestudy-image img {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 100%;
  transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

main .is-top-casestudy .top-casestudy-wrapper .top-casestudy-container a .casestudy-detail-container {
  z-index: 1;
  grid-column: 4/9;
  grid-row: 1;
  padding: 16px 32px 16px 16px;
  display: flex;
  flex-direction: column;
}

@media screen and (max-width: 768px) {
  main .is-top-casestudy .top-casestudy-wrapper .top-casestudy-container a .casestudy-detail-container {
    padding: 16px;
    grid-column: 1;
    grid-row: 2/4;
  }
}

main .is-top-casestudy .top-casestudy-wrapper .top-casestudy-container a .casestudy-detail-container dl {
  padding: 16px 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

main .is-top-casestudy .top-casestudy-wrapper .top-casestudy-container a .casestudy-detail-container dl dt {
  font-size: 1.953rem;
  font-weight: 700;
  color: #1D4977;
  display: inline-block;
}

@media screen and (max-width: 768px) {
  main .is-top-casestudy .top-casestudy-wrapper .top-casestudy-container a .casestudy-detail-container dl dt {
    font-size: 1.563rem;
  }
}

@media screen and (max-width: 414px) {
  main .is-top-casestudy .top-casestudy-wrapper .top-casestudy-container a .casestudy-detail-container dl dt {
    font-size: 1.25rem;
  }
}

main .is-top-casestudy .top-casestudy-wrapper .top-casestudy-container a .casestudy-detail-container dl dt span {
  position: relative;
}

main .is-top-casestudy .top-casestudy-wrapper .top-casestudy-container a .casestudy-detail-container dl dt span::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  transform: translate(-80px, 12px);
  width: 96px;
  height: 2px;
  background-color: #74b5f1;
}

@media screen and (max-width: 768px) {
  main .is-top-casestudy .top-casestudy-wrapper .top-casestudy-container a .casestudy-detail-container dl dt span::before {
    transform: translate(-80px, 8px);
  }
}

main .is-top-casestudy .top-casestudy-wrapper .top-casestudy-container a .casestudy-detail-container dl dt span::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  transform: translate(0, 12px);
  width: 100%;
  height: 2px;
  background-color: #74b5f1;
}

@media screen and (max-width: 768px) {
  main .is-top-casestudy .top-casestudy-wrapper .top-casestudy-container a .casestudy-detail-container dl dt span::after {
    transform: translate(0, 8px);
  }
}

main .is-top-casestudy .top-casestudy-wrapper .top-casestudy-container a .casestudy-detail-container dl dd {
  font-size: 1.25rem;
}

@media screen and (max-width: 768px) {
  main .is-top-casestudy .top-casestudy-wrapper .top-casestudy-container a .casestudy-detail-container dl dd {
    font-size: 1rem;
  }
}

main .is-faq-section {
  background-color: #f5f9ff;
  padding: 40px;
}

@media screen and (max-width: 768px) {
  main .is-faq-section {
    padding: 40px 16px;
  }
}

@media screen and (max-width: 414px) {
  main .is-faq-section {
    padding: 40px 16px 0;
  }
}

main .is-faq-section .is-faq-wrapper {
  max-width: 1124px;
  margin: auto;
}

main .is-faq-section .is-faq-wrapper h2 {
  text-align: center;
  margin-top: 40px;
  margin-bottom: 40px;
  font-size: 2.441rem;
  color: #1D4977;
}

@media screen and (max-width: 768px) {
  main .is-faq-section .is-faq-wrapper h2 {
    font-size: 1.953rem;
  }
}

@media screen and (max-width: 414px) {
  main .is-faq-section .is-faq-wrapper h2 {
    margin-top: 0;
    margin-bottom: 24px;
    font-size: 1.563rem;
  }
}

main .is-faq-section .is-faq-wrapper .is-faq-container {
  padding: 0 0 40px;
}

main .is-faq-section .is-faq-wrapper .is-faq-container .faq-container-list {
  display: flex;
  flex-direction: column;
  gap: 24px;
  list-style: none;
}

@media screen and (max-width: 768px) {
  main .is-faq-section .is-faq-wrapper .is-faq-container .faq-container-list {
    gap: 16px;
  }
}

main .is-faq-section .is-faq-wrapper .is-faq-container .faq-container-list li details {
  box-shadow: rgba(60, 64, 67, 0.3) 1px 1px 2px 0px, rgba(60, 64, 67, 0.15) 1px 1px 3px 1px;
}

main .is-faq-section .is-faq-wrapper .is-faq-container .faq-container-list li details ul {
  padding-inline-start: 38px;
  list-style-position: outside;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

@media screen and (max-width: 768px) {
  main .is-faq-section .is-faq-wrapper .is-faq-container .faq-container-list li details ul {
    padding-inline-start: 32px;
  }
}

main .is-faq-section .is-faq-wrapper .is-faq-container .faq-container-list li details ul li {
  font-size: 1rem;
}

@media screen and (max-width: 768px) {
  main .is-faq-section .is-faq-wrapper .is-faq-container .faq-container-list li details ul li {
    font-size: 0.8rem;
  }
}

main .is-faq-section .is-faq-wrapper .is-faq-container .faq-container-list li details summary {
  display: flex;
  list-style: none;
  padding: 24px;
  background-color: #fff;
  font-size: 1.25rem;
  position: relative;
  cursor: pointer;
}

@media screen and (max-width: 768px) {
  main .is-faq-section .is-faq-wrapper .is-faq-container .faq-container-list li details summary {
    font-size: 1rem;
  }
}

@media screen and (max-width: 414px) {
  main .is-faq-section .is-faq-wrapper .is-faq-container .faq-container-list li details summary {
    padding: 16px 56px 16px 16px;
  }
}

main .is-faq-section .is-faq-wrapper .is-faq-container .faq-container-list li details summary::before {
  position: absolute;
  content: "";
  top: 50%;
  right: 0;
  transform: translate(-24px, -50%);
  width: 20px;
  height: 1px;
  background-color: #06284d;
}

main .is-faq-section .is-faq-wrapper .is-faq-container .faq-container-list li details summary::after {
  position: absolute;
  content: "";
  top: 50%;
  right: 0;
  transform: translate(-24px, -50%) rotate(90deg);
  width: 20px;
  height: 1px;
  background-color: #06284d;
}

main .is-faq-section .is-faq-wrapper .is-faq-container .faq-container-list li details summary::-webkit-details-marker {
  display: none;
}

main .is-faq-section .is-faq-wrapper .is-faq-container .faq-container-list li details[open] summary::after {
  transform: translate(-24px, -50%) rotate(0deg);
}

main .is-faq-section .is-faq-wrapper .is-faq-container .faq-container-list li details[open] summary {
  box-shadow: rgba(60, 64, 67, 0.3) 0.5px 0.5px 1px 0px, rgba(60, 64, 67, 0.15) 0.5px 0.5px 1.5px 0.5px;
}

main .is-faq-section .is-faq-wrapper .is-faq-container .faq-container-list li details[open] {
  box-shadow: rgba(60, 64, 67, 0.3) 0.5px 0.5px 1px 0px, rgba(60, 64, 67, 0.15) 0.5px 0.5px 1.5px 0.5px;
}

main .is-faq-section .is-faq-wrapper .is-faq-container .faq-container-list li .is-answer-container {
  background-color: #fff;
  padding: 24px;
  display: flex;
  flex-direction: column;
  align-items: start;
  gap: 16px;
}

@media screen and (max-width: 414px) {
  main .is-faq-section .is-faq-wrapper .is-faq-container .faq-container-list li .is-answer-container {
    padding: 16px;
  }
}

main .is-faq-section .is-faq-wrapper .is-faq-container .faq-container-list li .is-answer-container p {
  padding-inline-start: 0px;
  margin-block-start: 0em;
  margin-block-end: 0em;
  font-size: 1.25rem;
  display: flex;
}

@media screen and (max-width: 768px) {
  main .is-faq-section .is-faq-wrapper .is-faq-container .faq-container-list li .is-answer-container p {
    font-size: 1rem;
  }
}

main .is-faq-section .is-faq-wrapper .is-faq-container .faq-container-list li .is-answer-container p a {
  color: #74b5f1;
}

main .is-faq-section .is-faq-wrapper .is-faq-container .faq-container-list li .is-answer-container ul {
  list-style-type: disc;
}

main .is-faq-section .is-faq-wrapper .is-faq-container .faq-container-list li .is-answer-container img {
  width: 100%;
  max-width: 500px;
  margin: 16px auto auto 0;
}

main .is-dl-cta {
  position: fixed;
  right: 40px;
  bottom: 24px;
  background-color: #fff;
  padding: 14px 27px 14px 18px;
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 1rem;
  color: #1b5fab;
  border: 2px solid #1b5fab;
  font-weight: 700;
  text-decoration: none;
  border-radius: 56px;
  box-shadow: rgba(60, 64, 67, 0.16) 0px 3px 6px, rgba(60, 64, 67, 0.23) 0px 3px 6px;
}

@media screen and (max-width: 414px) {
  main .is-dl-cta {
    display: none;
  }
}

main .is-dl-cta svg {
  fill: #1b5fab;
}