main {
  width: 100%;
  height: auto;
  margin: auto;
}
@media screen and (max-width: 599px) {
  main {
    width: 100%;
  }
}

.modaal-content-container {
  padding: 7.0666666667vw 4vw 4vw 4vw !important;
}

.mv {
  width: 100%;
  height: auto;
  margin: auto;
  background-image: url(../img/bg_mv.svg);
  background-position: center center;
  background-repeat: repeat-x;
  background-size: 6000px 1210px;
}
.mv-pc {
  width: 1140px;
  height: 1210px;
  margin: auto;
  background-image: url(../img/mv.svg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 1366px 1210px;
  position: relative;
}
@media screen and (max-width: 599px) {
  .mv-pc {
    display: none;
  }
}
@media print, screen and (min-width: 600px) {
  .mv-sp {
    display: none;
  }
}
.mv h2 {
  margin: 0;
  padding: 0;
  position: absolute;
  top: 72px;
  left: 221px;
  font-size: 2.6rem;
  font-weight: bold;
  line-height: 1.9;
  letter-spacing: 0.275em;
  color: #0082C9;
  writing-mode: vertical-rl;
}
.mv h2 span {
  display: block;
}
.mv h2 span + span {
  padding-top: 6.485em;
}
.mv__text {
  position: absolute;
  top: 658px;
  left: 415px;
}
.mv__text p {
  margin: 0;
  padding: 0;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 2.25;
  letter-spacing: 0.05em;
  color: #FFF;
}
.mv__text p span {
  display: block;
}
.mv__image {
  position: relative;
}
.mv__image img {
  border-radius: 30px;
}
.mv__image img:first-of-type {
  width: 268px;
  height: 320px;
  position: absolute;
  top: 124px;
  left: -167px;
}
.mv__image img:nth-of-type(2) {
  width: 440px;
  height: 288px;
  position: absolute;
  top: 506px;
  left: -72px;
}
.mv__image img:nth-of-type(3) {
  width: 228px;
  height: 160px;
  position: absolute;
  top: 858px;
  left: 141px;
}
.mv__image img:nth-of-type(4) {
  width: 465px;
  height: 310px;
  position: absolute;
  top: 222px;
  left: 414px;
}
.mv__image img:nth-of-type(5) {
  width: 230px;
  height: 300px;
  position: absolute;
  top: 858px;
  left: 415px;
}
.mv__image img:nth-of-type(6) {
  width: 190px;
  height: 245px;
  position: absolute;
  top: 60px;
  left: 981px;
}
.mv__image img:nth-of-type(7) {
  width: 284px;
  height: 169px;
  position: absolute;
  top: 391px;
  left: 926px;
}

.strength {
  width: 1140px;
  height: auto;
  margin: 160px auto auto;
  text-align: center;
}
@media screen and (max-width: 599px) {
  .strength {
    width: 100%;
    height: auto;
    margin-top: 18vw;
    padding: 0 5.33%;
  }
}
.strength h2 {
  margin: 0;
  padding: 0 13px 13px 13px;
  border-bottom: 2px solid #0082C9;
  display: inline-block;
  position: relative;
  font-size: 2.6rem;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0em;
  color: #231815;
}
@media screen and (max-width: 599px) {
  .strength h2 {
    border-bottom: 1px solid #0082C9;
    padding: 0vw 0.6666666667vw 1.3333333333vw 0.6666666667vw;
    font-size: clamp(1.2rem, 5.0666666667vw, 6.4rem);
  }
}
.strength h2::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 17px 19px 0 19px;
  border-color: #1976D2 transparent transparent transparent;
  position: absolute;
  bottom: -17px;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 599px) {
  .strength h2::after {
    border-width: 2.2666666667vw 2.5333333333vw 0vw 2.5333333333vw;
    bottom: -2.2666666667vw;
  }
}
.strength ul {
  margin-top: 70px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
}
@media screen and (max-width: 599px) {
  .strength ul {
    margin-top: 10.6666666667vw;
  }
}
.strength ul li {
  width: 340px;
  height: auto;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-wrap: wrap;
}
@media screen and (max-width: 599px) {
  .strength ul li {
    width: 100%;
  }
}
@media screen and (max-width: 599px) {
  .strength ul li:nth-of-type(n+2) {
    margin-top: 6.6666666667vw;
  }
}
.strength ul li h3 {
  order: 2;
  margin: 20px 0 0 0;
  padding: 0;
  font-size: 2rem;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0em;
  color: #0082C9;
}
@media screen and (max-width: 599px) {
  .strength ul li h3 {
    margin: 5.0666666667vw 0 0 0;
    font-size: clamp(1rem, 4.8vw, 6.2rem);
  }
}
.strength ul li p {
  order: 3;
  margin: 15px 0 0 0;
  padding: 0;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0em;
  color: #231815;
  text-align: justify;
}
@media screen and (max-width: 599px) {
  .strength ul li p {
    margin: 4vw 0 0 0;
    font-size: clamp(0.8rem, 4vw, 5.6rem);
  }
}
.strength ul li img {
  order: 1;
}

@keyframes bgroop {
  from {
    background-position: 0 0;
  }
  to {
    background-position: -2732px 0;
  }
}
@keyframes bgroop-sp {
  from {
    background-position: 0 0;
  }
  to {
    background-position: -364.2666666667vw 0;
  }
}
.price {
  width: 100%;
  height: auto;
  margin: 160px auto auto;
}
@media screen and (max-width: 599px) {
  .price {
    margin: 21.3333333333vw auto auto;
  }
}
.price__head {
  width: 100%;
  height: 600px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-image: url(../img/bg_price.jpg);
  background-position: 0 0;
  background-repeat: repeat-x;
  background-size: 2732px 600px;
  animation: bgroop 60s linear infinite;
}
@media screen and (max-width: 599px) {
  .price__head {
    width: 100%;
    height: 80vw;
    padding: 22.4vw 0vw 22.4vw 0vw;
    background-image: url(../img/bg_price.jpg);
    background-position: 0 0;
    background-repeat: repeat-x;
    background-size: 364.2666666667vw 80vw;
    animation: bgroop-sp 45s linear infinite;
  }
}
@media screen and (max-width: 599px) {
  .price__head-inner {
    height: auto;
    margin: auto;
  }
}
.price__head h2 {
  margin: 0;
  padding: 0;
  font-size: 3.6rem;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0em;
  color: #FFF;
  text-align: center;
}
@media screen and (max-width: 599px) {
  .price__head h2 {
    font-size: clamp(1.6rem, 6.6666666667vw, 8rem);
  }
}
.price__head p {
  margin: 45px 0 0 0;
  padding: 0;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.75;
  letter-spacing: 0em;
  color: #FFF;
  text-align: center;
}
@media screen and (max-width: 599px) {
  .price__head p {
    width: 54%;
    height: auto;
    margin: 6vw auto 0 auto;
    font-size: clamp(0.8rem, 4vw, 5.6rem);
    line-height: 1.5;
    text-align: justify;
  }
}
@media print, screen and (min-width: 600px) {
  .price__head p span {
    display: block;
  }
}
.price__nav-pc {
  width: 1140px;
  height: auto;
  margin: 160px auto auto;
}
@media screen and (max-width: 599px) {
  .price__nav-pc {
    display: none;
  }
}
.price__nav-pc ul {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
}
.price__nav-pc ul::after {
  content: "";
  width: 340px;
  height: auto;
  display: block;
}
.price__nav-pc ul li:nth-of-type(n+4) {
  margin-top: 25px;
}
.price__nav-pc ul li button {
  width: 340px;
  height: auto;
  margin: 0;
  padding: 0;
  background-color: #FFF;
  border: 3px solid #0082C9;
  border-radius: 15px;
  overflow: hidden;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0em;
  color: #0082C9;
  transition: all 0.3s;
}
@media screen and (max-width: 599px) {
  .price__nav-pc ul li button {
    font-size: clamp(0.8rem, 4vw, 5.6rem);
  }
}
.price__nav-pc ul li button span {
  order: 2;
  width: 200px;
  height: auto;
  text-align: center;
}
.price__nav-pc ul li button img {
  order: 1;
  width: 140px;
  height: auto;
}
.price__nav-pc ul li button:hover {
  background-color: #0082C9;
  color: #FFF;
}
.price__nav-sp {
  width: 100%;
  height: auto;
  margin-top: 10.6666666667vw;
  padding: 0 5.33%;
}
@media print, screen and (min-width: 600px) {
  .price__nav-sp {
    display: none;
  }
}
.price__nav-sp ul {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}
.price__nav-sp ul li {
  width: 47.31%;
  height: auto;
}
.price__nav-sp ul li a {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
}
.price__nav-sp ul li a span {
  order: 2;
  margin: auto;
  padding: 2.1333333333vw 0vw 3.4666666667vw 0vw;
  display: inline-block;
  font-size: 2.8rem;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0em;
  font-size: clamp(0.8rem, 3.7333333333vw, 5.4rem);
  color: #0082C9;
}
.price__nav-sp ul li a img {
  order: 1;
}
.price__body-pc {
  width: 900px;
  height: auto;
  margin: 100px auto auto;
}
@media screen and (max-width: 599px) {
  .price__body-pc {
    display: none;
  }
}
@media print, screen and (min-width: 600px) {
  .price__body-sp {
    display: none;
  }
}
.price__body-title h3 {
  margin: 0;
  padding: 0;
  font-size: 2.6rem;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0em;
  color: #000;
  text-align: center;
}
@media screen and (max-width: 599px) {
  .price__body-title h3 {
    font-size: clamp(1rem, 4.8vw, 6.2rem);
  }
}
.price__body-title p {
  margin: 15px 0 0 0;
  padding: 0;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0em;
  color: #000;
  text-align: center;
}
@media screen and (max-width: 599px) {
  .price__body-title p {
    margin: 1.8666666667vw 0 0 0;
    font-size: clamp(0.8rem, 3.7333333333vw, 5.4rem);
  }
}
@media screen and (max-width: 599px) {
  .price__body-title p span {
    display: block;
  }
}
.price__body-main {
  margin-top: 60px;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
}
@media screen and (max-width: 599px) {
  .price__body-main {
    margin-top: 2.4vw;
  }
}
.price__body-main h4 {
  order: 2;
  width: 100%;
  height: auto;
  margin: 10px 0 0 0;
  padding: 0;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0em;
  color: #000;
}
@media screen and (max-width: 599px) {
  .price__body-main h4 {
    margin: 2.1333333333vw 0 0 0;
    font-size: clamp(0.8rem, 3.4666666667vw, 5.2rem);
  }
}
.price__body-main p {
  order: 3;
  width: 100%;
  height: auto;
  margin: 5px 0 2px 0;
  padding: 0;
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0em;
  color: #000;
}
@media screen and (max-width: 599px) {
  .price__body-main p {
    margin: 1.6vw 0 0 0;
    font-size: clamp(0.8rem, 3.2vw, 5rem);
  }
}
.price__body-main img {
  order: 1;
}
.price__body-main:hover h4 {
  text-decoration: underline !important;
}
.price__body-main:hover p {
  text-decoration: underline !important;
}
.price__body-other {
  margin-top: 15px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
}
@media screen and (max-width: 599px) {
  .price__body-other {
    margin-top: 5.0666666667vw;
  }
}
.price__body-other-item {
  width: 280px;
  height: auto;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
}
@media screen and (max-width: 599px) {
  .price__body-other-item {
    width: 100%;
    height: auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
}
@media screen and (max-width: 599px) {
  .price__body-other-item:not(:first-of-type) {
    margin-top: 2.2666666667vw;
  }
}
@media screen and (max-width: 599px) {
  .price__body-other-item .text {
    order: 2;
    flex-basis: 50.66%;
  }
}
@media screen and (max-width: 599px) {
  .price__body-other-item .image {
    order: 1;
    flex-basis: 42.62%;
  }
}
.price__body-other-item h4 {
  order: 2;
  width: 100%;
  height: auto;
  margin: 12px 0 0 0;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0em;
  color: #000;
}
@media screen and (max-width: 599px) {
  .price__body-other-item h4 {
    margin: 0vw 0 0 0;
    font-size: clamp(0.8rem, 3.4666666667vw, 5.2rem);
  }
}
@media print, screen and (min-width: 600px) {
  .price__body-other-item h4 span {
    display: block;
  }
}
.price__body-other-item p {
  order: 3;
  width: 100%;
  height: auto;
  margin: 5px 0 2px 0;
  padding: 0;
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0em;
  color: #000;
}
@media screen and (max-width: 599px) {
  .price__body-other-item p {
    margin: 1.3333333333vw 0 0 0;
    font-size: clamp(0.8rem, 3.2vw, 5rem);
  }
}
.price__body-other-item img {
  order: 1;
}
.price__body-other-item:hover h4 {
  text-decoration: underline !important;
}
.price__body-other-item:hover p {
  text-decoration: underline !important;
}
.price__body-button {
  width: 175px;
  height: auto;
  margin: 35px auto auto;
  padding: 12px 30px 12px 30px;
  background-color: #FFF;
  border: 1px solid #0082C9;
  border-radius: 15px;
  box-shadow: 3px 3px 0px #0082C9;
  display: block;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0em;
  color: #0082C9;
  text-align: center;
  transition: all 0.3s;
}
@media screen and (max-width: 599px) {
  .price__body-button {
    width: 40vw;
    height: auto;
    margin: 4vw auto auto;
    padding: 2.9333333333vw 5.8666666667vw 2.9333333333vw 5.8666666667vw;
    border-radius: 7.5px;
    box-shadow: 1.5px 1.5px 0px #0082C9;
    display: block;
    font-size: clamp(0.8rem, 3.4666666667vw, 5.2rem);
  }
}
.price__body-button:hover {
  background-color: #0082C9;
  color: #FFF;
}
.price__body-link {
  width: 100%;
  height: auto;
  padding: 0 5.33%;
  margin: 60px auto auto auto;
}
.price__body-link a {
  display: block;
}
.price__body-link a:hover {
  opacity: 0.8;
}

.before {
  width: 100%;
  height: auto;
  margin-top: 120px;
  padding: 160px 0;
  background-color: #F8F8F9;
}
@media screen and (max-width: 599px) {
  .before {
    margin-top: 10.6666666667vw;
    padding: 40vw 0 0 0;
  }
}
.before__head {
  width: 1000px;
  height: auto;
  margin: auto;
  padding-bottom: 20px;
  position: relative;
}
@media screen and (max-width: 599px) {
  .before__head {
    width: 100%;
    height: auto;
    padding: 0 5.33%;
  }
}
.before__head::before {
  content: "";
  width: 133px;
  height: 162px;
  background-image: url(../img/img_parents01.svg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  bottom: 0;
  left: 60px;
}
@media screen and (max-width: 599px) {
  .before__head::before {
    width: 17.7333333333vw;
    height: 21.6vw;
    top: -15.7333333333vw;
    bottom: auto;
    left: 14.6666666667vw;
  }
}
.before__head::after {
  content: "";
  width: 124px;
  height: 162px;
  background-image: url(../img/img_parents02.svg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  bottom: 0;
  right: 60px;
}
@media screen and (max-width: 599px) {
  .before__head::after {
    width: 16.5333333333vw;
    height: 21.6vw;
    top: -15.7333333333vw;
    bottom: auto;
    right: 14.6666666667vw;
  }
}
.before__head h2 {
  margin: 0 auto;
  padding: 0;
  display: inline-block;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  font-size: 2.6rem;
  font-weight: bold;
  line-height: 2;
  letter-spacing: 0em;
  color: #0082C9;
  text-align: center;
}
@media screen and (max-width: 599px) {
  .before__head h2 {
    font-size: clamp(0.9rem, 4.2666666667vw, 5.8rem);
  }
}
.before__head h2::before {
  content: "";
  width: 35px;
  height: 49px;
  background-image: url(../img/bg_before-line01.svg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  bottom: 12px;
  left: -70px;
}
@media screen and (max-width: 599px) {
  .before__head h2::before {
    width: 5.3333333333vw;
    height: 7.7333333333vw;
    bottom: 1.3333333333vw;
    left: -10.6666666667vw;
  }
}
.before__head h2::after {
  content: "";
  width: 35px;
  height: 49px;
  background-image: url(../img/bg_before-line02.svg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  bottom: 12px;
  right: -70px;
}
@media screen and (max-width: 599px) {
  .before__head h2::after {
    width: 5.3333333333vw;
    height: 7.7333333333vw;
    bottom: 1.3333333333vw;
    right: -10.6666666667vw;
  }
}
.before__head h2 span {
  display: block;
}
.before__head p {
  margin: 20px 0 0 0;
  padding: 0;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.625;
  letter-spacing: 0em;
  color: #000;
  text-align: center;
}
@media screen and (max-width: 599px) {
  .before__head p {
    margin: 4vw 0 0 0;
    font-size: clamp(0.8rem, 3.4666666667vw, 5.2rem);
  }
}
@media screen and (max-width: 599px) {
  .before__head p span {
    display: block;
  }
}
@media screen and (max-width: 599px) {
  .before__head p br {
    display: none;
  }
}
.before__body {
  width: 1000px;
  height: auto;
  margin: auto;
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: wrap;
  position: relative;
}
@media print, screen and (min-width: 600px) {
  .before__body {
    border-bottom: 1px solid #000;
  }
}
@media screen and (max-width: 599px) {
  .before__body {
    width: 100%;
    height: auto;
    margin-top: 7.3333333333vw;
    padding: 0 5.33%;
  }
}
.before__body-item {
  min-height: 85px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  border-top: 1px solid #000;
}
@media screen and (max-width: 599px) {
  .before__body-item {
    min-height: 21.3333333333vw;
    flex-basis: 100%;
    padding: 2.6666666667vw 0vw 2.6666666667vw 0vw;
  }
}
@media print, screen and (min-width: 600px) {
  .before__body-item:nth-of-type(odd) {
    flex-basis: 52.5%;
    padding: 10px 20px 10px 30px;
  }
}
@media print, screen and (min-width: 600px) {
  .before__body-item:nth-of-type(even) {
    flex-basis: 47.5%;
    padding: 10px 30px 10px 20px;
  }
}
@media screen and (max-width: 599px) {
  .before__body-item:last-of-type {
    border-bottom: 1px solid #000;
  }
}
.before__body-item h3 {
  flex-basis: 35.5%;
  margin: 0;
  padding: 0 0 0 28px;
  position: relative;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1;
  letter-spacing: -0.01em;
  color: #000;
}
@media screen and (max-width: 599px) {
  .before__body-item h3 {
    margin: 0;
    padding: 0 0 0 6.6666666667vw;
    font-size: clamp(0.8rem, 4vw, 5.6rem);
    line-height: 1.333;
  }
}
.before__body-item h3::before {
  content: "";
  width: 22px;
  height: 18px;
  background-image: url(../img/img_check.svg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
}
@media screen and (max-width: 599px) {
  .before__body-item h3::before {
    width: 5.3333333333vw;
    height: 4.4vw;
    top: 0vw;
    bottom: auto;
  }
}
.before__body-item h3.ls {
  letter-spacing: 0.5em;
}
@media screen and (max-width: 599px) {
  .before__body-item h3 span {
    display: block;
  }
}
.before__body-item ul {
  flex-basis: 64.5%;
}
.before__body-item ul li {
  list-style-type: disc;
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0em;
  color: #000;
}
@media screen and (max-width: 599px) {
  .before__body-item ul li {
    font-size: clamp(0.8rem, 3.2vw, 5rem);
  }
}
.before__foot {
  width: 1000px;
  height: auto;
  margin: 80px auto auto;
}
@media print, screen and (min-width: 600px) {
  .before__foot {
    display: flex;
    justify-content: center;
    align-items: center;
  }
}
@media screen and (max-width: 599px) {
  .before__foot {
    width: 100%;
    height: auto;
    margin-top: 21.3333333333vw;
    background-color: #0082C9;
    padding: 4.6666666667vw 5.33% 4.6666666667vw 5.33%;
  }
}
.before__foot img {
  width: 195px;
  height: 195px;
}
@media screen and (max-width: 599px) {
  .before__foot img {
    width: 29.3333333333vw;
    height: 29.3333333333vw;
    margin: auto;
    display: block;
  }
}
.before__foot p {
  width: 490px;
  height: auto;
  margin: 0 0 0 55px;
  padding: 40px 45px;
  background-color: #0082C9;
  border-radius: 50px;
  position: relative;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 2;
  letter-spacing: 0.001em;
  color: #FFF;
  text-align: justify;
}
@media screen and (max-width: 599px) {
  .before__foot p {
    width: 100%;
    height: auto;
    margin: 4vw auto 0;
    padding: 0 4vw;
    font-size: clamp(0.8rem, 4vw, 5.6rem);
    line-height: 1.5;
  }
}
.before__foot p::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 9px 29px 9px 0;
  border-color: transparent #0082C9 transparent transparent;
  position: absolute;
  top: 50%;
  left: -27px;
  transform: translateY(-50%);
}

.flow {
  width: 100%;
  height: auto;
  padding: 160px 0;
  background-color: #EAF6FD;
}
@media screen and (max-width: 599px) {
  .flow {
    padding: 21.3333333333vw 5.33%;
  }
}
.flow__head h2 {
  margin: 0;
  padding: 18px 110px;
  background-color: #0082C9;
  display: inline-block;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  font-size: 2.3rem;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0em;
  color: #FFF;
  text-align: center;
}
@media screen and (max-width: 599px) {
  .flow__head h2 {
    padding: 2vw 9.3333333333vw;
    font-size: clamp(0.9rem, 4.4vw, 5.9rem);
  }
}
.flow__head h2::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 31px 0 31px 23px;
  border-color: transparent transparent transparent #EAF6FD;
  position: absolute;
  top: 50%;
  left: -1px;
  transform: translateY(-50%);
}
@media screen and (max-width: 599px) {
  .flow__head h2::before {
    border-width: 8vw 0vw 8vw 4vw;
    left: -0.2666666667vw;
  }
}
.flow__head h2::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 31px 23px 31px 0;
  border-color: transparent #EAF6FD transparent transparent;
  position: absolute;
  top: 50%;
  right: -1px;
  transform: translateY(-50%);
}
@media screen and (max-width: 599px) {
  .flow__head h2::after {
    border-width: 8vw 4vw 8vw 0vw;
    right: -0.2666666667vw;
  }
}
.flow__head p {
  margin: 45px 0 0 0;
  padding: 0;
  font-size: 3.4rem;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0em;
  color: #0082C9;
  text-align: center;
}
@media screen and (max-width: 599px) {
  .flow__head p {
    margin: 4.6666666667vw 0 0 0;
    font-size: clamp(1rem, 4.5333333333vw, 6rem);
  }
}
.flow__head p + p {
  margin: 15px 0 0 0;
  padding: 0;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0em;
  color: #231815;
  text-align: center;
}
@media screen and (max-width: 599px) {
  .flow__head p + p {
    margin: 2.9333333333vw 0 0 0;
    font-size: clamp(0.8rem, 4vw, 5.6rem);
    line-height: 1.5;
  }
}
@media screen and (max-width: 599px) {
  .flow__head p + p span {
    display: block;
  }
}
.flow__body {
  width: 900px;
  height: auto;
  margin: 60px auto auto;
  position: relative;
}
@media screen and (max-width: 599px) {
  .flow__body {
    width: 100%;
    margin-top: 11.3333333333vw;
  }
}
.flow__body::before {
  content: "";
  width: 36px;
  height: 2309px;
  background-image: url(../img/img_flow-arrow01.svg);
  background-position: top center;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  right: 69px;
}
@media screen and (max-width: 599px) {
  .flow__body::before {
    display: none;
  }
}
.flow__body::after {
  content: "";
  width: 42px;
  height: 2310px;
  background-image: url(../img/img_flow-arrow02.svg);
  background-position: top center;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  right: 0;
}
@media screen and (max-width: 599px) {
  .flow__body::after {
    width: 15.3333333333vw;
    height: 818.6666666667vw;
    background-image: url(../img/img_flow-arrow-sp.svg);
    right: 2.9333333333vw;
  }
}
.flow__body-item {
  width: 760px;
  height: auto;
}
@media print, screen and (min-width: 600px) {
  .flow__body-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
}
@media screen and (max-width: 599px) {
  .flow__body-item {
    width: 74.63%;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
  }
}
.flow__body-item:first-of-type h3 span {
  width: 44px;
  height: 68px;
}
.flow__body-item:nth-of-type(2) h3 span {
  width: 52px;
  height: 68px;
}
.flow__body-item:nth-of-type(3) h3 span {
  width: 51px;
  height: 68px;
}
.flow__body-item:nth-of-type(4) h3 span {
  width: 53px;
  height: 68px;
}
.flow__body-item:nth-of-type(5) h3 span {
  width: 51px;
  height: 68px;
}
.flow__body-item:nth-of-type(6) h3 span {
  width: 52px;
  height: 68px;
}
.flow__body-item:nth-of-type(7) h3 span {
  width: 47px;
  height: 68px;
}
.flow__body-item:nth-of-type(8) h3 span {
  width: 52px;
  height: 68px;
}
.flow__body-item:nth-of-type(9) h3 > span:first-of-type {
  width: 115px;
  height: 46px;
}
@media print, screen and (min-width: 600px) {
  .flow__body-item:nth-of-type(odd) .text {
    order: 2;
  }
  .flow__body-item:nth-of-type(odd) picture {
    order: 1;
  }
}
@media print, screen and (min-width: 600px) {
  .flow__body-item:nth-of-type(even) .text {
    order: 1;
  }
  .flow__body-item:nth-of-type(even) picture {
    order: 2;
  }
}
.flow__body-item:not(:first-of-type) {
  margin-top: 35px;
}
@media screen and (max-width: 599px) {
  .flow__body-item:not(:first-of-type) {
    margin-top: 8.6666666667vw;
  }
}
@media print, screen and (min-width: 600px) {
  .flow__body-item .text {
    flex-basis: 61.58%;
  }
}
@media screen and (max-width: 599px) {
  .flow__body-item .text {
    order: 2;
  }
}
.flow__body-item .text h3 {
  margin: 0;
  padding: 0;
  font-size: 2.6rem;
  font-weight: bold;
  line-height: 1.25;
  letter-spacing: 0.05em;
  color: #0082C9;
}
@media screen and (max-width: 599px) {
  .flow__body-item .text h3 {
    display: none;
  }
}
.flow__body-item .text h3 span {
  display: block;
}
.flow__body-item .text h3 span:first-of-type {
  margin-bottom: 12px;
}
.flow__body-item .text h3 span:last-of-type {
  margin-bottom: 12px;
}
.flow__body-item .text p {
  margin: 10px 0 0 0;
  padding: 0;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0em;
  text-align: justify;
}
@media screen and (max-width: 599px) {
  .flow__body-item .text p {
    margin: 4.5333333333vw 0 0 0 !important;
    padding: 0 !important;
    font-size: clamp(0.8rem, 4vw, 5.6rem);
  }
}
@media print, screen and (min-width: 600px) {
  .flow__body-item .text p span {
    display: block;
  }
}
@media print, screen and (min-width: 600px) {
  .flow__body-item picture {
    flex-basis: 34.21%;
  }
}
@media screen and (max-width: 599px) {
  .flow__body-item picture {
    order: 1;
  }
}
.flow__body-item picture img {
  border-radius: 20px;
  box-shadow: 3px 3px 5px 0px rgba(132, 161, 175, 0.7);
}

footer {
  margin: 0 !important;
}